commit ca52cf1bc08dbf9db16ae2eb57094fe8826cf95d Author: dengtongyu Date: Mon Aug 23 22:05:46 2021 +0800 feat:初始化项目 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..26d4999 --- /dev/null +++ b/.gitignore @@ -0,0 +1,47 @@ +# Numerous always-ignore extensions +*.bak +*.patch +*.diff +*.err + +# temp file for git conflict merging +*.orig +*.log +*.rej +*.swo +*.swp +*.zip +*.vi +*~ +*.sass-cache +*.tmp.html +*.dump +*.map + +# OS or Editor folders +.DS_Store +._* +.cache +.project +.settings +.tmproj +*.esproj +*.sublime-project +*.sublime-workspace +nbproject +thumbs.db +*.iml +**/.idea/* + +# Folders to ignore +.hg +.svn +.CVS +.idea +.idea/ +.vscode/ +.vscode +node_modules/ +jscoverage_lib/ +bower_components/ +dist/ diff --git a/act_project/.eslintignore b/act_project/.eslintignore new file mode 100644 index 0000000..14891f4 --- /dev/null +++ b/act_project/.eslintignore @@ -0,0 +1,5 @@ +build/*.js +src/assets +public +dist +**/*.min.js \ No newline at end of file diff --git a/act_project/.eslintrc.js b/act_project/.eslintrc.js new file mode 100644 index 0000000..138bc7e --- /dev/null +++ b/act_project/.eslintrc.js @@ -0,0 +1,312 @@ +module.exports = { + root: true, + parserOptions: { + parser: 'babel-eslint', + sourceType: 'module' + }, + env: { + browser: true, + node: true, + es6: true, + jquery: true + }, + extends: 'eslint:recommended', + rules: { + // Possible Errors + // 禁止条件表达式中出现赋值操作符 + 'no-cond-assign': 2, + // 可以使用console + 'no-console': 0, + // 正则可以使用控制字符 + 'no-control-regex': 0, + // 开发可以使用debugger + 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0, + // 禁止 function 定义中出现重名参数 + 'no-dupe-args': 2, + // 禁止对象字面量中出现重复的 key + 'no-dupe-keys': 2, + // 禁止出现重复的 case 标签 + 'no-duplicate-case': 2, + // 禁止在正则表达式中使用空字符集 + 'no-empty-character-class': 2, + // 禁止对 catch 子句的参数重新赋值 + 'no-ex-assign': 2, + // 禁止不必要的布尔转换 + 'no-extra-boolean-cast': 2, + // 禁止函数周围不必要的括号 + 'no-extra-parens': [2, 'functions'], + // 禁止不必要的分号 + 'no-extra-semi': 2, + // 禁止对 function 声明重新赋值 + 'no-func-assign': 2, + // 禁止在嵌套的块中出现 function 声明 + 'no-inner-declarations': [2, 'functions'], + // 禁止 RegExp 构造函数中存在无效的正则表达式字符串 + 'no-invalid-regexp': 2, + // 禁止在字符串和注释之外不规则的空白 + 'no-irregular-whitespace': 2, + // 禁止把全局对象作为函数调用 + 'no-obj-calls': 2, + // 禁止正则表达式字面量中出现多个空格 + 'no-regex-spaces': 2, + // 禁止使用稀疏数组,也就是逗号之前没有任何元素的数组 + 'no-sparse-arrays': 2, + // 禁止出现令人困惑的多行表达式 + 'no-unexpected-multiline': 2, + // 禁止在return、throw、continue 和 break 语句之后出现不可达代码 + 'no-unreachable': 2, + // 禁止在 finally 语句块中出现控制流语句 + 'no-unsafe-finally': 2, + // 要求使用 isNaN() 检查 NaN + 'use-isnan': 2, + // 强制 typeof 表达式与有效的字符串进行比较 + 'valid-typeof': 2, + + // Best Practices + // 强制 getter 和 setter 在对象中成对出现 + 'accessor-pairs': 2, + // if、else if、else、for、while 和 do允许在单行中省略大括号,在其他使用中依然会强制使用大括号 + 'curly': [2, 'multi-line'], + // 点号操作符应该和属性在同一行 + 'dot-location': [2, 'property'], + // 可不使用 === 和 !== + 'eqeqeq': 0, + // 禁用 arguments.caller 或 arguments.callee + 'no-caller': 2, + // 禁止使用空解构模式 + 'no-empty-pattern': 2, + // 禁用 eval() + 'no-eval': 2, + // 禁止扩展原生类型 + 'no-extend-native': 2, + // 禁止不必要的 .bind() 调用 + 'no-extra-bind': 2, + // 禁止 case 语句落空 + 'no-fallthrough': 2, + // 禁止数字字面量中使用前导和末尾小数点:.5 2. => 0.5 2.0 + 'no-floating-decimal': 2, + // 禁用隐式的eval() + 'no-implied-eval': 2, + // 禁用 __iterator__ 属性 + 'no-iterator': 2, + // 禁用标签语句 + 'no-labels': [2, { + 'allowLoop': false, + 'allowSwitch': false + }], + // 禁用不必要的嵌套块 + 'no-lone-blocks': 2, + // 禁止使用多个空格 + 'no-multi-spaces': 2, + // 禁止使用多行字符串 + 'no-multi-str': 2, + // 禁止对 String,Number 和 Boolean 使用 new 操作符 + 'no-new-wrappers': 2, + // 禁用八进制字面量 + 'no-octal': 2, + // 禁止在字符串中使用八进制转义序列 + 'no-octal-escape': 2, + // 禁用 __proto__ 属性 + 'no-proto': 2, + // 禁止多次声明同一变量 + 'no-redeclare': 2, + // 禁止出现赋值语句,除非使用括号把它们括起来 + 'no-return-assign': [2, 'except-parens'], + // 禁止自我赋值 + 'no-self-assign': 2, + // 禁止自身比较 + 'no-self-compare': 2, + // 禁用逗号操作符 + 'no-sequences': 2, + // 禁止抛出异常字面量 + 'no-throw-literal': 2, + // 禁用一成不变的循环条件 + 'no-unmodified-loop-condition': 2, + // 禁止不必要的 .call() 和 .apply() + 'no-useless-call': 2, + // 转义字符 + 'no-useless-escape': 0, + // 禁用 with 语句 + 'no-with': 2, + // 要求 IIFE 使用括号括起来 + 'wrap-iife': [2, 'any'], + // 禁止 “Yoda” 条件 + 'yoda': [2, 'never'], + + // Variables + // 禁止删除变量 + 'no-delete-var': 2, + // 不允许标签与变量同名 + 'no-label-var': 2, + // 禁止将标识符定义为受限的名字 + 'no-shadow-restricted-names': 2, + // 禁用未声明的变量,除非它们在 /*global */ 注释中被提到 + 'no-undef': 2, + // 禁止将变量初始化为 undefined + 'no-undef-init': 2, + // 禁止出现未使用过的变量 + 'no-unused-vars': [2, { 'vars': 'all', 'args': 'none' }], + + // Node.js and Common.js + // node回调函数必须对error处理 + 'handle-callback-err': [2, '^(err|error)$'], + // 禁止调用 require 时使用 new 操作符 + 'no-new-require': 2, + // 禁止对 __dirname 和 __filename 进行字符串连接 + 'no-path-concat': 2, + + // Stylistic Issues 风格规范 + // 数组:[]前后不带空格 + 'array-bracket-spacing': [2, 'never'], + // 代码块{}:在一行时前后要有空格 + 'block-spacing': [2, 'always'], + // 大括号风格要求:与函数名/if/else一行 + 'brace-style': [2, '1tbs', { allowSingleLine: true }], + // 驼峰:不强制 + 'camelcase': [0], + // 禁止拖尾逗号:[1,2,] + 'comma-dangle': [2, 'never'], + // 逗号前后空格:禁止前,后必须 + 'comma-spacing': [2, { 'before': false, 'after': true }], + // 逗号必须在末尾 + 'comma-style': [2, 'last'], + // 缩进:2个空格 + 'indent': [2, 2, { SwitchCase: 1 }], + // jsx属性使用单引号 + 'jsx-quotes': [2, 'prefer-single'], + // key: value间空格,禁止前,后必须 + 'key-spacing': [2, { 'beforeColon': false, 'afterColon': true }], + // 构造函数首字母大写 + 'new-cap': [2, { 'newIsCap': true, 'capIsNew': false }], + // 无参构造函数调用必须括号 + 'new-parens': 2, + // Array构造函数只能1个参数 + 'no-array-constructor': 2, + // 禁止空格和tab混合缩进 + 'no-mixed-spaces-and-tabs': 2, + // 禁止多行空行 + 'no-multiple-empty-lines': [2, { 'max': 1 }], + // 禁止new Object() + 'no-new-object': 2, + // 禁止行尾空白 + 'no-trailing-spaces': 2, + // 禁止简单的三元运算符:x ? x : 1 => x || 1 + 'no-unneeded-ternary': [2, { 'defaultAssignment': false }], + // 禁止属性前有空格 + 'no-whitespace-before-property': 2, + // 对象中空格 + 'object-curly-spacing': [2, 'always', { objectsInObjects: false }], + // 变量声明,有初始值的必须分开var + 'one-var': [2, { 'initialized': 'never' }], + // 操作符换行 + 'operator-linebreak': [2, 'after', { 'overrides': { '?': 'before', ':': 'before' }}], + // 禁止代码块开始结尾空行 + 'padded-blocks': [2, 'never'], + // 字符串用单引号 + 'quotes': [2, 'single', { 'avoidEscape': true, 'allowTemplateLiterals': true }], + // 末尾分号不限制 + 'semi': [0], + // 分号禁止空格,后必须 + 'semi-spacing': [2, { 'before': false, 'after': true }], + // {前必须有空格 + 'space-before-blocks': [2, 'always'], + // 禁止函数()前有空格 + 'space-before-function-paren': [2, 'never'], + // 禁止()内空格:( 1 + 2 ) => (1 + 2) + 'space-in-parens': [2, 'never'], + // 操作符周围必须有空格 + 'space-infix-ops': 2, + // word类一元操作符前/后必须有空格(new、delete、typeof...) + 'space-unary-ops': [2, { 'words': true, 'nonwords': false }], + // 注释后至少一个空格 + 'spaced-comment': [2, 'always', { + 'markers': ['global', 'globals', 'eslint', 'eslint-disable', '*package', '!', ','] + }], + + // ECMAScript 6 + // 箭头函数箭头前后必须空格 + 'arrow-spacing': [2, { before: true, after: true }], + // class构造函数必须中super() + 'constructor-super': 2, + // 禁止修改类声明的变量 + 'no-class-assign': 2, + // 禁止修改const + 'no-const-assign': 2, + // class中禁止重复名称 + 'no-dupe-class-members': 2, + // class中super之前调用this + 'no-this-before-super': 2, + // 禁止对象中不必要的计算属性:{ ['1']: 1 } => { 1: 1 } + 'no-useless-computed-key': 2, + // 禁止class中不必要的构造函数 + 'no-useless-constructor': 2, + // 禁止模板字符串中空格:`hello, ${ name }` => `hello, ${name}` + 'template-curly-spacing': [2, 'never'], + + // Deprecated + // 不允许修改只读全局变量 + 'no-native-reassign': 2, + 'no-negated-in-lhs': 2, + 'no-spaced-func': 2, + + + + + + + 'no-unused-vars': 0, + 'no-redeclare': 0, + 'no-redeclare': 0, + 'indent': 0, + 'no-trailing-spaces': 0, + 'quotes': 0, + 'padded-blocks': 0, + 'space-before-function-paren': 0, + 'space-before-blocks': 0, + 'curly': 0, + 'null': 0, + 'no-redeclare': 0, + 'comma-dangle': 0, + 'object-curly-spacing': 0, + 'no-multiple-empty-lines': 0, + 'no-dupe-keys': 0, + 'comma-spacing': 0, + 'no-undef': 0, + 'space-infix-ops': 0, + 'space-in-parens': 0, + 'no-whitespace-before-property': 0, + 'template-curly-spacing': 0, + 'key-spacing': 0, + 'null': 0, + 'no-multi-spaces': 0, + + + 'no-inner-declarations': 0, + 'block-spacing': 0, + 'semi-spacing': 0, + 'yoda': 0, + 'no-sequences': 0, + 'no-return-assign': 0, + + + + + + + 'one-var': 0, + 'new-cap': 0, + 'no-empty': 0, + 'new-parens': 0, + 'wrap-iife': 0, + 'brace-style': 0, + 'no-useless-call': 0, + 'no-floating-decimal': 0, + 'space-unary-ops': 0, + 'spaced-comment': 0, + 'no-proto': 0, + 'no-self-compare': 0, + 'no-cond-assign': 0, + 'no-unmodified-loop-condition': 0, + 'no-fallthrough': 0, + } +} diff --git a/act_project/.gitignore b/act_project/.gitignore new file mode 100644 index 0000000..c205cf3 --- /dev/null +++ b/act_project/.gitignore @@ -0,0 +1,8 @@ +.DS_Store +node_modules +npm-debug.log +.idea +.zip +dev +dist +.history \ No newline at end of file diff --git a/act_project/.tmtworkflowrc b/act_project/.tmtworkflowrc new file mode 100644 index 0000000..b208a13 --- /dev/null +++ b/act_project/.tmtworkflowrc @@ -0,0 +1,45 @@ +{ + "ftp": { + "host": "xx.xx.xx.xx", + "port": "8021", + "user": "tmt", + "pass": "password", + "remotePath": "remotePath", + "includeHtml": true + //ftp 上传是否包含 html + }, + "sftp": { + "host": "xx.xx.xx.xx", + "port": "xx", + "user": "tmt", + "password": "password", + "remotePath": "", + "includeHtml": true + }, + "livereload": { + "available": true, + //开启自动刷新 + "port": 8080, + "startPath": "html/TmTIndex.html" + }, + //路径相对于 tasks/plugins 目录 + "plugins": { + "build_devAfter": [ + "TmTIndex" + ], + "build_distAfter": [], + "ftpAfter": [ + "ftp" + ] + }, + "lazyDir": [ + "../slice" + ], + //gulp-lazyImageCSS 寻找目录(https://github.com/weixin/gulp-lazyimagecss) + + "supportWebp": false, + "supportREM": false, + "supportChanged": false, + "reversion": true, + "SVGGracefulDegradation": true +} diff --git a/act_project/.travis.yml b/act_project/.travis.yml new file mode 100644 index 0000000..857a754 --- /dev/null +++ b/act_project/.travis.yml @@ -0,0 +1,25 @@ +language: node_js +cache: + yarn: true + directories: + - node_modules + +matrix: + include: + - node_js: "10" + - node_js: "9" + os: osx + - node_js: "8" + os: osx + - node_js: "7" + os: linux + - node_js: "6" + os: linux + - node_js: "5" + os: linux + +before_script: + - npm install -g gulp + - cd project + +script: gulp build_dist \ No newline at end of file diff --git a/act_project/LICENSE.txt b/act_project/LICENSE.txt new file mode 100644 index 0000000..c618fcf --- /dev/null +++ b/act_project/LICENSE.txt @@ -0,0 +1,14 @@ +Tencent is pleased to support the open source community by making tmt-workflow available. +Copyright (C) 2017 THL A29 Limited, a Tencent company. All rights reserved. +If you have downloaded a copy of the tmt-workflow binary from Tencent, please note that the tmt-workflow binary is licensed under the MIT License. +If you have downloaded a copy of the tmt-workflow source code from Tencent, please note that tmt-workflow source code is licensed under the MIT License. Your integration of tmt-workflow into your own projects may require compliance with the MIT License. +A copy of the MIT License is included in this file. + + +Terms of the MIT License: +-------------------------------------------------------------------- +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/act_project/README.md b/act_project/README.md new file mode 100644 index 0000000..123cc43 --- /dev/null +++ b/act_project/README.md @@ -0,0 +1,35 @@ +# workflow +基于[tmt-workflow](https://github.com/Tencent/tmt-workflow)定制的工作流 + +# 创建活动流程 + +### 1、首次使用需要==>>全局安装脚手架环境 +``` +npm install -g yo generator-wj-activity gulp-cli +``` +### 2、进入活动目录 +``` +cd act_project +``` +### 3、初始化 +``` +npm install +``` +### 4、命令行开始创建 +``` +yo wj-activity +``` +### 5、以上命令复制粘贴即可,执行后回车。建议使用淘宝镜像cnpm安装较快 +``` +完成创建后,进入创建的活动目录执行以下命令行即可~ +``` + +### 开发运行 +``` +gulp build_dev +``` + +### 打包发布 +``` +gulp build_dist +``` diff --git a/act_project/_tasks/TaskBuildDev.js b/act_project/_tasks/TaskBuildDev.js new file mode 100644 index 0000000..56d58d2 --- /dev/null +++ b/act_project/_tasks/TaskBuildDev.js @@ -0,0 +1,457 @@ +var fs = require('fs'); +var path = require('path'); +var del = require('del'); +var ejs = require('gulp-ejs'); +var less = require('gulp-less'); +var util = require('./lib/util'); +var gulpif = require('gulp-if'); +var ejshelper = require('tmt-ejs-helper'); +var bs = require('browser-sync').create(); // 自动刷新浏览器 +var lazyImageCSS = require('gulp-lazyimagecss'); // 自动为图片样式添加 宽/高/background-size 属性 +var postcss = require('gulp-postcss'); // CSS 预处理 +var posthtml = require('gulp-posthtml'); // HTML 预处理 +var sass = require('gulp-sass'); +var webpack = require('webpack-stream'); +var babel = require('gulp-babel'); +var eslint = require('gulp-eslint'); +var parseSVG = require('./common/parseSVG'); +var svgSymbol = require('gulp-svg-sprite'); +var rename = require('gulp-rename'); +var proxy = require('http-proxy-middleware'); // 转发请求 + +var webpackConfigPath = path.join(process.cwd(), 'webpack.config.js'); +var webpackConfig; // webpack 配置 +var jsPath = path.join(process.cwd(), 'src', 'js'); + +if (util.dirExist(jsPath) && util.fileExist(webpackConfigPath)) { + webpackConfig = require(webpackConfigPath); + webpackConfig.output.publicPath = path.join('..', 'js/'); +} + +// 周玉杰加的,如果代码怕不起来可以删除 开始 +var postcssPxtorem = require('postcss-pxtorem'); // 转换 px 为 rem +var postcssAutoprefixer = require('autoprefixer'); +var svgInline = require('gulp-svg-inline'); +// 周玉杰加的,如果代码怕不起来可以删除 结束 + +module.exports = function(gulp, config) { + // var targetDir = '../../activity/' + config.projectName + '/'; + var paths = { + src: { + dir: './', + img: './img/**/*.{JPG,jpg,png,gif,svg}', + slice: './slice/**/*.png', + js: './js/**/*.js', + media: './media/**/*', + less: './css/*.less', + lessAll: './css/**/*.less', + sass: './css/*.scss', + sassAll: './css/**/*.scss', + html: ['./**/*.html', '!./_*/**.html', '!./_*/**/**.html', '!./html_tpl/**/*.html'], + svg: './svg/**/*.svg', + htmlAll: './**/*.html', + exclude: '!./dev/**/*' + }, + dev: { + dir: './dev', + css: './dev/css', + html: './dev', + js: './dev/js', + symboltemp: './dev/symboltemp/', + symbol: './dev/symbolsvg' + } + // dev: { + // dir: targetDir, + // css: targetDir + 'css', + // html: targetDir, + // js: targetDir + 'js', + // symboltemp: targetDir + 'symboltemp/', + // symbol: targetDir + 'symbolsvg' + // } + }; + + // 周玉杰加的,如果代码怕不起来可以删除 开始 + var postcssOption = []; + if (config.supportREM) { // 这个要在 .tmtworkflowrc 里面设置为true 如果要用px 要改为 Px 或者 PX 大写 + postcssOption = [ + postcssAutoprefixer(), + postcssPxtorem({ + root_value: '75', // 基准值 html{ font-zise: 20px; } + prop_white_list: [], // 对所有 px 值生效 + minPixelValue: 0 // 忽略 1px 值 + }), + + ] + } else { + postcssOption = [ + postcssAutoprefixer() + ] + } + // 周玉杰加的,如果代码怕不起来可以删除 结束 + + var lazyDir = config.lazyDir || ['../slice', '../svg']; + + // 复制操作 + var copyHandler = function(type, file) { + file = file || paths['src'][type]; + + return gulp.src(file, { base: paths.src.dir }) + .pipe(gulp.dest(paths.dev.dir)) + .on('end', reloadHandler); + }; + + // 自动刷新 + var reloadHandler = function() { + config.livereload && bs.reload(); + }; + + // 清除目标目录 + function delDev() { + return del([paths.dev.dir], { + force: true + }); + } + + // 复制操作 start + function copyImg() { + return copyHandler('img'); + } + + function copySlice() { + return copyHandler('slice'); + } + + function copySvg() { + return copyHandler('svg'); + } + + function copyMedia() { + return copyHandler('media'); + } + + // 复制操作 end + + // 编译 less + function compileLess() { + return gulp.src(paths.src.less) + .pipe(less({ relativeUrls: true })) + .on('error', function(error) { + console.log(error.message); + }) + .pipe(lazyImageCSS({ SVGGracefulDegradation: false, imagePath: lazyDir })) + .pipe(gulp.dest(paths.dev.css)) + .on('data', function() { + }) + .on('end', reloadHandler) + } + + // 编译 sass + function compileSass() { + return gulp.src(paths.src.sass) + .pipe(sass()) + .on('error', sass.logError) + .pipe(lazyImageCSS({ SVGGracefulDegradation: false, imagePath: lazyDir })) + .pipe(gulp.dest(paths.dev.css)) + .on('data', function() { + }) + .on('end', reloadHandler) + } + + // 周玉杰加的,如果代码怕不起来可以删除 开始 + // 自动补全 + function compileAutoprefixer() { + return gulp.src(paths.dev.css + '/**/*.css') + .pipe(svgInline({ + maxImageSize: 10 * 1024 * 1024, + extensions: [/.svg/ig] + })) + .pipe(postcss(postcssOption)) + .pipe(gulp.dest(paths.dev.css)); + } + // 周玉杰加的,如果代码怕不起来可以删除 结束 + + // 编译 html + function compileHtml() { + return gulp.src(paths.src.html) + .pipe(ejs(ejshelper()).on('error', function(error) { + console.log(error.message); + })) + .pipe(parseSVG({ devPath: paths.dev.dir })) + .pipe(gulp.dest(paths.dev.html)) + .on('data', function() { + }) + .on('end', reloadHandler) + } + + // 编译 JS + function compileJs() { + var condition = !!webpackConfig; + + return gulp.src(paths.src.js) + .pipe(eslint()) + .pipe(eslint.format('../node_modules/eslint-friendly-formatter')) + .pipe(gulpif( + condition, + webpack(webpackConfig), + babel({ + presets: ['es2015', 'stage-2'] + }) + )) + .pipe(gulp.dest(paths.dev.js)) + .on('end', reloadHandler) + } + + // 启动 livereload + function startServer() { + var apiProxy = proxy('/api', { + target: config.livereload.proxyTarget, + changeOrigin: true, + // pathRewrite: { + // '^/api': '' + // } + }); + bs.init({ + server: { + baseDir: paths.dev.dir, + middleware: [apiProxy], + routes: { + '/common': '../../common' + } + }, + port: config['livereload']['port'] || 8080, + startPath: config['livereload']['startPath'] || '/index.html', + reloadDelay: 0, + notify: { // 自定制livereload 提醒条 + styles: [ + 'margin: 0', + 'padding: 5px', + 'position: fixed', + 'font-size: 10px', + 'z-index: 9999', + 'bottom: 0px', + 'right: 0px', + 'border-radius: 0', + 'border-top-left-radius: 5px', + 'background-color: rgba(60,197,31,0.5)', + 'color: white', + 'text-align: center' + ] + } + }); + } + + var watchHandler = function(type, file) { + var target = file.match(/(.*?)[\/|\\]/); + target = target ? target[1] : 'html'; + switch (target) { + case 'img': + if (type === 'removed') { + // var tmp = file.replace(/src/, 'dev'); + var tmp = paths.dev.dir + file; + del([tmp], { + force: true + }); + } else { + copyHandler('img', file); + compileHtml(); + } + break; + + case 'svg': + if (type === 'removed') { + // var tmp = file.replace(/src/, 'dev'); + var tmp = paths.dev.dir + file; + del([tmp], { + force: true + }); + } else { + copyHandler('svg', file); + compileLess(); + compileHtml(); + setTimeout(function() { + svgSymbols(); + setTimeout(function() { + reloadHandler(); + }, 300) + }, 300) + } + break; + + case 'slice': + if (type === 'removed') { + // var tmp = file.replace('src', 'dev'); + var tmp = paths.dev.dir + file; + del([tmp], { + force: true + }); + } else { + copyHandler('slice', file); + } + break; + + case 'js': + if (type === 'removed') { + // var tmp = file.replace('src', 'dev'); + var tmp = paths.dev.dir + file; + del([tmp], { + force: true + }); + } else { + compileJs(); + } + break; + + case 'media': + if (type === 'removed') { + // var tmp = file.replace('src', 'dev'); + var tmp = paths.dev.dir + file; + del([tmp], { + force: true + }); + } else { + copyHandler('media', file); + } + break; + + case 'css': + + var ext = path.extname(file); + + if (type === 'removed') { + // var tmp = file.replace('src', 'dev').replace(ext, '.css'); + var tmp = paths.dev.dir + file; + tmp = tmp.replace(ext, '.css'); + del([tmp], { + force: true + }); + } else { + if (ext === '.less') { + compileLess(); + } else { + compileSass(); + } + + // 周玉杰加的,如果代码怕不起来可以删除 开始 + if (config.supportREM) { + setTimeout(function () { + compileAutoprefixer() + }, 650) + } + // 周玉杰加的,如果代码怕不起来可以删除 结束 + } + + break; + + case 'html_tpl': + case 'html': + if (type === 'removed') { + // var tmp = file.replace('src', 'dev'); + var tmp = paths.dev.dir + file; + del([tmp], { + force: true + }).then(function() { + util.loadPlugin('build_dev'); + }); + } else { + compileHtml(); + } + + if (type === 'add') { + setTimeout(function() { + util.loadPlugin('build_dev'); + }, 500); + } + + break; + } + }; + + function svgSymbols() { + return gulp.src(paths.dev.symboltemp + '**/*.svg') + .pipe(svgSymbol({ + mode: { + inline: true, + symbol: true + }, + shape: { + id: { + generator: function(id) { + var ids = id.replace(/.svg/ig, ''); + return ids; + } + } + } + })) + .pipe(rename(function(path) { + path.dirname = './'; + path.basename = 'symbol'; + })) + .pipe(gulp.dest(paths.dev.symbol)) + } + + // 监听文件 + function watch(cb) { + var watcher = gulp.watch([ + paths.src.img, + paths.src.svg, + paths.src.slice, + paths.src.js, + paths.src.media, + paths.src.lessAll, + paths.src.sassAll, + paths.src.htmlAll, + paths.src.exclude + ], + { ignored: /[\/\\]\./ } + ); + + watcher + .on('change', function(file) { + util.log(file + ' has been changed'); + watchHandler('changed', file); + }) + .on('add', function(file) { + util.log(file + ' has been added'); + watchHandler('add', file); + }) + .on('unlink', function(file) { + util.log(file + ' is deleted'); + watchHandler('removed', file); + }); + + cb(); + } + + // 加载插件 + function loadPlugin(cb) { + util.loadPlugin('build_dev'); + cb(); + } + + // 注册 build_dev 任务 + gulp.task('build_dev', gulp.series( + delDev, + gulp.parallel( + copyImg, + copySlice, + compileJs, + copySvg, + // copyJs, + copyMedia, + compileLess, + compileSass + ), + // 周玉杰加的,如果代码怕不起来可以删除 开始 + ...(config.supportREM ? [compileAutoprefixer] : []), + // 周玉杰加的,如果代码怕不起来可以删除 结束 + compileHtml, + svgSymbols, + gulp.parallel( + watch, + loadPlugin + ), + startServer + )); + + gulp.task('test', gulp.series(delDev)); +}; diff --git a/act_project/_tasks/TaskBuildDist.js b/act_project/_tasks/TaskBuildDist.js new file mode 100644 index 0000000..719e779 --- /dev/null +++ b/act_project/_tasks/TaskBuildDist.js @@ -0,0 +1,469 @@ +var _ = require('lodash'); +var fs = require('fs'); +var del = require('del'); +var path = require('path'); +var ejs = require('gulp-ejs'); +var gulpif = require('gulp-if'); +var less = require('gulp-less'); +var util = require('./lib/util'); +var uglify = require('gulp-uglify'); +var usemin = require('gulp-usemin'); +var lazyImageCSS = require('gulp-lazyimagecss'); // 自动为图片样式添加 宽/高/background-size 属性 +var minifyCSS = require('gulp-cssnano'); +var imagemin = require('gulp-imagemin'); +var pngquant = require('imagemin-pngquant'); +var tmtsprite = require('gulp-tmtsprite'); // 雪碧图合并 +var ejshelper = require('tmt-ejs-helper'); +var postcss = require('gulp-postcss'); // CSS 预处理 +var postcssPxtorem = require('postcss-pxtorem'); // 转换 px 为 rem +var postcssAutoprefixer = require('autoprefixer'); +var posthtml = require('gulp-posthtml'); +var posthtmlPx2rem = require('posthtml-px2rem');; +var RevAll = require('gulp-rev-all'); // reversion +var revDel = require('gulp-rev-delete-original'); +var sass = require('gulp-sass'); +var changed = require('./common/changed')(); +var webpack = require('webpack-stream'); +var babel = require('gulp-babel'); +var eslint = require('gulp-eslint'); + +//svg转换用到的组件 +var fs = require('fs'); +var rename = require('gulp-rename'); +var svgmin = require('gulp-svgmin'); +var svgInline = require('gulp-svg-inline'); +var replace = require('gulp-replace'); +var parseSVG = require('./common/parseSVG'); +var svgToPng = require('./common/svgToPng'); +var svgSymbol = require('gulp-svg-sprite'); + +var webpackConfigPath = path.join(process.cwd(), 'webpack.config.js'); +var webpackConfig; // webpack 配置 +var jsPath = path.join(process.cwd(), 'src', 'js'); + +if (util.dirExist(jsPath) && util.fileExist(webpackConfigPath)) { + webpackConfig = require(webpackConfigPath); +} + +module.exports = function (gulp, config) { + process.env.NODE_ENV = 'production'; + + var targetDir = '../../activity/' + config.projectName + '/'; + var paths = { + src: { + dir: './', + img: './img/**/*.{JPG,jpg,png,gif,svg}', + slice: './slice/**/*.png', + js: './js/**/*.js', + media: './media/**/*', + less: './css/**/*.less', + sass: './css/**/*.scss', + html: ['./**/*.html', '!./_*/**.html', '!./html_tpl/**/*.html'], + htmlAll: './**/*.html', + php: './**/*.php', + svg: './svg/**/*.svg' + }, + tmp: { + dir: './tmp', + css: './tmp/css', + img: './tmp/img', + html: './tmp', + sprite: './tmp/sprite', + js: './tmp/js', + svg: './tmp/svg', + symboltemp: './tmp/symboltemp/', + symbol: './tmp/symbolsvg' + }, + dist: { + dir: targetDir, + css: targetDir + 'css', + img: targetDir + 'img', + svg: targetDir + 'svg', + html: targetDir, + sprite: targetDir + 'sprite' + } + }; + + var webp = require('./common/webp')(config); + + var lazyDir = config.lazyDir || ['../slice', '../svg']; + + var postcssOption = []; + + if (config.supportREM) { + postcssOption = [ + postcssAutoprefixer(), + // 周玉杰加的如果不行可删除 开始 + postcssPxtorem({ + root_value: '75', // 基准值 html{ font-zise: 20px; } + prop_white_list: [], // 对所有 px 值生效 + minPixelValue: 0 // 忽略 1px 值 + }) + + // 周玉杰加的如果不行可删除 结束 + + // 如果删除了上面的 就要解开注释 + // postcssPxtorem({ + // root_value: '20', // 基准值 html{ font-zise: 20px; } + // prop_white_list: [], // 对所有 px 值生效 + // minPixelValue: 2 // 忽略 1px 值 + // }) + ] + } else { + postcssOption = [ + postcssAutoprefixer() + ] + } + + // 清除 dev 目录 + function delDev() { + return del('./dev', { + force: true + }); + } + + // 清除 dist 目录 + function delDist() { + return del([paths.dist.dir], { + force: true + }); + } + + // 清除 tmp 目录 + function delTmp() { + return del([paths.tmp.dir]); + } + + function delSVG() { + return del([paths.tmp.symboltemp]); + } + + //编译 less + function compileLess() { + return gulp.src(paths.src.less) + .pipe(less({relativeUrls: true})) + .pipe(lazyImageCSS({SVGGracefulDegradation: config.SVGGracefulDegradation, imagePath: lazyDir})) + .pipe(tmtsprite({margin: 4})) + .pipe(gulpif('*.png', gulp.dest(paths.tmp.sprite), gulp.dest(paths.tmp.css))); + } + + //编译 less + function compileSass() { + return gulp.src(paths.src.sass) + .pipe(sass()) + .on('error', sass.logError) + .pipe(lazyImageCSS({SVGGracefulDegradation: config.SVGGracefulDegradation, imagePath: lazyDir})) + .pipe(tmtsprite({margin: 4})) + .pipe(gulpif('*.png', gulp.dest(paths.tmp.sprite), gulp.dest(paths.tmp.css))); + } + + //自动补全 + function compileAutoprefixer() { + // return gulp.src('./tmp/css/style-*.css') + return gulp.src(paths.tmp.css + '/**/*.css') + .pipe(svgInline({ + maxImageSize: 10 * 1024 * 1024, + extensions: [/.svg/ig], + })) + .pipe(postcss(postcssOption)) + .pipe(gulp.dest(paths.tmp.css)); + } + + //CSS 压缩 + function miniCSS() { + // return gulp.src('./tmp/css/style-*.css') + return gulp.src(paths.tmp.css + '/**/*.css') + .pipe(minifyCSS({ + safe: true, + reduceTransforms: false, + advanced: false, + compatibility: 'ie7', + keepSpecialComments: 0 + })) + .pipe(gulp.dest(paths.tmp.css)); + } + + //图片压缩 + function imageminImg() { + return gulp.src(paths.src.img) + .pipe(imagemin({ + use: [pngquant()] + })) + .pipe(gulp.dest(paths.tmp.img)); + } + + //复制媒体文件 + function copyMedia() { + return gulp.src(paths.src.media, {base: paths.src.dir}).pipe(gulp.dest(paths.tmp.dir)); + } + + //编译 JS + function compileJs() { + var condition = webpackConfig ? true : false; + + return gulp.src(paths.src.js) + .pipe(eslint()) + .pipe(eslint.format('../node_modules/eslint-friendly-formatter')) + .pipe(eslint.failAfterError()) + .pipe(gulpif( + condition, + webpack(webpackConfig), + babel({ + presets: ['es2015', 'stage-2'] + }) + )) + .pipe(uglify()) + .pipe(gulp.dest(paths.tmp.js)); + } + + //雪碧图压缩 + function imageminSprite() { + // return gulp.src('./tmp/sprite/**/*') + return gulp.src(paths.tmp.sprite + '/**/*') + .pipe(imagemin({ + use: [pngquant()] + })) + .pipe(gulp.dest(paths.tmp.sprite)); + } + + //html 编译 + function compileHtml() { + return gulp.src(paths.src.html) + .pipe(ejs(ejshelper())) + .pipe(gulpif( + config.supportREM, + posthtml( + posthtmlPx2rem({ + rootValue: 20, + minPixelValue: 2 + }) + )) + ) + .pipe(parseSVG({devPath: 'tmp', SVGGracefulDegradation: config.SVGGracefulDegradation})) + .pipe(gulp.dest(paths.tmp.html)) + .pipe(usemin()) + .pipe(gulp.dest(paths.tmp.html)); + } + + + //webp 编译 + function supportWebp() { + if (config['supportWebp']) { + return webp(); + } else { + return function noWebp(cb) { + cb(); + } + } + } + + //新文件名(md5) + function reversion(cb) { + + var RevOptions = { + fileNameManifest: 'manifest.json', + dontRenameFile: ['.html', '.php'], + dontUpdateReference: ['.html'], + includeFilesInManifest: ['.css', '.js', '.html', 'htm'], + transformFilename: function (file, hash) { + var ext = path.extname(file.path); + + // if(ext === '.html'){ + // return path.basename(file.path, ext) + ext; + // } + + return path.basename(file.path, ext) + '.' + hash.substr(0, 8) + ext; + } + }; + + if (config['reversion']) { + // return gulp.src(['./tmp/**/*']) + return gulp.src([paths.tmp.dir + '/**/*']) + .pipe(RevAll.revision(RevOptions)) + .pipe(gulp.dest(paths.tmp.dir)) + .pipe(revDel({ + exclude: /(.html|.htm)$/ + })) + // .pipe(RevAll.manifestFile()) + .pipe(gulp.dest(paths.tmp.dir)); + } else { + cb(); + } + } + + function miniSVG() { + if (config.SVGGracefulDegradation) { + return gulp.src(paths.src.svg) + .pipe(svgmin({ + plugins: [{ + convertPathData: true + }, { + removeTitle: true + }, { + mergePaths: false + }, { + removeUnknownsAndDefaults: false + }, { + removeDoctype: true + }, { + removeComments: true + }, { + cleanupNumericValues: { + floatPrecision: 2 + } + }, { + convertColors: { + names2hex: true, + rgb2hex: true + } + }] + })) + .pipe(svgToPng()) + .pipe(gulp.dest(paths.tmp.svg)); + } else { + return gulp.src(paths.src.svg) + .pipe(svgmin({ + plugins: [{ + convertPathData: true + }, { + removeTitle: true + }, { + mergePaths: false + }, { + removeUnknownsAndDefaults: false + }, { + removeDoctype: true + }, { + removeComments: true + }, { + cleanupNumericValues: { + floatPrecision: 2 + } + }, { + convertColors: { + names2hex: true, + rgb2hex: true + } + }] + })) + .pipe(gulp.dest(paths.tmp.svg)); + } + } + + function svgSymbols() { + return gulp.src(paths.tmp.symboltemp + '**/*.svg') + .pipe(svgSymbol({ + mode: { + inline: true, + symbol: true + }, + shape: { + id: { + generator: function (id) { + var ids = id.replace(/.svg/ig, ''); + return ids; + } + } + } + })) + .pipe(rename(function (path) { + path.dirname = './'; + path.basename = 'symbol'; + })) + .pipe(gulp.dest(paths.tmp.symbol)); + } + + + function findChanged(cb) { + + if (!config['supportChanged']) { + return gulp.src('./tmp/**/*', {base: paths.tmp.dir}) + .pipe(gulp.dest(paths.dist.dir)) + .on('end', function () { + delTmp(); + }) + } else { + var diff = changed('./tmp'); + var tmpSrc = []; + + if (!_.isEmpty(diff)) { + + //如果有reversion + if (config['reversion'] && config['reversion']['available']) { + var keys = _.keys(diff); + + //先取得 reversion 生成的manifest.json + var reversionManifest = require(path.resolve('./tmp/manifest.json')); + + if (reversionManifest) { + reversionManifest = _.invert(reversionManifest); + + reversionManifest = _.pick(reversionManifest, keys); + + reversionManifest = _.invert(reversionManifest); + + _.forEach(reversionManifest, function (item, index) { + tmpSrc.push('./tmp/' + item); + console.log('[changed:] ' + util.colors.blue(index)); + }); + + //将新的 manifest.json 保存 + fs.writeFileSync('./tmp/manifest.json', JSON.stringify(reversionManifest)); + + tmpSrc.push('./tmp/manifest.json'); + } + } else { + _.forEach(diff, function (item, index) { + tmpSrc.push('./tmp/' + index); + console.log('[changed:] ' + util.colors.blue(index)); + }); + } + + return gulp.src(tmpSrc, {base: paths.tmp.dir}) + .pipe(gulp.dest(paths.dist.dir)) + .on('end', function () { + delTmp(); + }) + + } else { + console.log('Nothing changed!'); + delTmp(); + cb(); + } + } + } + + + //加载插件 + function loadPlugin(cb) { + util.loadPlugin('build_dist'); + cb(); + } + + //注册 build_dist 任务 + gulp.task('build_dist', gulp.series( + gulp.parallel( + delDist, + delDev + ), + gulp.parallel( + compileLess, + compileSass, + imageminImg, + copyMedia, + compileJs, + miniSVG + ), + compileAutoprefixer, + imageminSprite, + miniCSS, + compileHtml, + svgSymbols, + reversion, + supportWebp(), + delSVG, + findChanged, + loadPlugin + )); +}; + diff --git a/act_project/_tasks/TaskFTP.js b/act_project/_tasks/TaskFTP.js new file mode 100644 index 0000000..f55a006 --- /dev/null +++ b/act_project/_tasks/TaskFTP.js @@ -0,0 +1,38 @@ +var _ = require('lodash'); +var del = require('del'); +var path = require('path'); +var ftp = require('gulp-ftp'); +var util = require('./lib/util'); + +module.exports = function (gulp, config) { + + //清除目标目录 + function delDist() { + return del(['./dist']); + } + + function remoteFtp() { + var remotePath = config['ftp']['remotePath'] || "", + ftpConfig = _.extend(config['ftp'], { + remotePath: path.join(remotePath, config['projectName']) + }), + distPath = config['ftp']['includeHtml'] ? './dist/**/*' : ['./dist/**/*', '!./dist/html/**/*.html']; + + return gulp.src(distPath, {base: '.'}) + .pipe(ftp(ftpConfig)); + } + + //加载插件 + function loadPlugin(cb) { + util.loadPlugin('ftp'); + cb(); + } + + //注册 ftp 任务 + gulp.task('ftp', gulp.series( + 'build_dist', + remoteFtp, + delDist, + loadPlugin + )); +}; diff --git a/act_project/_tasks/TaskSFTP.js b/act_project/_tasks/TaskSFTP.js new file mode 100644 index 0000000..9f9190f --- /dev/null +++ b/act_project/_tasks/TaskSFTP.js @@ -0,0 +1,38 @@ +var _ = require('lodash'); +var path = require('path'); +var del = require('del'); +var util = require('./lib/util'); +var sftp = require('gulp-sftp'); + +module.exports = function (gulp, config) { + + //清除目标目录 + function delDist() { + return del(['./dist']); + } + + function remoteSftp() { + var remotePath = config['sftp']['remotePath'] || '', + sftpConfig = _.extend(config['sftp'], { + remotePath: path.join(remotePath, config['projectName']) + }), + distPath = config['ftp']['includeHtml'] ? './dist/**/*' : ['./dist/**/*', '!./dist/html/**/*.html']; + + return gulp.src(distPath, {base: '.'}) + .pipe(sftp(sftpConfig)) + } + + //加载插件 + function loadPlugin(cb) { + util.loadPlugin('Res'); + cb(); + } + + //注册 Res 任务 + gulp.task('sftp', gulp.series( + 'build_dist', + remoteSftp, + delDist, + loadPlugin + )); +}; diff --git a/act_project/_tasks/TaskZip.js b/act_project/_tasks/TaskZip.js new file mode 100644 index 0000000..8b0a950 --- /dev/null +++ b/act_project/_tasks/TaskZip.js @@ -0,0 +1,24 @@ +var util = require('./lib/util'); +var del = require('del'); +var zip = require('gulp-zip'); + +module.exports = function (gulp, config) { + + //清除目标目录 + function delDist() { + return del(['./dist']); + } + + function zipTask(){ + return gulp.src('./dist/**/*') + .pipe(zip('dist.zip')) + .pipe(gulp.dest('./')); + } + + //注册 zip 任务 + gulp.task('zip', gulp.series( + 'build_dist', + zipTask, + delDist + )); +}; diff --git a/act_project/_tasks/common/changed.js b/act_project/_tasks/common/changed.js new file mode 100644 index 0000000..8756f82 --- /dev/null +++ b/act_project/_tasks/common/changed.js @@ -0,0 +1,57 @@ +var md5 = require('crypto-md5'); +var path = require('path'); +var rd = require('rd'); +var fs = require('fs'); +var _ = require('lodash'); + +function changed(dir) { + + var manifestPath = path.resolve('./src/manifest.json'); + var manifest = {}; + var originManifest = {}; + + //如果存在 manifest.json, 则加载保存 + if (fs.existsSync(manifestPath)) { + originManifest = require(manifestPath); + } + + //遍历目录, 根据内容 md5 加密 + rd.eachFileFilterSync(dir, function (file) { + var index = path.relative(dir, file); + + //过滤掉 隐藏文件 和 manifest.json + if (path.extname(file) && index !== 'manifest.json' && fs.existsSync(file)) { + + var data = fs.readFileSync(file); + + if (data) { + manifest[index] = md5(data, 'hex'); + } + } + + }); + + //将新的 manifest.json 保存 + fs.writeFile(manifestPath, JSON.stringify(manifest), function (err) { + if (err) throw err; + }); + + //找出有变动的文件 + if(originManifest){ + var diff = {}; + + _.forEach(manifest, function (item, index) { + if (originManifest[index] !== item) { + diff[index] = item; + } + }); + } + + return diff; + +} + + +module.exports = function(){ + return changed; +}; \ No newline at end of file diff --git a/act_project/_tasks/common/parseSVG.js b/act_project/_tasks/common/parseSVG.js new file mode 100644 index 0000000..e5dcdb5 --- /dev/null +++ b/act_project/_tasks/common/parseSVG.js @@ -0,0 +1,161 @@ +/** + * Created by doubleluo + */ +var gulp = require('gulp'); +var replace = require('gulp-replace'); +var through = require('through2'); +var fs = require('fs'); +var path = require('path'); +var File = require('vinyl'); +var util = require('../lib/util'); +var cheerio = require('cheerio'); + +module.exports = function (options) { + + var mkdirs = function(dirpath, callback) { + fs.exists(dirpath, function(exists) { + if(exists) { + callback(dirpath); + } else { + mkdirs(path.dirname(dirpath), function(){ + fs.mkdir(dirpath, callback); + }); + } + }); + } + + var mkdirone = false; + var marchRegInline = //gi; + var marchRegSybmol = //gi; + var marchRegBase = //gi; + var src = [],id,style,className,data,width,height,newcontent,$; + + function getBase(){ + id = $.attr('id'); + style = $.attr('style'); + className = $.attr('class'); + data = fs.readFileSync(path.join(process.cwd(), options.devPath+'/img', src[0])).toString(); + width = data.match(/','>'); + } + return data; + } + function sybmol(contents){ + var newFile = path.join(process.cwd(), options.devPath + '/symboltemp/', fileName); + fs.writeFile(newFile, data, {encoding: 'utf8'}, err => { + if (err) throw err; + }); + newcontent.push(''); + if(options.SVGGracefulDegradation){ + newcontent.push(''); + } + newcontent.push(''); + newcontent.push(''); + return newcontent.join(''); + } + function base(contents){ + newcontent.push(''); + if(options.SVGGracefulDegradation){ + newcontent.push(''); + }else{ + newcontent.push(''); + } + newcontent.push(''); + return newcontent.join(''); + } + + function run(regData,contents,marchReg){ + if(regData){ + for(var i = 0;i-1){ + getBase(); + if(src[1] == 'i'){ + replaceData = inline(contents); + }else if(src[1] == 's'){ + replaceData = sybmol(contents); + }else{ + replaceData = base(contents); + } + } + + contents = contents.replace(regData[i], replaceData); + + } + } + return contents; + } + + return through.obj(function (file, enc, cb) { + + var _this = this; + + + if (file.isNull()) { + cb(null, file); + } else { + if (util.fileExist(file.path)) { + var contents = file.contents.toString(); + var regData; + if(options.onlyInline){ + regData = contents.match(marchRegInline); + contents = run(regData,contents,marchRegInline); + }else{ + if(!mkdirone){ + mkdirone = true; + fs.exists(process.cwd() + '/'+ options.devPath +'/symboltemp',function(exists){ + if(!exists){ + fs.mkdir(process.cwd() + '/'+ options.devPath +'/symboltemp', err => { + if (err) throw err; + }); + } + }); + } + regData = contents.match(marchRegInline); + contents = run(regData,contents,marchRegInline); + regData = contents.match(marchRegSybmol); + contents = run(regData,contents,marchRegSybmol); + regData = contents.match(marchRegBase); + contents = run(regData,contents,marchRegBase); + } + + + _this.push(new File({ + base: file.base, + path: file.path, + contents: new Buffer(contents) + })); + cb(null); + } else { + cb(null, file); + } + } + }); +} diff --git a/act_project/_tasks/common/svgToPng.js b/act_project/_tasks/common/svgToPng.js new file mode 100644 index 0000000..bb611cf --- /dev/null +++ b/act_project/_tasks/common/svgToPng.js @@ -0,0 +1,36 @@ +/** + * Created by doubleluo on 15/5/3. + */ +var gulp = require('gulp'); +var replace = require('gulp-replace'); +var through = require('through2'); +var fs = require('fs'); +var path = require('path'); +var util = require('../lib/util'); +var File = require('vinyl'); +var svg_to_png = require('svg-to-png'); + +module.exports = function (options) { + return through.obj(function (file, enc, cb) { + + var _this = this; + + + if (file.isNull()) { + cb(null, file); + } else { + if (util.fileExist(file.path)) { + svg_to_png.convert(file.path, file.path.substr(0,file.path.lastIndexOf('/')).replace('/src/','/dist/')); + + _this.push(new File({ + base: file.base, + path: file.path, + contents: file.contents + })); + cb(null); + } else { + cb(null, file); + } + } + }); +} \ No newline at end of file diff --git a/act_project/_tasks/common/webp.js b/act_project/_tasks/common/webp.js new file mode 100644 index 0000000..142ece0 --- /dev/null +++ b/act_project/_tasks/common/webp.js @@ -0,0 +1,86 @@ +/** + * Created by littledu on 15/5/2. + */ +var rd = require('rd'); +var gulp = require('gulp'); +var path = require('path'); +var gulpWebp = require('gulp-webp'); +var rename = require('gulp-rename'); +var replace = require('gulp-replace'); +var util = require('./../lib/util'); +var fs = require('fs'); + +module.exports = function (config, done) { + + var webpScript = ''; + + var webpMap = {}; //为了筛选webp而构建的对象 + var imgArr = []; //筛选出来需要转换成 webp 的图片 + var imgMap = {}; //返回给全局作 preload 判断使用{"img_name": 1, "img_name": 0} 1 为可优化成 webp + var reg = null; + + function render_webp(src) { + if (!fs.existsSync(src)) return; + + rd.eachFileSync(src, function (file, stats) { + var extname = path.extname(file); + var basename = path.basename(file, extname); + if (!(basename in webpMap)) { + webpMap[basename] = {}; + webpMap[basename]['size'] = stats.size; + webpMap[basename]['extname'] = extname; + } else { + if ((webpMap[basename]['size'] > stats.size) && (extname === '.webp')) { + imgArr.push(basename + webpMap[basename]['extname']); + imgMap[basename + webpMap[basename]['extname']] = 1; + } else { + imgMap[basename + webpMap[basename]['extname']] = 0; + } + } + }); + } + + return function () { + return gulp.series( + function compileSprite() { + return gulp.src('./tmp/sprite/**/*') + .pipe(gulpWebp()) + .pipe(gulp.dest('./tmp/sprite')); + }, + function compileImg () { + return gulp.src('./tmp/img/**/*') + .pipe(gulpWebp()) + .pipe(gulp.dest('./tmp/img')); + }, + //智能寻找 webp + function find2Webp (cb) { + render_webp('./tmp/sprite'); + render_webp('./tmp/img'); + if(imgArr.length){ + reg = eval('/(' + imgArr.join('|') + ')/ig'); + } + cb(); + }, + function compileCss () { + return gulp.src(['./tmp/css/**/*.css', '!./tmp/css/**/*.webp.css']) + .pipe(rename({suffix: '.webp'})) + .pipe(replace(reg, function (match) { + if(match){ + return match.substring(0, match.lastIndexOf('.')) + '.webp'; + } + })) + .pipe(gulp.dest('./tmp/css')); + }, + function insertWebpJs () { + var preload_script = ''; + + return gulp.src('./tmp/html/**/*.html') + .pipe(replace('data-href', 'href')) + .pipe(replace(/(link.*?)href/ig, '$1data-href')) + .pipe(replace('', webpScript)) + .pipe(replace('', preload_script)) + .pipe(gulp.dest('./tmp/html')); + } + ); + } +} diff --git a/act_project/_tasks/index.js b/act_project/_tasks/index.js new file mode 100644 index 0000000..227912c --- /dev/null +++ b/act_project/_tasks/index.js @@ -0,0 +1,17 @@ +var fs = require('fs'); +var path = require('path'); +var config = require('rc')('tmtworkflow', { + projectName: process.cwd().split(path.sep).pop(), + livereload: { + 'proxyTarget': 'http://apibeta.kawayisound.xyz' + } +}); + +module.exports = function(gulp) { + fs.readdirSync(__dirname).filter(function(file) { + return (file.indexOf('.') !== 0) && (file.indexOf('Task') === 0); + }).forEach(function(file) { + var registerTask = require(path.join(__dirname, file)); + registerTask(gulp, config); + }); +}; diff --git a/act_project/_tasks/lib/util.js b/act_project/_tasks/lib/util.js new file mode 100644 index 0000000..ec53004 --- /dev/null +++ b/act_project/_tasks/lib/util.js @@ -0,0 +1,73 @@ +var fs = require('fs'); +var path = require('path'); +var util = require('gulp-util'); +var config = require('rc')('tmtworkflow', { + projectName: process.cwd().split(path.sep).pop() +}); + +var tmt_util = { + log: function (task_name) { + util.log.apply(util, arguments); + }, + task_log: function (task_name) { + this.log(util.colors.magenta(task_name), util.colors.green.bold('√')); + }, + loadPlugin: function (name, cb) { + name = name + 'After'; + + if (config['plugins'] && config['plugins'][name] && config['plugins'][name].length) { + var plugins = config['plugins'][name]; + + plugins.every(function (plugin) { + if (plugin.indexOf('.js') === -1) { + plugin += '.js'; + } + + var filepath = path.resolve(__dirname, '../plugins', plugin); + + if (fs.existsSync(filepath)) { + require(filepath)(config); + (typeof cb === 'function') && cb(); + } else { + console.log('The ' + filepath + ' is not found!'); + (typeof cb === 'function') && cb(); + } + }); + } + }, + colors: util.colors, + dirExist: function (dirPath) { + try { + var stat = fs.statSync(dirPath); + if (stat.isDirectory()) { + return true; + } else { + return false; + } + } catch (err) { + if (err.code === 'ENOENT') { + return false; + } else { + throw new Error(err); + } + } + }, + fileExist: function (filePath) { + try { + var stat = fs.statSync(filePath); + if (stat.isFile()) { + return true; + } else { + return false; + } + } catch (err) { + if (err.code === 'ENOENT') { + return false; + } else { + throw new Error(err); + } + } + } +}; + +module.exports = tmt_util; diff --git a/act_project/_tasks/plugins/TmTIndex.js b/act_project/_tasks/plugins/TmTIndex.js new file mode 100644 index 0000000..e42cb7e --- /dev/null +++ b/act_project/_tasks/plugins/TmTIndex.js @@ -0,0 +1,109 @@ +/** + * Created by littledu on 15/5/16. + */ +var fs = require('fs'), + path = require('path'), + localIp = require('quick-local-ip'); + +module.exports = function (config) { + var html = [ + '', + '', + '', + '', + '', + '', + '', + '', + '', + ' ', + ' ', + ' ', + ' ', + ' ', + ' ', + ' ', + ' ' + ].join(''), + tmpHtml = '', + length = '/dev/html/'.length, + collector = listdir('./dev/html'), + ip = localIp.getLocalIP4(); + + + showdir(collector, 0); + + function listdir(dir) { + var collector = { + 'name': dir, + 'type': 'dir', + 'url': '', + 'child': [] + }; + files = fs.readdirSync(dir); + + + files.forEach(function (file) { + var absolutePath = dir + '/' + file, + stats = fs.statSync(absolutePath); + + var url = absolutePath.substring(absolutePath.indexOf('./dev/html/') + length + 1); + + if (stats.isDirectory() && (stats.isDirectory() !== '.' || stats.isDirectory() !== '..')) { + collector['child'].push(listdir(absolutePath)); + } else { + collector['child'].push({ + 'name': path.basename(absolutePath), + 'type': 'file', + 'url': url + }); + } + }); + + return collector; + } + + function showdir(collector, level) { + var file = collector['name'], + basename = path.basename(file); + + var indent = 25 * (level - 1); + + if (indent <= 0) { + indent = 10; + } + + if (collector['type'] == 'dir') { + if (level != 0) { + html += ''; + } + + collector['child'].forEach(function (item) { + showdir(item, level + 1); + }); + } + + if (collector['type'] == 'file') { + if (path.extname(file) === '.html' && basename !== 'TmTIndex.html') { + if (level === 1) { + tmpHtml += ''; + } else { + html += ''; + } + + } + } + } + + html = html + tmpHtml; + + html += '
文件名二维码
[目录]: ' + basename + '
' + basename + '
' + basename + '
'; + + var out = fs.createWriteStream('./dev/html/TmTIndex.html', {encoding: "utf8"}); + out.write(html, function (err) { + if (err) console.log(err); + }); + out.end(); +} diff --git a/act_project/_tasks/plugins/ftp.js b/act_project/_tasks/plugins/ftp.js new file mode 100644 index 0000000..311fec9 --- /dev/null +++ b/act_project/_tasks/plugins/ftp.js @@ -0,0 +1,12 @@ +/** + * Created by littledu on 15/4/28. + */ +var util = require('./../lib/util'); +var path = require('path'); + +module.exports = function(config){ + var remotePath = config['ftp']['remotePath'] || ""; + var url = 'http://' + path.join(remotePath, config['projectName'], 'dist/html/').replace(/\\/g, '/'); + + util.log(util.colors.magenta('copy to browser:') + url); +} diff --git a/act_project/appveyor.yml b/act_project/appveyor.yml new file mode 100644 index 0000000..d874326 --- /dev/null +++ b/act_project/appveyor.yml @@ -0,0 +1,38 @@ + +# AppVeyor file +# http://www.appveyor.com/docs/lang/nodejs-iojs +# http://www.appveyor.com/docs/appveyor-yml + +version: "{build}" + +clone_depth: 10 + +environment: + matrix: + - nodejs_version: 5.0.0 +# Install scripts. (runs after repo cloning) +install: + # Get the latest stable version of Node.js or io.js + - ps: Install-Product node $env:nodejs_version + - npm cache clean + - npm install -g gulp + # install modules + - npm install + +# Post-install test scripts. +test_script: + # Output useful info for debugging. + - node --version && npm --version + # run tests + - cd project + - gulp build_dist + +# Don't actually build. +build: off + +matrix: + fast_finish: true + +cache: + - C:\Users\appveyor\AppData\Roaming\npm-cache -> package.json # npm cache + - node_modules -> package.json # local npm modules diff --git a/act_project/carnival10/.tmtworkflowrc b/act_project/carnival10/.tmtworkflowrc new file mode 100644 index 0000000..969cabd --- /dev/null +++ b/act_project/carnival10/.tmtworkflowrc @@ -0,0 +1,45 @@ +{ + "ftp": { + "host": "xx.xx.xx.xx", + "port": "8021", + "user": "tmt", + "pass": "password", + "remotePath": "remotePath", + "includeHtml": true + //ftp 上传是否包含 html + }, + "sftp": { + "host": "xx.xx.xx.xx", + "port": "xx", + "user": "tmt", + "password": "password", + "remotePath": "", + "includeHtml": true + }, + "livereload": { + // /api 代理到的 url + "proxyTarget": "http://apibeta.qxjiaoyou.com", + //开启自动刷新 + "available": true, + "port": 8080, + "startPath": "index.html" + }, + //路径相对于 tasks/plugins 目录 + "plugins": { + "build_devAfter": [], + "build_distAfter": [], + "ftpAfter": [ + "ftp" + ] + }, + "lazyDir": [ + "../slice" + ], + //gulp-lazyImageCSS 寻找目录(https://github.com/weixin/gulp-lazyimagecss) + + "supportWebp": false, + "supportREM": false, + "supportChanged": false, + "reversion": true, + "SVGGracefulDegradation": true +} diff --git a/act_project/carnival10/carnival.html b/act_project/carnival10/carnival.html new file mode 100644 index 0000000..eaf55a8 --- /dev/null +++ b/act_project/carnival10/carnival.html @@ -0,0 +1,244 @@ + + + + + + 唯美古风 + + <%- include('../html_tpl/style.html') %> + + + <%- include('../html_tpl/headScript.html') %> + + +
+
+ +
    +
  • 墨城烟柳
  • +
  • 清风煮酒
  • +
+
+
+ +
+
+
    +
  • 墨城烟柳
  • +
  • 清风煮酒
  • +
+
+ + +
+
+ +
+ +
+
+ +
+
+
+
+ + +
+ +
+ +
+
+
+ +
+ 我的门票: 0张 + +
+ +
+
  • +

    1次

    +

    -

    +
  • +
  • +

    10次

    +

    -

    +
  • +
  • +

    100次

    +

    -

    +
  • +
    + +
    +
    + + 暴击×5 + +
    +
    +
    +
    +
    + 0 + / + 0 +
    +
    + 暴走值 +
    +
    + +
    +
    +
    +
    +
    + +
    +
    本轮获得
    +
    · 可前往个人背包查看 ·
    +
      + +
      知道了
      +
      + +
      + +
      +

      +
      +
      + +
      + +
      +
      +
    • 捧场王
    • +
    • 万人迷
    • +
      +

      我是你爸爸

      +
        + +
        +
        +

        +

        +

        + + +

        +

        + + +

        +
        +
        + +
        + +
        +
      • +

        时间

        +

        +
      • +
      • +

        价值

        +

        +
      • +
        +
        +
        + +
        +
        加载中...
        +
        展示您最近300次中奖纪录
        +
        + +
        + +
        暴走状态随机礼物5倍获得概率。1转盘次数=1暴走值,暴走值每小时清零
        +
        +
        + + +<%- include('../html_tpl/script.html') %> + + + diff --git a/act_project/carnival10/css/carnival.scss b/act_project/carnival10/css/carnival.scss new file mode 100644 index 0000000..fd1751e --- /dev/null +++ b/act_project/carnival10/css/carnival.scss @@ -0,0 +1,1304 @@ +@function px2rem($px, $rem:75) { + @return $px / $rem+rem; +} + +@import '../../../common/css/flex.scss'; + +.mask { + z-index: 120; + position: fixed; + width: 100%; + left: 0; + bottom: 0; + display: flex; + height: 60px; + align-items: center; + background: rgba(0, 0, 0, 0.5); + justify-content: space-between; + padding: 0 8px; + box-sizing: border-box; + display: none; + .logo { + width: 40px; + img { + width: 100%; + } + } + .slogan { + color: #fff; + } +} +#download { + border: 1px solid #fff; + color: #fff; + width: 80px; + text-align: center; + border-radius: 15px; + line-height: 30px; + a { + color: #fff; + } +} + +.max { + width: 100%; + margin: 0 auto; + background-color: #180734; + position: relative; + + &::before { + content: ''; + display: block; + width: 100%; + height: 100%; + position: fixed; + left: 0; + top: 0; + background-color: #180734; + z-index: -1; + } + + .topNav1 { + @include flex(); + @include flex-justify-start; + @include flex-align-center; + width: 100%; + position: relative; + height:1.453333rem; + border-bottom: 1px solid #301D4E; + + .help { + width:.506667rem; + height:.506667rem; + margin-left:.56rem; + img { + width: 100%; + } + } + .feedback{ + width:.986667rem; + height:.533333rem; + margin:0 1.04rem 0 .413333rem; + img{ + width:100%; + height:100%; + } + } + + ul { + @include flex(); + @include flex-justify-center; + @include flex-align-center; + li { + margin: 0 .266667rem; + height: 100%; + line-height:1.453333rem; + position: relative; + color: #8B8399; + font-size:.373333rem; + + &.active { + color:#FFFFFF; + font-size:.426667rem; + &::after { + content: ''; + display: block; + width: px2rem(20); + height: px2rem(5); + background-color: #FFFFFF; + opacity: .6; + border-radius:.666667rem; + position: absolute; + bottom:.2rem; + left: 50%; + margin-left:-0.133333rem; + } + } + } + } + } + .topNav2 { + @include flex(); + @include flex-justify-start; + @include flex-align-center; + display:none; + width: 100%; + position: relative; + height:1.453333rem; + border-bottom: 1px solid rgba($color: #fff, $alpha: 0.1); + + .help { + width:.506667rem; + height:.506667rem; + position:absolute; + top:.466667rem; + left:.413333rem; + img { + width: 100%; + } + } + + + ul { + @include flex(); + @include flex-justify-center; + @include flex-align-center; + li { + margin: 0 .266667rem; + height: 100%; + line-height: px2rem(109); + position: relative; + color: #8B8399; + font-size:.373333rem; + + &.active { + color: white; + font-size:.426667rem; + &::after { + content: ''; + display: block; + width:.266667rem; + height:.066667rem; + background-color: white; + opacity: .6; + border-radius: 25px; + position: absolute; + bottom:.2rem; + left: 50%; + margin-left:-0.133333rem; + } + } + } + } + } + + .scrollMask { + width: px2rem(500); + height: 30px; + margin: 0 auto; + margin-top: px2rem(10); + overflow: hidden; + position: relative; + .container { + width: 100%; + height: auto; + position: absolute; + top: 0; + left: 0; + display: none; + + li { + width: 100%; + height: 30px; + text-align: center; + line-height: 30px; + color: white; + font-size: 12px; + overflow: hidden; + + span { + color: #ffec6f; + margin: 0 px2rem(5); + } + } + } + } + .rank-btn { + width:1.2rem; + height:1.04rem; + position: absolute; + right:.2rem; + top:2.026667rem; + z-index: 200; + img { + width: 100%; + } + } + .record-btn { + width:1.2rem; + height:1.04rem; + position: absolute; + right:.2rem; + top:3.653333rem; + z-index: 200; + + img { + width: 100%; + } + } + + + .canvas { + width: 100%; + height: px2rem(550); + margin-top: px2rem(30); + position: relative; + + .canvas-container { + width: 200%; + height: 200%; + transform: scale(.5); + position: absolute; + left: 0; + top: 0; + margin-left: -50%; + margin-top: px2rem(-275); + + .turntable { + width: px2rem(1028); + height: px2rem(1028); + margin: 0 auto; + position: absolute; + left: 50%; + top: 50%; + margin-left: px2rem(-514); + margin-top: px2rem(-514); + + .container1 { + width: 100%; + height: 100%; + position: relative; + + &.first { + background: url('../img/carnival/turntable.png') no-repeat 0 0 / 100% 100%; + } + &.second { + background: url('../img/carnival/turntable-2.png') no-repeat 0 0 / 100% 100%; + } + } + #table { + position: absolute; + width: px2rem(856); + height: px2rem(856); + left: 50%; + top: 50%; + margin-left: px2rem(-428); + margin-top: px2rem(-428); + z-index: 4; + } + #table2 { + position: absolute; + width: px2rem(856); + height: px2rem(856); + left: 50%; + top: 50%; + margin-left: px2rem(-428); + margin-top: px2rem(-428); + z-index: 4; + display: none; + } + + .pointer { + width: px2rem(95); + height: px2rem(177); + position: absolute; + left: 50%; + transform: translate(-50%,0); + top: px2rem(-40); + // margin-left: px2rem(-63); + z-index: 10; + img { + width: 100%; + height: 100%; + } + } + + .btn { + width: px2rem(352); + height: px2rem(352); + position: absolute; + left: 50%; + top: 50%; + margin: 0; + margin-left: px2rem(-176); + margin-top: px2rem(-176); + z-index: 130; + border: none; + outline: none; + background: none; + padding: 0; + img { + width: px2rem(352); + height: px2rem(352); + } + &:disabled{ + color: rgba(255, 255, 255, 0); + } + } + } + } + } + + .info { + @include flex(); + @include flex-justify-center; + @include flex-align-center; + + width: 100%; + text-align: center; + margin-top: px2rem(10); + + span { + font-size: 13px; + color: #CECCD1; + + small { + color: #ffec6f; + margin: 0 px2rem(10) + } + + &:last-child { + width: px2rem(111); + height: px2rem(44); + margin-left: px2rem(20); + + a { + display: block; + width: 100%; + height: 100%; + img { + width: 100%; + } + } + } + } + } + + .turnNum { + @include flex(); + @include flex-justify-center; + @include flex-align-center; + + width: 100%; + margin-top: px2rem(35); + margin-bottom: px2rem(50); + + li { + @include flex(); + @include flex-justify-center; + @include flex-align-start; + @include flexv(); + + width: px2rem(225); + height: px2rem(90); + border-radius: 20px 60px 20px 20px; + overflow: hidden; + position: relative; + margin: 0 px2rem(8); + + p { + font-size: 13px; + color: white; + color: #CFCDD3; + margin-left: px2rem(20); + z-index: 2; + + &:last-child { + font-size: 12px; + } + } + + &::before { + content: ''; + display: block; + position: absolute; + width: 100%; + height: 100%; + left: 0; + top: 0; + background-color: white; + border-radius: 20px 60px 20px 20px; + opacity: .08; + z-index: 0; + } + + &.active { + p { + color: #fff; + } + &.ball { + &::before { + opacity: 1; + background: linear-gradient(223deg, #FD94BA, #EA56ED); + box-shadow: 1px 11px 10px 0px rgba(255, 255, 255, 0.3), 0px 0px 6px 0px rgba(255, 255, 255, 0.21), 0px -6px 10px 0px rgba(0, 0, 0, 0.48) ; + } + } + &.joy { + &::before { + background: linear-gradient(223deg, #F17ADE, #9672FF); + box-shadow: 1px 11px 10px 0px rgba(255, 243, 173, 0.36), 0px 0px 5px 0px rgba(255, 251, 171, 0.88), 0px -6px 10px 0px rgba(0, 0, 0, 0.48); + opacity: 1; + } + } + } + } + } + + .experience { + width: auto; + height: auto; + position: absolute; + left: 10px; + top: px2rem(200); + display: none; + + .giftBox { + width: px2rem(100); + height: px2rem(100); + position: relative; + // border: 1px solid white; + opacity: 1; + img { + width: 100%; + height: 100%; + } + &.hide { + opacity: 0; + } + + span { + position: absolute; + left: px2rem(90); + + &.crit { + width: px2rem(95); + height: px2rem(40); + text-align: right; + background: url('../img/carnival/exp-2.png') no-repeat 0 0 / 100% 100%; + line-height: px2rem(40); + top: px2rem(5); + z-index: 1; + font-size: 12px; + padding-right: px2rem(5); + color: #2B1C03; + } + &.times { + width: px2rem(90); + height: px2rem(40); + line-height: px2rem(40); + text-align: right; + padding-right: px2rem(10); + background: url('../img/carnival/exp-1.png') no-repeat 0 0 / 100% 100%; + z-index: 1; + top: px2rem(55); + font-size: 12px; + color: #FFF044; + } + } + } + + .exp-container { + width: px2rem(26); + height: px2rem(366); + margin-left: px2rem(18); + margin-top: px2rem(15); + border-radius: 25px; + // border: 4px solid #2C0767; + &.exp-container1 { + background: url('../img/carnival/bg1.png') no-repeat 0 0 / 100% 100%; + } + &.exp-container2 { + background: url('../img/carnival/bg2.png') no-repeat 0 0 / 100% 100%; + } + position: relative; + overflow: hidden; + + .strip { + width: px2rem(26); + height: 0; + position: absolute; + left: 0; + bottom: 0; + + &.exp-1 { + background: url('../img/carnival/exp1.png') no-repeat 0 0 / 100% 100%; + } + &.exp-2 { + background: url('../img/carnival/exp2.png') no-repeat 0 0 / 100% 100%; + } + } + } + + .exp-num { + margin-left: px2rem(5); + color: #fff044; + font-size: 14px; + margin-top: px2rem(10); + } + + .tips { + font-size: 13px; + color: white; + + span { + display: inline-block; + &:last-child { + width: px2rem(25); + height: px2rem(25); + margin-left: px2rem(8); + img { + width: 100%; + height: 100%; + } + } + } + } + } + + .status-mask { + width: px2rem(616); + height: px2rem(429); + border-radius: .32rem; + position: fixed; + left: 50%; + top: 50%; + transform:translate(-50%,-50%); + z-index: 10003; + // background-color:#FFFFFF; + background: url('../img/carnival/pop-bg.png') no-repeat 0 0 / 100% 100%; + display: none; + + .title { + width: 100%; + margin: px2rem(70) 0; + text-align: center; + font-size:.48rem; + color: #333333; + font-weight: bold; + background: linear-gradient(0deg, #FFE691 0%, #FEFAD5 100%); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + } + + .tips { + width: 100%; + text-align: center; + font-size:.373333rem; + color: #93BEE5; + margin-top: px2rem(70); + } + + .btn { + width: px2rem(314); + height: px2rem(86); + background: url('../img/index/btn.png') no-repeat 0 0 / 100% 100%; + // background: linear-gradient(0deg, #FFE34F, #F19825); + // border: px2rem(2) solid rgba(255, 255, 255, 0.7); + // box-shadow:0px 6px 12px 0px rgba(255,255,255,1), 0px -12px 46px 0px rgba(255,255,255,1), 0px 4px 18px 0px rgba(255,255,255,0.45); + // border-radius:.506667rem; + font-size: px2rem(36); + color: #87540E; + font-weight: bold; + @include flex(); + @include flex-justify-center; + @include flex-align-center; + margin: .8rem auto 0; + padding-bottom: px2rem(10); + box-sizing: border-box; + } + } + + .gather-mask { + width: px2rem(616); + height: auto; + position: fixed; + top: px2rem(250); + left: 50%; + margin-left: px2rem(-280); + border-radius: 8px; + // background-color: white; + background: url('../img/index/buy-bg.png') no-repeat 0 0 / 100% 100%; + z-index: 10003; + display: none; + + .title { + width: 100%; + font-size: px2rem(40); + font-weight: bold; + color: #333; + text-align: center; + margin-top: px2rem(35); + background: linear-gradient(0deg, #FFE691 0%, #FEFAD5 100%); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + } + .tips { + width: 100%; + text-align: center; + color: #93BEE5; + font-size: 13px; + opacity: .8; + margin-top: px2rem(16); + } + + ul { + @include flex(); + @include flex-justify-start; + @include flex-align-center; + @include flex-wrap(); + + width: px2rem(444); + height: auto; + margin: 0 auto; + margin-top: px2rem(39); + + li { + width: px2rem(92); + margin: px2rem(8); + p { + &:first-child { + width: 100%; + height: px2rem(92); + + img { + width: 100%; + } + } + &:last-child { + font-size: 12px; + color: #999; + text-align: center; + margin-top: px2rem(8); + } + } + } + } + + .btn { + width: px2rem(328); + height: px2rem(100); + background: url('../img/index/btn.png') no-repeat 0 0 / 100% 100%; + // background: linear-gradient(0deg, #FFE34F, #F19825); + // border: px2rem(2) solid rgba(255, 255, 255, 0.7); + // box-shadow:0px 6px 12px 0px rgba(255,255,255,1), 0px -12px 46px 0px rgba(255,255,255,1), 0px 4px 18px 0px rgba(255,255,255,0.45); + // border-radius:.506667rem; + font-size: px2rem(36); + font-weight: bold; + color: #87540E; + @include flex(); + @include flex-justify-center; + @include flex-align-center; + margin:.52rem auto; + padding-bottom: px2rem(10); + box-sizing: border-box; + } + } + + .rule-mask { + width: 100%; + height: 100%; + position: absolute; + left: 0; + top: -1000px; + z-index: 20000; + background-color: #180734; + + .nav { + width: 100%; + height: 50px; + border-bottom: 1px solid #37234f; + overflow: hidden; + position: relative; + + .back { + width: px2rem(30); + height: px2rem(28); + margin: px2rem(40); + img { + width: 100%; + } + } + + .title { + font-size: 16px; + color: white; + opacity: .7; + width: px2rem(150); + height: px2rem(52); + position: absolute; + top: 50%; + text-align: center; + line-height: px2rem(52); + left: 50%; + margin-left: px2rem(-75); + margin-top: px2rem(-26); + } + } + + .content { + width: 80%; + height: 78%; + margin: 0 auto; + margin-top: 8%; + overflow: auto; + + &::-webkit-scrollbar { + display: none; + } + img { + width: 100%; + } + &::after { + content: ''; + display: block; + width: 100%; + height: 20px; + } + } + } + + .rank-mask { + width: 100%; + height: 100%; + position: fixed; + left: 0; + top: -1000px; + // top: 0; + z-index: 20000; + background-color: #180734; + + .nav { + width: 100%; + height: px2rem(109); + border-bottom: 1px solid #37234F; + position: relative; + overflow: hidden; + + .back { + width: px2rem(30); + height: px2rem(28); + margin: px2rem(40); + img { + width: 100%; + height: 100%; + } + } + + .title { + font-size: 16px; + color: white; + opacity: .7; + width: px2rem(150); + height: px2rem(52); + position: absolute; + top: 50%; + text-align: center; + line-height: px2rem(52); + left: 50%; + margin-left: px2rem(-75); + margin-top: px2rem(-26); + } + } + + .content { + width: 100%; + height: 80%; + margin: 0 auto; + margin-top: px2rem(30); + overflow: auto; + + .tab { + @include flex(); + @include flex-justify-center; + @include flex-align-center; + + width: px2rem(300); + height: px2rem(40); + margin: 0 auto; + + li { + width: 50%; + height: 100%; + position: relative; + font-size: 14px; + color: white; + opacity: .7; + text-align: center; + + &.active { + font-size: 16px; + opacity: 1; + + + &::after { + content: ''; + display: block; + width: px2rem(14); + height: px2rem(6); + background-color: white; + opacity: .7; + position: absolute; + left: 50%; + bottom: px2rem(-18); + margin-left: px2rem(-8); + border-radius: 3px; + } + } + } + } + + .tips { + @include flex(); + @include flex-justify-center; + @include flex-align-center; + + width: 100%; + margin-top: px2rem(40); + + p { + padding: 5px 15px; + font-size: 12px; + background-color: #2B1B48; + color: #CFCFF4; + border-radius: 25px; + width: auto; + height: auto; + margin: 0 auto; + } + } + + .rank-container { + width: 100%; + height: 65%; + margin-top: px2rem(30); + overflow: hidden; + overflow-y: scroll; + display: none; + + &:-webkit-scrollbar { + display: none; + } + + li { + @include flex(); + @include flex-justify-start; + @include flex-align-center; + + width: 100%; + height: px2rem(130); + position: relative; + + &:last-child { + margin-bottom: px2rem(30); + } + + p { + &:first-child { + width: px2rem(60); + height: px2rem(60); + font-size: 20px; + color: #DEDCE0; + text-align: center; + line-height: px2rem(60); + margin-left: px2rem(27); + img { + width: 100%; + } + } + &.avatar { + width: px2rem(90); + height: px2rem(90); + border-radius: 50%; + overflow: hidden; + margin-left: px2rem(29); + img { + width: 100%; + } + } + &.info { + @include flex(); + @include flex-justify-center; + @include flex-align-start; + @include flexv(); + + margin-left: px2rem(16); + width: auto; + height: 100%; + span { + display: block; + width: auto; + color: white; + font-size: 15px; + margin-top: px2rem(5); + &:last-child { + opacity: .7; + font-size: 13px; + margin-left: 0; + } + } + } + + &.score { + font-size: 16px; + height: 100%; + width: auto; + color: #E1AD0D; + position: absolute; + right: px2rem(48); + top: 0; + text-align: right; + + span { + @include flex(); + @include flex-justify-center; + @include flex-align-end; + @include flexv(); + small { + font-size: 12px; + + &:first-child { + font-size: 16px; + } + } + &.align-center { + @include flex(); + @include flex-justify-center; + @include flex-align-center; + + height: 100%; + } + } + } + } + } + } + } + + .mine { + @include flex(); + @include flex-justify-start; + @include flex-align-center; + + position: absolute; + left: 0; + bottom: 0; + width: 100%; + height: px2rem(130); + background-color: #2C1749; + animation: mine_show linear .5s 1s forwards; + opacity: 0; + + p { + &.rank-num { + width: px2rem(70); + font-size: 20px; + color: white; + margin-left: px2rem(23); + text-align: center; + + &.not-up { + width: px2rem(90); + font-size: 12px; + } + } + &.avatar { + width: px2rem(90); + height: px2rem(90); + border-radius: 50%; + overflow: hidden; + margin-left: px2rem(22); + img { + width: 100%; + } + } + &.info { + @include flex(); + @include flex-justify-center; + @include flex-align-start; + @include flexv(); + + margin-left: px2rem(16); + width: auto; + + span { + font-size: 15px; + color: white; + opacity: .8; + + &:last-child { + font-size: 12px; + margin-left: 0; + width: auto; + + small { + opacity: .8; + &:first-child { + opacity: .5; + } + } + } + } + } + &.rank-info { + position: absolute; + right: px2rem(48); + height: px2rem(70); + top: 50%; + margin-top: px2rem(-35); + + span { + font-size: 16px; + color: #E0AD12; + display: block; + text-align: right; + + &:last-child { + font-size: 12px; + } + } + } + } + } + @keyframes mine_show { + 100% { + opacity: 1; + } + } + } + + .record-mask { + width: 100%; + height: 100%; + position: fixed; + left: 0; + top: 0; + background-color: #180734; + top: -1000px; + z-index: 2000; + + .nav { + width: 100%; + height: px2rem(109); + border-bottom: 1px solid #37234F; + position: relative; + overflow: hidden; + + .back { + width: px2rem(30); + height: px2rem(28); + margin: px2rem(40); + img { + width: 100%; + height: 100%; + } + } + + .title { + font-size: 16px; + color: white; + opacity: .7; + width: px2rem(150); + height: px2rem(52); + position: absolute; + top: 50%; + text-align: center; + line-height: px2rem(52); + left: 50%; + margin-left: px2rem(-75); + margin-top: px2rem(-26); + } + } + .tab { + @include flex(); + @include flex-justify-between; + @include flex-align-center; + + width: px2rem(231); + height: px2rem(46); + margin: 0 auto; + margin-top: px2rem(20); + + li { + height: 100%; + width: auto; + position: relative; + + p { + font-size: 14px; + color: #fff; + opacity: .7; + } + + &.active { + p { + opacity: 1; + font-size: 16px; + &:last-child { + width: px2rem(14); + height: px2rem(6); + border-radius: 3px; + position: absolute; + left: 50%; + margin-left: px2rem(-7); + bottom: px2rem(-8); + background-color: white; + } + } + } + } + } + .content { + width: 85%; + height: 60%; + margin: 0 auto; + margin-top: px2rem(40); + overflow: auto; + + &::-webkit-scrollbar { + display: none; + } + + .record-container { + width: 100%; + height: auto; + display: none; + li { + @include flex(); + @include flex-justify-start; + @include flex-align-center; + + width: 100%; + height: px2rem(120); + position: relative; + + p { + &:first-child { + width: px2rem(92); + height: px2rem(92); + img { + width: 100%; + height: 100%; + } + } + &:nth-child(2) { + margin-left: px2rem(15); + height: 100%; + line-height: px2rem(120); + font-size: 15px; + opacity: .8; + color: white; + } + &:last-child { + position: absolute; + right: 0; + height: 100%; + width: auto; + + span { + @include flex(); + @include flex-justify-center; + @include flex-align-end; + @include flexv(); + + // display: block; + // text-align: right; + font-size: 12px; + color: white; + opacity: .8; + height: 100%; + + small { + display: block; + text-align: right; + font-size: 12px; + color: white; + opacity: .8; + } + + &.num { + font-size: 15px; + color: #FFC600; + opacity: .8; + } + } + } + } + } + } + } + + .loading { + width: 100%; + text-align: center; + margin-top: 15px; + color: white; + opacity: .8; + font-size: 15px; + display: none; + } + + .tips { + width: px2rem(390); + height: px2rem(52); + border-radius: 25px; + text-align: center; + line-height: px2rem(52); + background-color: #2D1845; + color: white; + font-size: 12px; + margin: 0 auto; + margin-top: px2rem(30); + } + } + + .shade { + width: 100%; + height: 100%; + position: fixed; + left: 0; + top: 0; + background-color: black; + opacity: .7; + z-index: 10000; + display: none; + } + + .exp-toast { + width: px2rem(400); + height: px2rem(175); + color: white; + font-size: 12px; + position: fixed; + left: 50%; + top: 50%; + margin-left: px2rem(-230); + margin-top: px2rem(-60); + text-align: center; + line-height: px2rem(60); + padding: 5px 20px; + border-radius: 5px; + z-index: 10000; + display: none; + + &::after { + content: ''; + display: block; + position: absolute; + left: 0; + top: 0; + background-color: black; + opacity: .6; + z-index: -1; + width: 100%; + height: 100%; + } + } +} + +.toast { + width: px2rem(600); + height: px2rem(80); + line-height: px2rem(80); + text-align: center; + color: white; + font-size: 12px; + position: fixed; + left: 50%; + top: 50%; + margin-left: px2rem(-300); + margin-top: px2rem(-40); + background-color: black; + border-radius: 5px; + display: none; + z-index: 1002; +} diff --git a/act_project/carnival10/css/index.scss b/act_project/carnival10/css/index.scss new file mode 100644 index 0000000..9f33394 --- /dev/null +++ b/act_project/carnival10/css/index.scss @@ -0,0 +1,541 @@ +@function px2rem($px, $rem:75) { + @return $px / $rem+rem; +} + +@import '../../../common/css/flex.scss'; + +.mask { + z-index: 120; + position: fixed; + width: 100%; + left: 0; + bottom: 0; + display: flex; + height: 60px; + align-items: center; + background: rgba(0, 0, 0, 0.5); + justify-content: space-between; + padding: 0 8px; + box-sizing: border-box; + display: none; + .logo { + width: 40px; + img { + width: 100%; + } + } + .slogan { + color: #fff; + } +} +#download { + border: 1px solid #fff; + color: #fff; + width: 80px; + text-align: center; + border-radius: 15px; + line-height: 30px; + a { + color: #fff; + } +} +*{ + -webkit-overflow-scrolling: touch; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); + -webkit-tap-highlight-color: transparent; +} +body{ + font-family:PingFang SC; + background: #081B4F; + z-index:-1; + .max { + width: 100%; + margin: 0 auto; + .title-one { + width: 100%; + img { + width: 100%; + height: 100%; + } + } + .rule-btn { + width: px2rem(100); + height: px2rem(60); + position: absolute; + left: px2rem(30); + top: px2rem(20); + img { + width:100%; + height:100%; + } + } + .cloth-box { + width:100%; + padding-bottom:2.4rem; + margin:-3.5rem auto 0; + li { + width: px2rem(680); + height: px2rem(505); + position:relative; + margin:px2rem(-25) auto 0; + @include flex(); + @include flex-justify-center; + background:url('../img/index/li-card.png') no-repeat 0 0 / 100% 100%; + .h-title{ + position:absolute; + margin: px2rem(88) auto 0; + letter-spacing:.053333rem; + font-size: px2rem(28); + font-weight: bold; + // color: #FFF; + color: #F9FFCB; + background: linear-gradient(0deg, #FFE691 0%, #FEFAD5 100%); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + line-height: px2rem(50); + } + .gift-img{ + width:px2rem(160); + height: px2rem(160); + position:absolute; + box-sizing: border-box; + left: px2rem(80); + top: px2rem(170); + @include flex; + @include flex-align-center; + @include flex-justify-center; + img{ + box-sizing: border-box; + padding: px2rem(10); + width:100%; + height: 100%; + object-fit: cover; + } + + } + .gift-text{ + position:absolute; + left: px2rem(270); + top: px2rem(160); + p:first-child{ + font-size:px2rem(34); + font-weight:bold; + color: #D4EBFF; + line-height:.56rem; + letter-spacing:.026667rem; + } + p:nth-child(2){ + font-size:px2rem(28); + // font-weight:bold; + color:#FFE591; + line-height:.56rem; + + } + p:nth-child(3){ + font-size:px2rem(26); + font-weight:500; + text-decoration:line-through; + color: rgba(147, 190, 229, 0.85); + line-height:px2rem(47); + opacity:0.8; + } + p:last-child{ + font-size:px2rem(26); + font-weight: 500; + color: #93BEE5; + opacity:0.8; + line-height: px2rem(47); + } + } + .buy-btn{ + width: px2rem(294); + height: px2rem(75); + position:absolute; + bottom: px2rem(65); + left: 50%; + transform: translate(-50%,0); + @include flex(); + @include flex-justify-center; + background: url('../img/index/buy.png') no-repeat 0 0 / 100% 100%; + &.gray { + background: url('../img/index/buy-gray.png') no-repeat 0 0 / 100% 100%; + } + } + } + li:nth-child(3) { + .gift-img { + width: px2rem(145); + height: px2rem(145); + left: px2rem(90); + top: px2rem(185); + } + } + li:nth-child(4) { + .gift-img { + width: px2rem(150); + height: px2rem(150); + left: px2rem(85); + top: px2rem(180); + object-fit: contain; + } + } + } + .buy-mask { + width: px2rem(616); + height: px2rem(596); + // border-radius:.213333rem; + // background-color: #FFFFFF; + position: fixed; + left:50%; + top:50%; + transform:translate(-50%,-50%); + background: url('../img/index/buy-bg.png') no-repeat 0 0 / 100% 100%; + z-index: 1001; + display: none; + .b-box{ + padding: 0 .693333rem; + margin-top: px2rem(72); + .b-title{ + color:rgba(51,51,51,1); + background: linear-gradient(0deg, #FFE691 0%, #FEFAD5 100%); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + line-height:.6rem; + text-align:center; + font-size:.48rem; + font-weight:bold; + letter-spacing:.013333rem; + .giftName{ + font-size:.48rem; + font-weight:bold; + } + } + .b-number{ + padding:0 .906667rem; + margin-top:.773333rem; + @include flex(); + .input-box{ + @include flex(); + @include flex-align-center; + height:.64rem; + margin-top:-0.066667rem; + .remove-btn{ + width:.64rem; + height:.64rem; + @include flex(); + @include flex-justify-center; + @include flex-align-center; + border-radius:.32rem 0 0 .32rem; + background:#D4F4FF; + .remove-icon{ + opacity: 0.6; + display:block; + width: px2rem(20); + height: px2rem(4); + background: url('../img/index/remove-icon.png') no-repeat 0 0 / 100% 100%; + background-size:100% 100%; + } + } + .b-input{ + width:1.173333rem; + height:.64rem; + background:#D4F4FF; + text-align:center; + font-size:.346667rem; + font-weight:500; + color: #1A93E0; + margin:0 .106667rem; + border:0; + outline:none; + } + .add-btn{ + width:.64rem; + height:.64rem; + @include flex(); + @include flex-justify-center; + @include flex-align-center; + border-radius:0 .32rem .32rem 0; + background:#D4F4FF; + .add-icon{ + display:block; + width: px2rem(20); + height: px2rem(20); + background: url('../img/index/add-icon.png') no-repeat; + background-size:100% 100%; + } + } + } + + + } + .b-text{ + white-space:nowrap; + font-size:.4rem; + font-weight:500; + color:rgba($color: #93BEE5, $alpha: 1.0); + line-height:.48rem; + margin-bottom: px2rem(47); + span:first-child{ + margin-right:.4rem; + } + } + .b-day{ + padding:0 .906667rem; + span:nth-child(2),span:last-child{ + color:#333; + letter-spacing:.013333rem; + background: linear-gradient(0deg, #FFE691 0%, #FEFAD5 100%); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + } + } + .b-price{ + padding:0 .906667rem; + span:nth-child(2),span:last-child{ + color: #FFA530; + letter-spacing:.013333rem; + } + + } + .b-btns{ + @include flex(); + @include flex-justify-between; + margin-top: px2rem(55); + .close-btn{ + width: px2rem(251); + height: px2rem(87); + background:url('../img/index/btn-cancel.png') no-repeat 0 0 / 100% 100%; + @include flex(); + @include flex-justify-center; + @include flex-align-center; + } + .confirm-btn{ + width: px2rem(251); + height: px2rem(87); + background: url('../img/index/btn-confirm.png') no-repeat 0 0 / 100% 100%; + @include flex(); + @include flex-justify-center; + @include flex-align-center; + + } + } + } + } + + .rule-mask { + width: px2rem(670); + height: px2rem(650); + position: fixed; + left: 50%; + top: 50%; + transform:translate(-50%,-50%); + z-index: 1001; + // background-color:#FFFFFF; + background: url('../img/index/buy-bg.png') no-repeat 0 0 / 100% 100%; + border-radius:.213333rem; + overflow: hidden; + display: none; + .title { + width: 100%; + text-align: center; + font-size: px2rem(40); + color: #333; + margin-top: px2rem(70); + font-weight: bold; + background: linear-gradient(0deg, #FFE691 0%, #FEFAD5 100%); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + } + .content { + width: px2rem(524); + height: px2rem(425); + margin: 0 auto; + margin-top:.4rem; + overflow: auto; + &::-webkit-scrollbar { + display: none; + } + p { + width: 100%; + height:13.333333rem; + img { + width:100%; + } + } + } + .cancel { + width: px2rem(35); + height:px2rem(35); + position: absolute; + right: px2rem(50); + top: px2rem(50); + img { + width:100%; + height:100%; + } + } + } + .statusMask { + width: px2rem(616); + height:6.8rem; + border-radius:.213333rem; + // background-color:#FFFFFF; + background: url('../img/index/buy-bg.png') no-repeat 0 0 / 100% 100%; + position: fixed; + left: 50%; + top: 50%; + transform:translate(-50%,-50%); + z-index: 1001; + display: none; + .cancel { + width: px2rem(70); + height: px2rem(70); + position: absolute; + left: 50%; + transform: translate(-50%,0); + bottom: px2rem(-80); + img { + width:100%; + height:100%; + } + } + .title { + width: 100%; + text-align: center; + font-size:.48rem; + color: #333333; + font-weight:bold; + margin-top:.786667rem; + background: linear-gradient(0deg, #FFE691 0%, #FEFAD5 100%); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + } + + .avatar { + width: px2rem(140); + height: px2rem(140); + margin: 0 auto; + margin-top:.666667rem; + + img { + width: 100%; + height:100%; + } + } + + .tip { + width: 100%; + text-align: center; + font-size:.373333rem; + color: #93BEE5; + } + + .in-btn, .recharge { + @include flex; + @include flex-align-center; + @include flex-justify-between; + display: block; + width: px2rem(300); + height: px2rem(90); + background:url('../img/index/btn.png') no-repeat 0 0 / 100% 100%; + background-size:100% 100%; + color: #87540E; + font-size: px2rem(36); + line-height: px2rem(92); + text-align: center; + margin:.533333rem auto 0; + font-weight: bold; + padding-bottom: px2rem(10); + } + } + .shade { + width: 100%; + position:fixed; + z-index:1000; + left: 0; + top: 0; + height: 100%; + background:rgba(0,0,0,0.7); + display: none; + } + .mine { + @include flex(); + @include flex-justify-between; + @include flex-align-center; + width: 100%; + height:1.866667rem; + position: fixed; + left: 0; + bottom: 0; + background: linear-gradient(0deg, #8565AF, #5877C4); + z-index: 100; + li { + margin: 0 .533333rem; + img { + width: 100%; + } + + &:first-child { + @include flex(); + @include flex-justify-start; + @include flex-align-center; + p { + &:first-child { + width:1.066667rem; + height:1.066667rem; + border-radius:50%; + overflow: hidden; + font-weight:500; + } + + &:last-child { + margin-left:.266667rem; + span { + display: block; + &:first-child { + line-height: px2rem(42); + font-size: px2rem(30); + color: #FD666E; + background: linear-gradient(0deg, #FFE691 0%, #FEFAD5 100%); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + font-weight: bold; + } + &:last-child { + font-size: px2rem(24); + font-weight: 500; + color: rgba($color: #93BEE5, $alpha: 0.6); + b { + color: rgba($color: #FFF1B7, $alpha: 1); + } + } + } + } + } + } + + &:last-child { + width: px2rem(193); + height: px2rem(82); + } + } + } + } + /*提示信息样式*/ + .ajaxtiptext{ + position:fixed; + top:50%; + left:50%; + transform:translate(-50%,-50%); + text-align: center; + color:#FFFFFF; + padding:.2rem .4rem; + border-radius:.333333rem; + letter-spacing:.013333rem; + background:rgba(0,0,0,0.8); + animation:ajaxani 0.3s forwards; + z-index:9999; + white-space:nowrap; + } +} + diff --git a/act_project/carnival10/gulpfile.js b/act_project/carnival10/gulpfile.js new file mode 100644 index 0000000..7357063 --- /dev/null +++ b/act_project/carnival10/gulpfile.js @@ -0,0 +1,23 @@ +var gulp = require('gulp'); +var fs = require('fs'); +var path = require('path'); + +// 注册 +var deep = 3; +run_tasks('_tasks'); + +function run_tasks(tasks_path) { + if (--deep < 0) { + throw new Error('something wrong in require tasks!'); + // eslint-disable-next-line no-unreachable + return; + } + + tasks_path = path.join('../', tasks_path); + + if (fs.existsSync(tasks_path)) { + require(tasks_path)(gulp); + } else { + run_tasks(tasks_path); + } +} diff --git a/act_project/carnival10/img/carnival/back-btn.png b/act_project/carnival10/img/carnival/back-btn.png new file mode 100644 index 0000000..fc75bde Binary files /dev/null and b/act_project/carnival10/img/carnival/back-btn.png differ diff --git a/act_project/carnival10/img/carnival/bg1.png b/act_project/carnival10/img/carnival/bg1.png new file mode 100644 index 0000000..74f6dd3 Binary files /dev/null and b/act_project/carnival10/img/carnival/bg1.png differ diff --git a/act_project/carnival10/img/carnival/bg2.png b/act_project/carnival10/img/carnival/bg2.png new file mode 100644 index 0000000..0225fbe Binary files /dev/null and b/act_project/carnival10/img/carnival/bg2.png differ diff --git a/act_project/carnival10/img/carnival/draw-btn-2.png b/act_project/carnival10/img/carnival/draw-btn-2.png new file mode 100644 index 0000000..703d685 Binary files /dev/null and b/act_project/carnival10/img/carnival/draw-btn-2.png differ diff --git a/act_project/carnival10/img/carnival/draw-btn.png b/act_project/carnival10/img/carnival/draw-btn.png new file mode 100644 index 0000000..08e1233 Binary files /dev/null and b/act_project/carnival10/img/carnival/draw-btn.png differ diff --git a/act_project/carnival10/img/carnival/exp-1.png b/act_project/carnival10/img/carnival/exp-1.png new file mode 100644 index 0000000..700333c Binary files /dev/null and b/act_project/carnival10/img/carnival/exp-1.png differ diff --git a/act_project/carnival10/img/carnival/exp-2.png b/act_project/carnival10/img/carnival/exp-2.png new file mode 100644 index 0000000..806e9a7 Binary files /dev/null and b/act_project/carnival10/img/carnival/exp-2.png differ diff --git a/act_project/carnival10/img/carnival/exp1.png b/act_project/carnival10/img/carnival/exp1.png new file mode 100644 index 0000000..f7d4702 Binary files /dev/null and b/act_project/carnival10/img/carnival/exp1.png differ diff --git a/act_project/carnival10/img/carnival/exp2.png b/act_project/carnival10/img/carnival/exp2.png new file mode 100644 index 0000000..fdaddf3 Binary files /dev/null and b/act_project/carnival10/img/carnival/exp2.png differ diff --git a/act_project/carnival10/img/carnival/feedback.png b/act_project/carnival10/img/carnival/feedback.png new file mode 100644 index 0000000..953ca63 Binary files /dev/null and b/act_project/carnival10/img/carnival/feedback.png differ diff --git a/act_project/carnival10/img/carnival/gather-btn.png b/act_project/carnival10/img/carnival/gather-btn.png new file mode 100644 index 0000000..d10371d Binary files /dev/null and b/act_project/carnival10/img/carnival/gather-btn.png differ diff --git a/act_project/carnival10/img/carnival/point-2.png b/act_project/carnival10/img/carnival/point-2.png new file mode 100644 index 0000000..bbfc217 Binary files /dev/null and b/act_project/carnival10/img/carnival/point-2.png differ diff --git a/act_project/carnival10/img/carnival/point.png b/act_project/carnival10/img/carnival/point.png new file mode 100644 index 0000000..bde1c48 Binary files /dev/null and b/act_project/carnival10/img/carnival/point.png differ diff --git a/act_project/carnival10/img/carnival/pop-bg.png b/act_project/carnival10/img/carnival/pop-bg.png new file mode 100644 index 0000000..4a15bdd Binary files /dev/null and b/act_project/carnival10/img/carnival/pop-bg.png differ diff --git a/act_project/carnival10/img/carnival/rank-1.png b/act_project/carnival10/img/carnival/rank-1.png new file mode 100644 index 0000000..10b3d5b Binary files /dev/null and b/act_project/carnival10/img/carnival/rank-1.png differ diff --git a/act_project/carnival10/img/carnival/rank-2.png b/act_project/carnival10/img/carnival/rank-2.png new file mode 100644 index 0000000..4e44680 Binary files /dev/null and b/act_project/carnival10/img/carnival/rank-2.png differ diff --git a/act_project/carnival10/img/carnival/rank-3.png b/act_project/carnival10/img/carnival/rank-3.png new file mode 100644 index 0000000..506a7f6 Binary files /dev/null and b/act_project/carnival10/img/carnival/rank-3.png differ diff --git a/act_project/carnival10/img/carnival/rank-btn.png b/act_project/carnival10/img/carnival/rank-btn.png new file mode 100644 index 0000000..ed0dc84 Binary files /dev/null and b/act_project/carnival10/img/carnival/rank-btn.png differ diff --git a/act_project/carnival10/img/carnival/record-btn.png b/act_project/carnival10/img/carnival/record-btn.png new file mode 100644 index 0000000..4b6fc63 Binary files /dev/null and b/act_project/carnival10/img/carnival/record-btn.png differ diff --git a/act_project/carnival10/img/carnival/rule-btn.png b/act_project/carnival10/img/carnival/rule-btn.png new file mode 100644 index 0000000..5be349b Binary files /dev/null and b/act_project/carnival10/img/carnival/rule-btn.png differ diff --git a/act_project/carnival10/img/carnival/rule-text.png b/act_project/carnival10/img/carnival/rule-text.png new file mode 100644 index 0000000..b8623a1 Binary files /dev/null and b/act_project/carnival10/img/carnival/rule-text.png differ diff --git a/act_project/carnival10/img/carnival/turntable-2.png b/act_project/carnival10/img/carnival/turntable-2.png new file mode 100644 index 0000000..89cf919 Binary files /dev/null and b/act_project/carnival10/img/carnival/turntable-2.png differ diff --git a/act_project/carnival10/img/carnival/turntable.png b/act_project/carnival10/img/carnival/turntable.png new file mode 100644 index 0000000..cc68c03 Binary files /dev/null and b/act_project/carnival10/img/carnival/turntable.png differ diff --git a/act_project/carnival10/img/common/cancel.png b/act_project/carnival10/img/common/cancel.png new file mode 100644 index 0000000..6df376b Binary files /dev/null and b/act_project/carnival10/img/common/cancel.png differ diff --git a/act_project/carnival10/img/common/cancel1.png b/act_project/carnival10/img/common/cancel1.png new file mode 100644 index 0000000..ab86f0a Binary files /dev/null and b/act_project/carnival10/img/common/cancel1.png differ diff --git a/act_project/carnival10/img/common/enough-icon.png b/act_project/carnival10/img/common/enough-icon.png new file mode 100644 index 0000000..78c5706 Binary files /dev/null and b/act_project/carnival10/img/common/enough-icon.png differ diff --git a/act_project/carnival10/img/common/success-icon.png b/act_project/carnival10/img/common/success-icon.png new file mode 100644 index 0000000..25e01c6 Binary files /dev/null and b/act_project/carnival10/img/common/success-icon.png differ diff --git a/act_project/carnival10/img/gift/gift1.png b/act_project/carnival10/img/gift/gift1.png new file mode 100644 index 0000000..7b3208d Binary files /dev/null and b/act_project/carnival10/img/gift/gift1.png differ diff --git a/act_project/carnival10/img/gift/gift10.png b/act_project/carnival10/img/gift/gift10.png new file mode 100644 index 0000000..a8a04fd Binary files /dev/null and b/act_project/carnival10/img/gift/gift10.png differ diff --git a/act_project/carnival10/img/gift/gift11.png b/act_project/carnival10/img/gift/gift11.png new file mode 100644 index 0000000..cd29dae Binary files /dev/null and b/act_project/carnival10/img/gift/gift11.png differ diff --git a/act_project/carnival10/img/gift/gift12.png b/act_project/carnival10/img/gift/gift12.png new file mode 100644 index 0000000..2b36358 Binary files /dev/null and b/act_project/carnival10/img/gift/gift12.png differ diff --git a/act_project/carnival10/img/gift/gift13.png b/act_project/carnival10/img/gift/gift13.png new file mode 100644 index 0000000..74b329e Binary files /dev/null and b/act_project/carnival10/img/gift/gift13.png differ diff --git a/act_project/carnival10/img/gift/gift14.png b/act_project/carnival10/img/gift/gift14.png new file mode 100644 index 0000000..7e1bb15 Binary files /dev/null and b/act_project/carnival10/img/gift/gift14.png differ diff --git a/act_project/carnival10/img/gift/gift15.png b/act_project/carnival10/img/gift/gift15.png new file mode 100644 index 0000000..5544ad4 Binary files /dev/null and b/act_project/carnival10/img/gift/gift15.png differ diff --git a/act_project/carnival10/img/gift/gift2.png b/act_project/carnival10/img/gift/gift2.png new file mode 100644 index 0000000..de351b9 Binary files /dev/null and b/act_project/carnival10/img/gift/gift2.png differ diff --git a/act_project/carnival10/img/gift/gift3.png b/act_project/carnival10/img/gift/gift3.png new file mode 100644 index 0000000..14f7119 Binary files /dev/null and b/act_project/carnival10/img/gift/gift3.png differ diff --git a/act_project/carnival10/img/gift/gift4.png b/act_project/carnival10/img/gift/gift4.png new file mode 100644 index 0000000..726f09f Binary files /dev/null and b/act_project/carnival10/img/gift/gift4.png differ diff --git a/act_project/carnival10/img/gift/gift5.png b/act_project/carnival10/img/gift/gift5.png new file mode 100644 index 0000000..a65f652 Binary files /dev/null and b/act_project/carnival10/img/gift/gift5.png differ diff --git a/act_project/carnival10/img/gift/gift6.png b/act_project/carnival10/img/gift/gift6.png new file mode 100644 index 0000000..5989658 Binary files /dev/null and b/act_project/carnival10/img/gift/gift6.png differ diff --git a/act_project/carnival10/img/gift/gift7.png b/act_project/carnival10/img/gift/gift7.png new file mode 100644 index 0000000..4dcdd49 Binary files /dev/null and b/act_project/carnival10/img/gift/gift7.png differ diff --git a/act_project/carnival10/img/gift/gift8.png b/act_project/carnival10/img/gift/gift8.png new file mode 100644 index 0000000..10589c2 Binary files /dev/null and b/act_project/carnival10/img/gift/gift8.png differ diff --git a/act_project/carnival10/img/gift/gift9.png b/act_project/carnival10/img/gift/gift9.png new file mode 100644 index 0000000..2f44615 Binary files /dev/null and b/act_project/carnival10/img/gift/gift9.png differ diff --git a/act_project/carnival10/img/index/add-icon.png b/act_project/carnival10/img/index/add-icon.png new file mode 100644 index 0000000..2a744dc Binary files /dev/null and b/act_project/carnival10/img/index/add-icon.png differ diff --git a/act_project/carnival10/img/index/btn-cancel.png b/act_project/carnival10/img/index/btn-cancel.png new file mode 100644 index 0000000..4d4155c Binary files /dev/null and b/act_project/carnival10/img/index/btn-cancel.png differ diff --git a/act_project/carnival10/img/index/btn-confirm.png b/act_project/carnival10/img/index/btn-confirm.png new file mode 100644 index 0000000..fb98454 Binary files /dev/null and b/act_project/carnival10/img/index/btn-confirm.png differ diff --git a/act_project/carnival10/img/index/btn.png b/act_project/carnival10/img/index/btn.png new file mode 100644 index 0000000..ca3a323 Binary files /dev/null and b/act_project/carnival10/img/index/btn.png differ diff --git a/act_project/carnival10/img/index/buy-bg.png b/act_project/carnival10/img/index/buy-bg.png new file mode 100644 index 0000000..9a19caa Binary files /dev/null and b/act_project/carnival10/img/index/buy-bg.png differ diff --git a/act_project/carnival10/img/index/buy-gray.png b/act_project/carnival10/img/index/buy-gray.png new file mode 100644 index 0000000..7d987da Binary files /dev/null and b/act_project/carnival10/img/index/buy-gray.png differ diff --git a/act_project/carnival10/img/index/buy.png b/act_project/carnival10/img/index/buy.png new file mode 100644 index 0000000..397a71b Binary files /dev/null and b/act_project/carnival10/img/index/buy.png differ diff --git a/act_project/carnival10/img/index/cancel.png b/act_project/carnival10/img/index/cancel.png new file mode 100644 index 0000000..bf30340 Binary files /dev/null and b/act_project/carnival10/img/index/cancel.png differ diff --git a/act_project/carnival10/img/index/in-btn.png b/act_project/carnival10/img/index/in-btn.png new file mode 100644 index 0000000..08aa182 Binary files /dev/null and b/act_project/carnival10/img/index/in-btn.png differ diff --git a/act_project/carnival10/img/index/li-card.png b/act_project/carnival10/img/index/li-card.png new file mode 100644 index 0000000..6e10efb Binary files /dev/null and b/act_project/carnival10/img/index/li-card.png differ diff --git a/act_project/carnival10/img/index/remove-icon.png b/act_project/carnival10/img/index/remove-icon.png new file mode 100644 index 0000000..b0493e7 Binary files /dev/null and b/act_project/carnival10/img/index/remove-icon.png differ diff --git a/act_project/carnival10/img/index/rule-btn.png b/act_project/carnival10/img/index/rule-btn.png new file mode 100644 index 0000000..0c12311 Binary files /dev/null and b/act_project/carnival10/img/index/rule-btn.png differ diff --git a/act_project/carnival10/img/index/rule-text.png b/act_project/carnival10/img/index/rule-text.png new file mode 100644 index 0000000..cafb75a Binary files /dev/null and b/act_project/carnival10/img/index/rule-text.png differ diff --git a/act_project/carnival10/img/index/title.png b/act_project/carnival10/img/index/title.png new file mode 100644 index 0000000..eb22c56 Binary files /dev/null and b/act_project/carnival10/img/index/title.png differ diff --git a/act_project/carnival10/index.html b/act_project/carnival10/index.html new file mode 100644 index 0000000..f374db4 --- /dev/null +++ b/act_project/carnival10/index.html @@ -0,0 +1,76 @@ + + + + + + 唯美古风 + <%- include('../html_tpl/style.html') %> + + + <%- include('../html_tpl/headScript.html') %> + + +
        +
        +
        +
          +
          +
        • +

          +

          + - + 我的门票: +

          +
        • +
        • +
          + +
          +
          +

          购买

          +
          +

          数量:

          +
          +
          + +
          +
          +
          +

          天数:1天

          +

          金额:金币

          +
          +
          +
          +
          +
          +
          +
          +
          + +
          +
          玩法介绍
          +
          +

          +
          +
          +
          +
          + +
          +
          购买成功
          +
          余额不足
          +
          +
          +
          + 进入会场 +
          去充值
          +
          知道了
          +
          +
          + +
          + + +<%- include('../html_tpl/script.html') %> + + \ No newline at end of file diff --git a/act_project/carnival10/js/carnival.js b/act_project/carnival10/js/carnival.js new file mode 100644 index 0000000..6e9de61 --- /dev/null +++ b/act_project/carnival10/js/carnival.js @@ -0,0 +1,939 @@ +// 指定全局变量 +/*global checkVersion locateJudge EnvCheck tools erbanMask wx wxConfig VConsole androidJsObj initNav template preloadImage */ +var info = {}; +var browser = checkVersion(); +var api = locateJudge(); +var env = EnvCheck(); + +var shareUrl = location.origin + '/activity'; +var share = { + title: '', + link: shareUrl, + imgUrl: 'https://img.erbanyy.com/new-logo.png', + desc: '' +}; +// eslint-disable-next-line +function getMessage (key, value) { + info[key] = value; +} + +wx.ready(function () { + wx.onMenuShareTimeline({ + title: share.title, + link: share.link, + imgUrl: share.imgUrl, + desc: share.desc + }); + + wx.onMenuShareAppMessage({ + title: share.title, + desc: share.desc, + link: share.link, + imgUrl: share.imgUrl, + type: 'link', + dataUrl: '' + }); + + wx.onMenuShareQQ({ + title: share.title, + desc: share.desc, + link: share.link, + imgUrl: share.imgUrl + }); +}); + +erbanMask('activity-name', 'activity-name'); +initNav({ + type: 2, + data: { + msg: 'wewawa', + link: share.link, + title: share.title, + showUrl: share.link, + imgUrl: share.imgUrl, + desc: share.desc + } +}); + +browser.weixin && wxConfig(); + +var requestScrollTimer +var toastTimer +var openSocketTimer +var imgTimer +var canvasTimer +var rotateTimer +var rotateTimer2 +var giftTimer + +clearInterval(requestScrollTimer) +requestScrollTimer = setInterval(function () { + getScrollTip() +}, 60000) + +var clickTab = 0 +var clickTabFlag = false +var clickNumIndex = 0 +var turntable = { + 0: { + rotateBol: false, + fontColor: [], // 字体颜色 + colors: [ + '#001D53', + '#1C2D6E' + ], // 板块颜色 + prizeName: [], // 奖品名称 + prizeImg: [ + 'img/gift/gift1.png', + 'img/gift/gift2.png', + 'img/gift/gift3.png', + 'img/gift/gift4.png', + 'img/gift/gift5.png', + 'img/gift/gift6.png', + 'img/gift/gift7.png', + 'img/gift/gift8.png' + ], // 奖品图片 + prizeImgArr: [], // 用于canvas绘画的图片 + prizeIndex: [] // 奖品下标 + }, + 1: { + rotateBol: false, + fontColor: [], // 字体颜色 + colors: [ + '#001D53', + '#1C2D6E' + ], // 板块颜色 + prizeName: [], // 奖品名称 + prizeImg: [ + 'img/gift/gift1.png', + 'img/gift/gift9.png', + 'img/gift/gift10.png', + 'img/gift/gift11.png', + 'img/gift/gift12.png', + 'img/gift/gift13.png', + 'img/gift/gift14.png', + 'img/gift/gift15.png' + ], // 奖品图片 + prizeImgArr: [], // 用于canvas绘画的图片 + prizeIndex: [] // 奖品下标 + } +} +var giftIntro = {} + +$(function () { + if (env == 'test') { + new VConsole(); + } + var main = { + init: function () { + this.getMsgFromDevice(); + setTimeout(() => { + this.getData(); + if (info.appVersion >= '1.3.6' && info.appVersion) { + $('.topNav1').show().siblings('.topNav2').hide(); + } else { + $('.feedback,.topNav1').hide(); + $('.topNav2').show(); + } + }, 100); + this.eventRegister(); + }, + getMsgFromDevice: function () { + if (browser.app) { + if (browser.ios) { + window.webkit.messageHandlers.getDeviceId.postMessage(null); + window.webkit.messageHandlers.getRoomUid.postMessage(null); + } else if (browser.android) { + if (androidJsObj && typeof androidJsObj === 'object') { + info.deviceId = window.androidJsObj.getDeviceId(); + info.roomUid = window.androidJsObj.getRoomUid() + } + } + + info.uid = tools.nativeUtils.getUid(); + info.ticket = tools.nativeUtils.getTicket(); + info.appVersion = tools.nativeUtils.getAppVersion(); + } else { + info.uid = 906709; + info.roomUid = 906709 + info.deviceId = '8d9d6247-63a4-3acc-a164-01a6b1a3c098'; + info.ticket = 'eyJhbGciOiJIUzI1NiJ9.eyJ0aWNrZXRfdHlwZSI6bnVsbCwidWlkIjo5MDYyMzgsInRpY2tldF9pZCI6IjdiZWQ2NzcwLWJmMjktNGRiYi04MzZmLTc0NzBmY2RiMDZjYSIsImV4cCI6MzYwMCwiY2xpZW50X2lkIjoiZXJiYW4tY2xpZW50In0.ye2Zv8nyZkqiT_bIWq-50qcS6_SCWmRpBjxxLX7mQvs'; + } + }, + + eventRegister: function () { + $('.topNav .tab').on('click', function () { + if (clickTabFlag) { + return + } + $(this).addClass('active').siblings().removeClass('active') + clickTab = $(this).index() + + if (clickTab === 0) { + $('.exp-container').find('.strip').removeClass('exp-2').addClass('exp-1') + $('.exp-container').removeClass('exp-container2').addClass('exp-container1') + $('.canvas').find('.container1').removeClass('second').addClass('first') + $('.canvas .pointer img').attr('src', 'img/carnival/point.png') + $('.canvas .btn img').attr('src', 'img/carnival/draw-btn.png') + preloadImg(clickTab) + } else { + $('.exp-container').find('.strip').removeClass('exp-1').addClass('exp-2') + $('.exp-container').removeClass('exp-container1').addClass('exp-container2') + $('.canvas').find('.container1').removeClass('first').addClass('second') + $('.canvas .pointer img').attr('src', 'img/carnival/point-2.png') + $('.canvas .btn img').attr('src', 'img/carnival/draw-btn-2.png') + preloadImg(clickTab) + } + + info.clickStatu = false + getGiftInfo() + getticketChooseShow() + }) + $('.turnNum').on('click', 'li', function () { + $(this).addClass('active').siblings().removeClass('active') + clickNumIndex = $(this).index() + }) + + $('.experience').on('click', '.tips', function () { + $('.exp-toast').fadeIn(300, function () { + clearTimeout(toastTimer) + toastTimer = setTimeout(function () { + $('.exp-toast').hide() + }, 8000) + }) + }) + + $('.canvas').on('click', '.btn', function () { + if (!info.clickStatu) { + $('.toast').html('哎呀太挤了,请稍等').fadeIn(30).fadeOut(2000) + return false + } + if (turntable[clickTab].rotateBol) return + turntable[clickTab].rotateBol = true + clickTabFlag = true + var obj = { + 0: 'one', + 1: 'ten', + 2: 'hundred' + } + $.ajax({ + headers: { + pub_ticket: info.ticket + }, + type: 'POST', + url: api + '/activities/draw/turnTable', + data: { + uid: info.uid, + ticket: info.ticket, + roomUid: info.roomUid, + sendMessage: true, + ruleType: obj[clickNumIndex], + drawType: (clickTab === 0) ? 'turntable1' : 'turntable2', + deviceId: info.deviceId + }, + success: function (res) { + if (res.code === 200) { + var maxValue = 0 + var prizeId + var item + for (var i in res.data.prizeItemList) { + if (res.data.prizeItemList[i].platformValue > maxValue) { + maxValue = res.data.prizeItemList[i].platformValue + prizeId = res.data.prizeItemList[i].prizeId + item = turntable[clickTab].prizeIndex.indexOf(prizeId) + if (item == -1) { + item = 0 + } + } + console.log(item); + } + // ---------------- 用户抽奖记录接口 ----------- + $.ajax({ + headers: { + pub_ticket: info.ticket + }, + type: 'POST', + url: api + '/activities/draw/saveLog', + data: { + ticket: info.ticket, + uid: info.uid, + prizeids: JSON.stringify(res.data.prizeIdList), + prizeIndex: item, + createdTime: res.data.prizeItemList[0].createTime, + prizeIdList: JSON.stringify(turntable[clickTab].prizeIndex) + }, + success: function (res) { + // eslint-disable-next-line no-empty + if (res.code !== 200) console.log(res.message) + }, + error: function (err) { + console.log('报错了:', err) + } + }) + // ------------------ 用户抽奖记录接口 ------------ + $('.info').find('.ticketNum').html(res.data.remainKeyNum) + rotateFunc(item, 8, res.data.prizeItemList, res.data.prizeIdList, clickTab) + clearTimeout(rotateTimer) + rotateTimer = setTimeout(function () { + clickTabFlag = false + clearTimeout(rotateTimer) + }, 3000) + clearTimeout(rotateTimer2) + rotateTimer2 = setTimeout(function () { + turntable[clickTab].rotateBol = false + }, 1000) + } else if (res.code === 10000) { + // 门票不足 + $('.status-mask').find('.title').html('游玩失败') + $('.status-mask').find('.tips').html('亲,门票不足了哦~') + $('.status-mask').find('.btn').addClass('toGather').html('去收集') + $('.shade,.status-mask').show() + clickTabFlag = false + turntable[clickTab].rotateBol = false + } else if (res.code === 21111) { + // 游玩限制 + $('.status-mask').find('.title').html('本日游玩限制') + $('.status-mask').find('.tips').html('今日游玩次数已达上限哦~') + $('.status-mask').find('.btn').removeClass('toGather').html('知道了') + $('.shade,.status-mask').show() + clickTabFlag = false + } else { + turntable[clickTab].rotateBol = false + clickTabFlag = false + $('.toast').html(res.message).fadeIn(30).fadeOut(3000) + } + } + }) + }) + $('.status-mask').on('click', '.btn', function () { + if ($(this).hasClass('toGather')) { + $('.status-mask').hide() + $('.shade').hide() + window.location.href = './index.html' + } else { + $('.status-mask').hide() + $('.shade').hide() + } + }) + + $('.shade').on('click', function () { + $('.status-mask').hide() + $('.gather-mask').hide() + $('.shade').hide() + }) + + $('.help').on('click', function () { + $('.rule-mask').animate({ + top: 0 + }, 500) + }) + $('.rule-mask').on('click', '.back', function () { + $('.rule-mask').animate({ + top: -1000 + }, 500) + }) + + $('.rank-btn').on('click', function () { + renderRank(false) + }) + $('.rank-mask .tab').on('click', 'li', function () { + rankTabIndex = $(this).index() + $(this).addClass('active').siblings().removeClass('active') + renderRank(true) + }) + $('.rank-mask').on('click', '.back', function () { + $('.rank-mask').animate({ + top: -1000 + }, 500) + }) + + $('.status-mask').on('click', '.btn', function () { + $('.shade').hide() + $('.status-mask').hide() + }) + + $('.record-btn').on('click', function () { + renderRecord(false) + }) + $('.record-mask .tab').on('click', 'li', function () { + recordTabIndex = $(this).index() + recordPageNum = 1 + scrollFlag = false + $('.record-mask').find('.content').scrollTop(0) + $(this).addClass('active').siblings().removeClass('active') + renderRecord(true) + }) + $('.record-mask').on('click', '.back', function () { + $('.record-mask').animate({ + top: -1000 + }, 500) + }) + $('.record-mask .content').scroll(function () { + var scrollH = $(this).scrollTop() + var contentH = $('.record-container').height() + var viewH = $(this).height() + if (Math.ceil(viewH + scrollH) >= contentH) { + if (scrollFlag) { + return + } + scrollFlag = !scrollFlag + recordPageNum++ + renderRecord(true) + } + }) + $('.feedback').on('click', function () { + tools.nativeUtils.jumpAppointPage('FEEDPACK_PAGE', 'DRAW'); + }) + }, + getData: function () { + getScrollTip() + getticketChooseShow() + openSocket() + getExp() + getTicketNum() + preloadImg(clickTab) + getGiftInfo() + } + }; + + main.init(); +}); + +var scrollTimer +var tabTimer +var times +// var timeFlag = 0 +var timeTimer +// var cacheLine = 0 +var rankTabIndex = 0 +var recordTabIndex = 0 +var recordPageNum = 1 + +// 获取滚屏数据 +function getScrollTip () { + $('.container').hide() + $.ajax({ + type: 'GET', + url: api + '/activities/draw/queryPrizeMsg', + success: function (res) { + if (res.code === 200) { + for (var i in res.data) { + if (res.data[i].nick.length > 4) { + res.data[i].nick = res.data[i].nick.substring(0, 4) + '...' + } + if (res.data[i].drawType === 1) { + res.data[i]['table'] = '墨城烟柳' + } else { + res.data[i]['table'] = '清风煮酒' + } + } + res.data.push(res.data[0]) + var _data = { + scrollMaskList: res.data + } + $('.container').html(template('scrollTmp', _data)) + $('.container').show() + animateScroll() + } + } + }) +} + +// 获取礼物信息 +function getGiftInfo () { + turntable[clickTab].prizeIndex = [] + // turntable[0].prizeImg = []; + // turntable[1].prizeImg = []; + giftIntro['giftIdArr'] = [] + $.ajax({ + type: 'GET', + url: api + '/activities/draw/queryPrizeInfo', + timeout: 15000, // 超时时间:30秒 + data: { + drawType: (clickTab === 0) ? 'turntable1' : 'turntable2' + }, + success: function (res) { + if (res.code === 200) { + for (var i in res.data) { + turntable[clickTab].prizeIndex.push(res.data[i].prizeId) + giftIntro.giftIdArr.push(res.data[i].prizeId) + // if(clickTab === 0) { + // turntable[0].prizeImg.push(res.data[i].prizeImgUrl) + // }else{ + // turntable[1].prizeImg.push(res.data[i].prizeImgUrl) + // } + } + // preloadImg(clickTab) + // 成功后可点击 + info.clickStatu = true + } else { + $('.toast').html(res.message).fadeIn(30).fadeOut(2000) + } + }, + error: function (res) { + $('.toast').html('哎呀太挤了,请稍等').fadeIn(30).fadeOut(2000) + } + }) +} + +// 滚屏 +function animateScroll () { + var length = $('.scrollMask').find('.container').height() + var _top = 0 + clearInterval(scrollTimer) + scrollTimer = setInterval(function () { + if (length + _top > 30) { + _top -= 30 + } else { + $('.scrollMask').find('.container').css({ + top: 0 + }) + _top = 0 + } + $('.scrollMask').find('.container').stop(true, true).animate({ + top: _top + }) + }, 2000) +} + +// 获取消耗数据 +function getticketChooseShow () { + var drawObj = { + 0: 'turntable1', + 1: 'turntable2' + } + $.ajax({ + type: 'GET', + url: api + '/activities/draw/queryTicketRule', + data: { + drawType: drawObj[clickTab] + }, + success: function (res) { + if (res.code === 200) { + // $('.turnNum').find('.num').eq(0).html(res.data.one + '次') + $('.turnNum').find('.ticket').eq(0).html('消耗' + res.data.one + '门票') + // $('.turnNum').find('.num').eq(1).html(res.data.ten + '次') + $('.turnNum').find('.ticket').eq(1).html('消耗' + res.data.ten + '门票') + // $('.turnNum').find('.num').eq(2).html(res.data.hundred + '次') + $('.turnNum').find('.ticket').eq(2).html('消耗' + res.data.hundred + '门票') + + if (clickTab === 0) { + $('.turnNum').find('li').removeClass('joy').addClass('ball') + } else { + $('.turnNum').find('li').removeClass('ball').addClass('joy') + } + } + } + }) +} + +// 打开socket链接 +function openSocket () { + var socket = null + var cacheType = 0 + if (typeof (WebSocket) === 'undefined') { + alert('暂不支持转盘socket') + } else { + var _url = (window.location.href.match('apibeta') || window.location.href.match('local')) ? 'http://apibeta.qxjiaoyou.com:8081' : 'https://api.qxjiaoyou.com:8081' + if (window.location.href.match('preview')) { + _url = 'https://preview.qxjiaoyou.com:8081' + } + var socketUrl = _url + '/websocket/activity/' + info.roomUid + socketUrl = socketUrl.replace('https', 'wss').replace('http', 'ws') + if (socket !== null) { + socket.close() + socket = null + } + socket = new WebSocket(socketUrl) + + socket.onopen = function () { + // 监听开启socket后的判断逻辑 + clearInterval(tabTimer) + tabTimer = setInterval(function () { + if (cacheType !== clickTab) { + cacheType = clickTab + getExp() + } + }, 10) + } + + socket.onmessage = function (res) { + // 监听服务端发送过来的数据 + + var data = JSON.parse(res.data) + if (data.data) { + renderExp(data.data) + } + } + + socket.onclose = function () { + socket = null + clearTimeout(openSocketTimer) + openSocketTimer = setTimeout(function () { + openSocket() + }, 5000) + } + + socket.onerror = function () { + console.log('socket错误') + } + } +} + +// 渲染经验值 +function getExp () { + $.ajax({ + type: 'GET', + url: api + '/activities/draw/getRunawayData', + data: { + drawType: (clickTab === 0) ? 'turntable1' : 'turntable2', + roomUid: info.roomUid + }, + success: function (res) { + if (res.code === 200) { + renderExp(res.data) + } + } + }) +} +var tableFlag +function renderExp (val) { + // console.log(val) + tableFlag = (val.drawType === 'turntable1') ? 0 : 1 + if (val.runawaySwitch) { + $('.experience').show() + } + + // 进度条计算 + if (tableFlag === clickTab) { + var height = $('.exp-container').height() + var percentage = val.curValue / val.runawayConfigValue + var _top + _top = height * percentage + $('.strip').stop(true).animate({ + height: _top + }, 200) + $('.experience').find('.maxNum').html(val.runawayConfigValue) + $('.experience').find('.num').html(val.curValue) + } + // 进度条计算 + + // 礼物显示 + if (JSON.stringify(val.poolPrize) !== '{}') { + if (val.poolTime > 0 && tableFlag === clickTab) { + renderTime(val) + } + // if (val.poolTime === val.runawayConfigTime && tableFlag === clickTab) { + // timeFlag = 1 + // $('.giftBox').removeClass('hide') + // renderTime(val.poolTime) + // $('.giftBox').find('img').attr('src', val.poolPrize.prizeImgUrl) + // } + } else { + $('.giftBox').addClass('hide') + } +} + +// 渲染倒计时 +function renderTime (val) { + times = val.poolTime + $('.giftBox').find('img').attr('src', val.poolPrize.prizeImgUrl) + $('.giftBox').removeClass('hide') + $('.experience').find('.times').html(times + '秒') + clearInterval(timeTimer) + timeTimer = setInterval(function () { + times-- + if (times === 0) { + // timeFlag = 0 + clearInterval(timeTimer) + $('.giftBox').addClass('hide') + } + $('.experience').find('.times').html(times + '秒') + }, 1000) +} + +// 获取门票数 +function getTicketNum () { + $.ajax({ + type: 'GET', + url: api + '/activities/draw/queryTicketNum', + data: { + uid: info.uid + }, + success: function (res) { + if (res.code === 200) { + $('.info').find('.ticketNum').html(res.data.num) + } + } + }) +} + +// 预加载图片 +function preloadImg (val) { + var img = { + imageArr: turntable[val].prizeImg, + doneFunc: function () { + clearInterval(imgTimer) + imgTimer = setTimeout(function () { + getCanvas(val) + }, 50) + } + } + preloadImage(img) +} + +// 转盘 +function getCanvas (val) { + var img + if (val === 0) { + $('#table').show() + $('#table2').hide() + } else { + $('#table').hide() + $('#table2').show() + } + for (let i in turntable[val].prizeImg) { + img = new Image() + img.src = turntable[val].prizeImg[i] + turntable[val].prizeImgArr.push(img) + } + var count = turntable[val].prizeImg.length + img.onload = function () { + var baseAngle = Math.PI * 2 / count + var _circle = (val === 0) ? document.getElementById('table') : document.getElementById('table2') + var circle = _circle.getContext('2d') + clearTimeout(canvasTimer) + canvasTimer = setTimeout(function () { + for (var i = 0; i < turntable[val].prizeImg.length; i++) { + circle.save() + circle.translate(_circle.width / 2, _circle.height / 2) + circle.strokeStyle = 'transparent' + var angle = i * baseAngle + var colorIndex = i % 2 + circle.fillStyle = turntable[val].colors[colorIndex] + circle.beginPath() + circle.moveTo(0, 0) + circle.arc(0, 0, 214, angle, angle + baseAngle, false) + circle.stroke() + circle.fill() + circle.rotate(angle + baseAngle / 2 + Math.PI / 2) + circle.imageSmoothEnabled = false + circle.drawImage(turntable[val].prizeImgArr[i], -55, -210, 100, 100) + circle.restore() + } + clearTimeout(canvasTimer) + }, 10) + } +} + +// 旋转 +function rotateFunc (item, count, data, idList, val) { + // $('.canvas').css({ + // transform: 'scale(.5)' + // }) + giftIntro['gatherId'] = item + giftIntro['gatherIdList'] = idList + console.log(giftIntro); + var baseAngle = 360 / count + var angle = 360 * 3 / 4 - (item * baseAngle) - baseAngle / 2 + giftIntro['angle'] = angle + var $rotate = (val === 0) ? $('#table') : $('#table2') + $rotate.stopRotate() + $rotate.rotate({ + angle: 0, + animateTo: angle + 360 * 5, + duration: 3000, + callback: function () { + // 获取弹窗渲染 + var $data = { + gatherList: data + } + $('.gift-list').html(template('gatherListTmp', $data)) + $('.gather-mask').show() + $('.shade').show() + clearTimeout(giftTimer) + giftTimer = setTimeout(function () { + $('.gather-mask').hide() + $('.shade').hide() + clearTimeout(giftTimer) + }, 1500) + } + }) +} + +// 渲染排行榜 +function renderRank (val) { + var tipsObj = { + 0: '抽奖票数越多,排名越高哦~每日零点重置', + 1: '获得奖励价值越高,排名越高哦~每日零点重置' + } + var urlObj = { + 0: '/activities/rank/ticketList', + 1: '/activities/rank/giftList' + } + $.ajax({ + type: 'POST', + url: api + urlObj[rankTabIndex], + data: { + uid: info.uid + }, + success: function (res) { + if (res.code === 200) { + $('.rank-mask').find('.tips p').html(tipsObj[rankTabIndex]) + for (var i in res.data.rankVoList) { + if (res.data.rankVoList[i].nick.length > 5) { + res.data.rankVoList[i].nick = res.data.rankVoList[i].nick.substring(0, 5) + '...' + } + if (i > 0) { + var distance = res.data.rankVoList[i - 1].value - res.data.rankVoList[i].value + if (distance > 10000) { + res.data.rankVoList[i]['distance'] = (distance / 10000).toFixed(1) + '万' + } else { + res.data.rankVoList[i]['distance'] = distance + } + } + } + if (!val) { + $('.rank-mask').animate({ + top: 0 + }, 500, function () { + var $data = { + rankList: res.data.rankVoList + } + $('.rank-container').html(template('rankListTmp', $data)).fadeIn(500) + }) + } else { + var $data = { + rankList: res.data.rankVoList + } + $('.rank-container').fadeOut(500, function () { + $('.rank-container').html(template('rankListTmp', $data)) + }).fadeIn(500) + } + + if (res.data.myRank.nick.length > 5) { + res.data.myRank.nick = res.data.myRank.nick.substring(0, 5) + '...' + } + if (res.data.myRank.value > 10000) { + res.data.myRank.value = (res.data.myRank.value / 10000).toFixed(1) + '万' + } + + $('.mine').find('.rank-num').html(res.data.myRank.rank) + $('.mine').find('.avatar img').attr('src', res.data.myRank.avatar) + $('.mine').find('.nick').html(res.data.myRank.nick) + if (rankTabIndex === 0) { + $('.mine').find('.score').html('我的捧场值:' + res.data.myRank.value) + } else { + $('.mine').find('.score').html('我的迷人值:' + res.data.myRank.value) + } + if (res.data.myRank.rank < 21) { + if (res.data.myRank.rank > 10 && res.data.myRank.rank < 21) { + $('.mine').find('.num').html(res.data.myRank.diffValue) + $('.mine').find('.distance').html('距上榜') + } else if (res.data.myRank.rank < 11 && res.data.myRank.rank > 1) { + $('.mine').find('.num').html(res.data.myRank.diffValue) + $('.mine').find('.distance').html('距上名') + } else { + $('.mine').find('.num').html(res.data.myRank.diffValue) + } + } else { + $('.mine').find('.num').html(res.data.myRank.diffValue) + $('.mine').find('.distance').html('未上榜') + } + // 跳转个人主页 + $('.rank-container').on('click', '.avatar', function () { + var uid = $(this).attr('data-uid'); + tools.nativeUtils.jumpAppointPage('PERSON_PAGE', uid); + }) + } + } + }) +} + +var recordCache = [] +var scrollFlag = false +var recordTimer +// 渲染抽奖记录 +function renderRecord (val) { + var typeObj = { + 0: 'time', + 1: 'worth' + } + $.ajax({ + type: 'GET', + url: api + '/activities/draw/drawRecord', + data: { + uid: info.uid, + sortType: typeObj[recordTabIndex], + page: recordPageNum, + pageSize: 10 + }, + success: function (res) { + if (res.code === 200) { + if (res.data.length === 0) { + return + } + if (recordTabIndex === 0) { + for (var i in res.data) { + var date = new Date(res.data[i].createTime) + var year = date.getFullYear() + var month = date.getMonth() + 1 + var day = date.getDate() + var hour = date.getHours() + var minute = date.getMinutes() + var second = date.getSeconds() + res.data[i].ymd = year + '-' + month + '-' + day + res.data[i].hms = hour + ':' + minute + ':' + second + } + } + if (scrollFlag) { + if (res.data.length > 0) { + for (var j in res.data) { + recordCache.push(res.data[j]) + } + } else { + $('.loading').html('暂无更多数据') + } + var $data2 = { + recordList: recordCache, + // eslint-disable-next-line no-unneeded-ternary + worth: (recordTabIndex === 1) ? true : false + } + $('.loading').show() + clearTimeout(recordTimer) + recordTimer = setTimeout(function () { + $('.loading').hide() + $('.record-container').html(template('recordTmp', $data2)) + scrollFlag = !scrollFlag + }, 2000) + return + } + if (!val) { + recordCache = [] + $('.record-mask').animate({ + top: 0 + }, 500, function () { + recordCache = res.data + var $data = { + recordList: recordCache, + // eslint-disable-next-line no-unneeded-ternary + worth: (recordTabIndex === 1) ? true : false + } + $('.record-container').html(template('recordTmp', $data)).fadeIn(500) + }) + } else { + recordCache = [] + recordCache = res.data + var $data = { + recordList: recordCache, + // eslint-disable-next-line no-unneeded-ternary + worth: (recordTabIndex === 1) ? true : false + } + $('.record-container').fadeOut(500, function () { + $('.record-container').html(template('recordTmp', $data)) + }).fadeIn(500) + } + } + } + }) +} diff --git a/act_project/carnival10/js/index.js b/act_project/carnival10/js/index.js new file mode 100644 index 0000000..695d8b5 --- /dev/null +++ b/act_project/carnival10/js/index.js @@ -0,0 +1,386 @@ +// 指定全局变量 +/*global checkVersion locateJudge EnvCheck tools erbanMask wx wxConfig VConsole androidJsObj initNav */ +var info = {}; +var browser = checkVersion(); +var api = locateJudge(); +var env = EnvCheck(); +var totalPrice = 0; +var shareUrl = location.origin + '/activity'; +var share = { + title: '', + link: shareUrl, + imgUrl: 'https://img.erbanyy.com/new-logo.png', + desc: '' +}; +// eslint-disable-next-line +function getMessage(key, value) { + info[key] = value; +} + +wx.ready(function() { + wx.onMenuShareTimeline({ + title: share.title, + link: share.link, + imgUrl: share.imgUrl, + desc: share.desc + }); + + wx.onMenuShareAppMessage({ + title: share.title, + desc: share.desc, + link: share.link, + imgUrl: share.imgUrl, + type: 'link', + dataUrl: '' + }); + + wx.onMenuShareQQ({ + title: share.title, + desc: share.desc, + link: share.link, + imgUrl: share.imgUrl + }); +}); + +erbanMask('activity-name', 'activity-name'); +initNav({ + type: 2, + data: { + msg: 'wewawa', + link: share.link, + title: share.title, + showUrl: share.link, + imgUrl: share.imgUrl, + desc: share.desc + } +}); + +browser.weixin && wxConfig(); + +$(function() { + if (env == 'test') { + new VConsole(); + } + + var main = { + init: function() { + this.getMsgFromDevice(); + setTimeout(() => { + this.getData(); + }, 100); + this.eventRegister(); + }, + getMsgFromDevice: function() { + if (browser.app) { + if (browser.ios) { + window.webkit.messageHandlers.getDeviceId.postMessage(null); + } else if (browser.android) { + if (androidJsObj && typeof androidJsObj === 'object') { + info.deviceId = window.androidJsObj.getDeviceId(); + } + } + info.uid = tools.nativeUtils.getUid(); + info.ticket = tools.nativeUtils.getTicket(); + } else { + // info.uid = 906238; + info.uid = 906709; + info.deviceId = 'safhksafhksajhfs1kjahsfkjsf0000aaaaaaaacaa'; + info.ticket = 'eyJhbGciOiJIUzI1NiJ9.eyJ0aWNrZXRfdHlwZSI6bnVsbCwidWlkIjo5MDYyMzgsInRpY2tldF9pZCI6IjdiZWQ2NzcwLWJmMjktNGRiYi04MzZmLTc0NzBmY2RiMDZjYSIsImV4cCI6MzYwMCwiY2xpZW50X2lkIjoiZXJiYW4tY2xpZW50In0.ye2Zv8nyZkqiT_bIWq-50qcS6_SCWmRpBjxxLX7mQvs'; + } + }, + eventRegister: function() { + // 打开规则弹窗 + $('.rule-btn').on('click', function() { + $('.rule-mask,.shade').fadeIn(300); + }) + // 关闭购买弹窗 + $('.buy-mask').on('click', '.close-btn', function() { + $('.buy-mask,.shade').fadeOut(300); + }) + // 关闭规则弹窗 + $('.rule-mask').on('click', '.cancel', function() { + $('.rule-mask,.shade').fadeOut(300); + }) + // 关闭购买之后弹窗 + $('.statusMask').on('click', '.cancel', function() { + $('.statusMask,.shade').fadeOut(300); + }) + // 关闭弹窗 + $('.shade').on('click', function() { + $('.rule-mask,.buy-mask,.statusMask,.shade').fadeOut(300); + }) + // 监听input输入 + $('.b-input').bind('input propertychange', function() { + var _this = $(this); + if (_this.val().length == 1) { + _this.val(_this.val().replace(/[^1-9]/gi, '')); + } else { + _this.val(_this.val().replace(/[\D]/gi, '')); + _this.val(parseInt(_this.val())); + } + if(_this.val() == '') { + totalPrice = 0; + $('.day').text(0); + _this.val(0) + }else{ + if(_this.val() >= 100000000) { + _this.val(100000000) + } + totalPrice = parseInt(_this.val()) * parseInt(_this.attr('data-price')); + $('.day').text(_this.val()); + } + $('.totalprice').html(totalPrice); + }) + // 增加按钮 + $('.add-btn').on('click', function() { + var val = parseInt($('.b-input').val()); + var price = parseInt($('.b-input').attr('data-price')); + val = val + 1; + totalPrice = val * price; + $('.day').text(val); + $('.b-input').val(val); + $('.totalprice').html(totalPrice); + }) + // 减少按钮 + $('.remove-btn').on('click', function() { + var val = parseInt($('.b-input').val()); + var price = parseInt($('.b-input').attr('data-price')); + if(val > 1) { + val = val - 1; + }else{ + val = 1; + } + totalPrice = val * price; + $('.day').text(val); + $('.b-input').val(val); + $('.totalprice').html(totalPrice); + }) + // 购买确认 + $('.confirm-btn').on('click', function() { + var packNum = $('.b-input').val(); + var packId = $(this).attr('data-pid'); + if(packNum == 0) { + ajaxTip('最少购买一个哦~'); + return; + }else{ + $.ajax({ + headers: { + pub_ticket: info.ticket + }, + type: 'POST', + url: api + '/activity/pack/buy', + data: { + uid: info.uid, + ticket: info.ticket, + packId: packId, + packNum: packNum + }, + success: function(res) { + if(res) { + if (res.code == 200) { // 购买成功 + $('.buy-mask').hide().siblings('.statusMask').fadeIn(300); + $('.success').show(); + $('.fail').hide(); + $('.statusMask .tip').html('获赠门票×' + res.data); + renderTicket(); + } else if (res.code == 2103) { // 余额不足 + $('.buy-mask').hide().siblings('.statusMask').fadeIn(300); + $('.buy-mask,.success').hide(); + $('.fail').show(); + $('.statusMask .tip').html('亲,余额不足~'); + if (browser.ios) { + $('.android').hide(); + } else if (browser.android) { + $('.ios').hide(); + } + } else { + ajaxTip(res.message); + return; + } + } + } + }) + } + }) + // 充值跳转 + $('.recharge').on('click', function() { + if (browser.ios) { + $('.statusMask,.shade').fadeOut(300); + } else { + tools.nativeUtils.jumpAppointPage('RECHARGE_PAGE'); + } + }) + }, + getData: function() { + renderTicket(); + renderGift(); + } + }; + main.init(); +}); + +// 渲染底部tab +function renderTicket() { + $.ajax({ + type: 'GET', + url: api + '/activities/draw/queryTicketNum', + data: { + uid: info.uid + }, + success: function(res) { + if(res.code === 200) { + if (res.data.nick.length > 10) { + res.data.nick = res.data.nick.substring(0, 10) + '...' + } + $('.mine').find('.avatar img').attr('src', res.data.avatar) + $('.mine').find('.nick').html(res.data.nick) + $('.mine').find('.score').html(res.data.num) + }else{ + ajaxTip(res.message); + return; + } + } + }) +} + +// 渲染礼包信息 +function renderGift() { + $.ajax({ + headers: { + pub_ticket: info.ticket + }, + type: 'POST', + url: api + '/activities/draw/getPackList', + data: { + uid: info.uid, + ticket: info.ticket + }, + success: function(res) { + if (res.code == 200) { + var html = ''; + var num = ''; + res.data.forEach(function(item, index) { + if(item.sellingPrice == 200) { + num = '7-10' + }else if(item.sellingPrice == 1000) { + num = '30-50' + }else if(item.sellingPrice == 2000) { + num = '70-100' + }else if(item.sellingPrice == 10000) { + num = '300-500' + } + // 新增的档位20000,赠送600-1000门票,添加日期2020-12-08 + else if(item.sellingPrice == 20000) { + num = '600-1000' + } + html += '
        • ' + + '

          限定装扮' + NoToChinese(index + 1) + '

          ' + + '
          ' + + '
          ' + + '

          ' + item.name + '

          ' + + '

          ' + item.sellingPrice + '金币/天

          ' + + '

          ' + item.originalPrice + '金币/天

          ' + + '

          随机赠送门票' + num + '张

          ' + + '
          ' + + '
          ' + + '
        • ' + }) + $('.cloth-box').html(html); + renderBuyStatus(); + // 购买弹窗 + $('.cloth-box').on('click', '.buy-btn', function() { + var packId = $(this).attr('data-gid'); + var name = $(this).siblings('.gift-text').find('p:first').text(); + var sellingPrice = $(this).siblings('.gift-text').find('.price').attr('data-money'); + $('.buy-mask .day').text(1); + $('.buy-mask .b-input').val(1); + $('.buy-mask .giftName').html(name); + $('.buy-mask .totalprice').html(sellingPrice); + $('.buy-mask .confirm-btn').attr('data-pid', packId); + $('.buy-mask .b-input').attr('data-price', sellingPrice); + $('.shade,.buy-mask').fadeIn(300); + }) + }else{ + ajaxTip(res.message); + return; + } + } + }) +} +// 渲染购买状态 +function renderBuyStatus() { + $.ajax({ + type: 'GET', + url: api + '/activities/draw/getDate', + data: {}, + success: function(res) { + if(res.code == 200) { + var date = new Date().getTime(); + var start = (browser.ios) ? res.data.start : res.data.start; + var end = (browser.ios) ? res.data.end : res.data.end; + if (start < date && date < end) { + $('.buy-btn').removeClass('gray').prop('disabled', false); + } else { + $('.buy-btn').removeClass().addClass('buy-btn gray').prop('disabled', true); + } + }else{ + ajaxTip(res.message); + return; + } + } + }) +} + +// 封装提示信息 +function ajaxTip(callText) { + var thisBody = document.getElementsByTagName('body')[0]; + var Div = document.createElement('div'); + var text = "

          " + callText + '

          ' + Div.setAttribute('class', 'ajaxtiplayer'); + Div.innerHTML = text; + Div.style.display = 'block'; + thisBody.appendChild(Div); + setTimeout(function() { + thisBody.removeChild(Div); + }, 2000); +} + +// 将数字转为中文数字 +function NoToChinese(num) { + if (!/^\d*(\.\d*)?$/.test(num)) { + alert('Number is wrong!'); + return 'Number is wrong!'; + } + // eslint-disable-next-line no-array-constructor + var AA = new Array('零', '一', '二', '三', '四', '五', '六', '七', '八', '九'); + // eslint-disable-next-line no-array-constructor + var BB = new Array('', '十', '百', '千', '万', '亿', '点', ''); + var a = ('' + num).replace(/(^0*)/g, '').split('.'); + var k = 0; + var re = ''; + for (var i = a[0].length - 1; i >= 0; i--) { + switch (k) { + case 0: + re = BB[7] + re; + break; + case 4: + if (!new RegExp('0{4}\\d{' + (a[0].length - i - 1) + '}$').test(a[0])) { re = BB[4] + re; } + break; + case 8: + re = BB[5] + re; + BB[7] = BB[5]; + k = 0; + break; + } + if (k % 4 == 2 && a[0].charAt(i + 2) != 0 && a[0].charAt(i + 1) == 0) re = AA[0] + re; + if (a[0].charAt(i) != 0) re = AA[a[0].charAt(i)] + BB[k % 4] + re; + k++; + } + if (a.length > 1) { + re += BB[6]; + // eslint-disable-next-line no-redeclare + for (var i = 0; i < a[1].length; i++) re += AA[a[1].charAt(i)]; + } + return re; +} + diff --git a/act_project/carnival11/.tmtworkflowrc b/act_project/carnival11/.tmtworkflowrc new file mode 100644 index 0000000..353947e --- /dev/null +++ b/act_project/carnival11/.tmtworkflowrc @@ -0,0 +1,45 @@ +{ + "ftp": { + "host": "xx.xx.xx.xx", + "port": "8021", + "user": "tmt", + "pass": "password", + "remotePath": "remotePath", + "includeHtml": true + //ftp 上传是否包含 html + }, + "sftp": { + "host": "xx.xx.xx.xx", + "port": "xx", + "user": "tmt", + "password": "password", + "remotePath": "", + "includeHtml": true + }, + "livereload": { + // /api 代理到的 url + "proxyTarget": "http://im.haloapp.vip", + //开启自动刷新 + "available": true, + "port": 8080, + "startPath": "index.html" + }, + //路径相对于 tasks/plugins 目录 + "plugins": { + "build_devAfter": [], + "build_distAfter": [], + "ftpAfter": [ + "ftp" + ] + }, + "lazyDir": [ + "../slice" + ], + //gulp-lazyImageCSS 寻找目录(https://github.com/weixin/gulp-lazyimagecss) + + "supportWebp": false, + "supportREM": false, + "supportChanged": false, + "reversion": true, + "SVGGracefulDegradation": true +} diff --git a/act_project/carnival11/carnival.html b/act_project/carnival11/carnival.html new file mode 100644 index 0000000..e7673af --- /dev/null +++ b/act_project/carnival11/carnival.html @@ -0,0 +1,249 @@ + + + + + + 春游记 + + <%- include('../html_tpl/style.html') %> + + + <%- include('../html_tpl/headScript.html') %> + + +
          +
          + +
            +
          • 春暖花开
          • +
          • 满园春色
          • +
          +
          +
          + +
          +
          +
            +
          • 春暖花开
          • +
          • 满园春色
          • +
          +
          + + +
          +
          + +
          + +
          +
          + +
          +
          +
          +
          + + +
          + +
          + +
          +
          +
          + +
          + 我的门票: 0张 + + +
          + + + +
          +
        • +

          1次

          +

          -

          +
        • +
        • +

          10次

          +

          -

          +
        • +
        • +

          100次

          +

          -

          +
        • +
          + +
          +
          + + 暴击×5 + +
          +
          +
          +
          +
          + 0 + / + 0 +
          +
          + 暴走值 +
          +
          + +
          +
          +
          +
          +
          + +
          +
          本轮获得
          +
          · 可前往个人背包查看 ·
          +
            + +
            知道了
            +
            + +
            + +
            +

            +
            +
            + +
            + +
            +
            +
          • 捧场王
          • +
          • 万人迷
          • +
            +

            我是你爸爸

            +
              + +
              +
              +

              +

              +

              + + +

              +

              + + +

              +
              +
              + +
              + +
              +
            • +

              时间

              +

              +
            • +
            • +

              价值

              +

              +
            • +
              +
              +
              + +
              +
              加载中...
              +
              展示您最近300次中奖纪录
              +
              + +
              + +
              暴走状态随机礼物5倍获得概率。1转盘次数=1暴走值,暴走值每小时清零
              +
              +
              + + +<%- include('../html_tpl/script.html') %> + + + diff --git a/act_project/carnival11/css/carnival.scss b/act_project/carnival11/css/carnival.scss new file mode 100644 index 0000000..df9087d --- /dev/null +++ b/act_project/carnival11/css/carnival.scss @@ -0,0 +1,1298 @@ +@function px2rem($px, $rem:75) { + @return $px / $rem+rem; +} + +@import '../../../common/css/flex.scss'; + +.mask { + z-index: 120; + position: fixed; + width: 100%; + left: 0; + bottom: 0; + display: flex; + height: 60px; + align-items: center; + background: rgba(0, 0, 0, 0.5); + justify-content: space-between; + padding: 0 8px; + box-sizing: border-box; + display: none; + .logo { + width: 40px; + img { + width: 100%; + } + } + .slogan { + color: #fff; + } +} +#download { + border: 1px solid #fff; + color: #fff; + width: 80px; + text-align: center; + border-radius: 15px; + line-height: 30px; + a { + color: #fff; + } +} + +.max { + width: 100%; + margin: 0 auto; + background-color: #180734; + position: relative; + + &::before { + content: ''; + display: block; + width: 100%; + height: 100%; + position: fixed; + left: 0; + top: 0; + background-color: #180734; + z-index: -1; + } + + .topNav1 { + @include flex(); + @include flex-justify-start; + @include flex-align-center; + width: 100%; + position: relative; + height:1.453333rem; + border-bottom: 1px solid #301D4E; + + .help { + width:.506667rem; + height:.506667rem; + margin-left:.56rem; + img { + width: 100%; + } + } + .feedback{ + width:.986667rem; + height:.533333rem; + margin:0 1.04rem 0 .413333rem; + img{ + width:100%; + height:100%; + } + } + + ul { + @include flex(); + @include flex-justify-center; + @include flex-align-center; + li { + margin: 0 .266667rem; + height: 100%; + line-height:1.453333rem; + position: relative; + color: #8B8399; + font-size:.373333rem; + + &.active { + color:#FFFFFF; + font-size:.426667rem; + &::after { + content: ''; + display: block; + width: px2rem(20); + height: px2rem(5); + background-color: #FFFFFF; + opacity: .6; + border-radius:.666667rem; + position: absolute; + bottom:.2rem; + left: 50%; + margin-left:-0.133333rem; + } + } + } + } + } + .topNav2 { + @include flex(); + @include flex-justify-start; + @include flex-align-center; + display:none; + width: 100%; + position: relative; + height:1.453333rem; + border-bottom: 1px solid rgba($color: #fff, $alpha: 0.1); + + .help { + width:.506667rem; + height:.506667rem; + position:absolute; + top:.466667rem; + left:.413333rem; + img { + width: 100%; + } + } + + + ul { + @include flex(); + @include flex-justify-center; + @include flex-align-center; + li { + margin: 0 .266667rem; + height: 100%; + line-height: px2rem(109); + position: relative; + color: #8B8399; + font-size:.373333rem; + + &.active { + color: white; + font-size:.426667rem; + &::after { + content: ''; + display: block; + width:.266667rem; + height:.066667rem; + background-color: white; + opacity: .6; + border-radius: 25px; + position: absolute; + bottom:.2rem; + left: 50%; + margin-left:-0.133333rem; + } + } + } + } + } + + .scrollMask { + width: px2rem(500); + height: 30px; + margin: 0 auto; + margin-top: px2rem(10); + overflow: hidden; + position: relative; + .container { + width: 100%; + height: auto; + position: absolute; + top: 0; + left: 0; + display: none; + + li { + width: 100%; + height: 30px; + text-align: center; + line-height: 30px; + color: white; + font-size: 12px; + overflow: hidden; + + span { + color: #ffec6f; + margin: 0 px2rem(5); + } + } + } + } + .rank-btn { + width:1.2rem; + height:1.04rem; + position: absolute; + right:.2rem; + top:2.026667rem; + z-index: 200; + img { + width: 100%; + } + } + .record-btn { + width:1.2rem; + height:1.04rem; + position: absolute; + right:.2rem; + top:3.653333rem; + z-index: 200; + + img { + width: 100%; + } + } + + + .canvas { + width: 100%; + height: px2rem(550); + margin-top: px2rem(30); + position: relative; + + .canvas-container { + width: 200%; + height: 200%; + transform: scale(.5); + position: absolute; + left: 0; + top: 0; + margin-left: -50%; + margin-top: px2rem(-275); + + .turntable { + width: px2rem(1028); + height: px2rem(1028); + margin: 0 auto; + position: absolute; + left: 50%; + top: 50%; + margin-left: px2rem(-514); + margin-top: px2rem(-514); + + .container1 { + width: 100%; + height: 100%; + position: relative; + + &.first { + background: url('../img/carnival/turntable.png') no-repeat 0 0 / 100% 100%; + } + &.second { + background: url('../img/carnival/turntable-2.png') no-repeat 0 0 / 100% 100%; + } + } + #table { + position: absolute; + width: px2rem(856); + height: px2rem(856); + left: 50%; + top: 50%; + margin-left: px2rem(-428); + margin-top: px2rem(-428); + z-index: 4; + } + #table2 { + position: absolute; + width: px2rem(856); + height: px2rem(856); + left: 50%; + top: 50%; + margin-left: px2rem(-428); + margin-top: px2rem(-428); + z-index: 4; + display: none; + } + + .pointer { + width: px2rem(95); + height: px2rem(177); + position: absolute; + left: 50%; + transform: translate(-50%,0); + top: px2rem(-40); + // margin-left: px2rem(-63); + z-index: 10; + img { + width: 100%; + height: 100%; + } + } + + .btn { + width: px2rem(352); + height: px2rem(352); + position: absolute; + left: 50%; + top: 50%; + margin: 0; + margin-left: px2rem(-176); + margin-top: px2rem(-176); + z-index: 130; + border: none; + outline: none; + background: none; + padding: 0; + img { + width: px2rem(352); + height: px2rem(352); + } + &:disabled{ + color: rgba(255, 255, 255, 0); + } + } + } + } + } + + .info { + @include flex(); + @include flex-justify-center; + @include flex-align-center; + + width: 100%; + text-align: center; + margin-top: px2rem(10); + + span { + font-size: 13px; + color: #CECCD1; + + small { + color: #ffec6f; + margin: 0 px2rem(10) + } + + &:last-child { + width: px2rem(111); + height: px2rem(44); + margin-left: px2rem(20); + + a { + display: block; + width: 100%; + height: 100%; + img { + width: 100%; + } + } + } + } + } + + .turnNum { + @include flex(); + @include flex-justify-center; + @include flex-align-center; + + width: 100%; + margin-top: px2rem(35); + margin-bottom: px2rem(50); + + li { + @include flex(); + @include flex-justify-center; + @include flex-align-start; + @include flexv(); + + width: px2rem(225); + height: px2rem(90); + border-radius: 20px 60px 20px 20px; + overflow: hidden; + position: relative; + margin: 0 px2rem(8); + + p { + font-size: 13px; + color: white; + color: #CFCDD3; + margin-left: px2rem(20); + z-index: 2; + + &:last-child { + font-size: 12px; + } + } + + &::before { + content: ''; + display: block; + position: absolute; + width: 100%; + height: 100%; + left: 0; + top: 0; + background-color: white; + border-radius: 20px 60px 20px 20px; + opacity: .08; + z-index: 0; + } + + &.active { + p { + color: #fff; + } + &.ball { + &::before { + opacity: 1; + background: linear-gradient(223deg, #FFC3A0, #FFAFBD); + box-shadow: 0px 11px 10px 0px rgba(255, 242, 173, 0.36), 0px -1px 5px 0px rgba(255, 250, 171, 0.88), 0px -6px 10px 0px #000000; + } + } + &.joy { + &::before { + background: linear-gradient(223deg, #00FFE4, #00A8FF); + box-shadow: 0px 11px 10px 0px rgba(255, 242, 173, 0.36), 0px -1px 5px 0px rgba(255, 250, 171, 0.88), 0px -6px 10px 0px #000000; + opacity: 1; + } + } + } + } + } + + .experience { + width: auto; + height: auto; + position: absolute; + left: 10px; + top: px2rem(200); + display: none; + + .giftBox { + width: px2rem(100); + height: px2rem(100); + position: relative; + // border: 1px solid white; + opacity: 1; + img { + width: 100%; + height: 100%; + } + &.hide { + opacity: 0; + } + + span { + position: absolute; + left: px2rem(90); + + &.crit { + width: px2rem(95); + height: px2rem(40); + text-align: right; + background: url('../img/carnival/exp-2.png') no-repeat 0 0 / 100% 100%; + line-height: px2rem(40); + top: px2rem(5); + z-index: 1; + font-size: 12px; + padding-right: px2rem(5); + color: #2B1C03; + } + &.times { + width: px2rem(90); + height: px2rem(40); + line-height: px2rem(40); + text-align: right; + padding-right: px2rem(10); + background: url('../img/carnival/exp-1.png') no-repeat 0 0 / 100% 100%; + z-index: 1; + top: px2rem(55); + font-size: 12px; + color: #FFF044; + } + } + } + + .exp-container { + width: px2rem(26); + height: px2rem(366); + margin-left: px2rem(18); + margin-top: px2rem(15); + border-radius: 25px; + // border: 4px solid #2C0767; + &.exp-container1 { + background: url('../img/carnival/bg1.png') no-repeat 0 0 / 100% 100%; + } + &.exp-container2 { + background: url('../img/carnival/bg2.png') no-repeat 0 0 / 100% 100%; + } + position: relative; + overflow: hidden; + + .strip { + width: px2rem(26); + height: 0; + position: absolute; + left: 0; + bottom: 0; + + &.exp-1 { + background: url('../img/carnival/exp1.png') no-repeat 0 0 / 100% 100%; + } + &.exp-2 { + background: url('../img/carnival/exp2.png') no-repeat 0 0 / 100% 100%; + } + } + } + + .exp-num { + margin-left: px2rem(5); + color: #fff044; + font-size: 14px; + margin-top: px2rem(10); + } + + .tips { + font-size: 13px; + color: white; + + span { + display: inline-block; + &:last-child { + width: px2rem(25); + height: px2rem(25); + margin-left: px2rem(8); + img { + width: 100%; + height: 100%; + } + } + } + } + } + + .status-mask { + width: px2rem(616); + height: px2rem(429); + border-radius: .32rem; + position: fixed; + left: 50%; + top: 50%; + transform:translate(-50%,-50%); + z-index: 10003; + // background-color:#FFFFFF; + background: url('../img/carnival/pop-bg.png') no-repeat 0 0 / 100% 100%; + display: none; + + .title { + width: 100%; + margin: px2rem(70) 0; + text-align: center; + font-size:.48rem; + color: #FEA43C; + font-weight: bold; + } + + .tips { + width: 100%; + text-align: center; + font-size:.373333rem; + color: #5F82A3; + margin-top: px2rem(70); + } + + .btn { + width: px2rem(334); + height: px2rem(108); + background: url('../img/index/btn.png') no-repeat 0 0 / 100% 100%; + // background: linear-gradient(0deg, #FFE34F, #F19825); + // border: px2rem(2) solid rgba(255, 255, 255, 0.7); + // box-shadow:0px 6px 12px 0px rgba(255,255,255,1), 0px -12px 46px 0px rgba(255,255,255,1), 0px 4px 18px 0px rgba(255,255,255,0.45); + // border-radius:.506667rem; + font-size: px2rem(36); + color: #fff; + font-weight: bold; + @include flex(); + @include flex-justify-center; + @include flex-align-center; + margin: .8rem auto 0; + padding-bottom: px2rem(10); + box-sizing: border-box; + } + } + + .gather-mask { + width: px2rem(616); + height: auto; + position: fixed; + top: px2rem(250); + left: 50%; + margin-left: px2rem(-280); + border-radius: 8px; + // background-color: white; + background: url('../img/index/buy-bg.png') no-repeat 0 0 / 100% 100%; + z-index: 10003; + display: none; + + .title { + width: 100%; + font-size: px2rem(40); + font-weight: bold; + color: #FEA43C; + text-align: center; + margin-top: px2rem(35); + } + .tips { + width: 100%; + text-align: center; + color: #5F82A3; + font-size: 13px; + opacity: .8; + margin-top: px2rem(16); + } + + ul { + @include flex(); + @include flex-justify-start; + @include flex-align-center; + @include flex-wrap(); + + width: px2rem(444); + height: auto; + margin: 0 auto; + margin-top: px2rem(39); + + li { + width: px2rem(92); + margin: px2rem(8); + p { + &:first-child { + width: 100%; + height: px2rem(92); + + img { + width: 100%; + } + } + &:last-child { + font-size: 12px; + color: #999; + text-align: center; + margin-top: px2rem(8); + } + } + } + } + + .btn { + width: px2rem(328); + height: px2rem(100); + background: url('../img/index/btn.png') no-repeat 0 0 / 100% 100%; + // background: linear-gradient(0deg, #FFE34F, #F19825); + // border: px2rem(2) solid rgba(255, 255, 255, 0.7); + // box-shadow:0px 6px 12px 0px rgba(255,255,255,1), 0px -12px 46px 0px rgba(255,255,255,1), 0px 4px 18px 0px rgba(255,255,255,0.45); + // border-radius:.506667rem; + font-size: px2rem(36); + font-weight: bold; + color: #fff; + @include flex(); + @include flex-justify-center; + @include flex-align-center; + margin:.52rem auto; + padding-bottom: px2rem(10); + box-sizing: border-box; + } + } + + .rule-mask { + width: 100%; + height: 100%; + position: absolute; + left: 0; + top: -1000px; + z-index: 20000; + background-color: #180734; + + .nav { + width: 100%; + height: 50px; + border-bottom: 1px solid #37234f; + overflow: hidden; + position: relative; + + .back { + width: px2rem(30); + height: px2rem(28); + margin: px2rem(40); + img { + width: 100%; + } + } + + .title { + font-size: 16px; + color: white; + opacity: .7; + width: px2rem(150); + height: px2rem(52); + position: absolute; + top: 50%; + text-align: center; + line-height: px2rem(52); + left: 50%; + margin-left: px2rem(-75); + margin-top: px2rem(-26); + } + } + + .content { + width: 80%; + height: 78%; + margin: 0 auto; + margin-top: 8%; + overflow: auto; + + &::-webkit-scrollbar { + display: none; + } + img { + width: 100%; + } + &::after { + content: ''; + display: block; + width: 100%; + height: 20px; + } + } + } + + .rank-mask { + width: 100%; + height: 100%; + position: fixed; + left: 0; + top: -1000px; + // top: 0; + z-index: 20000; + background-color: #180734; + + .nav { + width: 100%; + height: px2rem(109); + border-bottom: 1px solid #37234F; + position: relative; + overflow: hidden; + + .back { + width: px2rem(30); + height: px2rem(28); + margin: px2rem(40); + img { + width: 100%; + height: 100%; + } + } + + .title { + font-size: 16px; + color: white; + opacity: .7; + width: px2rem(150); + height: px2rem(52); + position: absolute; + top: 50%; + text-align: center; + line-height: px2rem(52); + left: 50%; + margin-left: px2rem(-75); + margin-top: px2rem(-26); + } + } + + .content { + width: 100%; + height: 80%; + margin: 0 auto; + margin-top: px2rem(30); + overflow: auto; + + .tab { + @include flex(); + @include flex-justify-center; + @include flex-align-center; + + width: px2rem(300); + height: px2rem(40); + margin: 0 auto; + + li { + width: 50%; + height: 100%; + position: relative; + font-size: 14px; + color: white; + opacity: .7; + text-align: center; + + &.active { + font-size: 16px; + opacity: 1; + + + &::after { + content: ''; + display: block; + width: px2rem(14); + height: px2rem(6); + background-color: white; + opacity: .7; + position: absolute; + left: 50%; + bottom: px2rem(-18); + margin-left: px2rem(-8); + border-radius: 3px; + } + } + } + } + + .tips { + @include flex(); + @include flex-justify-center; + @include flex-align-center; + + width: 100%; + margin-top: px2rem(40); + + p { + padding: 5px 15px; + font-size: 12px; + background-color: #2B1B48; + color: #CFCFF4; + border-radius: 25px; + width: auto; + height: auto; + margin: 0 auto; + } + } + + .rank-container { + width: 100%; + height: 65%; + margin-top: px2rem(30); + overflow: hidden; + overflow-y: scroll; + display: none; + + &:-webkit-scrollbar { + display: none; + } + + li { + @include flex(); + @include flex-justify-start; + @include flex-align-center; + + width: 100%; + height: px2rem(130); + position: relative; + + &:last-child { + margin-bottom: px2rem(30); + } + + p { + &:first-child { + width: px2rem(60); + height: px2rem(60); + font-size: 20px; + color: #DEDCE0; + text-align: center; + line-height: px2rem(60); + margin-left: px2rem(27); + img { + width: 100%; + } + } + &.avatar { + width: px2rem(90); + height: px2rem(90); + border-radius: 50%; + overflow: hidden; + margin-left: px2rem(29); + img { + width: 100%; + } + } + &.info { + @include flex(); + @include flex-justify-center; + @include flex-align-start; + @include flexv(); + + margin-left: px2rem(16); + width: auto; + height: 100%; + span { + display: block; + width: auto; + color: white; + font-size: 15px; + margin-top: px2rem(5); + &:last-child { + opacity: .7; + font-size: 13px; + margin-left: 0; + } + } + } + + &.score { + font-size: 16px; + height: 100%; + width: auto; + color: #E1AD0D; + position: absolute; + right: px2rem(48); + top: 0; + text-align: right; + + span { + @include flex(); + @include flex-justify-center; + @include flex-align-end; + @include flexv(); + small { + font-size: 12px; + + &:first-child { + font-size: 16px; + } + } + &.align-center { + @include flex(); + @include flex-justify-center; + @include flex-align-center; + + height: 100%; + } + } + } + } + } + } + } + + .mine { + @include flex(); + @include flex-justify-start; + @include flex-align-center; + + position: absolute; + left: 0; + bottom: 0; + width: 100%; + height: px2rem(130); + background-color: #2C1749; + animation: mine_show linear .5s 1s forwards; + opacity: 0; + + p { + &.rank-num { + width: px2rem(70); + font-size: 20px; + color: white; + margin-left: px2rem(23); + text-align: center; + + &.not-up { + width: px2rem(90); + font-size: 12px; + } + } + &.avatar { + width: px2rem(90); + height: px2rem(90); + border-radius: 50%; + overflow: hidden; + margin-left: px2rem(22); + img { + width: 100%; + } + } + &.info { + @include flex(); + @include flex-justify-center; + @include flex-align-start; + @include flexv(); + + margin-left: px2rem(16); + width: auto; + + span { + font-size: 15px; + color: white; + opacity: .8; + + &:last-child { + font-size: 12px; + margin-left: 0; + width: auto; + + small { + opacity: .8; + &:first-child { + opacity: .5; + } + } + } + } + } + &.rank-info { + position: absolute; + right: px2rem(48); + height: px2rem(70); + top: 50%; + margin-top: px2rem(-35); + + span { + font-size: 16px; + color: #E0AD12; + display: block; + text-align: right; + + &:last-child { + font-size: 12px; + } + } + } + } + } + @keyframes mine_show { + 100% { + opacity: 1; + } + } + } + + .record-mask { + width: 100%; + height: 100%; + position: fixed; + left: 0; + top: 0; + background-color: #180734; + top: -1000px; + z-index: 2000; + + .nav { + width: 100%; + height: px2rem(109); + border-bottom: 1px solid #37234F; + position: relative; + overflow: hidden; + + .back { + width: px2rem(30); + height: px2rem(28); + margin: px2rem(40); + img { + width: 100%; + height: 100%; + } + } + + .title { + font-size: 16px; + color: white; + opacity: .7; + width: px2rem(150); + height: px2rem(52); + position: absolute; + top: 50%; + text-align: center; + line-height: px2rem(52); + left: 50%; + margin-left: px2rem(-75); + margin-top: px2rem(-26); + } + } + .tab { + @include flex(); + @include flex-justify-between; + @include flex-align-center; + + width: px2rem(231); + height: px2rem(46); + margin: 0 auto; + margin-top: px2rem(20); + + li { + height: 100%; + width: auto; + position: relative; + + p { + font-size: 14px; + color: #fff; + opacity: .7; + } + + &.active { + p { + opacity: 1; + font-size: 16px; + &:last-child { + width: px2rem(14); + height: px2rem(6); + border-radius: 3px; + position: absolute; + left: 50%; + margin-left: px2rem(-7); + bottom: px2rem(-8); + background-color: white; + } + } + } + } + } + .content { + width: 85%; + height: 60%; + margin: 0 auto; + margin-top: px2rem(40); + overflow: auto; + + &::-webkit-scrollbar { + display: none; + } + + .record-container { + width: 100%; + height: auto; + display: none; + li { + @include flex(); + @include flex-justify-start; + @include flex-align-center; + + width: 100%; + height: px2rem(120); + position: relative; + + p { + &:first-child { + width: px2rem(92); + height: px2rem(92); + img { + width: 100%; + height: 100%; + } + } + &:nth-child(2) { + margin-left: px2rem(15); + height: 100%; + line-height: px2rem(120); + font-size: 15px; + opacity: .8; + color: white; + } + &:last-child { + position: absolute; + right: 0; + height: 100%; + width: auto; + + span { + @include flex(); + @include flex-justify-center; + @include flex-align-end; + @include flexv(); + + // display: block; + // text-align: right; + font-size: 12px; + color: white; + opacity: .8; + height: 100%; + + small { + display: block; + text-align: right; + font-size: 12px; + color: white; + opacity: .8; + } + + &.num { + font-size: 15px; + color: #FFC600; + opacity: .8; + } + } + } + } + } + } + } + + .loading { + width: 100%; + text-align: center; + margin-top: 15px; + color: white; + opacity: .8; + font-size: 15px; + display: none; + } + + .tips { + width: px2rem(390); + height: px2rem(52); + border-radius: 25px; + text-align: center; + line-height: px2rem(52); + background-color: #2D1845; + color: white; + font-size: 12px; + margin: 0 auto; + margin-top: px2rem(30); + } + } + + .shade { + width: 100%; + height: 100%; + position: fixed; + left: 0; + top: 0; + background-color: black; + opacity: .7; + z-index: 10000; + display: none; + } + + .exp-toast { + width: px2rem(400); + height: px2rem(175); + color: white; + font-size: 12px; + position: fixed; + left: 50%; + top: 50%; + margin-left: px2rem(-230); + margin-top: px2rem(-60); + text-align: center; + line-height: px2rem(60); + padding: 5px 20px; + border-radius: 5px; + z-index: 10000; + display: none; + + &::after { + content: ''; + display: block; + position: absolute; + left: 0; + top: 0; + background-color: black; + opacity: .6; + z-index: -1; + width: 100%; + height: 100%; + } + } +} + +.toast { + width: px2rem(600); + height: px2rem(80); + line-height: px2rem(80); + text-align: center; + color: white; + font-size: 12px; + position: fixed; + left: 50%; + top: 50%; + margin-left: px2rem(-300); + margin-top: px2rem(-40); + background-color: black; + border-radius: 5px; + display: none; + z-index: 1002; +} diff --git a/act_project/carnival11/css/index.scss b/act_project/carnival11/css/index.scss new file mode 100644 index 0000000..ff7c11d --- /dev/null +++ b/act_project/carnival11/css/index.scss @@ -0,0 +1,510 @@ +@function px2rem($px, $rem:75) { + @return $px / $rem+rem; +} + +@import '../../../common/css/flex.scss'; + +.mask { + z-index: 120; + position: fixed; + width: 100%; + left: 0; + bottom: 0; + display: flex; + height: 60px; + align-items: center; + background: rgba(0, 0, 0, 0.5); + justify-content: space-between; + padding: 0 8px; + box-sizing: border-box; + display: none; + .logo { + width: 40px; + img { + width: 100%; + } + } + .slogan { + color: #fff; + } +} +#download { + border: 1px solid #fff; + color: #fff; + width: 80px; + text-align: center; + border-radius: 15px; + line-height: 30px; + a { + color: #fff; + } +} +*{ + -webkit-overflow-scrolling: touch; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); + -webkit-tap-highlight-color: transparent; +} +body{ + font-family:PingFang SC; + background: #2B3137; + z-index:-1; + .max { + width: 100%; + margin: 0 auto; + .title-one { + width: 100%; + img { + width: 100%; + height: 100%; + } + } + .rule-btn { + width: px2rem(100); + height: px2rem(60); + position: absolute; + left: px2rem(30); + top: px2rem(20); + img { + width:100%; + height:100%; + } + } + .cloth-box { + width:100%; + padding-bottom:2.4rem; + margin:-2.2rem auto 0; + li { + width: px2rem(640); + height: px2rem(420); + position:relative; + margin:px2rem(10) auto 0; + @include flex(); + @include flex-justify-center; + background:url('../img/index/li-card.png') no-repeat 0 0 / 100% 100%; + .h-title{ + position:absolute; + margin: px2rem(30) auto 0; + letter-spacing:.053333rem; + font-size: px2rem(28); + font-weight: bold; + // color: #FFF; + color: #FEA53C; + line-height: px2rem(50); + } + .gift-img{ + width:px2rem(146); + height: px2rem(130); + position:absolute; + box-sizing: border-box; + left: px2rem(87); + top: px2rem(124); + @include flex; + @include flex-align-center; + @include flex-justify-center; + img{ + box-sizing: border-box; + padding: px2rem(10); + width:100%; + height: 100%; + object-fit: cover; + } + + } + .gift-text{ + position:absolute; + left: px2rem(302); + top: px2rem(115); + p:first-child{ + font-size:px2rem(34); + font-weight:bold; + color: #00CF9E; + line-height:.56rem; + letter-spacing:.026667rem; + } + p:nth-child(2){ + font-size:px2rem(28); + font-weight:bold; + color:#FFA530; + line-height:.56rem; + + } + p:nth-child(3){ + font-size:px2rem(26); + font-weight:500; + text-decoration:line-through; + color: #9C9C9C; + line-height:px2rem(47); + opacity:0.8; + } + p:last-child{ + font-size:px2rem(26); + font-weight: 500; + color: #9C9C9C; + opacity:0.8; + line-height: px2rem(47); + } + } + .buy-btn{ + width: px2rem(300); + height: px2rem(82); + position:absolute; + bottom: px2rem(28); + @include flex(); + @include flex-justify-center; + background: url('../img/index/buy.png') no-repeat 0 0 / 100% 100%; + &.gray { + background: url('../img/index/buy-gray.png') no-repeat 0 0 / 100% 100%; + } + } + } + + } + .buy-mask { + width: px2rem(616); + height: px2rem(596); + // border-radius:.213333rem; + // background-color: #FFFFFF; + position: fixed; + left:50%; + top:50%; + transform:translate(-50%,-50%); + background: url('../img/index/buy-bg.png') no-repeat 0 0 / 100% 100%; + z-index: 1001; + display: none; + .b-box{ + padding: 0 .693333rem; + margin-top: px2rem(70); + .b-title{ + color:#FEA43C; + line-height:.6rem; + text-align:center; + font-size:.48rem; + font-weight:bold; + letter-spacing:.013333rem; + .giftName{ + font-size:.48rem; + font-weight:bold; + } + } + .b-number{ + padding:0 .906667rem; + margin-top:.773333rem; + @include flex(); + .input-box{ + @include flex(); + @include flex-align-center; + height:.64rem; + margin-top:-0.066667rem; + .remove-btn{ + width:.64rem; + height:.64rem; + @include flex(); + @include flex-justify-center; + @include flex-align-center; + border-radius:.32rem 0 0 .32rem; + background:rgba($color: #D4F4FF, $alpha: 0.6); + .remove-icon{ + opacity: .6; + display:block; + width: px2rem(20); + height: px2rem(4); + background: url('../img/index/remove-icon.png') no-repeat 0 0 / 100% 100%; + background-size:100% 100%; + } + } + .b-input{ + width:1.173333rem; + height:.64rem; + background:#D4F4FF; + text-align:center; + font-size:.346667rem; + font-weight:500; + color: #8FA4B8; + margin:0 .106667rem; + border:0; + outline:none; + } + .add-btn{ + width:.64rem; + height:.64rem; + @include flex(); + @include flex-justify-center; + @include flex-align-center; + border-radius:0 .32rem .32rem 0; + background:rgba($color: #D4F4FF, $alpha: 0.6); + .add-icon{ + display:block; + width: px2rem(20); + height: px2rem(20); + background: url('../img/index/add-icon.png') no-repeat; + background-size:100% 100%; + } + } + } + + + } + .b-text{ + white-space:nowrap; + font-size:.4rem; + font-weight:500; + color:rgba($color: #8EA4B7, $alpha: 1.0); + line-height:.48rem; + margin-bottom: px2rem(47); + span:first-child{ + margin-right:.4rem; + } + } + .b-day{ + padding:0 .906667rem; + span:nth-child(2),span:last-child{ + color:#00CF9E; + letter-spacing:.013333rem; + } + } + .b-price{ + padding:0 .906667rem; + span:nth-child(2),span:last-child{ + color: #FFA530; + letter-spacing:.013333rem; + } + + } + .b-btns{ + @include flex(); + @include flex-justify-between; + margin-top: px2rem(55); + .close-btn{ + width: px2rem(251); + height: px2rem(87); + background:url('../img/index/btn-cancel.png') no-repeat 0 0 / 100% 100%; + @include flex(); + @include flex-justify-center; + @include flex-align-center; + } + .confirm-btn{ + width: px2rem(261); + height: px2rem(107); + background: url('../img/index/btn-confirm.png') no-repeat 0 0 / 100% 100%; + margin-top: px2rem(-2); + @include flex(); + @include flex-justify-center; + @include flex-align-center; + + } + } + } + } + + .rule-mask { + width: px2rem(670); + height: px2rem(650); + position: fixed; + left: 50%; + top: 50%; + transform:translate(-50%,-50%); + z-index: 1001; + // background-color:#FFFFFF; + background: url('../img/index/buy-bg.png') no-repeat 0 0 / 100% 100%; + border-radius:.213333rem; + // overflow: hidden; + display: none; + .title { + width: 100%; + text-align: center; + font-size: px2rem(40); + color: #FEA43C; + margin-top: px2rem(70); + font-weight: bold; + // background: linear-gradient(0deg, #FFE691 0%, #FEFAD5 100%); + // -webkit-background-clip: text; + // -webkit-text-fill-color: transparent; + } + .content { + width: px2rem(524); + height: px2rem(425); + margin: 0 auto; + margin-top:.4rem; + overflow: auto; + &::-webkit-scrollbar { + display: none; + } + p { + width: 100%; + height:13.333333rem; + img { + width:100%; + } + } + } + .cancel { + width: px2rem(70); + height:px2rem(70); + position: absolute; + left: 50%; + transform: translateX(-50%); + bottom: px2rem(-110); + img { + width:100%; + height:100%; + } + } + } + .statusMask { + width: px2rem(616); + height:6.8rem; + border-radius:.213333rem; + // background-color:#FFFFFF; + background: url('../img/index/buy-bg.png') no-repeat 0 0 / 100% 100%; + position: fixed; + left: 50%; + top: 50%; + transform:translate(-50%,-50%); + z-index: 1001; + display: none; + .cancel { + width: px2rem(70); + height: px2rem(70); + position: absolute; + left: 50%; + transform: translate(-50%,0); + bottom: px2rem(-80); + img { + width:100%; + height:100%; + } + } + .title { + width: 100%; + text-align: center; + font-size:.48rem; + color: #FEA43C; + font-weight:bold; + margin-top:.786667rem; + } + + .avatar { + width: px2rem(140); + height: px2rem(140); + margin: 0 auto; + margin-top:.666667rem; + + img { + width: 100%; + height:100%; + } + } + + .tip { + width: 100%; + text-align: center; + font-size:.373333rem; + color: #5F82A3; + } + + .in-btn, .recharge { + @include flex; + @include flex-align-center; + @include flex-justify-between; + display: block; + width: px2rem(300); + height: px2rem(90); + background:url('../img/index/btn.png') no-repeat 0 0 / 100% 100%; + background-size:100% 100%; + font-size: px2rem(36); + line-height: px2rem(92); + text-align: center; + margin:.533333rem auto 0; + font-weight: bold; + padding-bottom: px2rem(10); + color: #fff; + } + } + .shade { + width: 100%; + position:fixed; + z-index:1000; + left: 0; + top: 0; + height: 100%; + background:rgba(0,0,0,0.7); + display: none; + } + .mine { + @include flex(); + @include flex-justify-between; + @include flex-align-center; + width: 100%; + height:1.866667rem; + position: fixed; + left: 0; + bottom: 0; + background: linear-gradient(0deg, #74A497, #3A5782); + z-index: 100; + li { + margin: 0 .533333rem; + img { + width: 100%; + } + + &:first-child { + @include flex(); + @include flex-justify-start; + @include flex-align-center; + p { + &:first-child { + width:1.066667rem; + height:1.066667rem; + border-radius:50%; + overflow: hidden; + font-weight:500; + } + + &:last-child { + margin-left:.266667rem; + span { + display: block; + &:first-child { + line-height: px2rem(42); + font-size: px2rem(30); + color: #fff; + font-weight: bold; + } + &:last-child { + font-size: px2rem(24); + font-weight: 500; + color: rgba($color: #8BABC9, $alpha: 1); + b { + color: rgba($color: #fff, $alpha: 1); + } + } + } + } + } + } + + &:last-child { + width: px2rem(201); + height: px2rem(89); + } + } + } + } + /*提示信息样式*/ + .ajaxtiptext{ + position:fixed; + top:50%; + left:50%; + transform:translate(-50%,-50%); + text-align: center; + color:#FFFFFF; + padding:.2rem .4rem; + border-radius:.333333rem; + letter-spacing:.013333rem; + background:rgba(0,0,0,0.8); + animation:ajaxani 0.3s forwards; + z-index:9999; + white-space:nowrap; + } +} + diff --git a/act_project/carnival11/gulpfile.js b/act_project/carnival11/gulpfile.js new file mode 100644 index 0000000..7357063 --- /dev/null +++ b/act_project/carnival11/gulpfile.js @@ -0,0 +1,23 @@ +var gulp = require('gulp'); +var fs = require('fs'); +var path = require('path'); + +// 注册 +var deep = 3; +run_tasks('_tasks'); + +function run_tasks(tasks_path) { + if (--deep < 0) { + throw new Error('something wrong in require tasks!'); + // eslint-disable-next-line no-unreachable + return; + } + + tasks_path = path.join('../', tasks_path); + + if (fs.existsSync(tasks_path)) { + require(tasks_path)(gulp); + } else { + run_tasks(tasks_path); + } +} diff --git a/act_project/carnival11/img/carnival/back-btn.png b/act_project/carnival11/img/carnival/back-btn.png new file mode 100644 index 0000000..fc75bde Binary files /dev/null and b/act_project/carnival11/img/carnival/back-btn.png differ diff --git a/act_project/carnival11/img/carnival/bg1.png b/act_project/carnival11/img/carnival/bg1.png new file mode 100644 index 0000000..74f6dd3 Binary files /dev/null and b/act_project/carnival11/img/carnival/bg1.png differ diff --git a/act_project/carnival11/img/carnival/bg2.png b/act_project/carnival11/img/carnival/bg2.png new file mode 100644 index 0000000..0225fbe Binary files /dev/null and b/act_project/carnival11/img/carnival/bg2.png differ diff --git a/act_project/carnival11/img/carnival/draw-btn-2.png b/act_project/carnival11/img/carnival/draw-btn-2.png new file mode 100644 index 0000000..27f26cc Binary files /dev/null and b/act_project/carnival11/img/carnival/draw-btn-2.png differ diff --git a/act_project/carnival11/img/carnival/draw-btn.png b/act_project/carnival11/img/carnival/draw-btn.png new file mode 100644 index 0000000..34c8a02 Binary files /dev/null and b/act_project/carnival11/img/carnival/draw-btn.png differ diff --git a/act_project/carnival11/img/carnival/exp-1.png b/act_project/carnival11/img/carnival/exp-1.png new file mode 100644 index 0000000..700333c Binary files /dev/null and b/act_project/carnival11/img/carnival/exp-1.png differ diff --git a/act_project/carnival11/img/carnival/exp-2.png b/act_project/carnival11/img/carnival/exp-2.png new file mode 100644 index 0000000..806e9a7 Binary files /dev/null and b/act_project/carnival11/img/carnival/exp-2.png differ diff --git a/act_project/carnival11/img/carnival/exp1.png b/act_project/carnival11/img/carnival/exp1.png new file mode 100644 index 0000000..a76bd30 Binary files /dev/null and b/act_project/carnival11/img/carnival/exp1.png differ diff --git a/act_project/carnival11/img/carnival/exp2.png b/act_project/carnival11/img/carnival/exp2.png new file mode 100644 index 0000000..91844ed Binary files /dev/null and b/act_project/carnival11/img/carnival/exp2.png differ diff --git a/act_project/carnival11/img/carnival/feedback.png b/act_project/carnival11/img/carnival/feedback.png new file mode 100644 index 0000000..953ca63 Binary files /dev/null and b/act_project/carnival11/img/carnival/feedback.png differ diff --git a/act_project/carnival11/img/carnival/gather-btn.png b/act_project/carnival11/img/carnival/gather-btn.png new file mode 100644 index 0000000..d10371d Binary files /dev/null and b/act_project/carnival11/img/carnival/gather-btn.png differ diff --git a/act_project/carnival11/img/carnival/point-2.png b/act_project/carnival11/img/carnival/point-2.png new file mode 100644 index 0000000..402e2d1 Binary files /dev/null and b/act_project/carnival11/img/carnival/point-2.png differ diff --git a/act_project/carnival11/img/carnival/point.png b/act_project/carnival11/img/carnival/point.png new file mode 100644 index 0000000..ef0db94 Binary files /dev/null and b/act_project/carnival11/img/carnival/point.png differ diff --git a/act_project/carnival11/img/carnival/pop-bg.png b/act_project/carnival11/img/carnival/pop-bg.png new file mode 100644 index 0000000..f56ebab Binary files /dev/null and b/act_project/carnival11/img/carnival/pop-bg.png differ diff --git a/act_project/carnival11/img/carnival/rank-1.png b/act_project/carnival11/img/carnival/rank-1.png new file mode 100644 index 0000000..10b3d5b Binary files /dev/null and b/act_project/carnival11/img/carnival/rank-1.png differ diff --git a/act_project/carnival11/img/carnival/rank-2.png b/act_project/carnival11/img/carnival/rank-2.png new file mode 100644 index 0000000..4e44680 Binary files /dev/null and b/act_project/carnival11/img/carnival/rank-2.png differ diff --git a/act_project/carnival11/img/carnival/rank-3.png b/act_project/carnival11/img/carnival/rank-3.png new file mode 100644 index 0000000..506a7f6 Binary files /dev/null and b/act_project/carnival11/img/carnival/rank-3.png differ diff --git a/act_project/carnival11/img/carnival/rank-btn.png b/act_project/carnival11/img/carnival/rank-btn.png new file mode 100644 index 0000000..ed0dc84 Binary files /dev/null and b/act_project/carnival11/img/carnival/rank-btn.png differ diff --git a/act_project/carnival11/img/carnival/record-btn.png b/act_project/carnival11/img/carnival/record-btn.png new file mode 100644 index 0000000..4b6fc63 Binary files /dev/null and b/act_project/carnival11/img/carnival/record-btn.png differ diff --git a/act_project/carnival11/img/carnival/rule-btn.png b/act_project/carnival11/img/carnival/rule-btn.png new file mode 100644 index 0000000..5be349b Binary files /dev/null and b/act_project/carnival11/img/carnival/rule-btn.png differ diff --git a/act_project/carnival11/img/carnival/rule-text.png b/act_project/carnival11/img/carnival/rule-text.png new file mode 100644 index 0000000..fef8f78 Binary files /dev/null and b/act_project/carnival11/img/carnival/rule-text.png differ diff --git a/act_project/carnival11/img/carnival/turntable-2.png b/act_project/carnival11/img/carnival/turntable-2.png new file mode 100644 index 0000000..4e8fa58 Binary files /dev/null and b/act_project/carnival11/img/carnival/turntable-2.png differ diff --git a/act_project/carnival11/img/carnival/turntable.png b/act_project/carnival11/img/carnival/turntable.png new file mode 100644 index 0000000..c13a200 Binary files /dev/null and b/act_project/carnival11/img/carnival/turntable.png differ diff --git a/act_project/carnival11/img/common/cancel.png b/act_project/carnival11/img/common/cancel.png new file mode 100644 index 0000000..6df376b Binary files /dev/null and b/act_project/carnival11/img/common/cancel.png differ diff --git a/act_project/carnival11/img/common/cancel1.png b/act_project/carnival11/img/common/cancel1.png new file mode 100644 index 0000000..ab86f0a Binary files /dev/null and b/act_project/carnival11/img/common/cancel1.png differ diff --git a/act_project/carnival11/img/common/enough-icon.png b/act_project/carnival11/img/common/enough-icon.png new file mode 100644 index 0000000..78c5706 Binary files /dev/null and b/act_project/carnival11/img/common/enough-icon.png differ diff --git a/act_project/carnival11/img/common/success-icon.png b/act_project/carnival11/img/common/success-icon.png new file mode 100644 index 0000000..25e01c6 Binary files /dev/null and b/act_project/carnival11/img/common/success-icon.png differ diff --git a/act_project/carnival11/img/gift/gift1.png b/act_project/carnival11/img/gift/gift1.png new file mode 100644 index 0000000..62c1470 Binary files /dev/null and b/act_project/carnival11/img/gift/gift1.png differ diff --git a/act_project/carnival11/img/gift/gift10.png b/act_project/carnival11/img/gift/gift10.png new file mode 100644 index 0000000..2a243d3 Binary files /dev/null and b/act_project/carnival11/img/gift/gift10.png differ diff --git a/act_project/carnival11/img/gift/gift11.png b/act_project/carnival11/img/gift/gift11.png new file mode 100644 index 0000000..dda03da Binary files /dev/null and b/act_project/carnival11/img/gift/gift11.png differ diff --git a/act_project/carnival11/img/gift/gift12.png b/act_project/carnival11/img/gift/gift12.png new file mode 100644 index 0000000..424abf1 Binary files /dev/null and b/act_project/carnival11/img/gift/gift12.png differ diff --git a/act_project/carnival11/img/gift/gift13.png b/act_project/carnival11/img/gift/gift13.png new file mode 100644 index 0000000..4a18213 Binary files /dev/null and b/act_project/carnival11/img/gift/gift13.png differ diff --git a/act_project/carnival11/img/gift/gift14.png b/act_project/carnival11/img/gift/gift14.png new file mode 100644 index 0000000..3af0e40 Binary files /dev/null and b/act_project/carnival11/img/gift/gift14.png differ diff --git a/act_project/carnival11/img/gift/gift15.png b/act_project/carnival11/img/gift/gift15.png new file mode 100644 index 0000000..befafbe Binary files /dev/null and b/act_project/carnival11/img/gift/gift15.png differ diff --git a/act_project/carnival11/img/gift/gift2.png b/act_project/carnival11/img/gift/gift2.png new file mode 100644 index 0000000..eb2fad0 Binary files /dev/null and b/act_project/carnival11/img/gift/gift2.png differ diff --git a/act_project/carnival11/img/gift/gift3.png b/act_project/carnival11/img/gift/gift3.png new file mode 100644 index 0000000..dcf0de1 Binary files /dev/null and b/act_project/carnival11/img/gift/gift3.png differ diff --git a/act_project/carnival11/img/gift/gift4.png b/act_project/carnival11/img/gift/gift4.png new file mode 100644 index 0000000..4c0ec71 Binary files /dev/null and b/act_project/carnival11/img/gift/gift4.png differ diff --git a/act_project/carnival11/img/gift/gift5.png b/act_project/carnival11/img/gift/gift5.png new file mode 100644 index 0000000..fc5fc1e Binary files /dev/null and b/act_project/carnival11/img/gift/gift5.png differ diff --git a/act_project/carnival11/img/gift/gift6.png b/act_project/carnival11/img/gift/gift6.png new file mode 100644 index 0000000..b58ead2 Binary files /dev/null and b/act_project/carnival11/img/gift/gift6.png differ diff --git a/act_project/carnival11/img/gift/gift7.png b/act_project/carnival11/img/gift/gift7.png new file mode 100644 index 0000000..2e6023e Binary files /dev/null and b/act_project/carnival11/img/gift/gift7.png differ diff --git a/act_project/carnival11/img/gift/gift8.png b/act_project/carnival11/img/gift/gift8.png new file mode 100644 index 0000000..b5e1cca Binary files /dev/null and b/act_project/carnival11/img/gift/gift8.png differ diff --git a/act_project/carnival11/img/gift/gift9.png b/act_project/carnival11/img/gift/gift9.png new file mode 100644 index 0000000..09729c3 Binary files /dev/null and b/act_project/carnival11/img/gift/gift9.png differ diff --git a/act_project/carnival11/img/index/add-icon.png b/act_project/carnival11/img/index/add-icon.png new file mode 100644 index 0000000..071dcd0 Binary files /dev/null and b/act_project/carnival11/img/index/add-icon.png differ diff --git a/act_project/carnival11/img/index/btn-cancel.png b/act_project/carnival11/img/index/btn-cancel.png new file mode 100644 index 0000000..4299d5c Binary files /dev/null and b/act_project/carnival11/img/index/btn-cancel.png differ diff --git a/act_project/carnival11/img/index/btn-confirm.png b/act_project/carnival11/img/index/btn-confirm.png new file mode 100644 index 0000000..3becb05 Binary files /dev/null and b/act_project/carnival11/img/index/btn-confirm.png differ diff --git a/act_project/carnival11/img/index/btn.png b/act_project/carnival11/img/index/btn.png new file mode 100644 index 0000000..739a7e8 Binary files /dev/null and b/act_project/carnival11/img/index/btn.png differ diff --git a/act_project/carnival11/img/index/buy-bg.png b/act_project/carnival11/img/index/buy-bg.png new file mode 100644 index 0000000..9c6b0e6 Binary files /dev/null and b/act_project/carnival11/img/index/buy-bg.png differ diff --git a/act_project/carnival11/img/index/buy-gray.png b/act_project/carnival11/img/index/buy-gray.png new file mode 100644 index 0000000..e03bfc7 Binary files /dev/null and b/act_project/carnival11/img/index/buy-gray.png differ diff --git a/act_project/carnival11/img/index/buy.png b/act_project/carnival11/img/index/buy.png new file mode 100644 index 0000000..be9aa86 Binary files /dev/null and b/act_project/carnival11/img/index/buy.png differ diff --git a/act_project/carnival11/img/index/cancel.png b/act_project/carnival11/img/index/cancel.png new file mode 100644 index 0000000..bf30340 Binary files /dev/null and b/act_project/carnival11/img/index/cancel.png differ diff --git a/act_project/carnival11/img/index/in-btn.png b/act_project/carnival11/img/index/in-btn.png new file mode 100644 index 0000000..5d85588 Binary files /dev/null and b/act_project/carnival11/img/index/in-btn.png differ diff --git a/act_project/carnival11/img/index/li-card.png b/act_project/carnival11/img/index/li-card.png new file mode 100644 index 0000000..4e80eb7 Binary files /dev/null and b/act_project/carnival11/img/index/li-card.png differ diff --git a/act_project/carnival11/img/index/remove-icon.png b/act_project/carnival11/img/index/remove-icon.png new file mode 100644 index 0000000..b0493e7 Binary files /dev/null and b/act_project/carnival11/img/index/remove-icon.png differ diff --git a/act_project/carnival11/img/index/rule-btn.png b/act_project/carnival11/img/index/rule-btn.png new file mode 100644 index 0000000..88de51e Binary files /dev/null and b/act_project/carnival11/img/index/rule-btn.png differ diff --git a/act_project/carnival11/img/index/rule-text.png b/act_project/carnival11/img/index/rule-text.png new file mode 100644 index 0000000..c8aefc0 Binary files /dev/null and b/act_project/carnival11/img/index/rule-text.png differ diff --git a/act_project/carnival11/img/index/title.png b/act_project/carnival11/img/index/title.png new file mode 100644 index 0000000..d364254 Binary files /dev/null and b/act_project/carnival11/img/index/title.png differ diff --git a/act_project/carnival11/index.html b/act_project/carnival11/index.html new file mode 100644 index 0000000..386fdf6 --- /dev/null +++ b/act_project/carnival11/index.html @@ -0,0 +1,76 @@ + + + + + + 春游记 + <%- include('../html_tpl/style.html') %> + + + <%- include('../html_tpl/headScript.html') %> + + +
              +
              +
              +
                +
                +
              • +

                +

                + - + 我的门票: +

                +
              • +
              • +
                + +
                +
                +

                购买

                +
                +

                数量:

                +
                +
                + +
                +
                +
                +

                天数:1天

                +

                金额:金币

                +
                +
                +
                +
                +
                +
                +
                +
                + +
                +
                玩法介绍
                +
                +

                +
                +
                +
                +
                + +
                +
                购买成功
                +
                余额不足
                +
                +
                +
                + 进入会场 +
                去充值
                +
                知道了
                +
                +
                + +
                + + +<%- include('../html_tpl/script.html') %> + + \ No newline at end of file diff --git a/act_project/carnival11/js/carnival.js b/act_project/carnival11/js/carnival.js new file mode 100644 index 0000000..7d9817c --- /dev/null +++ b/act_project/carnival11/js/carnival.js @@ -0,0 +1,959 @@ +// 指定全局变量 +/*global checkVersion locateJudge EnvCheck tools erbanMask wx wxConfig VConsole androidJsObj initNav template preloadImage */ +var info = {}; +var browser = checkVersion(); +// var api = locateJudge(); +var api = "/api"; +var env = EnvCheck(); +var queryParam = getQueryString(); + +info.uid = queryParam.uid || 0; +info. roomUid = queryParam.roomUid || 0; + +var shareUrl = location.origin + '/activity'; +var share = { + title: '', + link: shareUrl, + imgUrl: 'https://img.erbanyy.com/new-logo.png', + desc: '' +}; +// eslint-disable-next-line +function getMessage(key, value) { + info[key] = value; +} + +wx.ready(function() { + wx.onMenuShareTimeline({ + title: share.title, + link: share.link, + imgUrl: share.imgUrl, + desc: share.desc + }); + + wx.onMenuShareAppMessage({ + title: share.title, + desc: share.desc, + link: share.link, + imgUrl: share.imgUrl, + type: 'link', + dataUrl: '' + }); + + wx.onMenuShareQQ({ + title: share.title, + desc: share.desc, + link: share.link, + imgUrl: share.imgUrl + }); +}); + +erbanMask('activity-name', 'activity-name'); +initNav({ + type: 2, + data: { + msg: 'wewawa', + link: share.link, + title: share.title, + showUrl: share.link, + imgUrl: share.imgUrl, + desc: share.desc + } +}); + +browser.weixin && wxConfig(); + +var requestScrollTimer +var toastTimer +var openSocketTimer +var imgTimer +var canvasTimer +var rotateTimer +var rotateTimer2 +var giftTimer + +clearInterval(requestScrollTimer) +requestScrollTimer = setInterval(function() { + getScrollTip() +}, 60000) + +var clickTab = 0 +var clickTabFlag = false +var clickNumIndex = 0 +var turntable = { + 0: { + rotateBol: false, + fontColor: [], // 字体颜色 + colors: [ + '#542339', + '#341C27' + ], // 板块颜色 + prizeName: [], // 奖品名称 + prizeImg: [ + 'img/gift/gift1.png', + 'img/gift/gift2.png', + 'img/gift/gift3.png', + 'img/gift/gift4.png', + 'img/gift/gift5.png', + 'img/gift/gift6.png', + 'img/gift/gift7.png', + 'img/gift/gift8.png' + ], // 奖品图片 + prizeImgArr: [], // 用于canvas绘画的图片 + prizeIndex: [] // 奖品下标 + }, + 1: { + rotateBol: false, + fontColor: [], // 字体颜色 + colors: [ + '#1A5B6B', + '#004453' + ], // 板块颜色 + prizeName: [], // 奖品名称 + prizeImg: [ + 'img/gift/gift1.png', + 'img/gift/gift9.png', + 'img/gift/gift10.png', + 'img/gift/gift11.png', + 'img/gift/gift12.png', + 'img/gift/gift13.png', + 'img/gift/gift14.png', + 'img/gift/gift15.png' + ], // 奖品图片 + prizeImgArr: [], // 用于canvas绘画的图片 + prizeIndex: [] // 奖品下标 + } +} +var giftIntro = {} + +$(function() { + if (env == 'test') { + new VConsole(); + } + var main = { + init: function() { + // this.getMsgFromDevice(); + $('#toIndexBox').html(template('toIndexTpl', info)) + setTimeout(() => { + this.getData(); + if(info.appVersion >= '1.3.6' && info.appVersion) { + $('.topNav1').show().siblings('.topNav2').hide(); + }else{ + $('.feedback,.topNav1').hide(); + $('.topNav2').show(); + } + }, 100); + this.eventRegister(); + }, + getMsgFromDevice: function() { + if (browser.app) { + if (browser.ios) { + window.webkit.messageHandlers.getDeviceId.postMessage(null); + window.webkit.messageHandlers.getRoomUid.postMessage(null); + } else if (browser.android) { + if (androidJsObj && typeof androidJsObj === 'object') { + info.deviceId = window.androidJsObj.getDeviceId(); + info.roomUid = window.androidJsObj.getRoomUid() + } + } + + info.uid = tools.nativeUtils.getUid(); + info.ticket = tools.nativeUtils.getTicket(); + info.appVersion = tools.nativeUtils.getAppVersion(); + } else { + info.uid = 906709; + info.roomUid = 906709 + info.deviceId = '8d9d6247-63a4-3acc-a164-01a6b1a3c098'; + info.ticket = 'eyJhbGciOiJIUzI1NiJ9.eyJ0aWNrZXRfdHlwZSI6bnVsbCwidWlkIjo5MDYyMzgsInRpY2tldF9pZCI6IjdiZWQ2NzcwLWJmMjktNGRiYi04MzZmLTc0NzBmY2RiMDZjYSIsImV4cCI6MzYwMCwiY2xpZW50X2lkIjoiZXJiYW4tY2xpZW50In0.ye2Zv8nyZkqiT_bIWq-50qcS6_SCWmRpBjxxLX7mQvs'; + } + }, + + eventRegister: function() { + $('.topNav .tab').on('click', function() { + if (clickTabFlag) { + return + } + $(this).addClass('active').siblings().removeClass('active') + clickTab = $(this).index() + + if (clickTab === 0) { + $('.exp-container').find('.strip').removeClass('exp-2').addClass('exp-1') + $('.exp-container').removeClass('exp-container2').addClass('exp-container1') + $('.canvas').find('.container1').removeClass('second').addClass('first') + $('.canvas .pointer img').attr('src', 'img/carnival/point.png') + $('.canvas .btn img').attr('src', 'img/carnival/draw-btn.png') + preloadImg(clickTab) + } else { + $('.exp-container').find('.strip').removeClass('exp-1').addClass('exp-2') + $('.exp-container').removeClass('exp-container1').addClass('exp-container2') + $('.canvas').find('.container1').removeClass('first').addClass('second') + $('.canvas .pointer img').attr('src', 'img/carnival/point-2.png') + $('.canvas .btn img').attr('src', 'img/carnival/draw-btn-2.png') + preloadImg(clickTab) + } + + info.clickStatu = false + getGiftInfo() + getticketChooseShow() + configTurnNumClass() + }) + $('.turnNum').on('click', 'li', function() { + $(this).addClass('active').siblings().removeClass('active') + clickNumIndex = $(this).index() + }) + + $('.experience').on('click', '.tips', function() { + $('.exp-toast').fadeIn(300, function() { + clearTimeout(toastTimer) + toastTimer = setTimeout(function() { + $('.exp-toast').hide() + }, 8000) + }) + }) + + $('.canvas').on('click', '.btn', function() { + // if (!info.clickStatu) { + // $('.toast').html('哎呀太挤了,请稍等').fadeIn(30).fadeOut(2000) + // return false + // } + if (turntable[clickTab].rotateBol) return + turntable[clickTab].rotateBol = true + clickTabFlag = true + var obj = { + 0: 'one', + 1: 'ten', + 2: 'hundred' + } + $.ajax({ + headers: { + pub_ticket: info.ticket + }, + type: 'post', + url: api + '/act/doLottery', + data: { + // uid: info.uid, + // ticket: info.ticket, + // roomUid: info.roomUid, + // sendMessage: true, + // ruleType: obj[clickNumIndex], + // drawType: (clickTab === 0) ? 'turntable1' : 'turntable2', + // deviceId: info.deviceId + + uid: info.uid, + roomUid: info.roomUid, + sendMessage: true, + ruleType: obj[clickNumIndex], + drawType: (clickTab === 0) ? 'turntable1' : 'turntable2', + deviceId: "abc" + }, + success: function(res) { + if (res.code === 200) { + var maxValue = 0 + var prizeId + var item + for (var i in res.data.prizeItemList) { + if (res.data.prizeItemList[i].platformValue > maxValue) { + maxValue = res.data.prizeItemList[i].platformValue + prizeId = res.data.prizeItemList[i].prizeId + item = turntable[clickTab].prizeIndex.indexOf(prizeId) + if (item == -1) { + item = 0 + } + } + console.log(item); + } + // ---------------- 用户抽奖记录接口 ----------- + $.ajax({ + headers: { + pub_ticket: info.ticket + }, + type: 'POST', + url: api + '/act/saveLog', + data: { + ticket: info.ticket, + uid: info.uid, + prizeids: JSON.stringify(res.data.prizeIdList), + prizeIndex: item, + createdTime: res.data.prizeItemList[0].createTime, + prizeIdList: JSON.stringify(turntable[clickTab].prizeIndex) + }, + success: function(res) { + // eslint-disable-next-line no-empty + if (res.code !== 200) console.log(res.message) + }, + error: function(err) { + console.log('报错了:', err) + } + }) + // ------------------ 用户抽奖记录接口 ------------ + $('.info').find('.ticketNum').html(res.data.remainTicketNum) + rotateFunc(item, 8, res.data.prizeItemList, res.data.prizeIdList, clickTab) + clearTimeout(rotateTimer) + rotateTimer = setTimeout(function() { + clickTabFlag = false + clearTimeout(rotateTimer) + }, 3000) + clearTimeout(rotateTimer2) + rotateTimer2 = setTimeout(function() { + turntable[clickTab].rotateBol = false + }, 1000) + } else if (res.code === 10000) { + // 门票不足 + $('.status-mask').find('.title').html('游玩失败') + $('.status-mask').find('.tips').html('亲,门票不足了哦~') + $('.status-mask').find('.btn').addClass('toGather').html('去收集') + $('.shade,.status-mask').show() + clickTabFlag = false + turntable[clickTab].rotateBol = false + } else if (res.code === 21111) { + // 游玩限制 + $('.status-mask').find('.title').html('本日游玩限制') + $('.status-mask').find('.tips').html('今日游玩次数已达上限哦~') + $('.status-mask').find('.btn').removeClass('toGather').html('知道了') + $('.shade,.status-mask').show() + clickTabFlag = false + } else { + turntable[clickTab].rotateBol = false + clickTabFlag = false + $('.toast').html(res.message).fadeIn(30).fadeOut(3000) + } + } + }) + }) + $('.status-mask').on('click', '.btn', function() { + if ($(this).hasClass('toGather')) { + $('.status-mask').hide() + $('.shade').hide() + window.location.href = './index.html' + } else { + $('.status-mask').hide() + $('.shade').hide() + } + }) + + $('.shade').on('click', function() { + $('.status-mask').hide() + $('.gather-mask').hide() + $('.shade').hide() + }) + + $('.help').on('click', function() { + $('.rule-mask').animate({ + top: 0 + }, 500) + }) + $('.rule-mask').on('click', '.back', function() { + $('.rule-mask').animate({ + top: -1000 + }, 500) + }) + + $('.rank-btn').on('click', function() { + renderRank(false) + }) + $('.rank-mask .tab').on('click', 'li', function() { + rankTabIndex = $(this).index() + $(this).addClass('active').siblings().removeClass('active') + renderRank(true) + }) + $('.rank-mask').on('click', '.back', function() { + $('.rank-mask').animate({ + top: -1000 + }, 500) + }) + + $('.status-mask').on('click', '.btn', function() { + $('.shade').hide() + $('.status-mask').hide() + }) + + $('.record-btn').on('click', function() { + renderRecord(false) + }) + $('.record-mask .tab').on('click', 'li', function() { + recordTabIndex = $(this).index() + recordPageNum = 1 + scrollFlag = false + $('.record-mask').find('.content').scrollTop(0) + $(this).addClass('active').siblings().removeClass('active') + renderRecord(true) + }) + $('.record-mask').on('click', '.back', function() { + $('.record-mask').animate({ + top: -1000 + }, 500) + }) + $('.record-mask .content').scroll(function() { + var scrollH = $(this).scrollTop() + var contentH = $('.record-container').height() + var viewH = $(this).height() + if (Math.ceil(viewH + scrollH) >= contentH) { + if (scrollFlag) { + return + } + scrollFlag = !scrollFlag + recordPageNum++ + renderRecord(true) + } + }) + $('.feedback').on('click', function() { + tools.nativeUtils.jumpAppointPage('FEEDPACK_PAGE', 'DRAW'); + }) + }, + getData: function() { + getScrollTip() + getticketChooseShow() + configTurnNumClass() + openSocket() + // getExp() + getTicketNum() + preloadImg(clickTab) + getGiftInfo() + } + }; + + main.init(); +}); + +var scrollTimer +var tabTimer +var times +// var timeFlag = 0 +var timeTimer +// var cacheLine = 0 +var rankTabIndex = 0 +var recordTabIndex = 0 +var recordPageNum = 1 + +// 获取滚屏数据 +function getScrollTip() { + $('.container').hide() + $.ajax({ + type: 'GET', + url: api + '/act/queryPrizeMsg', + success: function(res) { + if (res.code === 200) { + for (var i in res.data) { + if (res.data[i].nick.length > 4) { + res.data[i].nick = res.data[i].nick.substring(0, 4) + '...' + } + if (res.data[i].drawType === 1) { + res.data[i]['table'] = '春暖花开' + } else { + res.data[i]['table'] = '满园春色' + } + } + res.data.push(res.data[0]) + var _data = { + scrollMaskList: res.data + } + $('.container').html(template('scrollTmp', _data)) + $('.container').show() + animateScroll() + } + } + }) +} + +// 获取礼物信息 +function getGiftInfo() { + turntable[clickTab].prizeIndex = [] + // turntable[0].prizeImg = []; + // turntable[1].prizeImg = []; + giftIntro['giftIdArr'] = [] + $.ajax({ + type: 'GET', + url: api + '/act/queryPrizeInfo', + timeout: 15000, // 超时时间:30秒 + data: { + drawType: (clickTab === 0) ? 'turntable1' : 'turntable2' + }, + success: function(res) { + if (res.code === 200) { + for (var i in res.data) { + turntable[clickTab].prizeIndex.push(res.data[i].prizeId) + giftIntro.giftIdArr.push(res.data[i].prizeId) + // if(clickTab === 0) { + // turntable[0].prizeImg.push(res.data[i].prizeImgUrl) + // }else{ + // turntable[1].prizeImg.push(res.data[i].prizeImgUrl) + // } + } + console.log("giftIntro", giftIntro) + // preloadImg(clickTab) + // 成功后可点击 + info.clickStatu = true + } else { + $('.toast').html(res.message || "获取礼物信息出错了!").fadeIn(30).fadeOut(2000) + } + }, + error: function(res) { + $('.toast').html('哎呀太挤了,请稍等').fadeIn(30).fadeOut(2000) + } + }) +} + +// 滚屏 +function animateScroll() { + var length = $('.scrollMask').find('.container').height() + var _top = 0 + clearInterval(scrollTimer) + scrollTimer = setInterval(function() { + if (length + _top > 30) { + _top -= 30 + } else { + $('.scrollMask').find('.container').css({ + top: 0 + }) + _top = 0 + } + $('.scrollMask').find('.container').stop(true, true).animate({ + top: _top + }) + }, 2000) +} + +// 获取消耗数据 +function getticketChooseShow() { + var drawObj = { + 0: 'turntable1', + 1: 'turntable2' + } + $.ajax({ + type: 'GET', + url: api + '/act/queryTicketRule', + data: { + drawType: drawObj[clickTab] + }, + success: function(res) { + if (res.code === 200) { + // $('.turnNum').find('.num').eq(0).html(res.data.one + '次') + $('.turnNum').find('.ticket').eq(0).html('消耗' + res.data.one + '门票') + // $('.turnNum').find('.num').eq(1).html(res.data.ten + '次') + $('.turnNum').find('.ticket').eq(1).html('消耗' + res.data.ten + '门票') + // $('.turnNum').find('.num').eq(2).html(res.data.hundred + '次') + $('.turnNum').find('.ticket').eq(2).html('消耗' + res.data.hundred + '门票') + + } + } + }) +} + +function configTurnNumClass() { + if (clickTab === 0) { + $('.turnNum').find('li').removeClass('joy').addClass('ball') + } else { + $('.turnNum').find('li').removeClass('ball').addClass('joy') + } +} + +// 打开socket链接 +function openSocket() { + var socket = null + var cacheType = 0 + if (typeof (WebSocket) === 'undefined') { + alert('暂不支持转盘socket') + } else { + var _url = (window.location.href.match('apibeta') || window.location.href.match('local')) ? 'http://apibeta.qxjiaoyou.com:8081' : 'https://api.qxjiaoyou.com:8081' + if (window.location.href.match('preview')) { + _url = 'https://preview.qxjiaoyou.com:8081' + } + var socketUrl = _url + '/websocket/activity/' + info.roomUid + socketUrl = socketUrl.replace('https', 'wss').replace('http', 'ws') + if (socket !== null) { + socket.close() + socket = null + } + socket = new WebSocket(socketUrl) + + socket.onopen = function() { + // 监听开启socket后的判断逻辑 + clearInterval(tabTimer) + tabTimer = setInterval(function() { + if (cacheType !== clickTab) { + cacheType = clickTab + // getExp() + } + }, 10) + } + + socket.onmessage = function(res) { + // 监听服务端发送过来的数据 + + var data = JSON.parse(res.data) + if (data.data) { + renderExp(data.data) + } + } + + socket.onclose = function() { + socket = null + clearTimeout(openSocketTimer) + openSocketTimer = setTimeout(function() { + openSocket() + }, 5000) + } + + socket.onerror = function() { + console.log('socket错误') + } + } +} + +// 渲染经验值 +function getExp() { + $.ajax({ + type: 'GET', + url: api + '/activities/draw/getRunawayData', + data: { + drawType: (clickTab === 0) ? 'turntable1' : 'turntable2', + roomUid: info.roomUid + }, + success: function(res) { + if (res.code === 200) { + renderExp(res.data) + } + } + }) +} +var tableFlag +function renderExp(val) { + // console.log(val) + tableFlag = (val.drawType === 'turntable1') ? 0 : 1 + if (val.runawaySwitch) { + $('.experience').show() + } + + // 进度条计算 + if (tableFlag === clickTab) { + var height = $('.exp-container').height() + var percentage = val.curValue / val.runawayConfigValue + var _top + _top = height * percentage + $('.strip').stop(true).animate({ + height: _top + }, 200) + $('.experience').find('.maxNum').html(val.runawayConfigValue) + $('.experience').find('.num').html(val.curValue) + } + // 进度条计算 + + // 礼物显示 + if (JSON.stringify(val.poolPrize) !== '{}') { + if (val.poolTime > 0 && tableFlag === clickTab) { + renderTime(val) + } + // if (val.poolTime === val.runawayConfigTime && tableFlag === clickTab) { + // timeFlag = 1 + // $('.giftBox').removeClass('hide') + // renderTime(val.poolTime) + // $('.giftBox').find('img').attr('src', val.poolPrize.prizeImgUrl) + // } + } else { + $('.giftBox').addClass('hide') + } +} + +// 渲染倒计时 +function renderTime(val) { + times = val.poolTime + $('.giftBox').find('img').attr('src', val.poolPrize.prizeImgUrl) + $('.giftBox').removeClass('hide') + $('.experience').find('.times').html(times + '秒') + clearInterval(timeTimer) + timeTimer = setInterval(function() { + times-- + if (times === 0) { + // timeFlag = 0 + clearInterval(timeTimer) + $('.giftBox').addClass('hide') + } + $('.experience').find('.times').html(times + '秒') + }, 1000) +} + +// 获取门票数 +function getTicketNum() { + $.ajax({ + type: 'GET', + url: api + '/act/queryTicketNum', + data: { + uid: info.uid + }, + success: function(res) { + if (res.code === 200) { + $('.info').find('.ticketNum').html(res.data.num) + } + } + }) +} + +// 预加载图片 +function preloadImg(val) { + var img = { + imageArr: turntable[val].prizeImg, + doneFunc: function() { + clearInterval(imgTimer) + imgTimer = setTimeout(function() { + getCanvas(val) + }, 50) + } + } + preloadImage(img) +} + +// 转盘 +function getCanvas(val) { + var img + if (val === 0) { + $('#table').show() + $('#table2').hide() + } else { + $('#table').hide() + $('#table2').show() + } + for (let i in turntable[val].prizeImg) { + img = new Image() + img.src = turntable[val].prizeImg[i] + turntable[val].prizeImgArr.push(img) + } + var count = turntable[val].prizeImg.length + img.onload = function() { + var baseAngle = Math.PI * 2 / count + var _circle = (val === 0) ? document.getElementById('table') : document.getElementById('table2') + var circle = _circle.getContext('2d') + clearTimeout(canvasTimer) + canvasTimer = setTimeout(function() { + for(var i = 0; i < turntable[val].prizeImg.length; i++) { + circle.save() + circle.translate(_circle.width / 2, _circle.height / 2) + circle.strokeStyle = 'transparent' + var angle = i * baseAngle + var colorIndex = i % 2 + circle.fillStyle = turntable[val].colors[colorIndex] + circle.beginPath() + circle.moveTo(0, 0) + circle.arc(0, 0, 214, angle, angle + baseAngle, false) + circle.stroke() + circle.fill() + circle.rotate(angle + baseAngle / 2 + Math.PI / 2) + circle.imageSmoothEnabled = false + circle.drawImage(turntable[val].prizeImgArr[i], -55, -210, 100, 100) + circle.restore() + } + clearTimeout(canvasTimer) + }, 10) + } +} + +// 旋转 +function rotateFunc(item, count, data, idList, val) { + // $('.canvas').css({ + // transform: 'scale(.5)' + // }) + giftIntro['gatherId'] = item + giftIntro['gatherIdList'] = idList + console.log(giftIntro); + var baseAngle = 360 / count + var angle = 360 * 3 / 4 - (item * baseAngle) - baseAngle / 2 + giftIntro['angle'] = angle + var $rotate = (val === 0) ? $('#table') : $('#table2') + $rotate.stopRotate() + $rotate.rotate({ + angle: 0, + animateTo: angle + 360 * 5, + duration: 3000, + callback: function() { + // 获取弹窗渲染 + var $data = { + gatherList: data + } + $('.gift-list').html(template('gatherListTmp', $data)) + $('.gather-mask').show() + $('.shade').show() + clearTimeout(giftTimer) + giftTimer = setTimeout(function() { + $('.gather-mask').hide() + $('.shade').hide() + clearTimeout(giftTimer) + }, 1500) + } + }) +} + +// 渲染排行榜 +function renderRank(val) { + var tipsObj = { + 0: '抽奖票数越多,排名越高哦~每日零点重置', + 1: '获得奖励价值越高,排名越高哦~每日零点重置' + } + var urlObj = { + 0: '/act/rank/ticketList', + 1: '/act/rank/giftList' + } + $.ajax({ + type: 'POST', + url: api + urlObj[rankTabIndex], + data: { + uid: info.uid + }, + success: function(res) { + if (res.code === 200) { + if(!res.data) $('.toast').html("排行榜暂无数据!").fadeIn(30).fadeOut(2000); + $('.rank-mask').find('.tips p').html(tipsObj[rankTabIndex]) + for (var i in res.data.rankVoList) { + if (res.data.rankVoList[i].nick.length > 5) { + res.data.rankVoList[i].nick = res.data.rankVoList[i].nick.substring(0, 5) + '...' + } + if (i > 0) { + var distance = res.data.rankVoList[i - 1].value - res.data.rankVoList[i].value + if (distance > 10000) { + res.data.rankVoList[i]['distance'] = (distance / 10000).toFixed(1) + '万' + } else { + res.data.rankVoList[i]['distance'] = distance + } + } + } + if (!val) { + $('.rank-mask').animate({ + top: 0 + }, 500, function() { + var $data = { + rankList: res.data.rankVoList + } + $('.rank-container').html(template('rankListTmp', $data)).fadeIn(500) + }) + } else { + var $data = { + rankList: res.data.rankVoList + } + $('.rank-container').fadeOut(500, function() { + $('.rank-container').html(template('rankListTmp', $data)) + }).fadeIn(500) + } + + if (res.data.myRank.nick.length > 5) { + res.data.myRank.nick = res.data.myRank.nick.substring(0, 5) + '...' + } + if (res.data.myRank.value > 10000) { + res.data.myRank.value = (res.data.myRank.value / 10000).toFixed(1) + '万' + } + + $('.mine').find('.rank-num').html(res.data.myRank.rank) + $('.mine').find('.avatar img').attr('src', res.data.myRank.avatar) + $('.mine').find('.nick').html(res.data.myRank.nick) + if (rankTabIndex === 0) { + $('.mine').find('.score').html('我的捧场值:' + res.data.myRank.value) + } else { + $('.mine').find('.score').html('我的迷人值:' + res.data.myRank.value) + } + if (res.data.myRank.rank < 21) { + if (res.data.myRank.rank > 10 && res.data.myRank.rank < 21) { + $('.mine').find('.num').html(res.data.myRank.diffValue) + $('.mine').find('.distance').html('距上榜') + } else if (res.data.myRank.rank < 11 && res.data.myRank.rank > 1) { + $('.mine').find('.num').html(res.data.myRank.diffValue) + $('.mine').find('.distance').html('距上名') + } else { + $('.mine').find('.num').html(res.data.myRank.diffValue) + } + } else { + $('.mine').find('.num').html(res.data.myRank.diffValue) + $('.mine').find('.distance').html('未上榜') + } + // 跳转个人主页 + $('.rank-container').on('click', '.avatar', function() { + var uid = $(this).attr('data-uid'); + tools.nativeUtils.jumpAppointPage('PERSON_PAGE', uid); + }) + } + } + }) +} + +var recordCache = [] +var scrollFlag = false +var recordTimer +// 渲染抽奖记录 +function renderRecord(val) { + var typeObj = { + 0: 'time', + 1: 'worth' + } + $.ajax({ + type: 'GET', + url: api + '/act/drawRecord', + data: { + uid: info.uid, + sortType: typeObj[recordTabIndex], + page: recordPageNum, + pageSize: 10 + }, + success: function(res) { + if (res.code === 200) { + if (res.data.length === 0) { + return + } + if (recordTabIndex === 0) { + for (var i in res.data) { + var date = new Date(res.data[i].createTime) + var year = date.getFullYear() + var month = date.getMonth() + 1 + var day = date.getDate() + var hour = date.getHours() + var minute = date.getMinutes() + var second = date.getSeconds() + res.data[i].ymd = year + '-' + month + '-' + day + res.data[i].hms = hour + ':' + minute + ':' + second + } + } + if (scrollFlag) { + if (res.data.length > 0) { + for(var j in res.data) { + recordCache.push(res.data[j]) + } + } else { + $('.loading').html('暂无更多数据') + } + var $data2 = { + recordList: recordCache, + // eslint-disable-next-line no-unneeded-ternary + worth: (recordTabIndex === 1) ? true : false + } + $('.loading').show() + clearTimeout(recordTimer) + recordTimer = setTimeout(function() { + $('.loading').hide() + $('.record-container').html(template('recordTmp', $data2)) + scrollFlag = !scrollFlag + }, 2000) + return + } + if (!val) { + recordCache = [] + $('.record-mask').animate({ + top: 0 + }, 500, function() { + recordCache = res.data + var $data = { + recordList: recordCache, + // eslint-disable-next-line no-unneeded-ternary + worth: (recordTabIndex === 1) ? true : false + } + $('.record-container').html(template('recordTmp', $data)).fadeIn(500) + }) + } else { + recordCache = [] + recordCache = res.data + var $data = { + recordList: recordCache, + // eslint-disable-next-line no-unneeded-ternary + worth: (recordTabIndex === 1) ? true : false + } + $('.record-container').fadeOut(500, function() { + $('.record-container').html(template('recordTmp', $data)) + }).fadeIn(500) + } + } + } + }) +} diff --git a/act_project/carnival11/js/index.js b/act_project/carnival11/js/index.js new file mode 100644 index 0000000..219167e --- /dev/null +++ b/act_project/carnival11/js/index.js @@ -0,0 +1,397 @@ +// 指定全局变量 +/*global checkVersion locateJudge EnvCheck tools erbanMask wx wxConfig VConsole androidJsObj initNav */ +var info = {}; +var browser = checkVersion(); +// var api = locateJudge(); +var api = "/api"; +var env = EnvCheck(); + +var queryParam = getQueryString(); + +info.uid = queryParam.uid || 0; +info. roomUid = queryParam.roomUid || 0; + +var totalPrice = 0; +var shareUrl = location.origin + '/activity'; +var share = { + title: '', + link: shareUrl, + imgUrl: 'https://img.erbanyy.com/new-logo.png', + desc: '' +}; +// eslint-disable-next-line +function getMessage(key, value) { + info[key] = value; +} + +wx.ready(function() { + wx.onMenuShareTimeline({ + title: share.title, + link: share.link, + imgUrl: share.imgUrl, + desc: share.desc + }); + + wx.onMenuShareAppMessage({ + title: share.title, + desc: share.desc, + link: share.link, + imgUrl: share.imgUrl, + type: 'link', + dataUrl: '' + }); + + wx.onMenuShareQQ({ + title: share.title, + desc: share.desc, + link: share.link, + imgUrl: share.imgUrl + }); +}); + +erbanMask('activity-name', 'activity-name'); +initNav({ + type: 2, + data: { + msg: 'wewawa', + link: share.link, + title: share.title, + showUrl: share.link, + imgUrl: share.imgUrl, + desc: share.desc + } +}); + +browser.weixin && wxConfig(); + +$(function() { + if (env == 'test') { + new VConsole(); + } + + var main = { + init: function() { + // this.getMsgFromDevice(); + setTimeout(() => { + this.getData(); + }, 100); + this.eventRegister(); + }, + getMsgFromDevice: function() { + if (browser.app) { + if (browser.ios) { + window.webkit.messageHandlers.getDeviceId.postMessage(null); + } else if (browser.android) { + if (androidJsObj && typeof androidJsObj === 'object') { + info.deviceId = window.androidJsObj.getDeviceId(); + } + } + info.uid = tools.nativeUtils.getUid(); + info.ticket = tools.nativeUtils.getTicket(); + } else { + // info.uid = 906238; + info.uid = 906709; + info.deviceId = 'safhksafhksajhfs1kjahsfkjsf0000aaaaaaaacaa'; + info.ticket = 'eyJhbGciOiJIUzI1NiJ9.eyJ0aWNrZXRfdHlwZSI6bnVsbCwidWlkIjo5MDYyMzgsInRpY2tldF9pZCI6IjdiZWQ2NzcwLWJmMjktNGRiYi04MzZmLTc0NzBmY2RiMDZjYSIsImV4cCI6MzYwMCwiY2xpZW50X2lkIjoiZXJiYW4tY2xpZW50In0.ye2Zv8nyZkqiT_bIWq-50qcS6_SCWmRpBjxxLX7mQvs'; + } + }, + eventRegister: function() { + // 打开规则弹窗 + $('.rule-btn').on('click', function() { + $('.rule-mask,.shade').fadeIn(300); + }) + // 关闭购买弹窗 + $('.buy-mask').on('click', '.close-btn', function() { + $('.buy-mask,.shade').fadeOut(300); + }) + // 关闭规则弹窗 + $('.rule-mask').on('click', '.cancel', function() { + $('.rule-mask,.shade').fadeOut(300); + }) + // 关闭购买之后弹窗 + $('.statusMask').on('click', '.cancel', function() { + $('.statusMask,.shade').fadeOut(300); + }) + // 关闭弹窗 + $('.shade').on('click', function() { + $('.rule-mask,.buy-mask,.statusMask,.shade').fadeOut(300); + }) + // 监听input输入 + $('.b-input').bind('input propertychange', function() { + var _this = $(this); + if (_this.val().length == 1) { + _this.val(_this.val().replace(/[^1-9]/gi, '')); + } else { + _this.val(_this.val().replace(/[\D]/gi, '')); + _this.val(parseInt(_this.val())); + } + if(_this.val() == '') { + totalPrice = 0; + $('.day').text(0); + _this.val(0) + }else{ + if(_this.val() >= 100000000) { + _this.val(100000000) + } + totalPrice = parseInt(_this.val()) * parseInt(_this.attr('data-price')); + $('.day').text(_this.val()); + } + $('.totalprice').html(totalPrice); + }) + // 增加按钮 + $('.add-btn').on('click', function() { + var val = parseInt($('.b-input').val()); + var price = parseInt($('.b-input').attr('data-price')); + val = val + 1; + totalPrice = val * price; + $('.day').text(val); + $('.b-input').val(val); + $('.totalprice').html(totalPrice); + }) + // 减少按钮 + $('.remove-btn').on('click', function() { + var val = parseInt($('.b-input').val()); + var price = parseInt($('.b-input').attr('data-price')); + if(val > 1) { + val = val - 1; + }else{ + val = 1; + } + totalPrice = val * price; + $('.day').text(val); + $('.b-input').val(val); + $('.totalprice').html(totalPrice); + }) + // 购买确认 + $('.confirm-btn').on('click', function() { + var packNum = $('.b-input').val(); + var packId = $(this).attr('data-pid'); + if(packNum == 0) { + ajaxTip('最少购买一个哦~'); + return; + }else{ + $.ajax({ + headers: { + pub_ticket: info.ticket + }, + type: 'get', + url: api + '/act/buy/pack', + data: { + // uid: info.uid, + // ticket: info.ticket, + // packId: packId, + // packNum: packNum + + uid: info.uid, + packId: packId, + packNum: packNum + }, + success: function(res) { + if(res) { + if (res.code == 200) { // 购买成功 + $('.buy-mask').hide().siblings('.statusMask').fadeIn(300); + $('.success').show(); + $('.fail').hide(); + $('.statusMask .tip').html('获赠门票×' + res.data); + renderTicket(); + } else if (res.code == 2103) { // 余额不足 + $('.buy-mask').hide().siblings('.statusMask').fadeIn(300); + $('.buy-mask,.success').hide(); + $('.fail').show(); + $('.statusMask .tip').html('亲,余额不足~'); + if (browser.ios) { + $('.android').hide(); + } else if (browser.android) { + $('.ios').hide(); + } + } else { + ajaxTip(res.message); + return; + } + } + } + }) + } + }) + // 充值跳转 + $('.recharge').on('click', function() { + if (browser.ios) { + $('.statusMask,.shade').fadeOut(300); + } else { + tools.nativeUtils.jumpAppointPage('RECHARGE_PAGE'); + } + }) + }, + getData: function() { + renderTicket(); + renderGift(); + } + }; + main.init(); +}); + +// 渲染底部tab +function renderTicket() { + $.ajax({ + type: 'GET', + url: api + '/act/queryTicketNum', + data: { + uid: info.uid + }, + success: function(res) { + if(res.code === 200) { + if (res.data.nick.length > 10) { + res.data.nick = res.data.nick.substring(0, 10) + '...' + } + $('.mine').find('.avatar img').attr('src', res.data.avatar) + $('.mine').find('.nick').html(res.data.nick) + $('.mine').find('.score').html(res.data.num) + }else{ + ajaxTip(res.message); + return; + } + } + }) +} + +// 渲染礼包信息 +function renderGift() { + $.ajax({ + headers: { + pub_ticket: info.ticket + }, + type: 'POST', + url: api + '/act/getPackStore', + data: { + uid: info.uid, + // ticket: info.ticket + }, + success: function(res) { + if (res.code == 200) { + var html = ''; + var num = ''; + res.data.forEach(function(item, index) { + if(item.sellingPrice == 200) { + num = '7-10' + }else if(item.sellingPrice == 1000) { + num = '30-50' + }else if(item.sellingPrice == 2000) { + num = '70-100' + }else if(item.sellingPrice == 10000) { + num = '300-500' + } + // 新增的档位20000,赠送600-1000门票,添加日期2020-12-08 + else if(item.sellingPrice == 20000) { + num = '600-1000' + } + html += '
              • ' + + '

                限定装扮' + NoToChinese(index + 1) + '

                ' + + '
                ' + + '
                ' + + '

                ' + item.name + '

                ' + + '

                ' + item.sellingPrice + '金币/天

                ' + + '

                ' + item.originalPrice + '金币/天

                ' + + '

                随机赠送门票' + num + '张

                ' + + '
                ' + + '
                ' + + '
              • ' + }) + $('.cloth-box').html(html); + renderBuyStatus(); + // 购买弹窗 + $('.cloth-box').on('click', '.buy-btn', function() { + var packId = $(this).attr('data-gid'); + var name = $(this).siblings('.gift-text').find('p:first').text(); + var sellingPrice = $(this).siblings('.gift-text').find('.price').attr('data-money'); + $('.buy-mask .day').text(1); + $('.buy-mask .b-input').val(1); + $('.buy-mask .giftName').html(name); + $('.buy-mask .totalprice').html(sellingPrice); + $('.buy-mask .confirm-btn').attr('data-pid', packId); + $('.buy-mask .b-input').attr('data-price', sellingPrice); + $('.shade,.buy-mask').fadeIn(300); + }) + }else{ + ajaxTip(res.message); + return; + } + } + }) +} +// 渲染购买状态 +function renderBuyStatus() { + $.ajax({ + type: 'GET', + url: api + '/act/getDate', + data: {}, + success: function(res) { + if(res.code == 200) { + var date = new Date().getTime(); + var start = (browser.ios) ? res.data.start : res.data.start; + var end = (browser.ios) ? res.data.end : res.data.end; + if (start < date && date < end) { + $('.buy-btn').removeClass('gray').prop('disabled', false); + } else { + $('.buy-btn').removeClass().addClass('buy-btn gray').prop('disabled', true); + } + }else{ + ajaxTip(res.message); + return; + } + } + }) +} + +// 封装提示信息 +function ajaxTip(callText) { + var thisBody = document.getElementsByTagName('body')[0]; + var Div = document.createElement('div'); + var text = "

                " + callText + '

                ' + Div.setAttribute('class', 'ajaxtiplayer'); + Div.innerHTML = text; + Div.style.display = 'block'; + thisBody.appendChild(Div); + setTimeout(function() { + thisBody.removeChild(Div); + }, 2000); +} + +// 将数字转为中文数字 +function NoToChinese(num) { + if (!/^\d*(\.\d*)?$/.test(num)) { + alert('Number is wrong!'); + return 'Number is wrong!'; + } + // eslint-disable-next-line no-array-constructor + var AA = new Array('零', '一', '二', '三', '四', '五', '六', '七', '八', '九'); + // eslint-disable-next-line no-array-constructor + var BB = new Array('', '十', '百', '千', '万', '亿', '点', ''); + var a = ('' + num).replace(/(^0*)/g, '').split('.'); + var k = 0; + var re = ''; + for (var i = a[0].length - 1; i >= 0; i--) { + switch (k) { + case 0: + re = BB[7] + re; + break; + case 4: + if (!new RegExp('0{4}\\d{' + (a[0].length - i - 1) + '}$').test(a[0])) { re = BB[4] + re; } + break; + case 8: + re = BB[5] + re; + BB[7] = BB[5]; + k = 0; + break; + } + if (k % 4 == 2 && a[0].charAt(i + 2) != 0 && a[0].charAt(i + 1) == 0) re = AA[0] + re; + if (a[0].charAt(i) != 0) re = AA[a[0].charAt(i)] + BB[k % 4] + re; + k++; + } + if (a.length > 1) { + re += BB[6]; + // eslint-disable-next-line no-redeclare + for (var i = 0; i < a[1].length; i++) re += AA[a[1].charAt(i)]; + } + return re; +} + diff --git a/act_project/carnival12/.tmtworkflowrc b/act_project/carnival12/.tmtworkflowrc new file mode 100644 index 0000000..969cabd --- /dev/null +++ b/act_project/carnival12/.tmtworkflowrc @@ -0,0 +1,45 @@ +{ + "ftp": { + "host": "xx.xx.xx.xx", + "port": "8021", + "user": "tmt", + "pass": "password", + "remotePath": "remotePath", + "includeHtml": true + //ftp 上传是否包含 html + }, + "sftp": { + "host": "xx.xx.xx.xx", + "port": "xx", + "user": "tmt", + "password": "password", + "remotePath": "", + "includeHtml": true + }, + "livereload": { + // /api 代理到的 url + "proxyTarget": "http://apibeta.qxjiaoyou.com", + //开启自动刷新 + "available": true, + "port": 8080, + "startPath": "index.html" + }, + //路径相对于 tasks/plugins 目录 + "plugins": { + "build_devAfter": [], + "build_distAfter": [], + "ftpAfter": [ + "ftp" + ] + }, + "lazyDir": [ + "../slice" + ], + //gulp-lazyImageCSS 寻找目录(https://github.com/weixin/gulp-lazyimagecss) + + "supportWebp": false, + "supportREM": false, + "supportChanged": false, + "reversion": true, + "SVGGracefulDegradation": true +} diff --git a/act_project/carnival12/carnival.html b/act_project/carnival12/carnival.html new file mode 100644 index 0000000..6b03bd7 --- /dev/null +++ b/act_project/carnival12/carnival.html @@ -0,0 +1,273 @@ + + + + + + 怦然心动 + + <%- include('../html_tpl/style.html') %> + + + <%- include('../html_tpl/headScript.html') %> + + +
                +
                + +
                  +
                • 连理枝
                • +
                • 比翼鸟
                • +
                +
                +
                + +
                +
                +
                  +
                • 连理枝
                • +
                • 比翼鸟
                • +
                +
                + + +
                +
                + +
                + +
                +
                + +
                +
                +
                +
                + + +
                + +
                + +
                +
                +
                + +
                + 我的门票: 0张 + +
                + +
                +
              • +

                1次

                +

                -

                +
              • +
              • +

                10次

                +

                -

                +
              • +
              • +

                100次

                +

                -

                +
              • +
                + +
                +
                + + 暴击×5 + +
                +
                +
                +
                +
                + 0 + / + 0 +
                +
                + 暴走值 +
                +
                + +
                +
                +
                +
                +
                + +
                +
                本轮获得
                +
                · 可前往个人背包查看 ·
                +
                  + +
                  知道了
                  +
                  + +
                  + +
                  +

                  +
                  +
                  + +
                  + +
                  +
                  +
                • 捧场王
                • +
                • 万人迷
                • +
                  +

                  +
                  +
                  - 昨日最佳 -
                  +
                  +
                  +
                  + +
                  +
                  +
                  奖励门票200张
                  +
                  +
                  +
                  + +
                  +
                  +
                  奖励门票300张
                  +
                  +
                  +
                  + +
                  +
                  +
                  奖励门票100张
                  +
                  +
                  +
                  注:门票每日00:05分自动发放,请注意查收!
                  +
                  - 今日排行 -
                  +
                  + +
                    + +
                    +
                    +

                    +

                    +

                    + + +

                    +

                    + + +

                    +
                    +
                    + +
                    + +
                    +
                  • +

                    时间

                    +

                    +
                  • +
                  • +

                    价值

                    +

                    +
                  • +
                    +
                    +
                    + +
                    +
                    加载中...
                    +
                    展示您最近300次中奖纪录
                    +
                    + +
                    + +
                    暴走状态随机礼物5倍获得概率。1转盘次数=1暴走值,暴走值每小时清零
                    +
                    +
                    + + +<%- include('../html_tpl/script.html') %> + + + diff --git a/act_project/carnival12/css/carnival.scss b/act_project/carnival12/css/carnival.scss new file mode 100644 index 0000000..b9e8298 --- /dev/null +++ b/act_project/carnival12/css/carnival.scss @@ -0,0 +1,1412 @@ +@function px2rem($px, $rem:75) { + @return $px / $rem+rem; +} + +@import '../../../common/css/flex.scss'; + +.mask { + z-index: 120; + position: fixed; + width: 100%; + left: 0; + bottom: 0; + display: flex; + height: 60px; + align-items: center; + background: rgba(0, 0, 0, 0.5); + justify-content: space-between; + padding: 0 8px; + box-sizing: border-box; + display: none; + .logo { + width: 40px; + img { + width: 100%; + } + } + .slogan { + color: #fff; + } +} +#download { + border: 1px solid #fff; + color: #fff; + width: 80px; + text-align: center; + border-radius: 15px; + line-height: 30px; + a { + color: #fff; + } +} + +.img-item { + display: block; + width: 100%; +} + +.max { + width: 100%; + margin: 0 auto; + background-color: #180734; + position: relative; + + &::before { + content: ''; + display: block; + width: 100%; + height: 100%; + position: fixed; + left: 0; + top: 0; + background-color: #180734; + z-index: -1; + } + + .topNav1 { + @include flex(); + @include flex-justify-start; + @include flex-align-center; + width: 100%; + position: relative; + height:1.453333rem; + border-bottom: 1px solid #301D4E; + + .help { + width:.506667rem; + height:.506667rem; + margin-left:.56rem; + img { + width: 100%; + } + } + .feedback{ + width:.986667rem; + height:.533333rem; + margin:0 1.04rem 0 .413333rem; + img{ + width:100%; + height:100%; + } + } + + ul { + @include flex(); + @include flex-justify-center; + @include flex-align-center; + li { + margin: 0 .266667rem; + height: 100%; + line-height:1.453333rem; + position: relative; + color: #8B8399; + font-size:.373333rem; + + &.active { + color:#FFFFFF; + font-size:.426667rem; + &::after { + content: ''; + display: block; + width: px2rem(20); + height: px2rem(5); + background-color: #FFFFFF; + opacity: .6; + border-radius:.666667rem; + position: absolute; + bottom:.2rem; + left: 50%; + margin-left:-0.133333rem; + } + } + } + } + } + .topNav2 { + @include flex(); + @include flex-justify-start; + @include flex-align-center; + display:none; + width: 100%; + position: relative; + height:1.453333rem; + border-bottom: 1px solid rgba($color: #fff, $alpha: 0.1); + + .help { + width:.506667rem; + height:.506667rem; + position:absolute; + top:.466667rem; + left:.413333rem; + img { + width: 100%; + } + } + + + ul { + @include flex(); + @include flex-justify-center; + @include flex-align-center; + li { + margin: 0 .266667rem; + height: 100%; + line-height: px2rem(109); + position: relative; + color: #8B8399; + font-size:.373333rem; + + &.active { + color: white; + font-size:.426667rem; + &::after { + content: ''; + display: block; + width:.266667rem; + height:.066667rem; + background-color: white; + opacity: .6; + border-radius: 25px; + position: absolute; + bottom:.2rem; + left: 50%; + margin-left:-0.133333rem; + } + } + } + } + } + + .scrollMask { + width: px2rem(500); + height: 30px; + margin: 0 auto; + margin-top: px2rem(10); + overflow: hidden; + position: relative; + .container { + width: 100%; + height: auto; + position: absolute; + top: 0; + left: 0; + display: none; + + li { + width: 100%; + height: 30px; + text-align: center; + line-height: 30px; + color: white; + font-size: 12px; + overflow: hidden; + + span { + color: #ffec6f; + margin: 0 px2rem(5); + } + } + } + } + .rank-btn { + width:1.2rem; + height:1.04rem; + position: absolute; + right:.2rem; + top:2.026667rem; + z-index: 200; + img { + width: 100%; + } + } + .record-btn { + width:1.2rem; + height:1.04rem; + position: absolute; + right:.2rem; + top:3.653333rem; + z-index: 200; + + img { + width: 100%; + } + } + + + .canvas { + width: 100%; + height: px2rem(550); + margin-top: px2rem(30); + position: relative; + + .canvas-container { + width: 200%; + height: 200%; + transform: scale(.5); + position: absolute; + left: 0; + top: 0; + margin-left: -50%; + margin-top: px2rem(-275); + + .turntable { + width: px2rem(1028); + height: px2rem(1028); + margin: 0 auto; + position: absolute; + left: 50%; + top: 50%; + margin-left: px2rem(-514); + margin-top: px2rem(-514); + + .container1 { + width: 100%; + height: 100%; + position: relative; + + &.first { + background: url('../img/carnival/turntable.png') no-repeat 0 0 / 100% 100%; + } + &.second { + background: url('../img/carnival/turntable-2.png') no-repeat 0 0 / 100% 100%; + } + } + #table { + position: absolute; + width: px2rem(856); + height: px2rem(856); + left: 50%; + top: 50%; + margin-left: px2rem(-428); + margin-top: px2rem(-428); + z-index: 4; + } + #table2 { + position: absolute; + width: px2rem(856); + height: px2rem(856); + left: 50%; + top: 50%; + margin-left: px2rem(-428); + margin-top: px2rem(-428); + z-index: 4; + display: none; + } + + .pointer { + width: px2rem(120); + height: px2rem(184); + position: absolute; + left: 50%; + transform: translate(-50%,0); + top: px2rem(-40); + // margin-left: px2rem(-63); + z-index: 10; + img { + width: 100%; + height: 100%; + } + } + + .btn { + width: px2rem(352); + height: px2rem(352); + position: absolute; + left: 50%; + top: 50%; + margin: 0; + margin-left: px2rem(-176); + margin-top: px2rem(-176); + z-index: 130; + border: none; + outline: none; + background: none; + padding: 0; + img { + width: px2rem(352); + height: px2rem(352); + } + &:disabled{ + color: rgba(255, 255, 255, 0); + } + } + } + } + } + + .info { + @include flex(); + @include flex-justify-center; + @include flex-align-center; + + width: 100%; + text-align: center; + margin-top: px2rem(10); + + span { + font-size: 13px; + color: #CECCD1; + + small { + color: #ffec6f; + margin: 0 px2rem(10) + } + + &:last-child { + width: px2rem(111); + height: px2rem(44); + margin-left: px2rem(20); + + a { + display: block; + width: 100%; + height: 100%; + img { + width: 100%; + } + } + } + } + } + + .turnNum { + @include flex(); + @include flex-justify-center; + @include flex-align-center; + + width: 100%; + margin-top: px2rem(35); + margin-bottom: px2rem(50); + + li { + @include flex(); + @include flex-justify-center; + @include flex-align-start; + @include flexv(); + + width: px2rem(225); + height: px2rem(90); + border-radius: 20px 60px 20px 20px; + overflow: hidden; + position: relative; + margin: 0 px2rem(8); + + p { + font-size: 13px; + color: white; + color: #CFCDD3; + margin-left: px2rem(20); + z-index: 2; + + &:last-child { + font-size: 12px; + } + } + + &::before { + content: ''; + display: block; + position: absolute; + width: 100%; + height: 100%; + left: 0; + top: 0; + background-color: white; + border-radius: 20px 60px 20px 20px; + opacity: .08; + z-index: 0; + } + + &.active { + p { + color: #fff; + } + &.ball { + &::before { + opacity: 1; + background: linear-gradient(223deg, #FFB99E, #FC90CD); + box-shadow: 0px 11px 10px 0px rgba(255, 242, 173, 0.36), 0px -1px 5px 0px rgba(255, 250, 171, 0.88), 0px -6px 10px 0px #000000; + } + } + &.joy { + &::before { + background: linear-gradient(223deg, #FF96D1, #D172FC); + box-shadow: 0px 11px 10px 0px rgba(255, 242, 173, 0.36), 0px -1px 5px 0px rgba(255, 250, 171, 0.88), 0px -6px 10px 0px #000000; + opacity: 1; + } + } + } + } + } + + .experience { + width: auto; + height: auto; + position: absolute; + left: 10px; + top: px2rem(200); + display: none; + + .giftBox { + width: px2rem(100); + height: px2rem(100); + position: relative; + // border: 1px solid white; + opacity: 1; + img { + width: 100%; + height: 100%; + } + &.hide { + opacity: 0; + } + + span { + position: absolute; + left: px2rem(90); + + &.crit { + width: px2rem(95); + height: px2rem(40); + text-align: right; + background: url('../img/carnival/exp-2.png') no-repeat 0 0 / 100% 100%; + line-height: px2rem(40); + top: px2rem(5); + z-index: 1; + font-size: 12px; + padding-right: px2rem(5); + color: #2B1C03; + } + &.times { + width: px2rem(90); + height: px2rem(40); + line-height: px2rem(40); + text-align: right; + padding-right: px2rem(10); + background: url('../img/carnival/exp-1.png') no-repeat 0 0 / 100% 100%; + z-index: 1; + top: px2rem(55); + font-size: 12px; + color: #FFF044; + } + } + } + + .exp-container { + width: px2rem(26); + height: px2rem(366); + margin-left: px2rem(18); + margin-top: px2rem(15); + border-radius: 25px; + // border: 4px solid #2C0767; + &.exp-container1 { + background: url('../img/carnival/bg1.png') no-repeat 0 0 / 100% 100%; + } + &.exp-container2 { + background: url('../img/carnival/bg2.png') no-repeat 0 0 / 100% 100%; + } + position: relative; + overflow: hidden; + + .strip { + width: px2rem(26); + height: 0; + position: absolute; + left: 0; + bottom: 0; + + &.exp-1 { + background: url('../img/carnival/exp1.png') no-repeat 0 0 / 100% 100%; + } + &.exp-2 { + background: url('../img/carnival/exp2.png') no-repeat 0 0 / 100% 100%; + } + } + } + + .exp-num { + margin-left: px2rem(5); + color: #fff044; + font-size: 14px; + margin-top: px2rem(10); + } + + .tips { + font-size: 13px; + color: white; + + span { + display: inline-block; + &:last-child { + width: px2rem(25); + height: px2rem(25); + margin-left: px2rem(8); + img { + width: 100%; + height: 100%; + } + } + } + } + } + + .status-mask { + width: px2rem(616); + height: px2rem(429); + border-radius: .32rem; + position: fixed; + left: 50%; + top: 50%; + transform:translate(-50%,-50%); + z-index: 10003; + // background-color:#FFFFFF; + background: url('../img/carnival/pop-bg.png') no-repeat 0 0 / 100% 100%; + display: none; + + .title { + width: 100%; + margin: px2rem(62) 0; + text-align: center; + font-size:.48rem; + color: #7E85FF; + font-weight: bold; + } + + .tips { + width: 100%; + text-align: center; + font-size:.373333rem; + color: #5F82A3; + margin-top: px2rem(70); + } + + .btn { + width: px2rem(334); + height: px2rem(108); + background: url('../img/index/btn.png') no-repeat 0 0 / 100% 100%; + // background: linear-gradient(0deg, #FFE34F, #F19825); + // border: px2rem(2) solid rgba(255, 255, 255, 0.7); + // box-shadow:0px 6px 12px 0px rgba(255,255,255,1), 0px -12px 46px 0px rgba(255,255,255,1), 0px 4px 18px 0px rgba(255,255,255,0.45); + // border-radius:.506667rem; + font-size: px2rem(36); + color: #fff; + font-weight: bold; + @include flex(); + @include flex-justify-center; + @include flex-align-center; + margin: .8rem auto 0; + padding-bottom: px2rem(10); + box-sizing: border-box; + } + } + + .gather-mask { + width: px2rem(616); + height: auto; + position: fixed; + top: px2rem(250); + left: 50%; + transform: translateX(-50%); + border-radius: 8px; + // background-color: white; + background: url('../img/index/buy-bg.png') no-repeat 0 0 / 100% 100%; + z-index: 10003; + display: none; + + .title { + width: 100%; + font-size: px2rem(40); + font-weight: bold; + color: #7E85FF; + text-align: center; + margin-top: px2rem(50); + } + .tips { + width: 100%; + text-align: center; + color: #5F82A3; + font-size: 13px; + opacity: .8; + margin-top: px2rem(16); + } + + ul { + @include flex(); + @include flex-justify-start; + @include flex-align-center; + @include flex-wrap(); + + width: px2rem(444); + height: auto; + margin: 0 auto; + margin-top: px2rem(39); + + li { + width: px2rem(92); + margin: px2rem(8); + p { + &:first-child { + width: 100%; + height: px2rem(92); + + img { + width: 100%; + } + } + &:last-child { + font-size: 12px; + color: #999; + text-align: center; + margin-top: px2rem(8); + } + } + } + } + + .btn { + width: px2rem(334); + height: px2rem(108); + background: url('../img/index/btn.png') no-repeat 0 0 / 100% 100%; + // background: linear-gradient(0deg, #FFE34F, #F19825); + // border: px2rem(2) solid rgba(255, 255, 255, 0.7); + // box-shadow:0px 6px 12px 0px rgba(255,255,255,1), 0px -12px 46px 0px rgba(255,255,255,1), 0px 4px 18px 0px rgba(255,255,255,0.45); + // border-radius:.506667rem; + font-size: px2rem(36); + font-weight: bold; + color: #fff; + @include flex(); + @include flex-justify-center; + @include flex-align-center; + margin:.52rem auto; + padding-bottom: px2rem(10); + box-sizing: border-box; + } + } + + .rule-mask { + width: 100%; + height: 100%; + position: absolute; + left: 0; + top: -1000px; + z-index: 20000; + background-color: #180734; + + .nav { + width: 100%; + height: 50px; + border-bottom: 1px solid #37234f; + overflow: hidden; + position: relative; + + .back { + width: px2rem(30); + height: px2rem(28); + margin: px2rem(40); + img { + width: 100%; + } + } + + .title { + font-size: 16px; + color: white; + opacity: .7; + width: px2rem(150); + height: px2rem(52); + position: absolute; + top: 50%; + text-align: center; + line-height: px2rem(52); + left: 50%; + margin-left: px2rem(-75); + margin-top: px2rem(-26); + } + } + + .content { + width: 80%; + height: 78%; + margin: 0 auto; + margin-top: 8%; + overflow: auto; + + &::-webkit-scrollbar { + display: none; + } + img { + width: 100%; + } + &::after { + content: ''; + display: block; + width: 100%; + height: 20px; + } + } + } + + .rank-mask { + width: 100%; + height: 100%; + position: fixed; + left: 0; + top: -1000px; + // top: 0; + z-index: 20000; + background-color: #180734; + + .nav { + width: 100%; + height: px2rem(109); + border-bottom: 1px solid #37234F; + position: relative; + overflow: hidden; + + .back { + width: px2rem(30); + height: px2rem(28); + margin: px2rem(40); + img { + width: 100%; + height: 100%; + } + } + + .title { + font-size: 16px; + color: white; + opacity: .7; + width: px2rem(150); + height: px2rem(52); + position: absolute; + top: 50%; + text-align: center; + line-height: px2rem(52); + left: 50%; + margin-left: px2rem(-75); + margin-top: px2rem(-26); + } + } + + .content { + width: 100%; + height: 80%; + margin: 0 auto; + margin-top: px2rem(30); + overflow: auto; + + .tab { + @include flex(); + @include flex-justify-center; + @include flex-align-center; + + width: px2rem(300); + height: px2rem(40); + margin: 0 auto; + + li { + width: 50%; + height: 100%; + position: relative; + font-size: 14px; + color: white; + opacity: .7; + text-align: center; + + &.active { + font-size: 16px; + opacity: 1; + + + &::after { + content: ''; + display: block; + width: px2rem(14); + height: px2rem(6); + background-color: white; + opacity: .7; + position: absolute; + left: 50%; + bottom: px2rem(-18); + margin-left: px2rem(-8); + border-radius: 3px; + } + } + } + } + + .tips { + @include flex(); + @include flex-justify-center; + @include flex-align-center; + + width: 100%; + margin-top: px2rem(40); + + p { + padding: 5px 15px; + font-size: 12px; + background-color: #2B1B48; + color: #CFCFF4; + border-radius: 25px; + width: auto; + height: auto; + margin: 0 auto; + } + } + + .rank-yesterday-box { + margin-top: px2rem(20); + padding: 0 px2rem(35) 0 px2rem(45); + box-sizing: border-box; + text-align: center; + color: #fff; + font-size: px2rem(28); + display: none; + &.active { + display: block; + } + .rank-title { + opacity: .5; + &.rank-title-today { + margin-top: px2rem(40); + } + } + .remark { + margin-top: px2rem(15); + text-align: left; + font-size: px2rem(28); + color: #808080; + } + .rank-box { + @include flex; + @include flex-justify-between; + .rank-item { + padding-top: px2rem(50); + flex: 1; + .rank-ava { + margin: 0 auto; + position: relative; + width: px2rem(138); + height: px2rem(138); + border-radius: 50%; + .img-item { + width: px2rem(138); + height: px2rem(138); + border-radius: 50%; + } + &::after { + content: ' '; + left: 50%; + top: px2rem(-38); + -webkit-transform: translateX(-50%); + transform: translateX(-50%); + position: absolute; + background: url() no-repeat 0 0 / 100% 100%; + } + } + .rank-nick { + margin: px2rem(30) auto 0; + width: px2rem(160); + } + .rank-desc { + margin-top: px2rem(10); + font-size: px2rem(26); + font-weight: 400; + color: #FFC600; + white-space: nowrap; + } + &.rank-item0 { + .rank-ava { + margin-top: px2rem(10); + &::after { + width: px2rem(190); + height: px2rem(190); + background-image: url('../img/carnival/no0.png'); + } + } + } + &.rank-item1 { + .rank-ava { + margin-top: px2rem(95); + width: px2rem(125); + height: px2rem(125); + .img-item { + width: px2rem(125); + height: px2rem(125); + } + &::after { + top: px2rem(-33); + width: px2rem(170); + height: px2rem(170); + background-image: url('../img/carnival/no1.png'); + } + } + } + &.rank-item2 { + .rank-ava { + margin-top: px2rem(125); + width: px2rem(110); + height: px2rem(110); + .img-item { + width: px2rem(110); + height: px2rem(110); + } + &::after { + top: px2rem(-30); + width: px2rem(154); + height: px2rem(154); + background-image: url('../img/carnival/no2.png'); + } + } + } + } + } + } + + .rank-container { + width: 100%; + height: 65%; + margin-top: px2rem(15); + overflow: hidden; + overflow-y: scroll; + display: none; + + &:-webkit-scrollbar { + display: none; + } + + li { + @include flex(); + @include flex-justify-start; + @include flex-align-center; + + width: 100%; + height: px2rem(130); + position: relative; + + &:last-child { + margin-bottom: px2rem(30); + } + + p { + &:first-child { + width: px2rem(60); + height: px2rem(60); + font-size: 20px; + color: #DEDCE0; + text-align: center; + line-height: px2rem(60); + margin-left: px2rem(27); + img { + width: 100%; + } + } + &.avatar { + width: px2rem(90); + height: px2rem(90); + border-radius: 50%; + overflow: hidden; + margin-left: px2rem(29); + img { + width: 100%; + } + } + &.info { + @include flex(); + @include flex-justify-center; + @include flex-align-start; + @include flexv(); + + margin-left: px2rem(16); + width: auto; + height: 100%; + span { + display: block; + width: auto; + color: white; + font-size: 15px; + margin-top: px2rem(5); + &:last-child { + opacity: .7; + font-size: 13px; + margin-left: 0; + } + } + } + + &.score { + font-size: 16px; + height: 100%; + width: auto; + color: #E1AD0D; + position: absolute; + right: px2rem(48); + top: 0; + text-align: right; + + span { + @include flex(); + @include flex-justify-center; + @include flex-align-end; + @include flexv(); + small { + font-size: 12px; + + &:first-child { + font-size: 16px; + } + } + &.align-center { + @include flex(); + @include flex-justify-center; + @include flex-align-center; + + height: 100%; + } + } + } + } + } + } + } + + .mine { + @include flex(); + @include flex-justify-start; + @include flex-align-center; + + position: absolute; + left: 0; + bottom: 0; + width: 100%; + height: px2rem(130); + background-color: #2C1749; + animation: mine_show linear .5s 1s forwards; + opacity: 0; + + p { + &.rank-num { + width: px2rem(70); + font-size: 20px; + color: white; + margin-left: px2rem(23); + text-align: center; + + &.not-up { + width: px2rem(90); + font-size: 12px; + } + } + &.avatar { + width: px2rem(90); + height: px2rem(90); + border-radius: 50%; + overflow: hidden; + margin-left: px2rem(22); + img { + width: 100%; + } + } + &.info { + @include flex(); + @include flex-justify-center; + @include flex-align-start; + @include flexv(); + + margin-left: px2rem(16); + width: auto; + + span { + font-size: 15px; + color: white; + opacity: .8; + + &:last-child { + font-size: 12px; + margin-left: 0; + width: auto; + + small { + opacity: .8; + &:first-child { + opacity: .5; + } + } + } + } + } + &.rank-info { + position: absolute; + right: px2rem(48); + height: px2rem(70); + top: 50%; + margin-top: px2rem(-35); + + span { + font-size: 16px; + color: #E0AD12; + display: block; + text-align: right; + + &:last-child { + font-size: 12px; + } + } + } + } + } + @keyframes mine_show { + 100% { + opacity: 1; + } + } + } + + .record-mask { + width: 100%; + height: 100%; + position: fixed; + left: 0; + top: 0; + background-color: #180734; + top: -1000px; + z-index: 2000; + + .nav { + width: 100%; + height: px2rem(109); + border-bottom: 1px solid #37234F; + position: relative; + overflow: hidden; + + .back { + width: px2rem(30); + height: px2rem(28); + margin: px2rem(40); + img { + width: 100%; + height: 100%; + } + } + + .title { + font-size: 16px; + color: white; + opacity: .7; + width: px2rem(150); + height: px2rem(52); + position: absolute; + top: 50%; + text-align: center; + line-height: px2rem(52); + left: 50%; + margin-left: px2rem(-75); + margin-top: px2rem(-26); + } + } + .tab { + @include flex(); + @include flex-justify-between; + @include flex-align-center; + + width: px2rem(231); + height: px2rem(46); + margin: 0 auto; + margin-top: px2rem(20); + + li { + height: 100%; + width: auto; + position: relative; + + p { + font-size: 14px; + color: #fff; + opacity: .7; + } + + &.active { + p { + opacity: 1; + font-size: 16px; + &:last-child { + width: px2rem(14); + height: px2rem(6); + border-radius: 3px; + position: absolute; + left: 50%; + margin-left: px2rem(-7); + bottom: px2rem(-8); + background-color: white; + } + } + } + } + } + .content { + width: 85%; + height: 60%; + margin: 0 auto; + margin-top: px2rem(40); + overflow: auto; + + &::-webkit-scrollbar { + display: none; + } + + .record-container { + width: 100%; + height: auto; + display: none; + li { + @include flex(); + @include flex-justify-start; + @include flex-align-center; + + width: 100%; + height: px2rem(120); + position: relative; + + p { + &:first-child { + width: px2rem(92); + height: px2rem(92); + img { + width: 100%; + height: 100%; + } + } + &:nth-child(2) { + margin-left: px2rem(15); + height: 100%; + line-height: px2rem(120); + font-size: 15px; + opacity: .8; + color: white; + } + &:last-child { + position: absolute; + right: 0; + height: 100%; + width: auto; + + span { + @include flex(); + @include flex-justify-center; + @include flex-align-end; + @include flexv(); + + // display: block; + // text-align: right; + font-size: 12px; + color: white; + opacity: .8; + height: 100%; + + small { + display: block; + text-align: right; + font-size: 12px; + color: white; + opacity: .8; + } + + &.num { + font-size: 15px; + color: #FFC600; + opacity: .8; + } + } + } + } + } + } + } + + .loading { + width: 100%; + text-align: center; + margin-top: 15px; + color: white; + opacity: .8; + font-size: 15px; + display: none; + } + + .tips { + width: px2rem(390); + height: px2rem(52); + border-radius: 25px; + text-align: center; + line-height: px2rem(52); + background-color: #2D1845; + color: white; + font-size: 12px; + margin: 0 auto; + margin-top: px2rem(30); + } + } + + .shade { + width: 100%; + height: 100%; + position: fixed; + left: 0; + top: 0; + background-color: black; + opacity: .7; + z-index: 10000; + display: none; + } + + .exp-toast { + width: px2rem(400); + height: px2rem(175); + color: white; + font-size: 12px; + position: fixed; + left: 50%; + top: 50%; + margin-left: px2rem(-230); + margin-top: px2rem(-60); + text-align: center; + line-height: px2rem(60); + padding: 5px 20px; + border-radius: 5px; + z-index: 10000; + display: none; + + &::after { + content: ''; + display: block; + position: absolute; + left: 0; + top: 0; + background-color: black; + opacity: .6; + z-index: -1; + width: 100%; + height: 100%; + } + } +} + +.toast { + width: px2rem(600); + height: px2rem(80); + line-height: px2rem(80); + text-align: center; + color: white; + font-size: 12px; + position: fixed; + left: 50%; + top: 50%; + margin-left: px2rem(-300); + margin-top: px2rem(-40); + background-color: black; + border-radius: 5px; + display: none; + z-index: 1002; +} diff --git a/act_project/carnival12/css/index.scss b/act_project/carnival12/css/index.scss new file mode 100644 index 0000000..684c4d0 --- /dev/null +++ b/act_project/carnival12/css/index.scss @@ -0,0 +1,509 @@ +@function px2rem($px, $rem:67) { + @return $px / $rem+rem; +} + +@import '../../../common/css/flex.scss'; + +.mask { + z-index: 120; + position: fixed; + width: 100%; + left: 0; + bottom: 0; + display: flex; + height: 60px; + align-items: center; + background: rgba(0, 0, 0, 0.5); + justify-content: space-between; + padding: 0 8px; + box-sizing: border-box; + display: none; + .logo { + width: 40px; + img { + width: 100%; + } + } + .slogan { + color: #fff; + } +} +#download { + border: 1px solid #fff; + color: #fff; + width: 80px; + text-align: center; + border-radius: 15px; + line-height: 30px; + a { + color: #fff; + } +} +*{ + -webkit-overflow-scrolling: touch; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); + -webkit-tap-highlight-color: transparent; +} +body{ + font-family:PingFang SC; + background: #FFB4D7; + z-index:-1; + .max { + max-width: px2rem(670); + margin: 0 auto; + .title-one { + width: 100%; + img { + width: 100%; + height: 100%; + } + } + .rule-btn { + width: px2rem(90); + height: px2rem(54); + position: absolute; + left: px2rem(30); + top: px2rem(20); + img { + width:100%; + height:100%; + } + } + .cloth-box { + width:100%; + padding-bottom:2.4rem; + margin:-2.2rem auto 0; + li { + width: px2rem(640); + height: px2rem(420); + position:relative; + margin:px2rem(10) auto 0; + @include flex(); + @include flex-justify-center; + background:url('../img/index/li-card.png') no-repeat 0 0 / 100% 100%; + .h-title{ + position:absolute; + margin: px2rem(32) auto 0; + letter-spacing:.053333rem; + font-size: px2rem(28); + font-weight: bold; + color: #7E85FF; + line-height: px2rem(50); + } + .gift-img{ + width:px2rem(156); + height: px2rem(156); + position:absolute; + box-sizing: border-box; + left: px2rem(80); + top: px2rem(115); + @include flex; + @include flex-align-center; + @include flex-justify-center; + img{ + box-sizing: border-box; + padding: px2rem(10); + width:100%; + height: 100%; + object-fit: cover; + } + + } + .gift-text{ + position:absolute; + left: px2rem(302); + top: px2rem(105); + p:first-child{ + font-size:px2rem(34); + font-weight:bold; + color: #FE7BA7; + letter-spacing:.026667rem; + } + p:nth-child(2){ + font-size:px2rem(28); + font-weight:bold; + color:#FF8F4C; + } + p:nth-child(3){ + font-size:px2rem(26); + font-weight:500; + text-decoration:line-through; + color: #9C9C9C; + line-height:px2rem(47); + opacity:0.8; + } + p:last-child{ + font-size:px2rem(26); + font-weight: 500; + color: #9C9C9C; + opacity:0.8; + line-height: px2rem(47); + } + } + .buy-btn{ + width: px2rem(300); + height: px2rem(81); + position:absolute; + bottom: px2rem(45); + @include flex(); + @include flex-justify-center; + background: url('../img/index/buy.png') no-repeat 0 0 / 100% 100%; + &.gray { + background: url('../img/index/buy-gray.png') no-repeat 0 0 / 100% 100%; + } + } + } + + } + .buy-mask { + width: px2rem(616); + height: px2rem(596); + // border-radius:.213333rem; + // background-color: #FFFFFF; + position: fixed; + left:50%; + top:50%; + transform:translate(-50%,-50%); + background: url('../img/index/buy-bg.png') no-repeat 0 0 / 100% 100%; + z-index: 1001; + display: none; + .b-box{ + padding: 0 px2rem(25); + margin-top: px2rem(63); + .b-title{ + color:#7E85FF; + line-height: px2rem(52); + text-align:center; + font-size: px2rem(35); + font-weight:bold; + letter-spacing:.013333rem; + .giftName{ + font-weight:bold; + } + } + .b-number{ + padding:0 .906667rem; + margin-top: px2rem(80); + @include flex(); + .input-box{ + @include flex(); + @include flex-align-center; + height:.64rem; + margin-top:-0.066667rem; + .remove-btn{ + width: px2rem(56); + height: px2rem(56); + @include flex(); + @include flex-justify-center; + @include flex-align-center; + border-radius: px2rem(24) 0 0 px2rem(24); + background:rgba($color: #D4F4FF, $alpha: 0.6); + .remove-icon{ + opacity: .6; + display:block; + width: px2rem(20); + height: px2rem(4); + background: url('../img/index/remove-icon.png') no-repeat 0 0 / 100% 100%; + background-size:100% 100%; + } + } + .b-input{ + width: px2rem(102); + height: px2rem(56); + background:#D4F4FF; + text-align:center; + font-size: px2rem(30); + font-weight:500; + color: #8FA4B8; + margin:0 .106667rem; + border:0; + outline:none; + } + .add-btn{ + width: px2rem(56); + height: px2rem(56); + @include flex(); + @include flex-justify-center; + @include flex-align-center; + border-radius: 0 px2rem(24) px2rem(24) 0; + background:rgba($color: #D4F4FF, $alpha: 0.6); + .add-icon{ + display:block; + width: px2rem(20); + height: px2rem(20); + background: url('../img/index/add-icon.png') no-repeat; + background-size:100% 100%; + } + } + } + + + } + .b-text{ + white-space:nowrap; + font-size: px2rem(34); + font-weight:500; + color:rgba($color: #8EA4B7, $alpha: 1.0); + line-height:.48rem; + margin-bottom: px2rem(47); + span:first-child{ + margin-right:.4rem; + } + } + .b-day{ + padding:0 .906667rem; + span:nth-child(2),span:last-child{ + color:#FE7BA7; + letter-spacing:.013333rem; + } + } + .b-price{ + padding:0 .906667rem; + span:nth-child(2),span:last-child{ + color: #FFA530; + letter-spacing:.013333rem; + } + + } + .b-btns{ + @include flex(); + @include flex-justify-between; + margin-top: px2rem(55); + .close-btn{ + width: px2rem(261); + height: px2rem(107); + background:url('../img/index/btn-cancel.png') no-repeat 0 0 / 100% 100%; + @include flex(); + @include flex-justify-center; + @include flex-align-center; + } + .confirm-btn{ + width: px2rem(261); + height: px2rem(107); + background: url('../img/index/btn-confirm.png') no-repeat 0 0 / 100% 100%; + margin-top: px2rem(-5); + margin-left: px2rem(10); + @include flex(); + @include flex-justify-center; + @include flex-align-center; + + } + } + } + } + + .rule-mask { + width: px2rem(616); + height: px2rem(596); + position: fixed; + left: 50%; + top: 50%; + transform:translate(-50%,-50%); + z-index: 1001; + // background-color:#FFFFFF; + background: url('../img/index/buy-bg.png') no-repeat 0 0 / 100% 100%; + border-radius:.213333rem; + // overflow: hidden; + display: none; + .title { + width: 100%; + text-align: center; + font-size: px2rem(40); + color: #7E85FF; + margin-top: px2rem(60); + font-weight: bold; + // background: linear-gradient(0deg, #FFE691 0%, #FEFAD5 100%); + // -webkit-background-clip: text; + // -webkit-text-fill-color: transparent; + } + .content { + width: px2rem(524); + height: px2rem(425); + margin: 0 auto; + margin-top:.4rem; + overflow: auto; + &::-webkit-scrollbar { + display: none; + } + p { + width: 100%; + height:13.333333rem; + img { + width:100%; + } + } + } + .cancel { + width: px2rem(70); + height:px2rem(70); + position: absolute; + left: 50%; + transform: translateX(-50%); + bottom: px2rem(-110); + img { + width:100%; + height:100%; + } + } + } + .statusMask { + width: px2rem(616); + height: px2rem(596); + // border-radius:.213333rem; + // background-color:#FFFFFF; + background: url('../img/index/buy-bg.png') no-repeat 0 0 / 100% 100%; + position: fixed; + left: 50%; + top: 50%; + transform:translate(-50%,-50%); + z-index: 1001; + display: none; + .cancel { + width: px2rem(70); + height: px2rem(70); + position: absolute; + left: 50%; + transform: translate(-50%,0); + bottom: px2rem(-80); + img { + width:100%; + height:100%; + } + } + .title { + width: 100%; + text-align: center; + font-size: px2rem(40); + color: #7E85FF; + font-weight:bold; + margin-top: px2rem(60); + } + + .avatar { + width: px2rem(120); + height: px2rem(120); + margin: 0 auto; + margin-top: px2rem(64); + + img { + width: 100%; + height:100%; + } + } + + .tip { + width: 100%; + text-align: center; + font-size: px2rem(30); + color: #909090; + } + + .in-btn, .recharge { + @include flex; + @include flex-align-center; + @include flex-justify-between; + display: block; + width: px2rem(300); + height: px2rem(108); + background:url('../img/index/btn.png') no-repeat 0 0 / 100% 100%; + background-size:100% 100%; + font-size: px2rem(36); + line-height: px2rem(92); + box-sizing: border-box; + text-align: center; + margin: px2rem(60) auto 0; + font-weight: bold; + padding-bottom: px2rem(10); + color: #fff; + } + } + .shade { + width: 100%; + position:fixed; + z-index:1000; + left: 0; + top: 0; + height: 100%; + background:rgba(0,0,0,0.7); + display: none; + } + .mine { + @include flex(); + @include flex-justify-between; + @include flex-align-center; + width: 100%; + height:1.866667rem; + position: fixed; + left: 0; + bottom: 0; + background: linear-gradient(0deg, #2580B3, #EFB3F2); + z-index: 100; + li { + margin: 0 .533333rem; + img { + width: 100%; + } + + &:first-child { + @include flex(); + @include flex-justify-start; + @include flex-align-center; + p { + &:first-child { + width:1.066667rem; + height:1.066667rem; + border-radius:50%; + overflow: hidden; + font-weight:500; + } + + &:last-child { + margin-left:.266667rem; + span { + display: block; + &:first-child { + line-height: px2rem(38); + font-size: px2rem(26); + color: #fff; + font-weight: bold; + white-space: nowrap; + } + &:last-child { + font-size: px2rem(22); + font-weight: 500; + color: rgba($color: #C1C4FD, $alpha: 1); + b { + color: rgba($color: #fff, $alpha: 1); + } + } + } + } + } + } + + &:last-child { + margin-top: px2rem(10); + width: px2rem(180); + height: px2rem(81); + } + } + } + } + /*提示信息样式*/ + .ajaxtiptext{ + position:fixed; + top:50%; + left:50%; + transform:translate(-50%,-50%); + text-align: center; + color:#FFFFFF; + padding:.2rem .4rem; + border-radius:.333333rem; + letter-spacing:.013333rem; + background:rgba(0,0,0,0.8); + animation:ajaxani 0.3s forwards; + z-index:9999; + white-space:nowrap; + } +} + diff --git a/act_project/carnival12/gulpfile.js b/act_project/carnival12/gulpfile.js new file mode 100644 index 0000000..7357063 --- /dev/null +++ b/act_project/carnival12/gulpfile.js @@ -0,0 +1,23 @@ +var gulp = require('gulp'); +var fs = require('fs'); +var path = require('path'); + +// 注册 +var deep = 3; +run_tasks('_tasks'); + +function run_tasks(tasks_path) { + if (--deep < 0) { + throw new Error('something wrong in require tasks!'); + // eslint-disable-next-line no-unreachable + return; + } + + tasks_path = path.join('../', tasks_path); + + if (fs.existsSync(tasks_path)) { + require(tasks_path)(gulp); + } else { + run_tasks(tasks_path); + } +} diff --git a/act_project/carnival12/img/carnival/back-btn.png b/act_project/carnival12/img/carnival/back-btn.png new file mode 100644 index 0000000..fc75bde Binary files /dev/null and b/act_project/carnival12/img/carnival/back-btn.png differ diff --git a/act_project/carnival12/img/carnival/bg1.png b/act_project/carnival12/img/carnival/bg1.png new file mode 100644 index 0000000..74f6dd3 Binary files /dev/null and b/act_project/carnival12/img/carnival/bg1.png differ diff --git a/act_project/carnival12/img/carnival/bg2.png b/act_project/carnival12/img/carnival/bg2.png new file mode 100644 index 0000000..0225fbe Binary files /dev/null and b/act_project/carnival12/img/carnival/bg2.png differ diff --git a/act_project/carnival12/img/carnival/draw-btn-2.png b/act_project/carnival12/img/carnival/draw-btn-2.png new file mode 100644 index 0000000..198c6fd Binary files /dev/null and b/act_project/carnival12/img/carnival/draw-btn-2.png differ diff --git a/act_project/carnival12/img/carnival/draw-btn.png b/act_project/carnival12/img/carnival/draw-btn.png new file mode 100644 index 0000000..34c8a02 Binary files /dev/null and b/act_project/carnival12/img/carnival/draw-btn.png differ diff --git a/act_project/carnival12/img/carnival/exp-1.png b/act_project/carnival12/img/carnival/exp-1.png new file mode 100644 index 0000000..700333c Binary files /dev/null and b/act_project/carnival12/img/carnival/exp-1.png differ diff --git a/act_project/carnival12/img/carnival/exp-2.png b/act_project/carnival12/img/carnival/exp-2.png new file mode 100644 index 0000000..806e9a7 Binary files /dev/null and b/act_project/carnival12/img/carnival/exp-2.png differ diff --git a/act_project/carnival12/img/carnival/exp1.png b/act_project/carnival12/img/carnival/exp1.png new file mode 100644 index 0000000..9b0d389 Binary files /dev/null and b/act_project/carnival12/img/carnival/exp1.png differ diff --git a/act_project/carnival12/img/carnival/exp2.png b/act_project/carnival12/img/carnival/exp2.png new file mode 100644 index 0000000..f3ab87c Binary files /dev/null and b/act_project/carnival12/img/carnival/exp2.png differ diff --git a/act_project/carnival12/img/carnival/feedback.png b/act_project/carnival12/img/carnival/feedback.png new file mode 100644 index 0000000..953ca63 Binary files /dev/null and b/act_project/carnival12/img/carnival/feedback.png differ diff --git a/act_project/carnival12/img/carnival/gather-btn.png b/act_project/carnival12/img/carnival/gather-btn.png new file mode 100644 index 0000000..d10371d Binary files /dev/null and b/act_project/carnival12/img/carnival/gather-btn.png differ diff --git a/act_project/carnival12/img/carnival/no0.png b/act_project/carnival12/img/carnival/no0.png new file mode 100644 index 0000000..7dfa915 Binary files /dev/null and b/act_project/carnival12/img/carnival/no0.png differ diff --git a/act_project/carnival12/img/carnival/no1.png b/act_project/carnival12/img/carnival/no1.png new file mode 100644 index 0000000..76f2283 Binary files /dev/null and b/act_project/carnival12/img/carnival/no1.png differ diff --git a/act_project/carnival12/img/carnival/no2.png b/act_project/carnival12/img/carnival/no2.png new file mode 100644 index 0000000..1cc2e5f Binary files /dev/null and b/act_project/carnival12/img/carnival/no2.png differ diff --git a/act_project/carnival12/img/carnival/noava.png b/act_project/carnival12/img/carnival/noava.png new file mode 100644 index 0000000..88f4f67 Binary files /dev/null and b/act_project/carnival12/img/carnival/noava.png differ diff --git a/act_project/carnival12/img/carnival/point-2.png b/act_project/carnival12/img/carnival/point-2.png new file mode 100644 index 0000000..a72145e Binary files /dev/null and b/act_project/carnival12/img/carnival/point-2.png differ diff --git a/act_project/carnival12/img/carnival/point.png b/act_project/carnival12/img/carnival/point.png new file mode 100644 index 0000000..30ff524 Binary files /dev/null and b/act_project/carnival12/img/carnival/point.png differ diff --git a/act_project/carnival12/img/carnival/pop-bg.png b/act_project/carnival12/img/carnival/pop-bg.png new file mode 100644 index 0000000..509578c Binary files /dev/null and b/act_project/carnival12/img/carnival/pop-bg.png differ diff --git a/act_project/carnival12/img/carnival/rank-1.png b/act_project/carnival12/img/carnival/rank-1.png new file mode 100644 index 0000000..10b3d5b Binary files /dev/null and b/act_project/carnival12/img/carnival/rank-1.png differ diff --git a/act_project/carnival12/img/carnival/rank-2.png b/act_project/carnival12/img/carnival/rank-2.png new file mode 100644 index 0000000..4e44680 Binary files /dev/null and b/act_project/carnival12/img/carnival/rank-2.png differ diff --git a/act_project/carnival12/img/carnival/rank-3.png b/act_project/carnival12/img/carnival/rank-3.png new file mode 100644 index 0000000..506a7f6 Binary files /dev/null and b/act_project/carnival12/img/carnival/rank-3.png differ diff --git a/act_project/carnival12/img/carnival/rank-btn.png b/act_project/carnival12/img/carnival/rank-btn.png new file mode 100644 index 0000000..ed0dc84 Binary files /dev/null and b/act_project/carnival12/img/carnival/rank-btn.png differ diff --git a/act_project/carnival12/img/carnival/record-btn.png b/act_project/carnival12/img/carnival/record-btn.png new file mode 100644 index 0000000..4b6fc63 Binary files /dev/null and b/act_project/carnival12/img/carnival/record-btn.png differ diff --git a/act_project/carnival12/img/carnival/rule-btn.png b/act_project/carnival12/img/carnival/rule-btn.png new file mode 100644 index 0000000..5be349b Binary files /dev/null and b/act_project/carnival12/img/carnival/rule-btn.png differ diff --git a/act_project/carnival12/img/carnival/rule-text.png b/act_project/carnival12/img/carnival/rule-text.png new file mode 100644 index 0000000..18065ea Binary files /dev/null and b/act_project/carnival12/img/carnival/rule-text.png differ diff --git a/act_project/carnival12/img/carnival/turntable-2.png b/act_project/carnival12/img/carnival/turntable-2.png new file mode 100644 index 0000000..3409b62 Binary files /dev/null and b/act_project/carnival12/img/carnival/turntable-2.png differ diff --git a/act_project/carnival12/img/carnival/turntable.png b/act_project/carnival12/img/carnival/turntable.png new file mode 100644 index 0000000..c13a200 Binary files /dev/null and b/act_project/carnival12/img/carnival/turntable.png differ diff --git a/act_project/carnival12/img/common/cancel.png b/act_project/carnival12/img/common/cancel.png new file mode 100644 index 0000000..6df376b Binary files /dev/null and b/act_project/carnival12/img/common/cancel.png differ diff --git a/act_project/carnival12/img/common/cancel1.png b/act_project/carnival12/img/common/cancel1.png new file mode 100644 index 0000000..ab86f0a Binary files /dev/null and b/act_project/carnival12/img/common/cancel1.png differ diff --git a/act_project/carnival12/img/common/enough-icon.png b/act_project/carnival12/img/common/enough-icon.png new file mode 100644 index 0000000..78c5706 Binary files /dev/null and b/act_project/carnival12/img/common/enough-icon.png differ diff --git a/act_project/carnival12/img/common/success-icon.png b/act_project/carnival12/img/common/success-icon.png new file mode 100644 index 0000000..25e01c6 Binary files /dev/null and b/act_project/carnival12/img/common/success-icon.png differ diff --git a/act_project/carnival12/img/gift/gift1.png b/act_project/carnival12/img/gift/gift1.png new file mode 100644 index 0000000..8dc0652 Binary files /dev/null and b/act_project/carnival12/img/gift/gift1.png differ diff --git a/act_project/carnival12/img/gift/gift10.png b/act_project/carnival12/img/gift/gift10.png new file mode 100644 index 0000000..54761da Binary files /dev/null and b/act_project/carnival12/img/gift/gift10.png differ diff --git a/act_project/carnival12/img/gift/gift11.png b/act_project/carnival12/img/gift/gift11.png new file mode 100644 index 0000000..443bf85 Binary files /dev/null and b/act_project/carnival12/img/gift/gift11.png differ diff --git a/act_project/carnival12/img/gift/gift12.png b/act_project/carnival12/img/gift/gift12.png new file mode 100644 index 0000000..d3e5b35 Binary files /dev/null and b/act_project/carnival12/img/gift/gift12.png differ diff --git a/act_project/carnival12/img/gift/gift13.png b/act_project/carnival12/img/gift/gift13.png new file mode 100644 index 0000000..ffd22ed Binary files /dev/null and b/act_project/carnival12/img/gift/gift13.png differ diff --git a/act_project/carnival12/img/gift/gift14.png b/act_project/carnival12/img/gift/gift14.png new file mode 100644 index 0000000..dc57e7a Binary files /dev/null and b/act_project/carnival12/img/gift/gift14.png differ diff --git a/act_project/carnival12/img/gift/gift15.png b/act_project/carnival12/img/gift/gift15.png new file mode 100644 index 0000000..18f575f Binary files /dev/null and b/act_project/carnival12/img/gift/gift15.png differ diff --git a/act_project/carnival12/img/gift/gift2.png b/act_project/carnival12/img/gift/gift2.png new file mode 100644 index 0000000..da208e5 Binary files /dev/null and b/act_project/carnival12/img/gift/gift2.png differ diff --git a/act_project/carnival12/img/gift/gift3.png b/act_project/carnival12/img/gift/gift3.png new file mode 100644 index 0000000..722d23b Binary files /dev/null and b/act_project/carnival12/img/gift/gift3.png differ diff --git a/act_project/carnival12/img/gift/gift4.png b/act_project/carnival12/img/gift/gift4.png new file mode 100644 index 0000000..da41357 Binary files /dev/null and b/act_project/carnival12/img/gift/gift4.png differ diff --git a/act_project/carnival12/img/gift/gift5.png b/act_project/carnival12/img/gift/gift5.png new file mode 100644 index 0000000..ce58dbf Binary files /dev/null and b/act_project/carnival12/img/gift/gift5.png differ diff --git a/act_project/carnival12/img/gift/gift6.png b/act_project/carnival12/img/gift/gift6.png new file mode 100644 index 0000000..294474d Binary files /dev/null and b/act_project/carnival12/img/gift/gift6.png differ diff --git a/act_project/carnival12/img/gift/gift7.png b/act_project/carnival12/img/gift/gift7.png new file mode 100644 index 0000000..3e15339 Binary files /dev/null and b/act_project/carnival12/img/gift/gift7.png differ diff --git a/act_project/carnival12/img/gift/gift8.png b/act_project/carnival12/img/gift/gift8.png new file mode 100644 index 0000000..34708a7 Binary files /dev/null and b/act_project/carnival12/img/gift/gift8.png differ diff --git a/act_project/carnival12/img/gift/gift9.png b/act_project/carnival12/img/gift/gift9.png new file mode 100644 index 0000000..6412573 Binary files /dev/null and b/act_project/carnival12/img/gift/gift9.png differ diff --git a/act_project/carnival12/img/index/add-icon.png b/act_project/carnival12/img/index/add-icon.png new file mode 100644 index 0000000..071dcd0 Binary files /dev/null and b/act_project/carnival12/img/index/add-icon.png differ diff --git a/act_project/carnival12/img/index/btn-cancel.png b/act_project/carnival12/img/index/btn-cancel.png new file mode 100644 index 0000000..fb402dc Binary files /dev/null and b/act_project/carnival12/img/index/btn-cancel.png differ diff --git a/act_project/carnival12/img/index/btn-confirm.png b/act_project/carnival12/img/index/btn-confirm.png new file mode 100644 index 0000000..14780de Binary files /dev/null and b/act_project/carnival12/img/index/btn-confirm.png differ diff --git a/act_project/carnival12/img/index/btn.png b/act_project/carnival12/img/index/btn.png new file mode 100644 index 0000000..a8bcfdf Binary files /dev/null and b/act_project/carnival12/img/index/btn.png differ diff --git a/act_project/carnival12/img/index/buy-bg.png b/act_project/carnival12/img/index/buy-bg.png new file mode 100644 index 0000000..58e40d4 Binary files /dev/null and b/act_project/carnival12/img/index/buy-bg.png differ diff --git a/act_project/carnival12/img/index/buy-gray.png b/act_project/carnival12/img/index/buy-gray.png new file mode 100644 index 0000000..62e9cc1 Binary files /dev/null and b/act_project/carnival12/img/index/buy-gray.png differ diff --git a/act_project/carnival12/img/index/buy.png b/act_project/carnival12/img/index/buy.png new file mode 100644 index 0000000..ef27268 Binary files /dev/null and b/act_project/carnival12/img/index/buy.png differ diff --git a/act_project/carnival12/img/index/cancel.png b/act_project/carnival12/img/index/cancel.png new file mode 100644 index 0000000..bf30340 Binary files /dev/null and b/act_project/carnival12/img/index/cancel.png differ diff --git a/act_project/carnival12/img/index/in-btn.png b/act_project/carnival12/img/index/in-btn.png new file mode 100644 index 0000000..5d85588 Binary files /dev/null and b/act_project/carnival12/img/index/in-btn.png differ diff --git a/act_project/carnival12/img/index/li-card.png b/act_project/carnival12/img/index/li-card.png new file mode 100644 index 0000000..f07e987 Binary files /dev/null and b/act_project/carnival12/img/index/li-card.png differ diff --git a/act_project/carnival12/img/index/remove-icon.png b/act_project/carnival12/img/index/remove-icon.png new file mode 100644 index 0000000..b0493e7 Binary files /dev/null and b/act_project/carnival12/img/index/remove-icon.png differ diff --git a/act_project/carnival12/img/index/rule-btn.png b/act_project/carnival12/img/index/rule-btn.png new file mode 100644 index 0000000..8df9c7e Binary files /dev/null and b/act_project/carnival12/img/index/rule-btn.png differ diff --git a/act_project/carnival12/img/index/rule-text.png b/act_project/carnival12/img/index/rule-text.png new file mode 100644 index 0000000..3044e58 Binary files /dev/null and b/act_project/carnival12/img/index/rule-text.png differ diff --git a/act_project/carnival12/img/index/title.png b/act_project/carnival12/img/index/title.png new file mode 100644 index 0000000..cec0060 Binary files /dev/null and b/act_project/carnival12/img/index/title.png differ diff --git a/act_project/carnival12/index.html b/act_project/carnival12/index.html new file mode 100644 index 0000000..25ac274 --- /dev/null +++ b/act_project/carnival12/index.html @@ -0,0 +1,76 @@ + + + + + + 怦然心动 + <%- include('../html_tpl/style.html') %> + + + <%- include('../html_tpl/headScript.html') %> + + +
                    +
                    +
                    +
                      +
                      +
                    • +

                      +

                      + - + 我的门票: +

                      +
                    • +
                    • +
                      + +
                      +
                      +

                      购买

                      +
                      +

                      数量:

                      +
                      +
                      + +
                      +
                      +
                      +

                      天数:1天

                      +

                      金额:金币

                      +
                      +
                      +
                      +
                      +
                      +
                      +
                      +
                      + +
                      +
                      玩法介绍
                      +
                      +

                      +
                      +
                      +
                      +
                      + +
                      +
                      购买成功
                      +
                      余额不足
                      +
                      +
                      +
                      + 进入会场 +
                      去充值
                      +
                      知道了
                      +
                      +
                      + +
                      + + +<%- include('../html_tpl/script.html') %> + + \ No newline at end of file diff --git a/act_project/carnival12/js/carnival.js b/act_project/carnival12/js/carnival.js new file mode 100644 index 0000000..ef5f2f5 --- /dev/null +++ b/act_project/carnival12/js/carnival.js @@ -0,0 +1,946 @@ +// 指定全局变量 +/*global checkVersion locateJudge EnvCheck tools erbanMask wx wxConfig VConsole androidJsObj initNav template preloadImage */ +var info = {}; +var browser = checkVersion(); +var api = locateJudge(); +var env = EnvCheck(); + +var shareUrl = location.origin + '/activity'; +var share = { + title: '', + link: shareUrl, + imgUrl: 'https://img.erbanyy.com/new-logo.png', + desc: '' +}; +// eslint-disable-next-line +function getMessage(key, value) { + info[key] = value; +} + +wx.ready(function() { + wx.onMenuShareTimeline({ + title: share.title, + link: share.link, + imgUrl: share.imgUrl, + desc: share.desc + }); + + wx.onMenuShareAppMessage({ + title: share.title, + desc: share.desc, + link: share.link, + imgUrl: share.imgUrl, + type: 'link', + dataUrl: '' + }); + + wx.onMenuShareQQ({ + title: share.title, + desc: share.desc, + link: share.link, + imgUrl: share.imgUrl + }); +}); + +erbanMask('activity-name', 'activity-name'); +initNav({ + type: 2, + data: { + msg: 'wewawa', + link: share.link, + title: share.title, + showUrl: share.link, + imgUrl: share.imgUrl, + desc: share.desc + } +}); + +browser.weixin && wxConfig(); + +var requestScrollTimer +var toastTimer +var openSocketTimer +var imgTimer +var canvasTimer +var rotateTimer +var rotateTimer2 +var giftTimer + +clearInterval(requestScrollTimer) +requestScrollTimer = setInterval(function() { + getScrollTip() +}, 60000) + +var clickTab = 0 +var clickTabFlag = false +var clickNumIndex = 0 +var turntable = { + 0: { + rotateBol: false, + fontColor: [], // 字体颜色 + colors: [ + '#542339', + '#341C27' + ], // 板块颜色 + prizeName: [], // 奖品名称 + prizeImg: [ + 'img/gift/gift1.png', + 'img/gift/gift2.png', + 'img/gift/gift3.png', + 'img/gift/gift4.png', + 'img/gift/gift5.png', + 'img/gift/gift6.png', + 'img/gift/gift7.png', + 'img/gift/gift8.png' + ], // 奖品图片 + prizeImgArr: [], // 用于canvas绘画的图片 + prizeIndex: [] // 奖品下标 + }, + 1: { + rotateBol: false, + fontColor: [], // 字体颜色 + colors: [ + '#3D1B6E', + '#001F53' + ], // 板块颜色 + prizeName: [], // 奖品名称 + prizeImg: [ + 'img/gift/gift1.png', + 'img/gift/gift9.png', + 'img/gift/gift10.png', + 'img/gift/gift11.png', + 'img/gift/gift12.png', + 'img/gift/gift13.png', + 'img/gift/gift14.png', + 'img/gift/gift15.png' + ], // 奖品图片 + prizeImgArr: [], // 用于canvas绘画的图片 + prizeIndex: [] // 奖品下标 + } +} +var giftIntro = {} + +$(function() { + if (env == 'test') { + new VConsole(); + } + var main = { + init: function() { + this.getMsgFromDevice(); + setTimeout(() => { + this.getData(); + if(info.appVersion >= '1.3.6' && info.appVersion) { + $('.topNav1').show().siblings('.topNav2').hide(); + }else{ + $('.feedback,.topNav1').hide(); + $('.topNav2').show(); + } + }, 100); + this.eventRegister(); + }, + getMsgFromDevice: function() { + if (browser.app) { + if (browser.ios) { + window.webkit.messageHandlers.getDeviceId.postMessage(null); + window.webkit.messageHandlers.getRoomUid.postMessage(null); + } else if (browser.android) { + if (androidJsObj && typeof androidJsObj === 'object') { + info.deviceId = window.androidJsObj.getDeviceId(); + info.roomUid = window.androidJsObj.getRoomUid() + } + } + + info.uid = tools.nativeUtils.getUid(); + info.ticket = tools.nativeUtils.getTicket(); + info.appVersion = tools.nativeUtils.getAppVersion(); + } else { + info.uid = 925506; + info.roomUid = 923631 + info.deviceId = '8d9d6247-63a4-3acc-a164-01a6b1a3c098'; + info.ticket = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0aWNrZXRfdHlwZSI6bnVsbCwidWlkIjo5MjU1MDYsInRpY2tldF9pZCI6IjQ1MTE0N2IyLTJkYjEtNDYwNi1hOWQyLTU0ZmZmM2NkMDhjNSIsImV4cCI6MzYwMCwiY2xpZW50X2lkIjoiZXJiYW4tY2xpZW50In0.X7gEBqfPDH0ejsAAsx0xdJeuRsyMhUJ9B3tVjAuwZq0'; + } + }, + + eventRegister: function() { + $('.topNav .tab').on('click', function() { + if (clickTabFlag) { + return + } + $(this).addClass('active').siblings().removeClass('active') + clickTab = $(this).index() + + if (clickTab === 0) { + $('.exp-container').find('.strip').removeClass('exp-2').addClass('exp-1') + $('.exp-container').removeClass('exp-container2').addClass('exp-container1') + $('.canvas').find('.container1').removeClass('second').addClass('first') + $('.canvas .pointer img').attr('src', 'img/carnival/point.png') + $('.canvas .btn img').attr('src', 'img/carnival/draw-btn.png') + preloadImg(clickTab) + } else { + $('.exp-container').find('.strip').removeClass('exp-1').addClass('exp-2') + $('.exp-container').removeClass('exp-container1').addClass('exp-container2') + $('.canvas').find('.container1').removeClass('first').addClass('second') + $('.canvas .pointer img').attr('src', 'img/carnival/point-2.png') + $('.canvas .btn img').attr('src', 'img/carnival/draw-btn-2.png') + preloadImg(clickTab) + } + + info.clickStatu = false + getGiftInfo() + getticketChooseShow() + }) + $('.turnNum').on('click', 'li', function() { + $(this).addClass('active').siblings().removeClass('active') + clickNumIndex = $(this).index() + }) + + $('.experience').on('click', '.tips', function() { + $('.exp-toast').fadeIn(300, function() { + clearTimeout(toastTimer) + toastTimer = setTimeout(function() { + $('.exp-toast').hide() + }, 8000) + }) + }) + + $('.canvas').on('click', '.btn', function() { + if (!info.clickStatu) { + $('.toast').html('哎呀太挤了,请稍等').fadeIn(30).fadeOut(2000) + return false + } + if (turntable[clickTab].rotateBol) return + turntable[clickTab].rotateBol = true + clickTabFlag = true + var obj = { + 0: 'one', + 1: 'ten', + 2: 'hundred' + } + $.ajax({ + headers: { + pub_ticket: info.ticket + }, + type: 'POST', + url: api + '/activities/draw/turnTable', + data: { + uid: info.uid, + ticket: info.ticket, + roomUid: info.roomUid, + sendMessage: true, + ruleType: obj[clickNumIndex], + drawType: (clickTab === 0) ? 'turntable1' : 'turntable2', + deviceId: info.deviceId + }, + success: function(res) { + if (res.code === 200) { + var maxValue = 0 + var prizeId + var item + for (var i in res.data.prizeItemList) { + if (res.data.prizeItemList[i].platformValue > maxValue) { + maxValue = res.data.prizeItemList[i].platformValue + prizeId = res.data.prizeItemList[i].prizeId + item = turntable[clickTab].prizeIndex.indexOf(prizeId) + if (item == -1) { + item = 0 + } + } + console.log(item); + } + // ---------------- 用户抽奖记录接口 ----------- + $.ajax({ + headers: { + pub_ticket: info.ticket + }, + type: 'POST', + url: api + '/activities/draw/saveLog', + data: { + ticket: info.ticket, + uid: info.uid, + prizeids: JSON.stringify(res.data.prizeIdList), + prizeIndex: item, + createdTime: res.data.prizeItemList[0].createTime, + prizeIdList: JSON.stringify(turntable[clickTab].prizeIndex) + }, + success: function(res) { + // eslint-disable-next-line no-empty + if (res.code !== 200) console.log(res.message) + }, + error: function(err) { + console.log('报错了:', err) + } + }) + // ------------------ 用户抽奖记录接口 ------------ + $('.info').find('.ticketNum').html(res.data.remainKeyNum) + rotateFunc(item, 8, res.data.prizeItemList, res.data.prizeIdList, clickTab) + clearTimeout(rotateTimer) + rotateTimer = setTimeout(function() { + clickTabFlag = false + clearTimeout(rotateTimer) + }, 3000) + clearTimeout(rotateTimer2) + rotateTimer2 = setTimeout(function() { + turntable[clickTab].rotateBol = false + }, 1000) + } else if (res.code === 10000) { + // 门票不足 + $('.status-mask').find('.title').html('游玩失败') + $('.status-mask').find('.tips').html('亲,门票不足了哦~') + $('.status-mask').find('.btn').addClass('toGather').html('去收集') + $('.shade,.status-mask').show() + clickTabFlag = false + turntable[clickTab].rotateBol = false + } else if (res.code === 21111) { + // 游玩限制 + $('.status-mask').find('.title').html('本日游玩限制') + $('.status-mask').find('.tips').html('今日游玩次数已达上限哦~') + $('.status-mask').find('.btn').removeClass('toGather').html('知道了') + $('.shade,.status-mask').show() + clickTabFlag = false + } else { + turntable[clickTab].rotateBol = false + clickTabFlag = false + $('.toast').html(res.message).fadeIn(30).fadeOut(3000) + } + } + }) + }) + $('.status-mask').on('click', '.btn', function() { + if ($(this).hasClass('toGather')) { + $('.status-mask').hide() + $('.shade').hide() + window.location.href = './index.html' + } else { + $('.status-mask').hide() + $('.shade').hide() + } + }) + + $('.shade').on('click', function() { + $('.status-mask').hide() + $('.gather-mask').hide() + $('.shade').hide() + }) + + $('.help').on('click', function() { + $('.rule-mask').animate({ + top: 0 + }, 500) + }) + $('.rule-mask').on('click', '.back', function() { + $('.rule-mask').animate({ + top: -1000 + }, 500) + }) + + $('.rank-btn').on('click', function() { + renderRank(false) + }) + $('.rank-mask .tab').on('click', 'li', function() { + rankTabIndex = $(this).index() + $(this).addClass('active').siblings().removeClass('active') + renderRank(true) + }) + $('.rank-mask').on('click', '.back', function() { + $('.rank-mask').animate({ + top: -1000 + }, 500) + }) + + $('.status-mask').on('click', '.btn', function() { + $('.shade').hide() + $('.status-mask').hide() + }) + + $('.record-btn').on('click', function() { + renderRecord(false) + }) + $('.record-mask .tab').on('click', 'li', function() { + recordTabIndex = $(this).index() + recordPageNum = 1 + scrollFlag = false + $('.record-mask').find('.content').scrollTop(0) + $(this).addClass('active').siblings().removeClass('active') + renderRecord(true) + }) + $('.record-mask').on('click', '.back', function() { + $('.record-mask').animate({ + top: -1000 + }, 500) + }) + $('.record-mask .content').scroll(function() { + var scrollH = $(this).scrollTop() + var contentH = $('.record-container').height() + var viewH = $(this).height() + if (Math.ceil(viewH + scrollH) >= contentH) { + if (scrollFlag) { + return + } + scrollFlag = !scrollFlag + recordPageNum++ + renderRecord(true) + } + }) + $('.feedback').on('click', function() { + tools.nativeUtils.jumpAppointPage('FEEDPACK_PAGE', 'DRAW'); + }) + }, + getData: function() { + getScrollTip() + getticketChooseShow() + openSocket() + getExp() + getTicketNum() + preloadImg(clickTab) + getGiftInfo() + } + }; + + main.init(); +}); + +var scrollTimer +var tabTimer +var times +// var timeFlag = 0 +var timeTimer +// var cacheLine = 0 +var rankTabIndex = 0 +var recordTabIndex = 0 +var recordPageNum = 1 + +// 获取滚屏数据 +function getScrollTip() { + $('.container').hide() + $.ajax({ + type: 'GET', + url: api + '/activities/draw/queryPrizeMsg', + success: function(res) { + if (res.code === 200) { + for (var i in res.data) { + if (res.data[i].nick.length > 4) { + res.data[i].nick = res.data[i].nick.substring(0, 4) + '...' + } + if (res.data[i].drawType === 1) { + res.data[i]['table'] = '连理枝' + } else { + res.data[i]['table'] = '比翼鸟' + } + } + res.data.push(res.data[0]) + var _data = { + scrollMaskList: res.data + } + $('.container').html(template('scrollTmp', _data)) + $('.container').show() + animateScroll() + } + } + }) +} + +// 获取礼物信息 +function getGiftInfo() { + turntable[clickTab].prizeIndex = [] + // turntable[0].prizeImg = []; + // turntable[1].prizeImg = []; + giftIntro['giftIdArr'] = [] + $.ajax({ + type: 'GET', + url: api + '/activities/draw/queryPrizeInfo', + timeout: 15000, // 超时时间:30秒 + data: { + drawType: (clickTab === 0) ? 'turntable1' : 'turntable2' + }, + success: function(res) { + if (res.code === 200) { + for (var i in res.data) { + turntable[clickTab].prizeIndex.push(res.data[i].prizeId) + giftIntro.giftIdArr.push(res.data[i].prizeId) + // if(clickTab === 0) { + // turntable[0].prizeImg.push(res.data[i].prizeImgUrl) + // }else{ + // turntable[1].prizeImg.push(res.data[i].prizeImgUrl) + // } + } + // preloadImg(clickTab) + // 成功后可点击 + info.clickStatu = true + } else { + $('.toast').html(res.message).fadeIn(30).fadeOut(2000) + } + }, + error: function(res) { + $('.toast').html('哎呀太挤了,请稍等').fadeIn(30).fadeOut(2000) + } + }) +} + +// 滚屏 +function animateScroll() { + var length = $('.scrollMask').find('.container').height() + var _top = 0 + clearInterval(scrollTimer) + scrollTimer = setInterval(function() { + if (length + _top > 30) { + _top -= 30 + } else { + $('.scrollMask').find('.container').css({ + top: 0 + }) + _top = 0 + } + $('.scrollMask').find('.container').stop(true, true).animate({ + top: _top + }) + }, 2000) +} + +// 获取消耗数据 +function getticketChooseShow() { + var drawObj = { + 0: 'turntable1', + 1: 'turntable2' + } + $.ajax({ + type: 'GET', + url: api + '/activities/draw/queryTicketRule', + data: { + drawType: drawObj[clickTab] + }, + success: function(res) { + if (res.code === 200) { + // $('.turnNum').find('.num').eq(0).html(res.data.one + '次') + $('.turnNum').find('.ticket').eq(0).html('消耗' + res.data.one + '门票') + // $('.turnNum').find('.num').eq(1).html(res.data.ten + '次') + $('.turnNum').find('.ticket').eq(1).html('消耗' + res.data.ten + '门票') + // $('.turnNum').find('.num').eq(2).html(res.data.hundred + '次') + $('.turnNum').find('.ticket').eq(2).html('消耗' + res.data.hundred + '门票') + + if (clickTab === 0) { + $('.turnNum').find('li').removeClass('joy').addClass('ball') + } else { + $('.turnNum').find('li').removeClass('ball').addClass('joy') + } + } + } + }) +} + +// 打开socket链接 +function openSocket() { + var socket = null + var cacheType = 0 + if (typeof (WebSocket) === 'undefined') { + alert('暂不支持转盘socket') + } else { + var _url = (window.location.href.match('apibeta') || window.location.href.match('local')) ? 'http://apibeta.qxjiaoyou.com:8081' : 'https://api.qxjiaoyou.com:8081' + if (window.location.href.match('preview')) { + _url = 'https://preview.qxjiaoyou.com:8081' + } + var socketUrl = _url + '/websocket/activity/' + info.roomUid + socketUrl = socketUrl.replace('https', 'wss').replace('http', 'ws') + if (socket !== null) { + socket.close() + socket = null + } + socket = new WebSocket(socketUrl) + + socket.onopen = function() { + // 监听开启socket后的判断逻辑 + clearInterval(tabTimer) + tabTimer = setInterval(function() { + if (cacheType !== clickTab) { + cacheType = clickTab + getExp() + } + }, 10) + } + + socket.onmessage = function(res) { + // 监听服务端发送过来的数据 + + var data = JSON.parse(res.data) + if (data.data) { + renderExp(data.data) + } + } + + socket.onclose = function() { + socket = null + clearTimeout(openSocketTimer) + openSocketTimer = setTimeout(function() { + openSocket() + }, 5000) + } + + socket.onerror = function() { + console.log('socket错误') + } + } +} + +// 渲染经验值 +function getExp() { + $.ajax({ + type: 'GET', + url: api + '/activities/draw/getRunawayData', + data: { + drawType: (clickTab === 0) ? 'turntable1' : 'turntable2', + roomUid: info.roomUid + }, + success: function(res) { + if (res.code === 200) { + renderExp(res.data) + } + } + }) +} +var tableFlag +function renderExp(val) { + // console.log(val) + tableFlag = (val.drawType === 'turntable1') ? 0 : 1 + if (val.runawaySwitch) { + $('.experience').show() + } + + // 进度条计算 + if (tableFlag === clickTab) { + var height = $('.exp-container').height() + var percentage = val.curValue / val.runawayConfigValue + var _top + _top = height * percentage + $('.strip').stop(true).animate({ + height: _top + }, 200) + $('.experience').find('.maxNum').html(val.runawayConfigValue) + $('.experience').find('.num').html(val.curValue) + } + // 进度条计算 + + // 礼物显示 + if (JSON.stringify(val.poolPrize) !== '{}') { + if (val.poolTime > 0 && tableFlag === clickTab) { + renderTime(val) + } + // if (val.poolTime === val.runawayConfigTime && tableFlag === clickTab) { + // timeFlag = 1 + // $('.giftBox').removeClass('hide') + // renderTime(val.poolTime) + // $('.giftBox').find('img').attr('src', val.poolPrize.prizeImgUrl) + // } + } else { + $('.giftBox').addClass('hide') + } +} + +// 渲染倒计时 +function renderTime(val) { + times = val.poolTime + $('.giftBox').find('img').attr('src', val.poolPrize.prizeImgUrl) + $('.giftBox').removeClass('hide') + $('.experience').find('.times').html(times + '秒') + clearInterval(timeTimer) + timeTimer = setInterval(function() { + times-- + if (times === 0) { + // timeFlag = 0 + clearInterval(timeTimer) + $('.giftBox').addClass('hide') + } + $('.experience').find('.times').html(times + '秒') + }, 1000) +} + +// 获取门票数 +function getTicketNum() { + $.ajax({ + type: 'GET', + url: api + '/activities/draw/queryTicketNum', + data: { + uid: info.uid + }, + success: function(res) { + if (res.code === 200) { + $('.info').find('.ticketNum').html(res.data.num) + } + } + }) +} + +// 预加载图片 +function preloadImg(val) { + var img = { + imageArr: turntable[val].prizeImg, + doneFunc: function() { + clearInterval(imgTimer) + imgTimer = setTimeout(function() { + getCanvas(val) + }, 50) + } + } + preloadImage(img) +} + +// 转盘 +function getCanvas(val) { + var img + if (val === 0) { + $('#table').show() + $('#table2').hide() + } else { + $('#table').hide() + $('#table2').show() + } + for (let i in turntable[val].prizeImg) { + img = new Image() + img.src = turntable[val].prizeImg[i] + turntable[val].prizeImgArr.push(img) + } + var count = turntable[val].prizeImg.length + img.onload = function() { + var baseAngle = Math.PI * 2 / count + var _circle = (val === 0) ? document.getElementById('table') : document.getElementById('table2') + var circle = _circle.getContext('2d') + clearTimeout(canvasTimer) + canvasTimer = setTimeout(function() { + for(var i = 0; i < turntable[val].prizeImg.length; i++) { + circle.save() + circle.translate(_circle.width / 2, _circle.height / 2) + circle.strokeStyle = 'transparent' + var angle = i * baseAngle + var colorIndex = i % 2 + circle.fillStyle = turntable[val].colors[colorIndex] + circle.beginPath() + circle.moveTo(0, 0) + circle.arc(0, 0, 214, angle, angle + baseAngle, false) + circle.stroke() + circle.fill() + circle.rotate(angle + baseAngle / 2 + Math.PI / 2) + circle.imageSmoothEnabled = false + circle.drawImage(turntable[val].prizeImgArr[i], -55, -210, 100, 100) + circle.restore() + } + clearTimeout(canvasTimer) + }, 10) + } +} + +// 旋转 +function rotateFunc(item, count, data, idList, val) { + // $('.canvas').css({ + // transform: 'scale(.5)' + // }) + giftIntro['gatherId'] = item + giftIntro['gatherIdList'] = idList + console.log(giftIntro); + var baseAngle = 360 / count + var angle = 360 * 3 / 4 - (item * baseAngle) - baseAngle / 2 + giftIntro['angle'] = angle + var $rotate = (val === 0) ? $('#table') : $('#table2') + $rotate.stopRotate() + $rotate.rotate({ + angle: 0, + animateTo: angle + 360 * 5, + duration: 3000, + callback: function() { + // 获取弹窗渲染 + var $data = { + gatherList: data + } + $('.gift-list').html(template('gatherListTmp', $data)) + $('.gather-mask').show() + $('.shade').show() + clearTimeout(giftTimer) + giftTimer = setTimeout(function() { + $('.gather-mask').hide() + $('.shade').hide() + clearTimeout(giftTimer) + }, 1500) + } + }) +} + +// 渲染排行榜 +function renderRank(val) { + var tipsObj = { + 0: '抽奖票数越多,排名越高哦~每日零点重置', + 1: '获得奖励价值越高,排名越高哦~每日零点重置' + } + var urlObj = { + 0: '/activities/rank/ticketList', + 1: '/activities/rank/giftList' + } + $.ajax({ + type: 'POST', + url: api + urlObj[rankTabIndex], + data: { + uid: info.uid + }, + success: function(res) { + if (res.code === 200) { + $('.rank-mask').find('.tips p').html(tipsObj[rankTabIndex]) + for (var i in res.data.rankVoList) { + if (res.data.rankVoList[i].nick.length > 5) { + res.data.rankVoList[i].nick = res.data.rankVoList[i].nick.substring(0, 5) + '...' + } + if (i > 0) { + var distance = res.data.rankVoList[i - 1].value - res.data.rankVoList[i].value + if (distance > 10000) { + res.data.rankVoList[i]['distance'] = (distance / 10000).toFixed(1) + '万' + } else { + res.data.rankVoList[i]['distance'] = distance + } + } + } + if (!val) { + $('.rank-mask').animate({ + top: 0 + }, 500, function() { + var $data = { + rankList: res.data.rankVoList + } + $('.rank-container').html(template('rankListTmp', $data)).fadeIn(500) + }) + } else { + var $data = { + rankList: res.data.rankVoList + } + $('.rank-container').fadeOut(500, function() { + $('.rank-container').html(template('rankListTmp', $data)) + }).fadeIn(500) + } + + if (res.data.myRank.nick.length > 5) { + res.data.myRank.nick = res.data.myRank.nick.substring(0, 5) + '...' + } + if (res.data.myRank.value > 10000) { + res.data.myRank.value = (res.data.myRank.value / 10000).toFixed(1) + '万' + } + + $('.mine').find('.rank-num').html(res.data.myRank.rank) + $('.mine').find('.avatar img').attr('src', res.data.myRank.avatar) + $('.mine').find('.nick').html(res.data.myRank.nick) + if (rankTabIndex === 0) { + $('.mine').find('.score').html('我的捧场值:' + res.data.myRank.value) + $('.rank-yesterday-box').addClass('active') + for (var i = 0; i < 3; i++) { + var item = res.data.yesterdayRank[i] || '' + $(`.rank-item${i} .rank-ava .img-item`).attr('src', item.avatar || 'img/carnival/noava.png') + $(`.rank-item${i} .rank-nick`).html(item.nick || '虚位以待') + } + } else { + $('.mine').find('.score').html('我的迷人值:' + res.data.myRank.value) + $('.rank-yesterday-box').removeClass('active') + } + if (res.data.myRank.rank < 21) { + if (res.data.myRank.rank > 10 && res.data.myRank.rank < 21) { + $('.mine').find('.num').html(res.data.myRank.diffValue) + $('.mine').find('.distance').html('距上榜') + } else if (res.data.myRank.rank < 11 && res.data.myRank.rank > 1) { + $('.mine').find('.num').html(res.data.myRank.diffValue) + $('.mine').find('.distance').html('距上名') + } else { + $('.mine').find('.num').html(res.data.myRank.diffValue) + } + } else { + $('.mine').find('.num').html(res.data.myRank.diffValue) + $('.mine').find('.distance').html('未上榜') + } + // 跳转个人主页 + $('.rank-container').on('click', '.avatar', function() { + var uid = $(this).attr('data-uid'); + tools.nativeUtils.jumpAppointPage('PERSON_PAGE', uid); + }) + } + } + }) +} + +var recordCache = [] +var scrollFlag = false +var recordTimer +// 渲染抽奖记录 +function renderRecord(val) { + var typeObj = { + 0: 'time', + 1: 'worth' + } + $.ajax({ + type: 'GET', + url: api + '/activities/draw/drawRecord', + data: { + uid: info.uid, + sortType: typeObj[recordTabIndex], + page: recordPageNum, + pageSize: 10 + }, + success: function(res) { + if (res.code === 200) { + if (res.data.length === 0) { + return + } + if (recordTabIndex === 0) { + for (var i in res.data) { + var date = new Date(res.data[i].createTime) + var year = date.getFullYear() + var month = date.getMonth() + 1 + var day = date.getDate() + var hour = date.getHours() + var minute = date.getMinutes() + var second = date.getSeconds() + res.data[i].ymd = year + '-' + month + '-' + day + res.data[i].hms = hour + ':' + minute + ':' + second + } + } + if (scrollFlag) { + if (res.data.length > 0) { + for(var j in res.data) { + recordCache.push(res.data[j]) + } + } else { + $('.loading').html('暂无更多数据') + } + var $data2 = { + recordList: recordCache, + // eslint-disable-next-line no-unneeded-ternary + worth: (recordTabIndex === 1) ? true : false + } + $('.loading').show() + clearTimeout(recordTimer) + recordTimer = setTimeout(function() { + $('.loading').hide() + $('.record-container').html(template('recordTmp', $data2)) + scrollFlag = !scrollFlag + }, 2000) + return + } + if (!val) { + recordCache = [] + $('.record-mask').animate({ + top: 0 + }, 500, function() { + recordCache = res.data + var $data = { + recordList: recordCache, + // eslint-disable-next-line no-unneeded-ternary + worth: (recordTabIndex === 1) ? true : false + } + $('.record-container').html(template('recordTmp', $data)).fadeIn(500) + }) + } else { + recordCache = [] + recordCache = res.data + var $data = { + recordList: recordCache, + // eslint-disable-next-line no-unneeded-ternary + worth: (recordTabIndex === 1) ? true : false + } + $('.record-container').fadeOut(500, function() { + $('.record-container').html(template('recordTmp', $data)) + }).fadeIn(500) + } + } + } + }) +} diff --git a/act_project/carnival12/js/index.js b/act_project/carnival12/js/index.js new file mode 100644 index 0000000..695d8b5 --- /dev/null +++ b/act_project/carnival12/js/index.js @@ -0,0 +1,386 @@ +// 指定全局变量 +/*global checkVersion locateJudge EnvCheck tools erbanMask wx wxConfig VConsole androidJsObj initNav */ +var info = {}; +var browser = checkVersion(); +var api = locateJudge(); +var env = EnvCheck(); +var totalPrice = 0; +var shareUrl = location.origin + '/activity'; +var share = { + title: '', + link: shareUrl, + imgUrl: 'https://img.erbanyy.com/new-logo.png', + desc: '' +}; +// eslint-disable-next-line +function getMessage(key, value) { + info[key] = value; +} + +wx.ready(function() { + wx.onMenuShareTimeline({ + title: share.title, + link: share.link, + imgUrl: share.imgUrl, + desc: share.desc + }); + + wx.onMenuShareAppMessage({ + title: share.title, + desc: share.desc, + link: share.link, + imgUrl: share.imgUrl, + type: 'link', + dataUrl: '' + }); + + wx.onMenuShareQQ({ + title: share.title, + desc: share.desc, + link: share.link, + imgUrl: share.imgUrl + }); +}); + +erbanMask('activity-name', 'activity-name'); +initNav({ + type: 2, + data: { + msg: 'wewawa', + link: share.link, + title: share.title, + showUrl: share.link, + imgUrl: share.imgUrl, + desc: share.desc + } +}); + +browser.weixin && wxConfig(); + +$(function() { + if (env == 'test') { + new VConsole(); + } + + var main = { + init: function() { + this.getMsgFromDevice(); + setTimeout(() => { + this.getData(); + }, 100); + this.eventRegister(); + }, + getMsgFromDevice: function() { + if (browser.app) { + if (browser.ios) { + window.webkit.messageHandlers.getDeviceId.postMessage(null); + } else if (browser.android) { + if (androidJsObj && typeof androidJsObj === 'object') { + info.deviceId = window.androidJsObj.getDeviceId(); + } + } + info.uid = tools.nativeUtils.getUid(); + info.ticket = tools.nativeUtils.getTicket(); + } else { + // info.uid = 906238; + info.uid = 906709; + info.deviceId = 'safhksafhksajhfs1kjahsfkjsf0000aaaaaaaacaa'; + info.ticket = 'eyJhbGciOiJIUzI1NiJ9.eyJ0aWNrZXRfdHlwZSI6bnVsbCwidWlkIjo5MDYyMzgsInRpY2tldF9pZCI6IjdiZWQ2NzcwLWJmMjktNGRiYi04MzZmLTc0NzBmY2RiMDZjYSIsImV4cCI6MzYwMCwiY2xpZW50X2lkIjoiZXJiYW4tY2xpZW50In0.ye2Zv8nyZkqiT_bIWq-50qcS6_SCWmRpBjxxLX7mQvs'; + } + }, + eventRegister: function() { + // 打开规则弹窗 + $('.rule-btn').on('click', function() { + $('.rule-mask,.shade').fadeIn(300); + }) + // 关闭购买弹窗 + $('.buy-mask').on('click', '.close-btn', function() { + $('.buy-mask,.shade').fadeOut(300); + }) + // 关闭规则弹窗 + $('.rule-mask').on('click', '.cancel', function() { + $('.rule-mask,.shade').fadeOut(300); + }) + // 关闭购买之后弹窗 + $('.statusMask').on('click', '.cancel', function() { + $('.statusMask,.shade').fadeOut(300); + }) + // 关闭弹窗 + $('.shade').on('click', function() { + $('.rule-mask,.buy-mask,.statusMask,.shade').fadeOut(300); + }) + // 监听input输入 + $('.b-input').bind('input propertychange', function() { + var _this = $(this); + if (_this.val().length == 1) { + _this.val(_this.val().replace(/[^1-9]/gi, '')); + } else { + _this.val(_this.val().replace(/[\D]/gi, '')); + _this.val(parseInt(_this.val())); + } + if(_this.val() == '') { + totalPrice = 0; + $('.day').text(0); + _this.val(0) + }else{ + if(_this.val() >= 100000000) { + _this.val(100000000) + } + totalPrice = parseInt(_this.val()) * parseInt(_this.attr('data-price')); + $('.day').text(_this.val()); + } + $('.totalprice').html(totalPrice); + }) + // 增加按钮 + $('.add-btn').on('click', function() { + var val = parseInt($('.b-input').val()); + var price = parseInt($('.b-input').attr('data-price')); + val = val + 1; + totalPrice = val * price; + $('.day').text(val); + $('.b-input').val(val); + $('.totalprice').html(totalPrice); + }) + // 减少按钮 + $('.remove-btn').on('click', function() { + var val = parseInt($('.b-input').val()); + var price = parseInt($('.b-input').attr('data-price')); + if(val > 1) { + val = val - 1; + }else{ + val = 1; + } + totalPrice = val * price; + $('.day').text(val); + $('.b-input').val(val); + $('.totalprice').html(totalPrice); + }) + // 购买确认 + $('.confirm-btn').on('click', function() { + var packNum = $('.b-input').val(); + var packId = $(this).attr('data-pid'); + if(packNum == 0) { + ajaxTip('最少购买一个哦~'); + return; + }else{ + $.ajax({ + headers: { + pub_ticket: info.ticket + }, + type: 'POST', + url: api + '/activity/pack/buy', + data: { + uid: info.uid, + ticket: info.ticket, + packId: packId, + packNum: packNum + }, + success: function(res) { + if(res) { + if (res.code == 200) { // 购买成功 + $('.buy-mask').hide().siblings('.statusMask').fadeIn(300); + $('.success').show(); + $('.fail').hide(); + $('.statusMask .tip').html('获赠门票×' + res.data); + renderTicket(); + } else if (res.code == 2103) { // 余额不足 + $('.buy-mask').hide().siblings('.statusMask').fadeIn(300); + $('.buy-mask,.success').hide(); + $('.fail').show(); + $('.statusMask .tip').html('亲,余额不足~'); + if (browser.ios) { + $('.android').hide(); + } else if (browser.android) { + $('.ios').hide(); + } + } else { + ajaxTip(res.message); + return; + } + } + } + }) + } + }) + // 充值跳转 + $('.recharge').on('click', function() { + if (browser.ios) { + $('.statusMask,.shade').fadeOut(300); + } else { + tools.nativeUtils.jumpAppointPage('RECHARGE_PAGE'); + } + }) + }, + getData: function() { + renderTicket(); + renderGift(); + } + }; + main.init(); +}); + +// 渲染底部tab +function renderTicket() { + $.ajax({ + type: 'GET', + url: api + '/activities/draw/queryTicketNum', + data: { + uid: info.uid + }, + success: function(res) { + if(res.code === 200) { + if (res.data.nick.length > 10) { + res.data.nick = res.data.nick.substring(0, 10) + '...' + } + $('.mine').find('.avatar img').attr('src', res.data.avatar) + $('.mine').find('.nick').html(res.data.nick) + $('.mine').find('.score').html(res.data.num) + }else{ + ajaxTip(res.message); + return; + } + } + }) +} + +// 渲染礼包信息 +function renderGift() { + $.ajax({ + headers: { + pub_ticket: info.ticket + }, + type: 'POST', + url: api + '/activities/draw/getPackList', + data: { + uid: info.uid, + ticket: info.ticket + }, + success: function(res) { + if (res.code == 200) { + var html = ''; + var num = ''; + res.data.forEach(function(item, index) { + if(item.sellingPrice == 200) { + num = '7-10' + }else if(item.sellingPrice == 1000) { + num = '30-50' + }else if(item.sellingPrice == 2000) { + num = '70-100' + }else if(item.sellingPrice == 10000) { + num = '300-500' + } + // 新增的档位20000,赠送600-1000门票,添加日期2020-12-08 + else if(item.sellingPrice == 20000) { + num = '600-1000' + } + html += '
                    • ' + + '

                      限定装扮' + NoToChinese(index + 1) + '

                      ' + + '
                      ' + + '
                      ' + + '

                      ' + item.name + '

                      ' + + '

                      ' + item.sellingPrice + '金币/天

                      ' + + '

                      ' + item.originalPrice + '金币/天

                      ' + + '

                      随机赠送门票' + num + '张

                      ' + + '
                      ' + + '
                      ' + + '
                    • ' + }) + $('.cloth-box').html(html); + renderBuyStatus(); + // 购买弹窗 + $('.cloth-box').on('click', '.buy-btn', function() { + var packId = $(this).attr('data-gid'); + var name = $(this).siblings('.gift-text').find('p:first').text(); + var sellingPrice = $(this).siblings('.gift-text').find('.price').attr('data-money'); + $('.buy-mask .day').text(1); + $('.buy-mask .b-input').val(1); + $('.buy-mask .giftName').html(name); + $('.buy-mask .totalprice').html(sellingPrice); + $('.buy-mask .confirm-btn').attr('data-pid', packId); + $('.buy-mask .b-input').attr('data-price', sellingPrice); + $('.shade,.buy-mask').fadeIn(300); + }) + }else{ + ajaxTip(res.message); + return; + } + } + }) +} +// 渲染购买状态 +function renderBuyStatus() { + $.ajax({ + type: 'GET', + url: api + '/activities/draw/getDate', + data: {}, + success: function(res) { + if(res.code == 200) { + var date = new Date().getTime(); + var start = (browser.ios) ? res.data.start : res.data.start; + var end = (browser.ios) ? res.data.end : res.data.end; + if (start < date && date < end) { + $('.buy-btn').removeClass('gray').prop('disabled', false); + } else { + $('.buy-btn').removeClass().addClass('buy-btn gray').prop('disabled', true); + } + }else{ + ajaxTip(res.message); + return; + } + } + }) +} + +// 封装提示信息 +function ajaxTip(callText) { + var thisBody = document.getElementsByTagName('body')[0]; + var Div = document.createElement('div'); + var text = "

                      " + callText + '

                      ' + Div.setAttribute('class', 'ajaxtiplayer'); + Div.innerHTML = text; + Div.style.display = 'block'; + thisBody.appendChild(Div); + setTimeout(function() { + thisBody.removeChild(Div); + }, 2000); +} + +// 将数字转为中文数字 +function NoToChinese(num) { + if (!/^\d*(\.\d*)?$/.test(num)) { + alert('Number is wrong!'); + return 'Number is wrong!'; + } + // eslint-disable-next-line no-array-constructor + var AA = new Array('零', '一', '二', '三', '四', '五', '六', '七', '八', '九'); + // eslint-disable-next-line no-array-constructor + var BB = new Array('', '十', '百', '千', '万', '亿', '点', ''); + var a = ('' + num).replace(/(^0*)/g, '').split('.'); + var k = 0; + var re = ''; + for (var i = a[0].length - 1; i >= 0; i--) { + switch (k) { + case 0: + re = BB[7] + re; + break; + case 4: + if (!new RegExp('0{4}\\d{' + (a[0].length - i - 1) + '}$').test(a[0])) { re = BB[4] + re; } + break; + case 8: + re = BB[5] + re; + BB[7] = BB[5]; + k = 0; + break; + } + if (k % 4 == 2 && a[0].charAt(i + 2) != 0 && a[0].charAt(i + 1) == 0) re = AA[0] + re; + if (a[0].charAt(i) != 0) re = AA[a[0].charAt(i)] + BB[k % 4] + re; + k++; + } + if (a.length > 1) { + re += BB[6]; + // eslint-disable-next-line no-redeclare + for (var i = 0; i < a[1].length; i++) re += AA[a[1].charAt(i)]; + } + return re; +} + diff --git a/act_project/carnival13/.tmtworkflowrc b/act_project/carnival13/.tmtworkflowrc new file mode 100644 index 0000000..969cabd --- /dev/null +++ b/act_project/carnival13/.tmtworkflowrc @@ -0,0 +1,45 @@ +{ + "ftp": { + "host": "xx.xx.xx.xx", + "port": "8021", + "user": "tmt", + "pass": "password", + "remotePath": "remotePath", + "includeHtml": true + //ftp 上传是否包含 html + }, + "sftp": { + "host": "xx.xx.xx.xx", + "port": "xx", + "user": "tmt", + "password": "password", + "remotePath": "", + "includeHtml": true + }, + "livereload": { + // /api 代理到的 url + "proxyTarget": "http://apibeta.qxjiaoyou.com", + //开启自动刷新 + "available": true, + "port": 8080, + "startPath": "index.html" + }, + //路径相对于 tasks/plugins 目录 + "plugins": { + "build_devAfter": [], + "build_distAfter": [], + "ftpAfter": [ + "ftp" + ] + }, + "lazyDir": [ + "../slice" + ], + //gulp-lazyImageCSS 寻找目录(https://github.com/weixin/gulp-lazyimagecss) + + "supportWebp": false, + "supportREM": false, + "supportChanged": false, + "reversion": true, + "SVGGracefulDegradation": true +} diff --git a/act_project/carnival13/carnival.html b/act_project/carnival13/carnival.html new file mode 100644 index 0000000..4612e42 --- /dev/null +++ b/act_project/carnival13/carnival.html @@ -0,0 +1,278 @@ + + + + + + + 初夏物语 + + <%- include('../html_tpl/style.html') %> + + + <%- include('../html_tpl/headScript.html') %> + + + +
                      +
                      + +
                        +
                      • 甜蜜夏日
                      • +
                      • 心动一夏
                      • +
                      +
                      +
                      + +
                      +
                      +
                        +
                      • 甜蜜夏日
                      • +
                      • 心动一夏
                      • +
                      +
                      + + +
                      +
                      + +
                      + +
                      +
                      + +
                      +
                      +
                      +
                      + + +
                      + +
                      + +
                      +
                      +
                      + +
                      + 我的门票: 0张 + +
                      + +
                      +
                    • +

                      1次

                      +

                      -

                      +
                    • +
                    • +

                      10次

                      +

                      -

                      +
                    • +
                    • +

                      100次

                      +

                      -

                      +
                    • +
                      + +
                      +
                      + + 暴击×5 + +
                      +
                      +
                      +
                      +
                      + 0 + / + 0 +
                      +
                      + 暴走值 +
                      +
                      + +
                      +
                      +
                      +
                      +
                      + +
                      +
                      本轮获得
                      +
                      · 可前往个人背包查看 ·
                      +
                        + +
                        知道了
                        +
                        + +
                        + +
                        +

                        +
                        +
                        + +
                        + +
                        +
                        +
                      • 捧场王
                      • +
                      • 万人迷
                      • +
                        +
                        +

                        +
                        +
                        +
                        - 昨日最佳 -
                        +
                        +
                        +
                        + +
                        +
                        +
                        奖励门票200张
                        +
                        +
                        +
                        + +
                        +
                        +
                        奖励门票300张
                        +
                        +
                        +
                        + +
                        +
                        +
                        奖励门票100张
                        +
                        +
                        +
                        注:门票每日00:05分自动发放,请注意查收!
                        +
                        - 今日排行 -
                        +
                        +
                          + +
                          +
                          +

                          +

                          +

                          + + +

                          +

                          + + +

                          +
                          +
                          + +
                          + +
                          +
                        • +

                          时间

                          +

                          +
                        • +
                        • +

                          价值

                          +

                          +
                        • +
                          +
                          +
                          + +
                          +
                          加载中...
                          +
                          展示您最近300次中奖纪录
                          +
                          + +
                          + +
                          暴走状态随机礼物5倍获得概率。1转盘次数=1暴走值,暴走值每小时清零
                          +
                          +
                          + + +<%- include('../html_tpl/script.html') %> + + + + \ No newline at end of file diff --git a/act_project/carnival13/css/carnival.scss b/act_project/carnival13/css/carnival.scss new file mode 100644 index 0000000..f16ffd5 --- /dev/null +++ b/act_project/carnival13/css/carnival.scss @@ -0,0 +1,1409 @@ +@function px2rem($px, $rem:75) { + @return $px / $rem+rem; +} + +@import '../../../common/css/flex.scss'; + +.mask { + z-index: 120; + position: fixed; + width: 100%; + left: 0; + bottom: 0; + display: flex; + height: 60px; + align-items: center; + background: rgba(0, 0, 0, 0.5); + justify-content: space-between; + padding: 0 8px; + box-sizing: border-box; + display: none; + .logo { + width: 40px; + img { + width: 100%; + } + } + .slogan { + color: #fff; + } +} +#download { + border: 1px solid #fff; + color: #fff; + width: 80px; + text-align: center; + border-radius: 15px; + line-height: 30px; + a { + color: #fff; + } +} + +.max { + width: 100%; + margin: 0 auto; + background-color: #180734; + position: relative; + + &::before { + content: ''; + display: block; + width: 100%; + height: 100%; + position: fixed; + left: 0; + top: 0; + background-color: #180734; + z-index: -1; + } + + .topNav1 { + @include flex(); + @include flex-justify-start; + @include flex-align-center; + width: 100%; + position: relative; + height:1.453333rem; + border-bottom: 1px solid #301D4E; + + .help { + width:.506667rem; + height:.506667rem; + margin-left:.56rem; + img { + width: 100%; + } + } + .feedback{ + width:.986667rem; + height:.533333rem; + margin:0 1.04rem 0 .413333rem; + img{ + width:100%; + height:100%; + } + } + + ul { + @include flex(); + @include flex-justify-center; + @include flex-align-center; + li { + margin: 0 .266667rem; + height: 100%; + line-height:1.453333rem; + position: relative; + color: #8B8399; + font-size:.373333rem; + + &.active { + color:#FFFFFF; + font-size:.426667rem; + &::after { + content: ''; + display: block; + width: px2rem(20); + height: px2rem(5); + background-color: #FFFFFF; + opacity: .6; + border-radius:.666667rem; + position: absolute; + bottom:.2rem; + left: 50%; + margin-left:-0.133333rem; + } + } + } + } + } + .topNav2 { + @include flex(); + @include flex-justify-start; + @include flex-align-center; + display:none; + width: 100%; + position: relative; + height:1.453333rem; + border-bottom: 1px solid rgba($color: #fff, $alpha: 0.1); + + .help { + width:.506667rem; + height:.506667rem; + position:absolute; + top:.466667rem; + left:.413333rem; + img { + width: 100%; + } + } + + + ul { + @include flex(); + @include flex-justify-center; + @include flex-align-center; + li { + margin: 0 .266667rem; + height: 100%; + line-height: px2rem(109); + position: relative; + color: #8B8399; + font-size:.373333rem; + + &.active { + color: white; + font-size:.426667rem; + &::after { + content: ''; + display: block; + width:.266667rem; + height:.066667rem; + background-color: white; + opacity: .6; + border-radius: 25px; + position: absolute; + bottom:.2rem; + left: 50%; + margin-left:-0.133333rem; + } + } + } + } + } + + .scrollMask { + width: px2rem(500); + height: 30px; + margin: 0 auto; + margin-top: px2rem(10); + overflow: hidden; + position: relative; + .container { + width: 100%; + height: auto; + position: absolute; + top: 0; + left: 0; + display: none; + + li { + width: 100%; + height: 30px; + text-align: center; + line-height: 30px; + color: white; + font-size: 12px; + overflow: hidden; + + span { + color: #ffec6f; + margin: 0 px2rem(5); + } + } + } + } + .rank-btn { + width:1.2rem; + height:1.04rem; + position: absolute; + right:.2rem; + top:2.026667rem; + z-index: 200; + img { + width: 100%; + } + } + .record-btn { + width:1.2rem; + height:1.04rem; + position: absolute; + right:.2rem; + top:3.653333rem; + z-index: 200; + + img { + width: 100%; + } + } + + + .canvas { + width: 100%; + height: px2rem(550); + margin-top: px2rem(30); + position: relative; + + .canvas-container { + width: 200%; + height: 200%; + transform: scale(.5); + position: absolute; + left: 0; + top: 0; + margin-left: -50%; + margin-top: px2rem(-275); + + .turntable { + width: px2rem(1028); + height: px2rem(1028); + margin: 0 auto; + position: absolute; + left: 50%; + top: 50%; + margin-left: px2rem(-514); + margin-top: px2rem(-514); + + .container1 { + width: 100%; + height: 100%; + position: relative; + + &.first { + background: url('../img/carnival/turntable.png') no-repeat 0 0 / 100% 100%; + } + &.second { + background: url('../img/carnival/turntable-2.png') no-repeat 0 0 / 100% 100%; + } + } + #table { + position: absolute; + width: px2rem(856); + height: px2rem(856); + left: 50%; + top: 50%; + margin-left: px2rem(-428); + margin-top: px2rem(-428); + z-index: 4; + } + #table2 { + position: absolute; + width: px2rem(856); + height: px2rem(856); + left: 50%; + top: 50%; + margin-left: px2rem(-428); + margin-top: px2rem(-428); + z-index: 4; + display: none; + } + + .pointer { + width: px2rem(120); + height: px2rem(184); + position: absolute; + left: 50%; + transform: translate(-50%,0); + top: px2rem(-40); + // margin-left: px2rem(-63); + z-index: 10; + img { + width: 100%; + height: 100%; + } + } + + .btn { + width: px2rem(352); + height: px2rem(352); + position: absolute; + left: 50%; + top: 50%; + margin: 0; + margin-left: px2rem(-176); + margin-top: px2rem(-176); + z-index: 130; + border: none; + outline: none; + background: none; + padding: 0; + img { + width: px2rem(352); + height: px2rem(352); + } + &:disabled{ + color: rgba(255, 255, 255, 0); + } + } + } + } + } + + .info { + @include flex(); + @include flex-justify-center; + @include flex-align-center; + + width: 100%; + text-align: center; + margin-top: px2rem(10); + + span { + font-size: 13px; + color: #CECCD1; + + small { + color: #ffec6f; + margin: 0 px2rem(10) + } + + &:last-child { + width: px2rem(111); + height: px2rem(44); + margin-left: px2rem(20); + + a { + display: block; + width: 100%; + height: 100%; + img { + width: 100%; + } + } + } + } + } + + .turnNum { + @include flex(); + @include flex-justify-center; + @include flex-align-center; + + width: 100%; + margin-top: px2rem(35); + margin-bottom: px2rem(50); + + li { + @include flex(); + @include flex-justify-center; + @include flex-align-start; + @include flexv(); + + width: px2rem(225); + height: px2rem(90); + border-radius: 20px 60px 20px 20px; + overflow: hidden; + position: relative; + margin: 0 px2rem(8); + + p { + font-size: 13px; + color: white; + color: #CFCDD3; + margin-left: px2rem(20); + z-index: 2; + + &:last-child { + font-size: 12px; + } + } + + &::before { + content: ''; + display: block; + position: absolute; + width: 100%; + height: 100%; + left: 0; + top: 0; + background-color: white; + border-radius: 20px 60px 20px 20px; + opacity: .08; + z-index: 0; + } + + &.active { + p { + color: #fff; + } + &.ball { + &::before { + opacity: 1; + background: linear-gradient(223deg, #FFB99E, #FC90CD); + box-shadow: 0px 11px 10px 0px rgba(255, 242, 173, 0.36), 0px -1px 5px 0px rgba(255, 250, 171, 0.88), 0px -6px 10px 0px #000000; + } + } + &.joy { + &::before { + background: linear-gradient(223deg, #FF96D1, #D172FC); + box-shadow: 0px 11px 10px 0px rgba(255, 242, 173, 0.36), 0px -1px 5px 0px rgba(255, 250, 171, 0.88), 0px -6px 10px 0px #000000; + opacity: 1; + } + } + } + } + } + + .experience { + width: auto; + height: auto; + position: absolute; + left: 10px; + top: px2rem(200); + display: none; + + .giftBox { + width: px2rem(100); + height: px2rem(100); + position: relative; + // border: 1px solid white; + opacity: 1; + img { + width: 100%; + height: 100%; + } + &.hide { + opacity: 0; + } + + span { + position: absolute; + left: px2rem(90); + + &.crit { + width: px2rem(95); + height: px2rem(40); + text-align: right; + background: url('../img/carnival/exp-2.png') no-repeat 0 0 / 100% 100%; + line-height: px2rem(40); + top: px2rem(5); + z-index: 1; + font-size: 12px; + padding-right: px2rem(5); + color: #2B1C03; + } + &.times { + width: px2rem(90); + height: px2rem(40); + line-height: px2rem(40); + text-align: right; + padding-right: px2rem(10); + background: url('../img/carnival/exp-1.png') no-repeat 0 0 / 100% 100%; + z-index: 1; + top: px2rem(55); + font-size: 12px; + color: #FFF044; + } + } + } + + .exp-container { + width: px2rem(26); + height: px2rem(366); + margin-left: px2rem(18); + margin-top: px2rem(15); + border-radius: 25px; + // border: 4px solid #2C0767; + &.exp-container1 { + background: url('../img/carnival/bg1.png') no-repeat 0 0 / 100% 100%; + } + &.exp-container2 { + background: url('../img/carnival/bg2.png') no-repeat 0 0 / 100% 100%; + } + position: relative; + overflow: hidden; + + .strip { + width: px2rem(26); + height: 0; + position: absolute; + left: 0; + bottom: 0; + + &.exp-1 { + background: url('../img/carnival/exp1.png') no-repeat 0 0 / 100% 100%; + } + &.exp-2 { + background: url('../img/carnival/exp2.png') no-repeat 0 0 / 100% 100%; + } + } + } + + .exp-num { + margin-left: px2rem(5); + color: #fff044; + font-size: 14px; + margin-top: px2rem(10); + } + + .tips { + font-size: 13px; + color: white; + + span { + display: inline-block; + &:last-child { + width: px2rem(25); + height: px2rem(25); + margin-left: px2rem(8); + img { + width: 100%; + height: 100%; + } + } + } + } + } + + .status-mask { + width: px2rem(616); + height: px2rem(429); + border-radius: .32rem; + position: fixed; + left: 50%; + top: 50%; + transform:translate(-50%,-50%); + z-index: 10003; + // background-color:#FFFFFF; + background: url('../img/carnival/pop-bg.png') no-repeat 0 0 / 100% 100%; + display: none; + + .title { + width: 100%; + margin: px2rem(62) 0; + text-align: center; + font-size:.48rem; + color: #7E85FF; + font-weight: bold; + } + + .tips { + width: 100%; + text-align: center; + font-size:.373333rem; + color: #5F82A3; + margin-top: px2rem(70); + } + + .btn { + width: px2rem(334); + height: px2rem(108); + background: url('../img/index/btn.png') no-repeat 0 0 / 100% 100%; + // background: linear-gradient(0deg, #FFE34F, #F19825); + // border: px2rem(2) solid rgba(255, 255, 255, 0.7); + // box-shadow:0px 6px 12px 0px rgba(255,255,255,1), 0px -12px 46px 0px rgba(255,255,255,1), 0px 4px 18px 0px rgba(255,255,255,0.45); + // border-radius:.506667rem; + font-size: px2rem(36); + color: #fff; + font-weight: bold; + @include flex(); + @include flex-justify-center; + @include flex-align-center; + margin: .8rem auto 0; + padding-bottom: px2rem(10); + box-sizing: border-box; + } + } + + .gather-mask { + width: px2rem(616); + height: px2rem(733); + position: fixed; + top: 50%; + -webkit-transform: translate(-50%,-50%); + transform: translate(-50%,-50%); + left: 50%; + border-radius: 8px; + // background-color: white; + background: url('../img/carnival/win-prize-bg.png') no-repeat 0 0 / 100% 100%; + z-index: 10003; + display: none; + + .title { + width: 100%; + font-size: px2rem(40); + font-weight: bold; + color: #58A1F5; + text-align: center; + margin-top: px2rem(50); + } + .tips { + width: 100%; + text-align: center; + color: #5F82A3; + font-size: 13px; + opacity: .8; + margin-top: px2rem(16); + } + + ul { + @include flex(); + @include flex-justify-start; + @include flex-align-center; + @include flex-wrap(); + + width: px2rem(444); + height: px2rem(340); + margin: 0 auto; + margin-top: px2rem(39); + + li { + width: px2rem(92); + margin: px2rem(8); + p { + &:first-child { + width: 100%; + height: px2rem(92); + + img { + width: 100%; + } + } + &:last-child { + font-size: 12px; + color: #999; + text-align: center; + margin-top: px2rem(8); + } + } + } + } + + .btn { + width: px2rem(334); + height: px2rem(108); + background: url('../img/index/btn.png') no-repeat 0 0 / 100% 100%; + // background: linear-gradient(0deg, #FFE34F, #F19825); + // border: px2rem(2) solid rgba(255, 255, 255, 0.7); + // box-shadow:0px 6px 12px 0px rgba(255,255,255,1), 0px -12px 46px 0px rgba(255,255,255,1), 0px 4px 18px 0px rgba(255,255,255,0.45); + // border-radius:.506667rem; + font-size: px2rem(36); + font-weight: bold; + color: #fff; + @include flex(); + @include flex-justify-center; + @include flex-align-center; + margin:.52rem auto; + padding-bottom: px2rem(10); + box-sizing: border-box; + } + } + + .rule-mask { + width: 100%; + height: 100%; + position: absolute; + left: 0; + top: -1000px; + z-index: 20000; + background-color: #180734; + + .nav { + width: 100%; + height: 50px; + border-bottom: 1px solid #37234f; + overflow: hidden; + position: relative; + + .back { + width: px2rem(30); + height: px2rem(28); + margin: px2rem(40); + img { + width: 100%; + } + } + + .title { + font-size: 16px; + color: white; + opacity: .7; + width: px2rem(150); + height: px2rem(52); + position: absolute; + top: 50%; + text-align: center; + line-height: px2rem(52); + left: 50%; + margin-left: px2rem(-75); + margin-top: px2rem(-26); + } + } + + .content { + width: 80%; + height: 78%; + margin: 0 auto; + margin-top: 8%; + overflow: auto; + + &::-webkit-scrollbar { + display: none; + } + img { + width: 100%; + } + &::after { + content: ''; + display: block; + width: 100%; + height: 20px; + } + } + } + + .rank-mask { + width: 100%; + height: 100%; + position: fixed; + left: 0; + top: -1000px; + // top: 0; + z-index: 20000; + background-color: #180734; + + .nav { + width: 100%; + height: px2rem(109); + border-bottom: 1px solid #37234F; + position: relative; + overflow: hidden; + + .back { + width: px2rem(30); + height: px2rem(28); + margin: px2rem(40); + img { + width: 100%; + height: 100%; + } + } + + .title { + font-size: 16px; + color: white; + opacity: .7; + width: px2rem(150); + height: px2rem(52); + position: absolute; + top: 50%; + text-align: center; + line-height: px2rem(52); + left: 50%; + margin-left: px2rem(-75); + margin-top: px2rem(-26); + } + } + + .content { + width: 100%; + height: 80%; + margin: 0 auto; + margin-top: px2rem(30); + overflow: auto; + + .tab { + @include flex(); + @include flex-justify-center; + @include flex-align-center; + + width: px2rem(300); + height: px2rem(40); + margin: 0 auto; + + li { + width: 50%; + height: 100%; + position: relative; + font-size: 14px; + color: white; + opacity: .7; + text-align: center; + + &.active { + font-size: 16px; + opacity: 1; + + + &::after { + content: ''; + display: block; + width: px2rem(14); + height: px2rem(6); + background-color: white; + opacity: .7; + position: absolute; + left: 50%; + bottom: px2rem(-18); + margin-left: px2rem(-8); + border-radius: 3px; + } + } + } + } + + .tips { + @include flex(); + @include flex-justify-center; + @include flex-align-center; + + width: 100%; + margin-top: px2rem(40); + + p { + padding: 5px 15px; + font-size: 12px; + background-color: #2B1B48; + color: #CFCFF4; + border-radius: 25px; + width: auto; + height: auto; + margin: 0 auto; + } + } + + .rank-yesterday-box { + margin-top: px2rem(20); + padding: 0 px2rem(35) 0 px2rem(45); + box-sizing: border-box; + text-align: center; + color: #fff; + font-size: px2rem(28); + display: none; + &.active { + display: block; + } + .rank-title { + opacity: .5; + &.rank-title-today { + margin-top: px2rem(40); + } + } + .remark { + margin-top: px2rem(15); + text-align: left; + font-size: px2rem(28); + color: #808080; + } + .rank-box { + @include flex; + @include flex-justify-between; + .rank-item { + padding-top: px2rem(50); + flex: 1; + .rank-ava { + margin: 0 auto; + position: relative; + width: px2rem(138); + height: px2rem(138); + border-radius: 50%; + .img-item { + width: px2rem(138); + height: px2rem(138); + border-radius: 50%; + } + &::after { + content: ' '; + left: 50%; + top: px2rem(-38); + -webkit-transform: translateX(-50%); + transform: translateX(-50%); + position: absolute; + background: url() no-repeat 0 0 / 100% 100%; + } + } + .rank-nick { + margin: px2rem(30) auto 0; + width: px2rem(160); + } + .rank-desc { + margin-top: px2rem(10); + font-size: px2rem(26); + font-weight: 400; + color: #FFC600; + white-space: nowrap; + } + &.rank-item0 { + .rank-ava { + margin-top: px2rem(10); + &::after { + width: px2rem(190); + height: px2rem(190); + background-image: url('../img/carnival/no0.png'); + } + } + } + &.rank-item1 { + .rank-ava { + margin-top: px2rem(95); + width: px2rem(125); + height: px2rem(125); + .img-item { + width: px2rem(125); + height: px2rem(125); + } + &::after { + top: px2rem(-33); + width: px2rem(170); + height: px2rem(170); + background-image: url('../img/carnival/no1.png'); + } + } + } + &.rank-item2 { + .rank-ava { + margin-top: px2rem(125); + width: px2rem(110); + height: px2rem(110); + .img-item { + width: px2rem(110); + height: px2rem(110); + } + &::after { + top: px2rem(-30); + width: px2rem(154); + height: px2rem(154); + background-image: url('../img/carnival/no2.png'); + } + } + } + } + } + } + + .rank-container { + width: 100%; + height: 65%; + margin-top: px2rem(30); + overflow: hidden; + overflow-y: scroll; + display: none; + + &:-webkit-scrollbar { + display: none; + } + + li { + @include flex(); + @include flex-justify-start; + @include flex-align-center; + + width: 100%; + height: px2rem(130); + position: relative; + + &:last-child { + margin-bottom: px2rem(30); + } + + p { + &:first-child { + width: px2rem(60); + height: px2rem(60); + font-size: 20px; + color: #DEDCE0; + text-align: center; + line-height: px2rem(60); + margin-left: px2rem(27); + img { + width: 100%; + } + } + &.avatar { + width: px2rem(90); + height: px2rem(90); + border-radius: 50%; + overflow: hidden; + margin-left: px2rem(29); + img { + width: 100%; + } + } + &.info { + @include flex(); + @include flex-justify-center; + @include flex-align-start; + @include flexv(); + + margin-left: px2rem(16); + width: auto; + height: 100%; + span { + display: block; + width: auto; + color: white; + font-size: 15px; + margin-top: px2rem(5); + &:last-child { + opacity: .7; + font-size: 13px; + margin-left: 0; + } + } + } + + &.score { + font-size: 16px; + height: 100%; + width: auto; + color: #E1AD0D; + position: absolute; + right: px2rem(48); + top: 0; + text-align: right; + + span { + @include flex(); + @include flex-justify-center; + @include flex-align-end; + @include flexv(); + small { + font-size: 12px; + + &:first-child { + font-size: 16px; + } + } + &.align-center { + @include flex(); + @include flex-justify-center; + @include flex-align-center; + + height: 100%; + } + } + } + } + } + + } + } + + .mine { + @include flex(); + @include flex-justify-start; + @include flex-align-center; + + position: absolute; + left: 0; + bottom: 0; + width: 100%; + height: px2rem(130); + background-color: #2C1749; + animation: mine_show linear .5s 1s forwards; + opacity: 0; + + p { + &.rank-num { + width: px2rem(70); + font-size: 20px; + color: white; + margin-left: px2rem(23); + text-align: center; + + &.not-up { + width: px2rem(90); + font-size: 12px; + } + } + &.avatar { + width: px2rem(90); + height: px2rem(90); + border-radius: 50%; + overflow: hidden; + margin-left: px2rem(22); + img { + width: 100%; + } + } + &.info { + @include flex(); + @include flex-justify-center; + @include flex-align-start; + @include flexv(); + + margin-left: px2rem(16); + width: auto; + + span { + font-size: 15px; + color: white; + opacity: .8; + + &:last-child { + font-size: 12px; + margin-left: 0; + width: auto; + + small { + opacity: .8; + &:first-child { + opacity: .5; + } + } + } + } + } + &.rank-info { + position: absolute; + right: px2rem(48); + height: px2rem(70); + top: 50%; + margin-top: px2rem(-35); + + span { + font-size: 16px; + color: #E0AD12; + display: block; + text-align: right; + + &:last-child { + font-size: 12px; + } + } + } + } + } + @keyframes mine_show { + 100% { + opacity: 1; + } + } + } + + .record-mask { + width: 100%; + height: 100%; + position: fixed; + left: 0; + top: 0; + background-color: #180734; + top: -1000px; + z-index: 2000; + + .nav { + width: 100%; + height: px2rem(109); + border-bottom: 1px solid #37234F; + position: relative; + overflow: hidden; + + .back { + width: px2rem(30); + height: px2rem(28); + margin: px2rem(40); + img { + width: 100%; + height: 100%; + } + } + + .title { + font-size: 16px; + color: white; + opacity: .7; + width: px2rem(150); + height: px2rem(52); + position: absolute; + top: 50%; + text-align: center; + line-height: px2rem(52); + left: 50%; + margin-left: px2rem(-75); + margin-top: px2rem(-26); + } + } + .tab { + @include flex(); + @include flex-justify-between; + @include flex-align-center; + + width: px2rem(231); + height: px2rem(46); + margin: 0 auto; + margin-top: px2rem(20); + + li { + height: 100%; + width: auto; + position: relative; + + p { + font-size: 14px; + color: #fff; + opacity: .7; + } + + &.active { + p { + opacity: 1; + font-size: 16px; + &:last-child { + width: px2rem(14); + height: px2rem(6); + border-radius: 3px; + position: absolute; + left: 50%; + margin-left: px2rem(-7); + bottom: px2rem(-8); + background-color: white; + } + } + } + } + } + .content { + width: 85%; + height: 60%; + margin: 0 auto; + margin-top: px2rem(40); + overflow: auto; + + &::-webkit-scrollbar { + display: none; + } + + .record-container { + width: 100%; + height: auto; + display: none; + li { + @include flex(); + @include flex-justify-start; + @include flex-align-center; + + width: 100%; + height: px2rem(120); + position: relative; + + p { + &:first-child { + width: px2rem(92); + height: px2rem(92); + img { + width: 100%; + height: 100%; + } + } + &:nth-child(2) { + margin-left: px2rem(15); + height: 100%; + line-height: px2rem(120); + font-size: 15px; + opacity: .8; + color: white; + } + &:last-child { + position: absolute; + right: 0; + height: 100%; + width: auto; + + span { + @include flex(); + @include flex-justify-center; + @include flex-align-end; + @include flexv(); + + // display: block; + // text-align: right; + font-size: 12px; + color: white; + opacity: .8; + height: 100%; + + small { + display: block; + text-align: right; + font-size: 12px; + color: white; + opacity: .8; + } + + &.num { + font-size: 15px; + color: #FFC600; + opacity: .8; + } + } + } + } + } + } + } + + .loading { + width: 100%; + text-align: center; + margin-top: 15px; + color: white; + opacity: .8; + font-size: 15px; + display: none; + } + + .tips { + width: px2rem(390); + height: px2rem(52); + border-radius: 25px; + text-align: center; + line-height: px2rem(52); + background-color: #2D1845; + color: white; + font-size: 12px; + margin: 0 auto; + margin-top: px2rem(30); + } + } + + .shade { + width: 100%; + height: 100%; + position: fixed; + left: 0; + top: 0; + background-color: black; + opacity: .7; + z-index: 10000; + display: none; + } + + .exp-toast { + width: px2rem(400); + height: px2rem(175); + color: white; + font-size: 12px; + position: fixed; + left: 50%; + top: 50%; + margin-left: px2rem(-230); + margin-top: px2rem(-60); + text-align: center; + line-height: px2rem(60); + padding: 5px 20px; + border-radius: 5px; + z-index: 10000; + display: none; + + &::after { + content: ''; + display: block; + position: absolute; + left: 0; + top: 0; + background-color: black; + opacity: .6; + z-index: -1; + width: 100%; + height: 100%; + } + } +} + +.toast { + width: px2rem(600); + height: px2rem(80); + line-height: px2rem(80); + text-align: center; + color: white; + font-size: 12px; + position: fixed; + left: 50%; + top: 50%; + margin-left: px2rem(-300); + margin-top: px2rem(-40); + background-color: black; + border-radius: 5px; + display: none; + z-index: 1002; +} diff --git a/act_project/carnival13/css/index.scss b/act_project/carnival13/css/index.scss new file mode 100644 index 0000000..bf860db --- /dev/null +++ b/act_project/carnival13/css/index.scss @@ -0,0 +1,507 @@ +@function px2rem($px, $rem:67) { + @return $px / $rem+rem; +} + +@import '../../../common/css/flex.scss'; + +.mask { + z-index: 120; + position: fixed; + width: 100%; + left: 0; + bottom: 0; + display: flex; + height: 60px; + align-items: center; + background: rgba(0, 0, 0, 0.5); + justify-content: space-between; + padding: 0 8px; + box-sizing: border-box; + display: none; + .logo { + width: 40px; + img { + width: 100%; + } + } + .slogan { + color: #fff; + } +} +#download { + border: 1px solid #fff; + color: #fff; + width: 80px; + text-align: center; + border-radius: 15px; + line-height: 30px; + a { + color: #fff; + } +} +*{ + -webkit-overflow-scrolling: touch; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); + -webkit-tap-highlight-color: transparent; +} +body{ + font-family:PingFang SC; + background: #8CCFFA; + z-index:-1; + .max { + max-width: px2rem(670); + margin: 0 auto; + .title-one { + width: 100%; + img { + width: 100%; + height: 100%; + } + } + .rule-btn { + width: px2rem(116); + height: px2rem(62); + position: absolute; + left: px2rem(0); + top: px2rem(20); + img { + width:100%; + height:100%; + } + } + .cloth-box { + width:100%; + padding-bottom:2.4rem; + margin:-2.2rem auto 0; + li { + width: px2rem(640); + height: px2rem(420); + position:relative; + margin:px2rem(10) auto 0; + @include flex(); + @include flex-justify-center; + background:url('../img/index/li-card.png') no-repeat 0 0 / 100% 100%; + .h-title{ + position:absolute; + margin: px2rem(32) auto 0; + letter-spacing:.053333rem; + font-size: px2rem(28); + font-weight: bold; + color: #58A1F5; + line-height: px2rem(50); + } + .gift-img{ + width:px2rem(156); + height: px2rem(156); + position:absolute; + box-sizing: border-box; + left: px2rem(80); + top: px2rem(115); + @include flex; + @include flex-align-center; + @include flex-justify-center; + img{ + box-sizing: border-box; + padding: px2rem(10); + width:100%; + height: 100%; + object-fit: cover; + } + + } + .gift-text{ + position:absolute; + left: px2rem(302); + top: px2rem(105); + p:first-child{ + font-size:px2rem(34); + font-weight:bold; + color: #16A4FF; + letter-spacing:.026667rem; + } + p:nth-child(2){ + font-size:px2rem(28); + font-weight:bold; + color:#FF8F4C; + } + p:nth-child(3){ + font-size:px2rem(26); + font-weight:500; + text-decoration:line-through; + color: #9C9C9C; + line-height:px2rem(47); + opacity:0.8; + } + p:last-child{ + font-size:px2rem(26); + font-weight: 500; + color: #9C9C9C; + opacity:0.8; + line-height: px2rem(47); + } + } + .buy-btn{ + width: px2rem(300); + height: px2rem(81); + position:absolute; + bottom: px2rem(45); + @include flex(); + @include flex-justify-center; + background: url('../img/index/buy.png') no-repeat 0 0 / 100% 100%; + &.gray { + background: url('../img/index/buy-gray.png') no-repeat 0 0 / 100% 100%; + } + } + } + + } + .buy-mask { + width: px2rem(616); + height: px2rem(596); + // border-radius:.213333rem; + // background-color: #FFFFFF; + position: fixed; + left:50%; + top:50%; + transform:translate(-50%,-50%); + background: url('../img/index/buy-bg.png') no-repeat 0 0 / 100% 100%; + z-index: 1001; + display: none; + .b-box{ + padding: 0 px2rem(25); + margin-top: px2rem(63); + .b-title{ + color:#58A1F5; + line-height: px2rem(52); + text-align:center; + font-size: px2rem(35); + font-weight:bold; + letter-spacing:.013333rem; + .giftName{ + font-weight:bold; + } + } + .b-number{ + padding:0 .906667rem; + margin-top: px2rem(80); + @include flex(); + .input-box{ + @include flex(); + @include flex-align-center; + height:.64rem; + margin-top:-0.066667rem; + .remove-btn{ + width: px2rem(56); + height: px2rem(56); + @include flex(); + @include flex-justify-center; + @include flex-align-center; + border-radius: px2rem(24) 0 0 px2rem(24); + background:rgba($color: #D4F4FF, $alpha: 0.6); + .remove-icon{ + opacity: .6; + display:block; + width: px2rem(20); + height: px2rem(4); + background: url('../img/index/remove-icon.png') no-repeat 0 0 / 100% 100%; + background-size:100% 100%; + } + } + .b-input{ + width: px2rem(102); + height: px2rem(56); + background:#D4F4FF; + text-align:center; + font-size: px2rem(30); + font-weight:500; + color: #8FA4B8; + margin:0 .106667rem; + border:0; + outline:none; + } + .add-btn{ + width: px2rem(56); + height: px2rem(56); + @include flex(); + @include flex-justify-center; + @include flex-align-center; + border-radius: 0 px2rem(24) px2rem(24) 0; + background:rgba($color: #D4F4FF, $alpha: 0.6); + .add-icon{ + display:block; + width: px2rem(20); + height: px2rem(20); + background: url('../img/index/add-icon.png') no-repeat; + background-size:100% 100%; + } + } + } + + + } + .b-text{ + white-space:nowrap; + font-size: px2rem(34); + font-weight:500; + color:rgba($color: #909090, $alpha: 1.0); + line-height:.48rem; + margin-bottom: px2rem(47); + span:first-child{ + margin-right:.4rem; + } + } + .b-day{ + padding:0 .906667rem; + span:nth-child(2),span:last-child{ + color:#16A4FF; + letter-spacing:.013333rem; + } + } + .b-price{ + padding:0 .906667rem; + span:nth-child(2),span:last-child{ + color: #FFA530; + letter-spacing:.013333rem; + } + + } + .b-btns{ + @include flex(); + @include flex-justify-around; + margin-top: px2rem(55); + .close-btn{ + width: px2rem(261); + height: px2rem(107); + background:url('../img/index/btn-cancel.png') no-repeat 0 0 / 100% 100%; + @include flex(); + @include flex-justify-center; + @include flex-align-center; + } + .confirm-btn{ + width: px2rem(261); + height: px2rem(107); + background: url('../img/index/btn-confirm.png') no-repeat 0 0 / 100% 100%; + @include flex(); + @include flex-justify-center; + @include flex-align-center; + + } + } + } + } + + .rule-mask { + width: px2rem(616); + height: px2rem(596); + position: fixed; + left: 50%; + top: 50%; + transform:translate(-50%,-50%); + z-index: 1001; + // background-color:#FFFFFF; + background: url('../img/index/buy-bg.png') no-repeat 0 0 / 100% 100%; + border-radius:.213333rem; + // overflow: hidden; + display: none; + .title { + width: 100%; + text-align: center; + font-size: px2rem(40); + color: #58A1F5; + margin-top: px2rem(60); + font-weight: bold; + // background: linear-gradient(0deg, #FFE691 0%, #FEFAD5 100%); + // -webkit-background-clip: text; + // -webkit-text-fill-color: transparent; + } + .content { + width: px2rem(524); + height: px2rem(425); + margin: 0 auto; + margin-top:.4rem; + overflow: auto; + &::-webkit-scrollbar { + display: none; + } + p { + width: 100%; + height:13.333333rem; + img { + width:100%; + } + } + } + .cancel { + width: px2rem(70); + height:px2rem(70); + position: absolute; + left: 50%; + transform: translateX(-50%); + bottom: px2rem(-110); + img { + width:100%; + height:100%; + } + } + } + .statusMask { + width: px2rem(616); + height: px2rem(596); + // border-radius:.213333rem; + // background-color:#FFFFFF; + background: url('../img/index/buy-bg.png') no-repeat 0 0 / 100% 100%; + position: fixed; + left: 50%; + top: 50%; + transform:translate(-50%,-50%); + z-index: 1001; + display: none; + .cancel { + width: px2rem(70); + height: px2rem(70); + position: absolute; + left: 50%; + transform: translate(-50%,0); + bottom: px2rem(-80); + img { + width:100%; + height:100%; + } + } + .title { + width: 100%; + text-align: center; + font-size: px2rem(40); + color: #58A1F5; + font-weight:bold; + margin-top: px2rem(60); + } + + .avatar { + width: px2rem(120); + height: px2rem(120); + margin: 0 auto; + margin-top: px2rem(64); + + img { + width: 100%; + height:100%; + } + } + + .tip { + width: 100%; + text-align: center; + font-size: px2rem(30); + color: #909090; + } + + .in-btn, .recharge { + @include flex; + @include flex-align-center; + @include flex-justify-between; + display: block; + width: px2rem(300); + height: px2rem(108); + background:url('../img/index/btn.png') no-repeat 0 0 / 100% 100%; + background-size:100% 100%; + font-size: px2rem(36); + line-height: px2rem(92); + box-sizing: border-box; + text-align: center; + margin: px2rem(60) auto 0; + font-weight: bold; + padding-bottom: px2rem(10); + color: #fff; + } + } + .shade { + width: 100%; + position:fixed; + z-index:1000; + left: 0; + top: 0; + height: 100%; + background:rgba(0,0,0,0.7); + display: none; + } + .mine { + @include flex(); + @include flex-justify-between; + @include flex-align-center; + width: 100%; + height:1.866667rem; + position: fixed; + left: 0; + bottom: 0; + background: linear-gradient( #2578A7, #4E6BB3); + z-index: 100; + li { + margin: 0 .533333rem; + img { + width: 100%; + } + + &:first-child { + @include flex(); + @include flex-justify-start; + @include flex-align-center; + p { + &:first-child { + width:1.066667rem; + height:1.066667rem; + border-radius:50%; + overflow: hidden; + font-weight:500; + } + + &:last-child { + margin-left:.266667rem; + span { + display: block; + &:first-child { + line-height: px2rem(38); + font-size: px2rem(26); + color: #fff; + font-weight: bold; + white-space: nowrap; + } + &:last-child { + font-size: px2rem(22); + font-weight: 500; + color: rgba($color: #C1C4FD, $alpha: 1); + b { + color: rgba($color: #fff, $alpha: 1); + } + } + } + } + } + } + + &:last-child { + margin-top: px2rem(10); + width: px2rem(180); + height: px2rem(81); + } + } + } + } + /*提示信息样式*/ + .ajaxtiptext{ + position:fixed; + top:50%; + left:50%; + transform:translate(-50%,-50%); + text-align: center; + color:#FFFFFF; + padding:.2rem .4rem; + border-radius:.333333rem; + letter-spacing:.013333rem; + background:rgba(0,0,0,0.8); + animation:ajaxani 0.3s forwards; + z-index:9999; + white-space:nowrap; + } +} + diff --git a/act_project/carnival13/gulpfile.js b/act_project/carnival13/gulpfile.js new file mode 100644 index 0000000..7357063 --- /dev/null +++ b/act_project/carnival13/gulpfile.js @@ -0,0 +1,23 @@ +var gulp = require('gulp'); +var fs = require('fs'); +var path = require('path'); + +// 注册 +var deep = 3; +run_tasks('_tasks'); + +function run_tasks(tasks_path) { + if (--deep < 0) { + throw new Error('something wrong in require tasks!'); + // eslint-disable-next-line no-unreachable + return; + } + + tasks_path = path.join('../', tasks_path); + + if (fs.existsSync(tasks_path)) { + require(tasks_path)(gulp); + } else { + run_tasks(tasks_path); + } +} diff --git a/act_project/carnival13/img/carnival/back-btn.png b/act_project/carnival13/img/carnival/back-btn.png new file mode 100644 index 0000000..fc75bde Binary files /dev/null and b/act_project/carnival13/img/carnival/back-btn.png differ diff --git a/act_project/carnival13/img/carnival/bg1.png b/act_project/carnival13/img/carnival/bg1.png new file mode 100644 index 0000000..74f6dd3 Binary files /dev/null and b/act_project/carnival13/img/carnival/bg1.png differ diff --git a/act_project/carnival13/img/carnival/bg2.png b/act_project/carnival13/img/carnival/bg2.png new file mode 100644 index 0000000..0225fbe Binary files /dev/null and b/act_project/carnival13/img/carnival/bg2.png differ diff --git a/act_project/carnival13/img/carnival/draw-btn-2.png b/act_project/carnival13/img/carnival/draw-btn-2.png new file mode 100644 index 0000000..a0e2901 Binary files /dev/null and b/act_project/carnival13/img/carnival/draw-btn-2.png differ diff --git a/act_project/carnival13/img/carnival/draw-btn.png b/act_project/carnival13/img/carnival/draw-btn.png new file mode 100644 index 0000000..5ea140b Binary files /dev/null and b/act_project/carnival13/img/carnival/draw-btn.png differ diff --git a/act_project/carnival13/img/carnival/exp-1.png b/act_project/carnival13/img/carnival/exp-1.png new file mode 100644 index 0000000..700333c Binary files /dev/null and b/act_project/carnival13/img/carnival/exp-1.png differ diff --git a/act_project/carnival13/img/carnival/exp-2.png b/act_project/carnival13/img/carnival/exp-2.png new file mode 100644 index 0000000..806e9a7 Binary files /dev/null and b/act_project/carnival13/img/carnival/exp-2.png differ diff --git a/act_project/carnival13/img/carnival/exp1.png b/act_project/carnival13/img/carnival/exp1.png new file mode 100644 index 0000000..9807e23 Binary files /dev/null and b/act_project/carnival13/img/carnival/exp1.png differ diff --git a/act_project/carnival13/img/carnival/exp2.png b/act_project/carnival13/img/carnival/exp2.png new file mode 100644 index 0000000..84e6956 Binary files /dev/null and b/act_project/carnival13/img/carnival/exp2.png differ diff --git a/act_project/carnival13/img/carnival/feedback.png b/act_project/carnival13/img/carnival/feedback.png new file mode 100644 index 0000000..953ca63 Binary files /dev/null and b/act_project/carnival13/img/carnival/feedback.png differ diff --git a/act_project/carnival13/img/carnival/gather-btn.png b/act_project/carnival13/img/carnival/gather-btn.png new file mode 100644 index 0000000..d10371d Binary files /dev/null and b/act_project/carnival13/img/carnival/gather-btn.png differ diff --git a/act_project/carnival13/img/carnival/no0.png b/act_project/carnival13/img/carnival/no0.png new file mode 100644 index 0000000..7dfa915 Binary files /dev/null and b/act_project/carnival13/img/carnival/no0.png differ diff --git a/act_project/carnival13/img/carnival/no1.png b/act_project/carnival13/img/carnival/no1.png new file mode 100644 index 0000000..76f2283 Binary files /dev/null and b/act_project/carnival13/img/carnival/no1.png differ diff --git a/act_project/carnival13/img/carnival/no2.png b/act_project/carnival13/img/carnival/no2.png new file mode 100644 index 0000000..1cc2e5f Binary files /dev/null and b/act_project/carnival13/img/carnival/no2.png differ diff --git a/act_project/carnival13/img/carnival/noava.png b/act_project/carnival13/img/carnival/noava.png new file mode 100644 index 0000000..88f4f67 Binary files /dev/null and b/act_project/carnival13/img/carnival/noava.png differ diff --git a/act_project/carnival13/img/carnival/point-2.png b/act_project/carnival13/img/carnival/point-2.png new file mode 100644 index 0000000..6b09138 Binary files /dev/null and b/act_project/carnival13/img/carnival/point-2.png differ diff --git a/act_project/carnival13/img/carnival/point.png b/act_project/carnival13/img/carnival/point.png new file mode 100644 index 0000000..1048ccb Binary files /dev/null and b/act_project/carnival13/img/carnival/point.png differ diff --git a/act_project/carnival13/img/carnival/pop-bg.png b/act_project/carnival13/img/carnival/pop-bg.png new file mode 100644 index 0000000..96fa338 Binary files /dev/null and b/act_project/carnival13/img/carnival/pop-bg.png differ diff --git a/act_project/carnival13/img/carnival/rank-1.png b/act_project/carnival13/img/carnival/rank-1.png new file mode 100644 index 0000000..10b3d5b Binary files /dev/null and b/act_project/carnival13/img/carnival/rank-1.png differ diff --git a/act_project/carnival13/img/carnival/rank-2.png b/act_project/carnival13/img/carnival/rank-2.png new file mode 100644 index 0000000..4e44680 Binary files /dev/null and b/act_project/carnival13/img/carnival/rank-2.png differ diff --git a/act_project/carnival13/img/carnival/rank-3.png b/act_project/carnival13/img/carnival/rank-3.png new file mode 100644 index 0000000..506a7f6 Binary files /dev/null and b/act_project/carnival13/img/carnival/rank-3.png differ diff --git a/act_project/carnival13/img/carnival/rank-btn.png b/act_project/carnival13/img/carnival/rank-btn.png new file mode 100644 index 0000000..ed0dc84 Binary files /dev/null and b/act_project/carnival13/img/carnival/rank-btn.png differ diff --git a/act_project/carnival13/img/carnival/record-btn.png b/act_project/carnival13/img/carnival/record-btn.png new file mode 100644 index 0000000..4b6fc63 Binary files /dev/null and b/act_project/carnival13/img/carnival/record-btn.png differ diff --git a/act_project/carnival13/img/carnival/rule-btn.png b/act_project/carnival13/img/carnival/rule-btn.png new file mode 100644 index 0000000..5be349b Binary files /dev/null and b/act_project/carnival13/img/carnival/rule-btn.png differ diff --git a/act_project/carnival13/img/carnival/rule-text.png b/act_project/carnival13/img/carnival/rule-text.png new file mode 100644 index 0000000..c69ec42 Binary files /dev/null and b/act_project/carnival13/img/carnival/rule-text.png differ diff --git a/act_project/carnival13/img/carnival/turntable-2.png b/act_project/carnival13/img/carnival/turntable-2.png new file mode 100644 index 0000000..e55e4d3 Binary files /dev/null and b/act_project/carnival13/img/carnival/turntable-2.png differ diff --git a/act_project/carnival13/img/carnival/turntable.png b/act_project/carnival13/img/carnival/turntable.png new file mode 100644 index 0000000..2af2965 Binary files /dev/null and b/act_project/carnival13/img/carnival/turntable.png differ diff --git a/act_project/carnival13/img/carnival/win-prize-bg.png b/act_project/carnival13/img/carnival/win-prize-bg.png new file mode 100644 index 0000000..73cd8c5 Binary files /dev/null and b/act_project/carnival13/img/carnival/win-prize-bg.png differ diff --git a/act_project/carnival13/img/common/cancel.png b/act_project/carnival13/img/common/cancel.png new file mode 100644 index 0000000..6df376b Binary files /dev/null and b/act_project/carnival13/img/common/cancel.png differ diff --git a/act_project/carnival13/img/common/cancel1.png b/act_project/carnival13/img/common/cancel1.png new file mode 100644 index 0000000..ab86f0a Binary files /dev/null and b/act_project/carnival13/img/common/cancel1.png differ diff --git a/act_project/carnival13/img/common/enough-icon.png b/act_project/carnival13/img/common/enough-icon.png new file mode 100644 index 0000000..78c5706 Binary files /dev/null and b/act_project/carnival13/img/common/enough-icon.png differ diff --git a/act_project/carnival13/img/common/success-icon.png b/act_project/carnival13/img/common/success-icon.png new file mode 100644 index 0000000..25e01c6 Binary files /dev/null and b/act_project/carnival13/img/common/success-icon.png differ diff --git a/act_project/carnival13/img/gift/gift1.png b/act_project/carnival13/img/gift/gift1.png new file mode 100644 index 0000000..9553ecb Binary files /dev/null and b/act_project/carnival13/img/gift/gift1.png differ diff --git a/act_project/carnival13/img/gift/gift10.png b/act_project/carnival13/img/gift/gift10.png new file mode 100644 index 0000000..dce79f2 Binary files /dev/null and b/act_project/carnival13/img/gift/gift10.png differ diff --git a/act_project/carnival13/img/gift/gift11.png b/act_project/carnival13/img/gift/gift11.png new file mode 100644 index 0000000..614cb77 Binary files /dev/null and b/act_project/carnival13/img/gift/gift11.png differ diff --git a/act_project/carnival13/img/gift/gift12.png b/act_project/carnival13/img/gift/gift12.png new file mode 100644 index 0000000..f18eace Binary files /dev/null and b/act_project/carnival13/img/gift/gift12.png differ diff --git a/act_project/carnival13/img/gift/gift13.png b/act_project/carnival13/img/gift/gift13.png new file mode 100644 index 0000000..44f5b65 Binary files /dev/null and b/act_project/carnival13/img/gift/gift13.png differ diff --git a/act_project/carnival13/img/gift/gift14.png b/act_project/carnival13/img/gift/gift14.png new file mode 100644 index 0000000..efbb8b4 Binary files /dev/null and b/act_project/carnival13/img/gift/gift14.png differ diff --git a/act_project/carnival13/img/gift/gift15.png b/act_project/carnival13/img/gift/gift15.png new file mode 100644 index 0000000..f1065c0 Binary files /dev/null and b/act_project/carnival13/img/gift/gift15.png differ diff --git a/act_project/carnival13/img/gift/gift2.png b/act_project/carnival13/img/gift/gift2.png new file mode 100644 index 0000000..35d3af7 Binary files /dev/null and b/act_project/carnival13/img/gift/gift2.png differ diff --git a/act_project/carnival13/img/gift/gift3.png b/act_project/carnival13/img/gift/gift3.png new file mode 100644 index 0000000..97185f4 Binary files /dev/null and b/act_project/carnival13/img/gift/gift3.png differ diff --git a/act_project/carnival13/img/gift/gift4.png b/act_project/carnival13/img/gift/gift4.png new file mode 100644 index 0000000..d0a9af0 Binary files /dev/null and b/act_project/carnival13/img/gift/gift4.png differ diff --git a/act_project/carnival13/img/gift/gift5.png b/act_project/carnival13/img/gift/gift5.png new file mode 100644 index 0000000..7c369be Binary files /dev/null and b/act_project/carnival13/img/gift/gift5.png differ diff --git a/act_project/carnival13/img/gift/gift6.png b/act_project/carnival13/img/gift/gift6.png new file mode 100644 index 0000000..01ee9da Binary files /dev/null and b/act_project/carnival13/img/gift/gift6.png differ diff --git a/act_project/carnival13/img/gift/gift7.png b/act_project/carnival13/img/gift/gift7.png new file mode 100644 index 0000000..1561230 Binary files /dev/null and b/act_project/carnival13/img/gift/gift7.png differ diff --git a/act_project/carnival13/img/gift/gift8.png b/act_project/carnival13/img/gift/gift8.png new file mode 100644 index 0000000..6676ec9 Binary files /dev/null and b/act_project/carnival13/img/gift/gift8.png differ diff --git a/act_project/carnival13/img/gift/gift9.png b/act_project/carnival13/img/gift/gift9.png new file mode 100644 index 0000000..cb903cb Binary files /dev/null and b/act_project/carnival13/img/gift/gift9.png differ diff --git a/act_project/carnival13/img/index/add-icon.png b/act_project/carnival13/img/index/add-icon.png new file mode 100644 index 0000000..071dcd0 Binary files /dev/null and b/act_project/carnival13/img/index/add-icon.png differ diff --git a/act_project/carnival13/img/index/btn-cancel.png b/act_project/carnival13/img/index/btn-cancel.png new file mode 100644 index 0000000..89ad571 Binary files /dev/null and b/act_project/carnival13/img/index/btn-cancel.png differ diff --git a/act_project/carnival13/img/index/btn-confirm.png b/act_project/carnival13/img/index/btn-confirm.png new file mode 100644 index 0000000..ab87463 Binary files /dev/null and b/act_project/carnival13/img/index/btn-confirm.png differ diff --git a/act_project/carnival13/img/index/btn.png b/act_project/carnival13/img/index/btn.png new file mode 100644 index 0000000..7754d26 Binary files /dev/null and b/act_project/carnival13/img/index/btn.png differ diff --git a/act_project/carnival13/img/index/buy-bg.png b/act_project/carnival13/img/index/buy-bg.png new file mode 100644 index 0000000..da0d854 Binary files /dev/null and b/act_project/carnival13/img/index/buy-bg.png differ diff --git a/act_project/carnival13/img/index/buy-gray.png b/act_project/carnival13/img/index/buy-gray.png new file mode 100644 index 0000000..aed1aa2 Binary files /dev/null and b/act_project/carnival13/img/index/buy-gray.png differ diff --git a/act_project/carnival13/img/index/buy.png b/act_project/carnival13/img/index/buy.png new file mode 100644 index 0000000..0e03049 Binary files /dev/null and b/act_project/carnival13/img/index/buy.png differ diff --git a/act_project/carnival13/img/index/cancel.png b/act_project/carnival13/img/index/cancel.png new file mode 100644 index 0000000..bf30340 Binary files /dev/null and b/act_project/carnival13/img/index/cancel.png differ diff --git a/act_project/carnival13/img/index/in-btn.png b/act_project/carnival13/img/index/in-btn.png new file mode 100644 index 0000000..1a39a04 Binary files /dev/null and b/act_project/carnival13/img/index/in-btn.png differ diff --git a/act_project/carnival13/img/index/li-card.png b/act_project/carnival13/img/index/li-card.png new file mode 100644 index 0000000..e3374e2 Binary files /dev/null and b/act_project/carnival13/img/index/li-card.png differ diff --git a/act_project/carnival13/img/index/remove-icon.png b/act_project/carnival13/img/index/remove-icon.png new file mode 100644 index 0000000..b0493e7 Binary files /dev/null and b/act_project/carnival13/img/index/remove-icon.png differ diff --git a/act_project/carnival13/img/index/rule-btn.png b/act_project/carnival13/img/index/rule-btn.png new file mode 100644 index 0000000..af5bd98 Binary files /dev/null and b/act_project/carnival13/img/index/rule-btn.png differ diff --git a/act_project/carnival13/img/index/rule-text.png b/act_project/carnival13/img/index/rule-text.png new file mode 100644 index 0000000..23b0072 Binary files /dev/null and b/act_project/carnival13/img/index/rule-text.png differ diff --git a/act_project/carnival13/img/index/title.png b/act_project/carnival13/img/index/title.png new file mode 100644 index 0000000..8366dbb Binary files /dev/null and b/act_project/carnival13/img/index/title.png differ diff --git a/act_project/carnival13/index.html b/act_project/carnival13/index.html new file mode 100644 index 0000000..fd964f3 --- /dev/null +++ b/act_project/carnival13/index.html @@ -0,0 +1,80 @@ + + + + + + + 初夏物语 + <%- include('../html_tpl/style.html') %> + + + <%- include('../html_tpl/headScript.html') %> + + + +
                          +
                          +
                          +
                            +
                            +
                          • +

                            +

                            + - + 我的门票: +

                            +
                          • +
                          • +
                            + +
                            +
                            +

                            购买

                            +
                            +

                            数量:

                            +
                            +
                            + +
                            +
                            +
                            +

                            天数:1天

                            +

                            金额:金币

                            +
                            +
                            +
                            +
                            +
                            +
                            +
                            +
                            + +
                            +
                            玩法介绍
                            +
                            +

                            +
                            +
                            +
                            +
                            + +
                            +
                            购买成功
                            +
                            余额不足
                            +
                            +
                            +
                            + 进入会场 +
                            去充值
                            +
                            知道了
                            +
                            +
                            + +
                            + + +<%- include('../html_tpl/script.html') %> + + + \ No newline at end of file diff --git a/act_project/carnival13/js/carnival.js b/act_project/carnival13/js/carnival.js new file mode 100644 index 0000000..522ca12 --- /dev/null +++ b/act_project/carnival13/js/carnival.js @@ -0,0 +1,946 @@ +// 指定全局变量 +/*global checkVersion locateJudge EnvCheck tools erbanMask wx wxConfig VConsole androidJsObj initNav template preloadImage */ +var info = {}; +var browser = checkVersion(); +var api = locateJudge(); +var env = EnvCheck(); + +var shareUrl = location.origin + '/activity'; +var share = { + title: '', + link: shareUrl, + imgUrl: 'https://img.erbanyy.com/new-logo.png', + desc: '' +}; +// eslint-disable-next-line +function getMessage (key, value) { + info[key] = value; +} + +wx.ready(function () { + wx.onMenuShareTimeline({ + title: share.title, + link: share.link, + imgUrl: share.imgUrl, + desc: share.desc + }); + + wx.onMenuShareAppMessage({ + title: share.title, + desc: share.desc, + link: share.link, + imgUrl: share.imgUrl, + type: 'link', + dataUrl: '' + }); + + wx.onMenuShareQQ({ + title: share.title, + desc: share.desc, + link: share.link, + imgUrl: share.imgUrl + }); +}); + +erbanMask('activity-name', 'activity-name'); +initNav({ + type: 2, + data: { + msg: 'wewawa', + link: share.link, + title: share.title, + showUrl: share.link, + imgUrl: share.imgUrl, + desc: share.desc + } +}); + +browser.weixin && wxConfig(); + +var requestScrollTimer +var toastTimer +var openSocketTimer +var imgTimer +var canvasTimer +var rotateTimer +var rotateTimer2 +var giftTimer + +clearInterval(requestScrollTimer) +requestScrollTimer = setInterval(function () { + getScrollTip() +}, 60000) + +var clickTab = 0 +var clickTabFlag = false +var clickNumIndex = 0 +var turntable = { + 0: { + rotateBol: false, + fontColor: [], // 字体颜色 + colors: [ + '#321C34', + '#483446' + ], // 板块颜色 + prizeName: [], // 奖品名称 + prizeImg: [ + 'img/gift/gift1.png', + 'img/gift/gift2.png', + 'img/gift/gift3.png', + 'img/gift/gift4.png', + 'img/gift/gift5.png', + 'img/gift/gift6.png', + 'img/gift/gift7.png', + 'img/gift/gift8.png' + ], // 奖品图片 + prizeImgArr: [], // 用于canvas绘画的图片 + prizeIndex: [] // 奖品下标 + }, + 1: { + rotateBol: false, + fontColor: [], // 字体颜色 + colors: [ + '#001F53', + '#361B6E' + ], // 板块颜色 + prizeName: [], // 奖品名称 + prizeImg: [ + 'img/gift/gift1.png', + 'img/gift/gift9.png', + 'img/gift/gift10.png', + 'img/gift/gift11.png', + 'img/gift/gift12.png', + 'img/gift/gift13.png', + 'img/gift/gift14.png', + 'img/gift/gift15.png' + ], // 奖品图片 + prizeImgArr: [], // 用于canvas绘画的图片 + prizeIndex: [] // 奖品下标 + } +} +var giftIntro = {} + +$(function () { + if (env == 'test') { + new VConsole(); + } + var main = { + init: function () { + this.getMsgFromDevice(); + setTimeout(() => { + this.getData(); + if (info.appVersion >= '1.3.6' && info.appVersion) { + $('.topNav1').show().siblings('.topNav2').hide(); + } else { + $('.feedback,.topNav1').hide(); + $('.topNav2').show(); + } + }, 100); + this.eventRegister(); + }, + getMsgFromDevice: function () { + if (browser.app) { + if (browser.ios) { + window.webkit.messageHandlers.getDeviceId.postMessage(null); + window.webkit.messageHandlers.getRoomUid.postMessage(null); + } else if (browser.android) { + if (androidJsObj && typeof androidJsObj === 'object') { + info.deviceId = window.androidJsObj.getDeviceId(); + info.roomUid = window.androidJsObj.getRoomUid() + } + } + + info.uid = tools.nativeUtils.getUid(); + info.ticket = tools.nativeUtils.getTicket(); + info.appVersion = tools.nativeUtils.getAppVersion(); + } else { + info.uid = 925506; + info.roomUid = 923631 + info.deviceId = '8d9d6247-63a4-3acc-a164-01a6b1a3c098'; + info.ticket = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0aWNrZXRfdHlwZSI6bnVsbCwidWlkIjo5MjU1MDYsInRpY2tldF9pZCI6IjQ1MTE0N2IyLTJkYjEtNDYwNi1hOWQyLTU0ZmZmM2NkMDhjNSIsImV4cCI6MzYwMCwiY2xpZW50X2lkIjoiZXJiYW4tY2xpZW50In0.X7gEBqfPDH0ejsAAsx0xdJeuRsyMhUJ9B3tVjAuwZq0'; + } + }, + + eventRegister: function () { + $('.topNav .tab').on('click', function () { + if (clickTabFlag) { + return + } + $(this).addClass('active').siblings().removeClass('active') + clickTab = $(this).index() + + if (clickTab === 0) { + $('.exp-container').find('.strip').removeClass('exp-2').addClass('exp-1') + $('.exp-container').removeClass('exp-container2').addClass('exp-container1') + $('.canvas').find('.container1').removeClass('second').addClass('first') + $('.canvas .pointer img').attr('src', 'img/carnival/point.png') + $('.canvas .btn img').attr('src', 'img/carnival/draw-btn.png') + preloadImg(clickTab) + } else { + $('.exp-container').find('.strip').removeClass('exp-1').addClass('exp-2') + $('.exp-container').removeClass('exp-container1').addClass('exp-container2') + $('.canvas').find('.container1').removeClass('first').addClass('second') + $('.canvas .pointer img').attr('src', 'img/carnival/point-2.png') + $('.canvas .btn img').attr('src', 'img/carnival/draw-btn-2.png') + preloadImg(clickTab) + } + + info.clickStatu = false + getGiftInfo() + getticketChooseShow() + }) + $('.turnNum').on('click', 'li', function () { + $(this).addClass('active').siblings().removeClass('active') + clickNumIndex = $(this).index() + }) + + $('.experience').on('click', '.tips', function () { + $('.exp-toast').fadeIn(300, function () { + clearTimeout(toastTimer) + toastTimer = setTimeout(function () { + $('.exp-toast').hide() + }, 8000) + }) + }) + + $('.canvas').on('click', '.btn', function () { + if (!info.clickStatu) { + $('.toast').html('哎呀太挤了,请稍等').fadeIn(30).fadeOut(2000) + return false + } + if (turntable[clickTab].rotateBol) return + turntable[clickTab].rotateBol = true + clickTabFlag = true + var obj = { + 0: 'one', + 1: 'ten', + 2: 'hundred' + } + $.ajax({ + headers: { + pub_ticket: info.ticket + }, + type: 'POST', + url: api + '/activities/draw/turnTable', + data: { + uid: info.uid, + ticket: info.ticket, + roomUid: info.roomUid, + sendMessage: true, + ruleType: obj[clickNumIndex], + drawType: (clickTab === 0) ? 'turntable1' : 'turntable2', + deviceId: info.deviceId + }, + success: function (res) { + if (res.code === 200) { + var maxValue = 0 + var prizeId + var item + for (var i in res.data.prizeItemList) { + if (res.data.prizeItemList[i].platformValue > maxValue) { + maxValue = res.data.prizeItemList[i].platformValue + prizeId = res.data.prizeItemList[i].prizeId + item = turntable[clickTab].prizeIndex.indexOf(prizeId) + if (item == -1) { + item = 0 + } + } + console.log(item); + } + // ---------------- 用户抽奖记录接口 ----------- + $.ajax({ + headers: { + pub_ticket: info.ticket + }, + type: 'POST', + url: api + '/activities/draw/saveLog', + data: { + ticket: info.ticket, + uid: info.uid, + prizeids: JSON.stringify(res.data.prizeIdList), + prizeIndex: item, + createdTime: res.data.prizeItemList[0].createTime, + prizeIdList: JSON.stringify(turntable[clickTab].prizeIndex) + }, + success: function (res) { + // eslint-disable-next-line no-empty + if (res.code !== 200) console.log(res.message) + }, + error: function (err) { + console.log('报错了:', err) + } + }) + // ------------------ 用户抽奖记录接口 ------------ + $('.info').find('.ticketNum').html(res.data.remainKeyNum) + rotateFunc(item, 8, res.data.prizeItemList, res.data.prizeIdList, clickTab) + clearTimeout(rotateTimer) + rotateTimer = setTimeout(function () { + clickTabFlag = false + clearTimeout(rotateTimer) + }, 3000) + clearTimeout(rotateTimer2) + rotateTimer2 = setTimeout(function () { + turntable[clickTab].rotateBol = false + }, 1000) + } else if (res.code === 10000) { + // 门票不足 + $('.status-mask').find('.title').html('游玩失败') + $('.status-mask').find('.tips').html('亲,门票不足了哦~') + $('.status-mask').find('.btn').addClass('toGather').html('去收集') + $('.shade,.status-mask').show() + clickTabFlag = false + turntable[clickTab].rotateBol = false + } else if (res.code === 21111) { + // 游玩限制 + $('.status-mask').find('.title').html('本日游玩限制') + $('.status-mask').find('.tips').html('今日游玩次数已达上限哦~') + $('.status-mask').find('.btn').removeClass('toGather').html('知道了') + $('.shade,.status-mask').show() + clickTabFlag = false + } else { + turntable[clickTab].rotateBol = false + clickTabFlag = false + $('.toast').html(res.message).fadeIn(30).fadeOut(3000) + } + } + }) + }) + $('.status-mask').on('click', '.btn', function () { + if ($(this).hasClass('toGather')) { + $('.status-mask').hide() + $('.shade').hide() + window.location.href = './index.html' + } else { + $('.status-mask').hide() + $('.shade').hide() + } + }) + + $('.shade').on('click', function () { + $('.status-mask').hide() + $('.gather-mask').hide() + $('.shade').hide() + }) + + $('.help').on('click', function () { + $('.rule-mask').animate({ + top: 0 + }, 500) + }) + $('.rule-mask').on('click', '.back', function () { + $('.rule-mask').animate({ + top: -1000 + }, 500) + }) + + $('.rank-btn').on('click', function () { + renderRank(false) + }) + $('.rank-mask .tab').on('click', 'li', function () { + rankTabIndex = $(this).index() + $(this).addClass('active').siblings().removeClass('active') + renderRank(true) + }) + $('.rank-mask').on('click', '.back', function () { + $('.rank-mask').animate({ + top: -1000 + }, 500) + }) + + $('.status-mask').on('click', '.btn', function () { + $('.shade').hide() + $('.status-mask').hide() + }) + + $('.record-btn').on('click', function () { + renderRecord(false) + }) + $('.record-mask .tab').on('click', 'li', function () { + recordTabIndex = $(this).index() + recordPageNum = 1 + scrollFlag = false + $('.record-mask').find('.content').scrollTop(0) + $(this).addClass('active').siblings().removeClass('active') + renderRecord(true) + }) + $('.record-mask').on('click', '.back', function () { + $('.record-mask').animate({ + top: -1000 + }, 500) + }) + $('.record-mask .content').scroll(function () { + var scrollH = $(this).scrollTop() + var contentH = $('.record-container').height() + var viewH = $(this).height() + if (Math.ceil(viewH + scrollH) >= contentH) { + if (scrollFlag) { + return + } + scrollFlag = !scrollFlag + recordPageNum++ + renderRecord(true) + } + }) + $('.feedback').on('click', function () { + tools.nativeUtils.jumpAppointPage('FEEDPACK_PAGE', 'DRAW'); + }) + }, + getData: function () { + getScrollTip() + getticketChooseShow() + openSocket() + getExp() + getTicketNum() + preloadImg(clickTab) + getGiftInfo() + } + }; + + main.init(); +}); + +var scrollTimer +var tabTimer +var times +// var timeFlag = 0 +var timeTimer +// var cacheLine = 0 +var rankTabIndex = 0 +var recordTabIndex = 0 +var recordPageNum = 1 + +// 获取滚屏数据 +function getScrollTip () { + $('.container').hide() + $.ajax({ + type: 'GET', + url: api + '/activities/draw/queryPrizeMsg', + success: function (res) { + if (res.code === 200) { + for (var i in res.data) { + if (res.data[i].nick.length > 4) { + res.data[i].nick = res.data[i].nick.substring(0, 4) + '...' + } + if (res.data[i].drawType === 1) { + res.data[i]['table'] = '甜蜜夏日' + } else { + res.data[i]['table'] = '心动一夏' + } + } + res.data.push(res.data[0]) + var _data = { + scrollMaskList: res.data + } + $('.container').html(template('scrollTmp', _data)) + $('.container').show() + animateScroll() + } + } + }) +} + +// 获取礼物信息 +function getGiftInfo () { + turntable[clickTab].prizeIndex = [] + // turntable[0].prizeImg = []; + // turntable[1].prizeImg = []; + giftIntro['giftIdArr'] = [] + $.ajax({ + type: 'GET', + url: api + '/activities/draw/queryPrizeInfo', + timeout: 15000, // 超时时间:30秒 + data: { + drawType: (clickTab === 0) ? 'turntable1' : 'turntable2' + }, + success: function (res) { + if (res.code === 200) { + for (var i in res.data) { + turntable[clickTab].prizeIndex.push(res.data[i].prizeId) + giftIntro.giftIdArr.push(res.data[i].prizeId) + // if(clickTab === 0) { + // turntable[0].prizeImg.push(res.data[i].prizeImgUrl) + // }else{ + // turntable[1].prizeImg.push(res.data[i].prizeImgUrl) + // } + } + // preloadImg(clickTab) + // 成功后可点击 + info.clickStatu = true + } else { + $('.toast').html(res.message).fadeIn(30).fadeOut(2000) + } + }, + error: function (res) { + $('.toast').html('哎呀太挤了,请稍等').fadeIn(30).fadeOut(2000) + } + }) +} + +// 滚屏 +function animateScroll () { + var length = $('.scrollMask').find('.container').height() + var _top = 0 + clearInterval(scrollTimer) + scrollTimer = setInterval(function () { + if (length + _top > 30) { + _top -= 30 + } else { + $('.scrollMask').find('.container').css({ + top: 0 + }) + _top = 0 + } + $('.scrollMask').find('.container').stop(true, true).animate({ + top: _top + }) + }, 2000) +} + +// 获取消耗数据 +function getticketChooseShow () { + var drawObj = { + 0: 'turntable1', + 1: 'turntable2' + } + $.ajax({ + type: 'GET', + url: api + '/activities/draw/queryTicketRule', + data: { + drawType: drawObj[clickTab] + }, + success: function (res) { + if (res.code === 200) { + // $('.turnNum').find('.num').eq(0).html(res.data.one + '次') + $('.turnNum').find('.ticket').eq(0).html('消耗' + res.data.one + '门票') + // $('.turnNum').find('.num').eq(1).html(res.data.ten + '次') + $('.turnNum').find('.ticket').eq(1).html('消耗' + res.data.ten + '门票') + // $('.turnNum').find('.num').eq(2).html(res.data.hundred + '次') + $('.turnNum').find('.ticket').eq(2).html('消耗' + res.data.hundred + '门票') + + if (clickTab === 0) { + $('.turnNum').find('li').removeClass('joy').addClass('ball') + } else { + $('.turnNum').find('li').removeClass('ball').addClass('joy') + } + } + } + }) +} + +// 打开socket链接 +function openSocket () { + var socket = null + var cacheType = 0 + if (typeof (WebSocket) === 'undefined') { + alert('暂不支持转盘socket') + } else { + var _url = (window.location.href.match('apibeta') || window.location.href.match('local')) ? 'http://apibeta.qxjiaoyou.com:8081' : 'https://api.qxjiaoyou.com:8081' + if (window.location.href.match('preview')) { + _url = 'https://preview.qxjiaoyou.com:8081' + } + var socketUrl = _url + '/websocket/activity/' + info.roomUid + socketUrl = socketUrl.replace('https', 'wss').replace('http', 'ws') + if (socket !== null) { + socket.close() + socket = null + } + socket = new WebSocket(socketUrl) + + socket.onopen = function () { + // 监听开启socket后的判断逻辑 + clearInterval(tabTimer) + tabTimer = setInterval(function () { + if (cacheType !== clickTab) { + cacheType = clickTab + getExp() + } + }, 10) + } + + socket.onmessage = function (res) { + // 监听服务端发送过来的数据 + + var data = JSON.parse(res.data) + if (data.data) { + renderExp(data.data) + } + } + + socket.onclose = function () { + socket = null + clearTimeout(openSocketTimer) + openSocketTimer = setTimeout(function () { + openSocket() + }, 5000) + } + + socket.onerror = function () { + console.log('socket错误') + } + } +} + +// 渲染经验值 +function getExp () { + $.ajax({ + type: 'GET', + url: api + '/activities/draw/getRunawayData', + data: { + drawType: (clickTab === 0) ? 'turntable1' : 'turntable2', + roomUid: info.roomUid + }, + success: function (res) { + if (res.code === 200) { + renderExp(res.data) + } + } + }) +} +var tableFlag +function renderExp (val) { + // console.log(val) + tableFlag = (val.drawType === 'turntable1') ? 0 : 1 + if (val.runawaySwitch) { + $('.experience').show() + } + + // 进度条计算 + if (tableFlag === clickTab) { + var height = $('.exp-container').height() + var percentage = val.curValue / val.runawayConfigValue + var _top + _top = height * percentage + $('.strip').stop(true).animate({ + height: _top + }, 200) + $('.experience').find('.maxNum').html(val.runawayConfigValue) + $('.experience').find('.num').html(val.curValue) + } + // 进度条计算 + + // 礼物显示 + if (JSON.stringify(val.poolPrize) !== '{}') { + if (val.poolTime > 0 && tableFlag === clickTab) { + renderTime(val) + } + // if (val.poolTime === val.runawayConfigTime && tableFlag === clickTab) { + // timeFlag = 1 + // $('.giftBox').removeClass('hide') + // renderTime(val.poolTime) + // $('.giftBox').find('img').attr('src', val.poolPrize.prizeImgUrl) + // } + } else { + $('.giftBox').addClass('hide') + } +} + +// 渲染倒计时 +function renderTime (val) { + times = val.poolTime + $('.giftBox').find('img').attr('src', val.poolPrize.prizeImgUrl) + $('.giftBox').removeClass('hide') + $('.experience').find('.times').html(times + '秒') + clearInterval(timeTimer) + timeTimer = setInterval(function () { + times-- + if (times === 0) { + // timeFlag = 0 + clearInterval(timeTimer) + $('.giftBox').addClass('hide') + } + $('.experience').find('.times').html(times + '秒') + }, 1000) +} + +// 获取门票数 +function getTicketNum () { + $.ajax({ + type: 'GET', + url: api + '/activities/draw/queryTicketNum', + data: { + uid: info.uid + }, + success: function (res) { + if (res.code === 200) { + $('.info').find('.ticketNum').html(res.data.num) + } + } + }) +} + +// 预加载图片 +function preloadImg (val) { + var img = { + imageArr: turntable[val].prizeImg, + doneFunc: function () { + clearInterval(imgTimer) + imgTimer = setTimeout(function () { + getCanvas(val) + }, 50) + } + } + preloadImage(img) +} + +// 转盘 +function getCanvas (val) { + var img + if (val === 0) { + $('#table').show() + $('#table2').hide() + } else { + $('#table').hide() + $('#table2').show() + } + for (let i in turntable[val].prizeImg) { + img = new Image() + img.src = turntable[val].prizeImg[i] + turntable[val].prizeImgArr.push(img) + } + var count = turntable[val].prizeImg.length + img.onload = function () { + var baseAngle = Math.PI * 2 / count + var _circle = (val === 0) ? document.getElementById('table') : document.getElementById('table2') + var circle = _circle.getContext('2d') + clearTimeout(canvasTimer) + canvasTimer = setTimeout(function () { + for (var i = 0; i < turntable[val].prizeImg.length; i++) { + circle.save() + circle.translate(_circle.width / 2, _circle.height / 2) + circle.strokeStyle = 'transparent' + var angle = i * baseAngle + var colorIndex = i % 2 + circle.fillStyle = turntable[val].colors[colorIndex] + circle.beginPath() + circle.moveTo(0, 0) + circle.arc(0, 0, 214, angle, angle + baseAngle, false) + circle.stroke() + circle.fill() + circle.rotate(angle + baseAngle / 2 + Math.PI / 2) + circle.imageSmoothEnabled = false + circle.drawImage(turntable[val].prizeImgArr[i], -55, -210, 100, 100) + circle.restore() + } + clearTimeout(canvasTimer) + }, 10) + } +} + +// 旋转 +function rotateFunc (item, count, data, idList, val) { + // $('.canvas').css({ + // transform: 'scale(.5)' + // }) + giftIntro['gatherId'] = item + giftIntro['gatherIdList'] = idList + console.log(giftIntro); + var baseAngle = 360 / count + var angle = 360 * 3 / 4 - (item * baseAngle) - baseAngle / 2 + giftIntro['angle'] = angle + var $rotate = (val === 0) ? $('#table') : $('#table2') + $rotate.stopRotate() + $rotate.rotate({ + angle: 0, + animateTo: angle + 360 * 5, + duration: 3000, + callback: function () { + // 获取弹窗渲染 + var $data = { + gatherList: data + } + $('.gift-list').html(template('gatherListTmp', $data)) + $('.gather-mask').show() + $('.shade').show() + clearTimeout(giftTimer) + giftTimer = setTimeout(function () { + $('.gather-mask').hide() + $('.shade').hide() + clearTimeout(giftTimer) + }, 1500) + } + }) +} + +// 渲染排行榜 +function renderRank (val) { + var tipsObj = { + 0: '抽奖票数越多,排名越高哦~每日零点重置', + 1: '获得奖励价值越高,排名越高哦~每日零点重置' + } + var urlObj = { + 0: '/activities/rank/ticketList', + 1: '/activities/rank/giftList' + } + $.ajax({ + type: 'POST', + url: api + urlObj[rankTabIndex], + data: { + uid: info.uid + }, + success: function (res) { + if (res.code === 200) { + $('.rank-mask').find('.tips p').html(tipsObj[rankTabIndex]) + for (var i in res.data.rankVoList) { + if (res.data.rankVoList[i].nick.length > 5) { + res.data.rankVoList[i].nick = res.data.rankVoList[i].nick.substring(0, 5) + '...' + } + if (i > 0) { + var distance = res.data.rankVoList[i - 1].value - res.data.rankVoList[i].value + if (distance > 10000) { + res.data.rankVoList[i]['distance'] = (distance / 10000).toFixed(1) + '万' + } else { + res.data.rankVoList[i]['distance'] = distance + } + } + } + if (!val) { + $('.rank-mask').animate({ + top: 0 + }, 500, function () { + var $data = { + rankList: res.data.rankVoList + } + $('.rank-container').html(template('rankListTmp', $data)).fadeIn(500) + }) + } else { + var $data = { + rankList: res.data.rankVoList + } + $('.rank-container').fadeOut(500, function () { + $('.rank-container').html(template('rankListTmp', $data)) + }).fadeIn(500) + } + + if (res.data.myRank.nick.length > 5) { + res.data.myRank.nick = res.data.myRank.nick.substring(0, 5) + '...' + } + if (res.data.myRank.value > 10000) { + res.data.myRank.value = (res.data.myRank.value / 10000).toFixed(1) + '万' + } + + $('.mine').find('.rank-num').html(res.data.myRank.rank) + $('.mine').find('.avatar img').attr('src', res.data.myRank.avatar) + $('.mine').find('.nick').html(res.data.myRank.nick) + if (rankTabIndex === 0) { + $('.mine').find('.score').html('我的捧场值:' + res.data.myRank.value) + $('.rank-yesterday-box').addClass('active') + for (var i = 0; i < 3; i++) { + var item = res.data.yesterdayRank[i] || '' + $(`.rank-item${i} .rank-ava .img-item`).attr('src', item.avatar || 'img/carnival/noava.png') + $(`.rank-item${i} .rank-nick`).html(item.nick || '虚位以待') + } + } else { + $('.mine').find('.score').html('我的迷人值:' + res.data.myRank.value) + $('.rank-yesterday-box').removeClass('active') + } + if (res.data.myRank.rank < 21) { + if (res.data.myRank.rank > 10 && res.data.myRank.rank < 21) { + $('.mine').find('.num').html(res.data.myRank.diffValue) + $('.mine').find('.distance').html('距上榜') + } else if (res.data.myRank.rank < 11 && res.data.myRank.rank > 1) { + $('.mine').find('.num').html(res.data.myRank.diffValue) + $('.mine').find('.distance').html('距上名') + } else { + $('.mine').find('.num').html(res.data.myRank.diffValue) + } + } else { + $('.mine').find('.num').html(res.data.myRank.diffValue) + $('.mine').find('.distance').html('未上榜') + } + // 跳转个人主页 + $('.rank-container').on('click', '.avatar', function () { + var uid = $(this).attr('data-uid'); + tools.nativeUtils.jumpAppointPage('PERSON_PAGE', uid); + }) + } + } + }) +} + +var recordCache = [] +var scrollFlag = false +var recordTimer +// 渲染抽奖记录 +function renderRecord (val) { + var typeObj = { + 0: 'time', + 1: 'worth' + } + $.ajax({ + type: 'GET', + url: api + '/activities/draw/drawRecord', + data: { + uid: info.uid, + sortType: typeObj[recordTabIndex], + page: recordPageNum, + pageSize: 10 + }, + success: function (res) { + if (res.code === 200) { + if (res.data.length === 0) { + return + } + if (recordTabIndex === 0) { + for (var i in res.data) { + var date = new Date(res.data[i].createTime) + var year = date.getFullYear() + var month = date.getMonth() + 1 + var day = date.getDate() + var hour = date.getHours() + var minute = date.getMinutes() + var second = date.getSeconds() + res.data[i].ymd = year + '-' + month + '-' + day + res.data[i].hms = hour + ':' + minute + ':' + second + } + } + if (scrollFlag) { + if (res.data.length > 0) { + for (var j in res.data) { + recordCache.push(res.data[j]) + } + } else { + $('.loading').html('暂无更多数据') + } + var $data2 = { + recordList: recordCache, + // eslint-disable-next-line no-unneeded-ternary + worth: (recordTabIndex === 1) ? true : false + } + $('.loading').show() + clearTimeout(recordTimer) + recordTimer = setTimeout(function () { + $('.loading').hide() + $('.record-container').html(template('recordTmp', $data2)) + scrollFlag = !scrollFlag + }, 2000) + return + } + if (!val) { + recordCache = [] + $('.record-mask').animate({ + top: 0 + }, 500, function () { + recordCache = res.data + var $data = { + recordList: recordCache, + // eslint-disable-next-line no-unneeded-ternary + worth: (recordTabIndex === 1) ? true : false + } + $('.record-container').html(template('recordTmp', $data)).fadeIn(500) + }) + } else { + recordCache = [] + recordCache = res.data + var $data = { + recordList: recordCache, + // eslint-disable-next-line no-unneeded-ternary + worth: (recordTabIndex === 1) ? true : false + } + $('.record-container').fadeOut(500, function () { + $('.record-container').html(template('recordTmp', $data)) + }).fadeIn(500) + } + } + } + }) +} diff --git a/act_project/carnival13/js/index.js b/act_project/carnival13/js/index.js new file mode 100644 index 0000000..695d8b5 --- /dev/null +++ b/act_project/carnival13/js/index.js @@ -0,0 +1,386 @@ +// 指定全局变量 +/*global checkVersion locateJudge EnvCheck tools erbanMask wx wxConfig VConsole androidJsObj initNav */ +var info = {}; +var browser = checkVersion(); +var api = locateJudge(); +var env = EnvCheck(); +var totalPrice = 0; +var shareUrl = location.origin + '/activity'; +var share = { + title: '', + link: shareUrl, + imgUrl: 'https://img.erbanyy.com/new-logo.png', + desc: '' +}; +// eslint-disable-next-line +function getMessage(key, value) { + info[key] = value; +} + +wx.ready(function() { + wx.onMenuShareTimeline({ + title: share.title, + link: share.link, + imgUrl: share.imgUrl, + desc: share.desc + }); + + wx.onMenuShareAppMessage({ + title: share.title, + desc: share.desc, + link: share.link, + imgUrl: share.imgUrl, + type: 'link', + dataUrl: '' + }); + + wx.onMenuShareQQ({ + title: share.title, + desc: share.desc, + link: share.link, + imgUrl: share.imgUrl + }); +}); + +erbanMask('activity-name', 'activity-name'); +initNav({ + type: 2, + data: { + msg: 'wewawa', + link: share.link, + title: share.title, + showUrl: share.link, + imgUrl: share.imgUrl, + desc: share.desc + } +}); + +browser.weixin && wxConfig(); + +$(function() { + if (env == 'test') { + new VConsole(); + } + + var main = { + init: function() { + this.getMsgFromDevice(); + setTimeout(() => { + this.getData(); + }, 100); + this.eventRegister(); + }, + getMsgFromDevice: function() { + if (browser.app) { + if (browser.ios) { + window.webkit.messageHandlers.getDeviceId.postMessage(null); + } else if (browser.android) { + if (androidJsObj && typeof androidJsObj === 'object') { + info.deviceId = window.androidJsObj.getDeviceId(); + } + } + info.uid = tools.nativeUtils.getUid(); + info.ticket = tools.nativeUtils.getTicket(); + } else { + // info.uid = 906238; + info.uid = 906709; + info.deviceId = 'safhksafhksajhfs1kjahsfkjsf0000aaaaaaaacaa'; + info.ticket = 'eyJhbGciOiJIUzI1NiJ9.eyJ0aWNrZXRfdHlwZSI6bnVsbCwidWlkIjo5MDYyMzgsInRpY2tldF9pZCI6IjdiZWQ2NzcwLWJmMjktNGRiYi04MzZmLTc0NzBmY2RiMDZjYSIsImV4cCI6MzYwMCwiY2xpZW50X2lkIjoiZXJiYW4tY2xpZW50In0.ye2Zv8nyZkqiT_bIWq-50qcS6_SCWmRpBjxxLX7mQvs'; + } + }, + eventRegister: function() { + // 打开规则弹窗 + $('.rule-btn').on('click', function() { + $('.rule-mask,.shade').fadeIn(300); + }) + // 关闭购买弹窗 + $('.buy-mask').on('click', '.close-btn', function() { + $('.buy-mask,.shade').fadeOut(300); + }) + // 关闭规则弹窗 + $('.rule-mask').on('click', '.cancel', function() { + $('.rule-mask,.shade').fadeOut(300); + }) + // 关闭购买之后弹窗 + $('.statusMask').on('click', '.cancel', function() { + $('.statusMask,.shade').fadeOut(300); + }) + // 关闭弹窗 + $('.shade').on('click', function() { + $('.rule-mask,.buy-mask,.statusMask,.shade').fadeOut(300); + }) + // 监听input输入 + $('.b-input').bind('input propertychange', function() { + var _this = $(this); + if (_this.val().length == 1) { + _this.val(_this.val().replace(/[^1-9]/gi, '')); + } else { + _this.val(_this.val().replace(/[\D]/gi, '')); + _this.val(parseInt(_this.val())); + } + if(_this.val() == '') { + totalPrice = 0; + $('.day').text(0); + _this.val(0) + }else{ + if(_this.val() >= 100000000) { + _this.val(100000000) + } + totalPrice = parseInt(_this.val()) * parseInt(_this.attr('data-price')); + $('.day').text(_this.val()); + } + $('.totalprice').html(totalPrice); + }) + // 增加按钮 + $('.add-btn').on('click', function() { + var val = parseInt($('.b-input').val()); + var price = parseInt($('.b-input').attr('data-price')); + val = val + 1; + totalPrice = val * price; + $('.day').text(val); + $('.b-input').val(val); + $('.totalprice').html(totalPrice); + }) + // 减少按钮 + $('.remove-btn').on('click', function() { + var val = parseInt($('.b-input').val()); + var price = parseInt($('.b-input').attr('data-price')); + if(val > 1) { + val = val - 1; + }else{ + val = 1; + } + totalPrice = val * price; + $('.day').text(val); + $('.b-input').val(val); + $('.totalprice').html(totalPrice); + }) + // 购买确认 + $('.confirm-btn').on('click', function() { + var packNum = $('.b-input').val(); + var packId = $(this).attr('data-pid'); + if(packNum == 0) { + ajaxTip('最少购买一个哦~'); + return; + }else{ + $.ajax({ + headers: { + pub_ticket: info.ticket + }, + type: 'POST', + url: api + '/activity/pack/buy', + data: { + uid: info.uid, + ticket: info.ticket, + packId: packId, + packNum: packNum + }, + success: function(res) { + if(res) { + if (res.code == 200) { // 购买成功 + $('.buy-mask').hide().siblings('.statusMask').fadeIn(300); + $('.success').show(); + $('.fail').hide(); + $('.statusMask .tip').html('获赠门票×' + res.data); + renderTicket(); + } else if (res.code == 2103) { // 余额不足 + $('.buy-mask').hide().siblings('.statusMask').fadeIn(300); + $('.buy-mask,.success').hide(); + $('.fail').show(); + $('.statusMask .tip').html('亲,余额不足~'); + if (browser.ios) { + $('.android').hide(); + } else if (browser.android) { + $('.ios').hide(); + } + } else { + ajaxTip(res.message); + return; + } + } + } + }) + } + }) + // 充值跳转 + $('.recharge').on('click', function() { + if (browser.ios) { + $('.statusMask,.shade').fadeOut(300); + } else { + tools.nativeUtils.jumpAppointPage('RECHARGE_PAGE'); + } + }) + }, + getData: function() { + renderTicket(); + renderGift(); + } + }; + main.init(); +}); + +// 渲染底部tab +function renderTicket() { + $.ajax({ + type: 'GET', + url: api + '/activities/draw/queryTicketNum', + data: { + uid: info.uid + }, + success: function(res) { + if(res.code === 200) { + if (res.data.nick.length > 10) { + res.data.nick = res.data.nick.substring(0, 10) + '...' + } + $('.mine').find('.avatar img').attr('src', res.data.avatar) + $('.mine').find('.nick').html(res.data.nick) + $('.mine').find('.score').html(res.data.num) + }else{ + ajaxTip(res.message); + return; + } + } + }) +} + +// 渲染礼包信息 +function renderGift() { + $.ajax({ + headers: { + pub_ticket: info.ticket + }, + type: 'POST', + url: api + '/activities/draw/getPackList', + data: { + uid: info.uid, + ticket: info.ticket + }, + success: function(res) { + if (res.code == 200) { + var html = ''; + var num = ''; + res.data.forEach(function(item, index) { + if(item.sellingPrice == 200) { + num = '7-10' + }else if(item.sellingPrice == 1000) { + num = '30-50' + }else if(item.sellingPrice == 2000) { + num = '70-100' + }else if(item.sellingPrice == 10000) { + num = '300-500' + } + // 新增的档位20000,赠送600-1000门票,添加日期2020-12-08 + else if(item.sellingPrice == 20000) { + num = '600-1000' + } + html += '
                          • ' + + '

                            限定装扮' + NoToChinese(index + 1) + '

                            ' + + '
                            ' + + '
                            ' + + '

                            ' + item.name + '

                            ' + + '

                            ' + item.sellingPrice + '金币/天

                            ' + + '

                            ' + item.originalPrice + '金币/天

                            ' + + '

                            随机赠送门票' + num + '张

                            ' + + '
                            ' + + '
                            ' + + '
                          • ' + }) + $('.cloth-box').html(html); + renderBuyStatus(); + // 购买弹窗 + $('.cloth-box').on('click', '.buy-btn', function() { + var packId = $(this).attr('data-gid'); + var name = $(this).siblings('.gift-text').find('p:first').text(); + var sellingPrice = $(this).siblings('.gift-text').find('.price').attr('data-money'); + $('.buy-mask .day').text(1); + $('.buy-mask .b-input').val(1); + $('.buy-mask .giftName').html(name); + $('.buy-mask .totalprice').html(sellingPrice); + $('.buy-mask .confirm-btn').attr('data-pid', packId); + $('.buy-mask .b-input').attr('data-price', sellingPrice); + $('.shade,.buy-mask').fadeIn(300); + }) + }else{ + ajaxTip(res.message); + return; + } + } + }) +} +// 渲染购买状态 +function renderBuyStatus() { + $.ajax({ + type: 'GET', + url: api + '/activities/draw/getDate', + data: {}, + success: function(res) { + if(res.code == 200) { + var date = new Date().getTime(); + var start = (browser.ios) ? res.data.start : res.data.start; + var end = (browser.ios) ? res.data.end : res.data.end; + if (start < date && date < end) { + $('.buy-btn').removeClass('gray').prop('disabled', false); + } else { + $('.buy-btn').removeClass().addClass('buy-btn gray').prop('disabled', true); + } + }else{ + ajaxTip(res.message); + return; + } + } + }) +} + +// 封装提示信息 +function ajaxTip(callText) { + var thisBody = document.getElementsByTagName('body')[0]; + var Div = document.createElement('div'); + var text = "

                            " + callText + '

                            ' + Div.setAttribute('class', 'ajaxtiplayer'); + Div.innerHTML = text; + Div.style.display = 'block'; + thisBody.appendChild(Div); + setTimeout(function() { + thisBody.removeChild(Div); + }, 2000); +} + +// 将数字转为中文数字 +function NoToChinese(num) { + if (!/^\d*(\.\d*)?$/.test(num)) { + alert('Number is wrong!'); + return 'Number is wrong!'; + } + // eslint-disable-next-line no-array-constructor + var AA = new Array('零', '一', '二', '三', '四', '五', '六', '七', '八', '九'); + // eslint-disable-next-line no-array-constructor + var BB = new Array('', '十', '百', '千', '万', '亿', '点', ''); + var a = ('' + num).replace(/(^0*)/g, '').split('.'); + var k = 0; + var re = ''; + for (var i = a[0].length - 1; i >= 0; i--) { + switch (k) { + case 0: + re = BB[7] + re; + break; + case 4: + if (!new RegExp('0{4}\\d{' + (a[0].length - i - 1) + '}$').test(a[0])) { re = BB[4] + re; } + break; + case 8: + re = BB[5] + re; + BB[7] = BB[5]; + k = 0; + break; + } + if (k % 4 == 2 && a[0].charAt(i + 2) != 0 && a[0].charAt(i + 1) == 0) re = AA[0] + re; + if (a[0].charAt(i) != 0) re = AA[a[0].charAt(i)] + BB[k % 4] + re; + k++; + } + if (a.length > 1) { + re += BB[6]; + // eslint-disable-next-line no-redeclare + for (var i = 0; i < a[1].length; i++) re += AA[a[1].charAt(i)]; + } + return re; +} + diff --git a/act_project/carnival14/.tmtworkflowrc b/act_project/carnival14/.tmtworkflowrc new file mode 100644 index 0000000..969cabd --- /dev/null +++ b/act_project/carnival14/.tmtworkflowrc @@ -0,0 +1,45 @@ +{ + "ftp": { + "host": "xx.xx.xx.xx", + "port": "8021", + "user": "tmt", + "pass": "password", + "remotePath": "remotePath", + "includeHtml": true + //ftp 上传是否包含 html + }, + "sftp": { + "host": "xx.xx.xx.xx", + "port": "xx", + "user": "tmt", + "password": "password", + "remotePath": "", + "includeHtml": true + }, + "livereload": { + // /api 代理到的 url + "proxyTarget": "http://apibeta.qxjiaoyou.com", + //开启自动刷新 + "available": true, + "port": 8080, + "startPath": "index.html" + }, + //路径相对于 tasks/plugins 目录 + "plugins": { + "build_devAfter": [], + "build_distAfter": [], + "ftpAfter": [ + "ftp" + ] + }, + "lazyDir": [ + "../slice" + ], + //gulp-lazyImageCSS 寻找目录(https://github.com/weixin/gulp-lazyimagecss) + + "supportWebp": false, + "supportREM": false, + "supportChanged": false, + "reversion": true, + "SVGGracefulDegradation": true +} diff --git a/act_project/carnival14/carnival.html b/act_project/carnival14/carnival.html new file mode 100644 index 0000000..46b5bf1 --- /dev/null +++ b/act_project/carnival14/carnival.html @@ -0,0 +1,278 @@ + + + + + + + 初夏物语 + + <%- include('../html_tpl/style.html') %> + + + <%- include('../html_tpl/headScript.html') %> + + + +
                            +
                            + +
                              +
                            • 假日午后
                            • +
                            • 假日舞会
                            • +
                            +
                            +
                            + +
                            +
                            +
                              +
                            • 假日午后
                            • +
                            • 假日舞会
                            • +
                            +
                            + + +
                            +
                            + +
                            + +
                            +
                            + +
                            +
                            +
                            +
                            + + +
                            + +
                            + +
                            +
                            +
                            + +
                            + 我的门票: 0张 + +
                            + +
                            +
                          • +

                            1次

                            +

                            -

                            +
                          • +
                          • +

                            10次

                            +

                            -

                            +
                          • +
                          • +

                            100次

                            +

                            -

                            +
                          • +
                            + +
                            +
                            + + 暴击×5 + +
                            +
                            +
                            +
                            +
                            + 0 + / + 0 +
                            +
                            + 暴走值 +
                            +
                            + +
                            +
                            +
                            +
                            +
                            + +
                            +
                            本轮获得
                            +
                            · 可前往个人背包查看 ·
                            +
                              + +
                              知道了
                              +
                              + +
                              + +
                              +

                              +
                              +
                              + +
                              + +
                              +
                              +
                            • 捧场王
                            • +
                            • 万人迷
                            • +
                              +
                              +

                              +
                              +
                              +
                              - 昨日最佳 -
                              +
                              +
                              +
                              + +
                              +
                              +
                              奖励门票200张
                              +
                              +
                              +
                              + +
                              +
                              +
                              奖励门票300张
                              +
                              +
                              +
                              + +
                              +
                              +
                              奖励门票100张
                              +
                              +
                              +
                              注:门票每日00:05分自动发放,请注意查收!
                              +
                              - 今日排行 -
                              +
                              +
                                + +
                                +
                                +

                                +

                                +

                                + + +

                                +

                                + + +

                                +
                                +
                                + +
                                + +
                                +
                              • +

                                时间

                                +

                                +
                              • +
                              • +

                                价值

                                +

                                +
                              • +
                                +
                                +
                                + +
                                +
                                加载中...
                                +
                                展示您最近300次中奖纪录
                                +
                                + +
                                + +
                                暴走状态随机礼物5倍获得概率。1转盘次数=1暴走值,暴走值每小时清零
                                +
                                +
                                + + +<%- include('../html_tpl/script.html') %> + + + + \ No newline at end of file diff --git a/act_project/carnival14/css/carnival.scss b/act_project/carnival14/css/carnival.scss new file mode 100644 index 0000000..4d6db16 --- /dev/null +++ b/act_project/carnival14/css/carnival.scss @@ -0,0 +1,1409 @@ +@function px2rem($px, $rem:75) { + @return $px / $rem+rem; +} + +@import '../../../common/css/flex.scss'; + +.mask { + z-index: 120; + position: fixed; + width: 100%; + left: 0; + bottom: 0; + display: flex; + height: 60px; + align-items: center; + background: rgba(0, 0, 0, 0.5); + justify-content: space-between; + padding: 0 8px; + box-sizing: border-box; + display: none; + .logo { + width: 40px; + img { + width: 100%; + } + } + .slogan { + color: #fff; + } +} +#download { + border: 1px solid #fff; + color: #fff; + width: 80px; + text-align: center; + border-radius: 15px; + line-height: 30px; + a { + color: #fff; + } +} + +.max { + width: 100%; + margin: 0 auto; + background-color: #180734; + position: relative; + + &::before { + content: ''; + display: block; + width: 100%; + height: 100%; + position: fixed; + left: 0; + top: 0; + background-color: #180734; + z-index: -1; + } + + .topNav1 { + @include flex(); + @include flex-justify-start; + @include flex-align-center; + width: 100%; + position: relative; + height:1.453333rem; + border-bottom: 1px solid #301D4E; + + .help { + width:.506667rem; + height:.506667rem; + margin-left:.56rem; + img { + width: 100%; + } + } + .feedback{ + width:.986667rem; + height:.533333rem; + margin:0 1.04rem 0 .413333rem; + img{ + width:100%; + height:100%; + } + } + + ul { + @include flex(); + @include flex-justify-center; + @include flex-align-center; + li { + margin: 0 .266667rem; + height: 100%; + line-height:1.453333rem; + position: relative; + color: #8B8399; + font-size:.373333rem; + + &.active { + color:#FFFFFF; + font-size:.426667rem; + &::after { + content: ''; + display: block; + width: px2rem(20); + height: px2rem(5); + background-color: #FFFFFF; + opacity: .6; + border-radius:.666667rem; + position: absolute; + bottom:.2rem; + left: 50%; + margin-left:-0.133333rem; + } + } + } + } + } + .topNav2 { + @include flex(); + @include flex-justify-start; + @include flex-align-center; + display:none; + width: 100%; + position: relative; + height:1.453333rem; + border-bottom: 1px solid rgba($color: #fff, $alpha: 0.1); + + .help { + width:.506667rem; + height:.506667rem; + position:absolute; + top:.466667rem; + left:.413333rem; + img { + width: 100%; + } + } + + + ul { + @include flex(); + @include flex-justify-center; + @include flex-align-center; + li { + margin: 0 .266667rem; + height: 100%; + line-height: px2rem(109); + position: relative; + color: #8B8399; + font-size:.373333rem; + + &.active { + color: white; + font-size:.426667rem; + &::after { + content: ''; + display: block; + width:.266667rem; + height:.066667rem; + background-color: white; + opacity: .6; + border-radius: 25px; + position: absolute; + bottom:.2rem; + left: 50%; + margin-left:-0.133333rem; + } + } + } + } + } + + .scrollMask { + width: px2rem(500); + height: 30px; + margin: 0 auto; + margin-top: px2rem(10); + overflow: hidden; + position: relative; + .container { + width: 100%; + height: auto; + position: absolute; + top: 0; + left: 0; + display: none; + + li { + width: 100%; + height: 30px; + text-align: center; + line-height: 30px; + color: white; + font-size: 12px; + overflow: hidden; + + span { + color: #ffec6f; + margin: 0 px2rem(5); + } + } + } + } + .rank-btn { + width:1.2rem; + height:1.04rem; + position: absolute; + right:.2rem; + top:2.026667rem; + z-index: 200; + img { + width: 100%; + } + } + .record-btn { + width:1.2rem; + height:1.04rem; + position: absolute; + right:.2rem; + top:3.653333rem; + z-index: 200; + + img { + width: 100%; + } + } + + + .canvas { + width: 100%; + height: px2rem(550); + margin-top: px2rem(30); + position: relative; + + .canvas-container { + width: 200%; + height: 200%; + transform: scale(.5); + position: absolute; + left: 0; + top: 0; + margin-left: -50%; + margin-top: px2rem(-275); + + .turntable { + width: px2rem(1028); + height: px2rem(1028); + margin: 0 auto; + position: absolute; + left: 50%; + top: 50%; + margin-left: px2rem(-514); + margin-top: px2rem(-514); + + .container1 { + width: 100%; + height: 100%; + position: relative; + + &.first { + background: url('../img/carnival/turntable.png') no-repeat 0 0 / 100% 100%; + } + &.second { + background: url('../img/carnival/turntable-2.png') no-repeat 0 0 / 100% 100%; + } + } + #table { + position: absolute; + width: px2rem(856); + height: px2rem(856); + left: 50%; + top: 50%; + margin-left: px2rem(-428); + margin-top: px2rem(-428); + z-index: 4; + } + #table2 { + position: absolute; + width: px2rem(856); + height: px2rem(856); + left: 50%; + top: 50%; + margin-left: px2rem(-428); + margin-top: px2rem(-428); + z-index: 4; + display: none; + } + + .pointer { + width: px2rem(120); + height: px2rem(184); + position: absolute; + left: 50%; + transform: translate(-50%,0); + top: px2rem(-40); + // margin-left: px2rem(-63); + z-index: 10; + img { + width: 100%; + height: 100%; + } + } + + .btn { + width: px2rem(352); + height: px2rem(352); + position: absolute; + left: 50%; + top: 50%; + margin: 0; + margin-left: px2rem(-176); + margin-top: px2rem(-176); + z-index: 130; + border: none; + outline: none; + background: none; + padding: 0; + img { + width: px2rem(352); + height: px2rem(352); + } + &:disabled{ + color: rgba(255, 255, 255, 0); + } + } + } + } + } + + .info { + @include flex(); + @include flex-justify-center; + @include flex-align-center; + + width: 100%; + text-align: center; + margin-top: px2rem(10); + + span { + font-size: 13px; + color: #CECCD1; + + small { + color: #ffec6f; + margin: 0 px2rem(10) + } + + &:last-child { + width: px2rem(111); + height: px2rem(44); + margin-left: px2rem(20); + + a { + display: block; + width: 100%; + height: 100%; + img { + width: 100%; + } + } + } + } + } + + .turnNum { + @include flex(); + @include flex-justify-center; + @include flex-align-center; + + width: 100%; + margin-top: px2rem(35); + margin-bottom: px2rem(50); + + li { + @include flex(); + @include flex-justify-center; + @include flex-align-start; + @include flexv(); + + width: px2rem(225); + height: px2rem(90); + border-radius: 20px 60px 20px 20px; + overflow: hidden; + position: relative; + margin: 0 px2rem(8); + + p { + font-size: 13px; + color: white; + color: #CFCDD3; + margin-left: px2rem(20); + z-index: 2; + + &:last-child { + font-size: 12px; + } + } + + &::before { + content: ''; + display: block; + position: absolute; + width: 100%; + height: 100%; + left: 0; + top: 0; + background-color: white; + border-radius: 20px 60px 20px 20px; + opacity: .08; + z-index: 0; + } + + &.active { + p { + color: #fff; + } + &.ball { + &::before { + opacity: 1; + background: linear-gradient(223deg, #FFC3A0, #FF9C5B); + box-shadow: 0px 11px 10px 0px rgba(255, 242, 173, 0.36), 0px -1px 5px 0px rgba(255, 250, 171, 0.88), 0px -6px 10px 0px #000000; + } + } + &.joy { + &::before { + background: linear-gradient(223deg, #D786F5, #789EF5); + box-shadow: 0px 11px 10px 0px rgba(255, 242, 173, 0.36), 0px -1px 5px 0px rgba(255, 250, 171, 0.88), 0px -6px 10px 0px #000000; + opacity: 1; + } + } + } + } + } + + .experience { + width: auto; + height: auto; + position: absolute; + left: 10px; + top: px2rem(200); + display: none; + + .giftBox { + width: px2rem(100); + height: px2rem(100); + position: relative; + // border: 1px solid white; + opacity: 1; + img { + width: 100%; + height: 100%; + } + &.hide { + opacity: 0; + } + + span { + position: absolute; + left: px2rem(90); + + &.crit { + width: px2rem(95); + height: px2rem(40); + text-align: right; + background: url('../img/carnival/exp-2.png') no-repeat 0 0 / 100% 100%; + line-height: px2rem(40); + top: px2rem(5); + z-index: 1; + font-size: 12px; + padding-right: px2rem(5); + color: #2B1C03; + } + &.times { + width: px2rem(90); + height: px2rem(40); + line-height: px2rem(40); + text-align: right; + padding-right: px2rem(10); + background: url('../img/carnival/exp-1.png') no-repeat 0 0 / 100% 100%; + z-index: 1; + top: px2rem(55); + font-size: 12px; + color: #FFF044; + } + } + } + + .exp-container { + width: px2rem(26); + height: px2rem(366); + margin-left: px2rem(18); + margin-top: px2rem(15); + border-radius: 25px; + // border: 4px solid #2C0767; + &.exp-container1 { + background: url('../img/carnival/bg1.png') no-repeat 0 0 / 100% 100%; + } + &.exp-container2 { + background: url('../img/carnival/bg2.png') no-repeat 0 0 / 100% 100%; + } + position: relative; + overflow: hidden; + + .strip { + width: px2rem(26); + height: 0; + position: absolute; + left: 0; + bottom: 0; + + &.exp-1 { + background: url('../img/carnival/exp1.png') no-repeat 0 0 / 100% 100%; + } + &.exp-2 { + background: url('../img/carnival/exp2.png') no-repeat 0 0 / 100% 100%; + } + } + } + + .exp-num { + margin-left: px2rem(5); + color: #fff044; + font-size: 14px; + margin-top: px2rem(10); + } + + .tips { + font-size: 13px; + color: white; + + span { + display: inline-block; + &:last-child { + width: px2rem(25); + height: px2rem(25); + margin-left: px2rem(8); + img { + width: 100%; + height: 100%; + } + } + } + } + } + + .status-mask { + width: px2rem(616); + height: px2rem(429); + border-radius: .32rem; + position: fixed; + left: 50%; + top: 50%; + transform:translate(-50%,-50%); + z-index: 10003; + // background-color:#FFFFFF; + background: url('../img/carnival/pop-bg.png') no-repeat 0 0 / 100% 100%; + display: none; + + .title { + width: 100%; + margin: px2rem(62) 0; + text-align: center; + font-size:.48rem; + color: #7E85FF; + font-weight: bold; + } + + .tips { + width: 100%; + text-align: center; + font-size:.373333rem; + color: #5F82A3; + margin-top: px2rem(70); + } + + .btn { + width: px2rem(334); + height: px2rem(108); + background: url('../img/index/btn.png') no-repeat 0 0 / 100% 100%; + // background: linear-gradient(0deg, #FFE34F, #F19825); + // border: px2rem(2) solid rgba(255, 255, 255, 0.7); + // box-shadow:0px 6px 12px 0px rgba(255,255,255,1), 0px -12px 46px 0px rgba(255,255,255,1), 0px 4px 18px 0px rgba(255,255,255,0.45); + // border-radius:.506667rem; + font-size: px2rem(36); + color: #fff; + font-weight: bold; + @include flex(); + @include flex-justify-center; + @include flex-align-center; + margin: .8rem auto 0; + padding-bottom: px2rem(10); + box-sizing: border-box; + } + } + + .gather-mask { + width: px2rem(616); + height: px2rem(733); + position: fixed; + top: 50%; + -webkit-transform: translate(-50%,-50%); + transform: translate(-50%,-50%); + left: 50%; + border-radius: 8px; + // background-color: white; + background: url('../img/carnival/win-prize-bg.png') no-repeat 0 0 / 100% 100%; + z-index: 10003; + display: none; + + .title { + width: 100%; + font-size: px2rem(40); + font-weight: bold; + color: #58A1F5; + text-align: center; + margin-top: px2rem(50); + } + .tips { + width: 100%; + text-align: center; + color: #5F82A3; + font-size: 13px; + opacity: .8; + margin-top: px2rem(16); + } + + ul { + @include flex(); + @include flex-justify-start; + @include flex-align-center; + @include flex-wrap(); + + width: px2rem(444); + height: px2rem(340); + margin: 0 auto; + margin-top: px2rem(39); + + li { + width: px2rem(92); + margin: px2rem(8); + p { + &:first-child { + width: 100%; + height: px2rem(92); + + img { + width: 100%; + } + } + &:last-child { + font-size: 12px; + color: #999; + text-align: center; + margin-top: px2rem(8); + } + } + } + } + + .btn { + width: px2rem(334); + height: px2rem(108); + background: url('../img/index/btn.png') no-repeat 0 0 / 100% 100%; + // background: linear-gradient(0deg, #FFE34F, #F19825); + // border: px2rem(2) solid rgba(255, 255, 255, 0.7); + // box-shadow:0px 6px 12px 0px rgba(255,255,255,1), 0px -12px 46px 0px rgba(255,255,255,1), 0px 4px 18px 0px rgba(255,255,255,0.45); + // border-radius:.506667rem; + font-size: px2rem(36); + font-weight: bold; + color: #fff; + @include flex(); + @include flex-justify-center; + @include flex-align-center; + margin:.52rem auto; + padding-bottom: px2rem(10); + box-sizing: border-box; + } + } + + .rule-mask { + width: 100%; + height: 100%; + position: absolute; + left: 0; + top: -1000px; + z-index: 20000; + background-color: #180734; + + .nav { + width: 100%; + height: 50px; + border-bottom: 1px solid #37234f; + overflow: hidden; + position: relative; + + .back { + width: px2rem(30); + height: px2rem(28); + margin: px2rem(40); + img { + width: 100%; + } + } + + .title { + font-size: 16px; + color: white; + opacity: .7; + width: px2rem(150); + height: px2rem(52); + position: absolute; + top: 50%; + text-align: center; + line-height: px2rem(52); + left: 50%; + margin-left: px2rem(-75); + margin-top: px2rem(-26); + } + } + + .content { + width: 80%; + height: 78%; + margin: 0 auto; + margin-top: 8%; + overflow: auto; + + &::-webkit-scrollbar { + display: none; + } + img { + width: 100%; + } + &::after { + content: ''; + display: block; + width: 100%; + height: 20px; + } + } + } + + .rank-mask { + width: 100%; + height: 100%; + position: fixed; + left: 0; + top: -1000px; + // top: 0; + z-index: 20000; + background-color: #180734; + + .nav { + width: 100%; + height: px2rem(109); + border-bottom: 1px solid #37234F; + position: relative; + overflow: hidden; + + .back { + width: px2rem(30); + height: px2rem(28); + margin: px2rem(40); + img { + width: 100%; + height: 100%; + } + } + + .title { + font-size: 16px; + color: white; + opacity: .7; + width: px2rem(150); + height: px2rem(52); + position: absolute; + top: 50%; + text-align: center; + line-height: px2rem(52); + left: 50%; + margin-left: px2rem(-75); + margin-top: px2rem(-26); + } + } + + .content { + width: 100%; + height: 80%; + margin: 0 auto; + margin-top: px2rem(30); + overflow: auto; + + .tab { + @include flex(); + @include flex-justify-center; + @include flex-align-center; + + width: px2rem(300); + height: px2rem(40); + margin: 0 auto; + + li { + width: 50%; + height: 100%; + position: relative; + font-size: 14px; + color: white; + opacity: .7; + text-align: center; + + &.active { + font-size: 16px; + opacity: 1; + + + &::after { + content: ''; + display: block; + width: px2rem(14); + height: px2rem(6); + background-color: white; + opacity: .7; + position: absolute; + left: 50%; + bottom: px2rem(-18); + margin-left: px2rem(-8); + border-radius: 3px; + } + } + } + } + + .tips { + @include flex(); + @include flex-justify-center; + @include flex-align-center; + + width: 100%; + margin-top: px2rem(40); + + p { + padding: 5px 15px; + font-size: 12px; + background-color: #2B1B48; + color: #CFCFF4; + border-radius: 25px; + width: auto; + height: auto; + margin: 0 auto; + } + } + + .rank-yesterday-box { + margin-top: px2rem(20); + padding: 0 px2rem(35) 0 px2rem(45); + box-sizing: border-box; + text-align: center; + color: #fff; + font-size: px2rem(28); + display: none; + &.active { + display: block; + } + .rank-title { + opacity: .5; + &.rank-title-today { + margin-top: px2rem(40); + } + } + .remark { + margin-top: px2rem(15); + text-align: left; + font-size: px2rem(28); + color: #808080; + } + .rank-box { + @include flex; + @include flex-justify-between; + .rank-item { + padding-top: px2rem(50); + flex: 1; + .rank-ava { + margin: 0 auto; + position: relative; + width: px2rem(138); + height: px2rem(138); + border-radius: 50%; + .img-item { + width: px2rem(138); + height: px2rem(138); + border-radius: 50%; + } + &::after { + content: ' '; + left: 50%; + top: px2rem(-38); + -webkit-transform: translateX(-50%); + transform: translateX(-50%); + position: absolute; + background: url() no-repeat 0 0 / 100% 100%; + } + } + .rank-nick { + margin: px2rem(30) auto 0; + width: px2rem(160); + } + .rank-desc { + margin-top: px2rem(10); + font-size: px2rem(26); + font-weight: 400; + color: #FFC600; + white-space: nowrap; + } + &.rank-item0 { + .rank-ava { + margin-top: px2rem(10); + &::after { + width: px2rem(190); + height: px2rem(190); + background-image: url('../img/carnival/no0.png'); + } + } + } + &.rank-item1 { + .rank-ava { + margin-top: px2rem(95); + width: px2rem(125); + height: px2rem(125); + .img-item { + width: px2rem(125); + height: px2rem(125); + } + &::after { + top: px2rem(-33); + width: px2rem(170); + height: px2rem(170); + background-image: url('../img/carnival/no1.png'); + } + } + } + &.rank-item2 { + .rank-ava { + margin-top: px2rem(125); + width: px2rem(110); + height: px2rem(110); + .img-item { + width: px2rem(110); + height: px2rem(110); + } + &::after { + top: px2rem(-30); + width: px2rem(154); + height: px2rem(154); + background-image: url('../img/carnival/no2.png'); + } + } + } + } + } + } + + .rank-container { + width: 100%; + height: 65%; + margin-top: px2rem(30); + overflow: hidden; + overflow-y: scroll; + display: none; + + &:-webkit-scrollbar { + display: none; + } + + li { + @include flex(); + @include flex-justify-start; + @include flex-align-center; + + width: 100%; + height: px2rem(130); + position: relative; + + &:last-child { + margin-bottom: px2rem(30); + } + + p { + &:first-child { + width: px2rem(60); + height: px2rem(60); + font-size: 20px; + color: #DEDCE0; + text-align: center; + line-height: px2rem(60); + margin-left: px2rem(27); + img { + width: 100%; + } + } + &.avatar { + width: px2rem(90); + height: px2rem(90); + border-radius: 50%; + overflow: hidden; + margin-left: px2rem(29); + img { + width: 100%; + } + } + &.info { + @include flex(); + @include flex-justify-center; + @include flex-align-start; + @include flexv(); + + margin-left: px2rem(16); + width: auto; + height: 100%; + span { + display: block; + width: auto; + color: white; + font-size: 15px; + margin-top: px2rem(5); + &:last-child { + opacity: .7; + font-size: 13px; + margin-left: 0; + } + } + } + + &.score { + font-size: 16px; + height: 100%; + width: auto; + color: #E1AD0D; + position: absolute; + right: px2rem(48); + top: 0; + text-align: right; + + span { + @include flex(); + @include flex-justify-center; + @include flex-align-end; + @include flexv(); + small { + font-size: 12px; + + &:first-child { + font-size: 16px; + } + } + &.align-center { + @include flex(); + @include flex-justify-center; + @include flex-align-center; + + height: 100%; + } + } + } + } + } + + } + } + + .mine { + @include flex(); + @include flex-justify-start; + @include flex-align-center; + + position: absolute; + left: 0; + bottom: 0; + width: 100%; + height: px2rem(130); + background-color: #2C1749; + animation: mine_show linear .5s 1s forwards; + opacity: 0; + + p { + &.rank-num { + width: px2rem(70); + font-size: 20px; + color: white; + margin-left: px2rem(23); + text-align: center; + + &.not-up { + width: px2rem(90); + font-size: 12px; + } + } + &.avatar { + width: px2rem(90); + height: px2rem(90); + border-radius: 50%; + overflow: hidden; + margin-left: px2rem(22); + img { + width: 100%; + } + } + &.info { + @include flex(); + @include flex-justify-center; + @include flex-align-start; + @include flexv(); + + margin-left: px2rem(16); + width: auto; + + span { + font-size: 15px; + color: white; + opacity: .8; + + &:last-child { + font-size: 12px; + margin-left: 0; + width: auto; + + small { + opacity: .8; + &:first-child { + opacity: .5; + } + } + } + } + } + &.rank-info { + position: absolute; + right: px2rem(48); + height: px2rem(70); + top: 50%; + margin-top: px2rem(-35); + + span { + font-size: 16px; + color: #E0AD12; + display: block; + text-align: right; + + &:last-child { + font-size: 12px; + } + } + } + } + } + @keyframes mine_show { + 100% { + opacity: 1; + } + } + } + + .record-mask { + width: 100%; + height: 100%; + position: fixed; + left: 0; + top: 0; + background-color: #180734; + top: -1000px; + z-index: 2000; + + .nav { + width: 100%; + height: px2rem(109); + border-bottom: 1px solid #37234F; + position: relative; + overflow: hidden; + + .back { + width: px2rem(30); + height: px2rem(28); + margin: px2rem(40); + img { + width: 100%; + height: 100%; + } + } + + .title { + font-size: 16px; + color: white; + opacity: .7; + width: px2rem(150); + height: px2rem(52); + position: absolute; + top: 50%; + text-align: center; + line-height: px2rem(52); + left: 50%; + margin-left: px2rem(-75); + margin-top: px2rem(-26); + } + } + .tab { + @include flex(); + @include flex-justify-between; + @include flex-align-center; + + width: px2rem(231); + height: px2rem(46); + margin: 0 auto; + margin-top: px2rem(20); + + li { + height: 100%; + width: auto; + position: relative; + + p { + font-size: 14px; + color: #fff; + opacity: .7; + } + + &.active { + p { + opacity: 1; + font-size: 16px; + &:last-child { + width: px2rem(14); + height: px2rem(6); + border-radius: 3px; + position: absolute; + left: 50%; + margin-left: px2rem(-7); + bottom: px2rem(-8); + background-color: white; + } + } + } + } + } + .content { + width: 85%; + height: 60%; + margin: 0 auto; + margin-top: px2rem(40); + overflow: auto; + + &::-webkit-scrollbar { + display: none; + } + + .record-container { + width: 100%; + height: auto; + display: none; + li { + @include flex(); + @include flex-justify-start; + @include flex-align-center; + + width: 100%; + height: px2rem(120); + position: relative; + + p { + &:first-child { + width: px2rem(92); + height: px2rem(92); + img { + width: 100%; + height: 100%; + } + } + &:nth-child(2) { + margin-left: px2rem(15); + height: 100%; + line-height: px2rem(120); + font-size: 15px; + opacity: .8; + color: white; + } + &:last-child { + position: absolute; + right: 0; + height: 100%; + width: auto; + + span { + @include flex(); + @include flex-justify-center; + @include flex-align-end; + @include flexv(); + + // display: block; + // text-align: right; + font-size: 12px; + color: white; + opacity: .8; + height: 100%; + + small { + display: block; + text-align: right; + font-size: 12px; + color: white; + opacity: .8; + } + + &.num { + font-size: 15px; + color: #FFC600; + opacity: .8; + } + } + } + } + } + } + } + + .loading { + width: 100%; + text-align: center; + margin-top: 15px; + color: white; + opacity: .8; + font-size: 15px; + display: none; + } + + .tips { + width: px2rem(390); + height: px2rem(52); + border-radius: 25px; + text-align: center; + line-height: px2rem(52); + background-color: #2D1845; + color: white; + font-size: 12px; + margin: 0 auto; + margin-top: px2rem(30); + } + } + + .shade { + width: 100%; + height: 100%; + position: fixed; + left: 0; + top: 0; + background-color: black; + opacity: .7; + z-index: 10000; + display: none; + } + + .exp-toast { + width: px2rem(400); + height: px2rem(175); + color: white; + font-size: 12px; + position: fixed; + left: 50%; + top: 50%; + margin-left: px2rem(-230); + margin-top: px2rem(-60); + text-align: center; + line-height: px2rem(60); + padding: 5px 20px; + border-radius: 5px; + z-index: 10000; + display: none; + + &::after { + content: ''; + display: block; + position: absolute; + left: 0; + top: 0; + background-color: black; + opacity: .6; + z-index: -1; + width: 100%; + height: 100%; + } + } +} + +.toast { + width: px2rem(600); + height: px2rem(80); + line-height: px2rem(80); + text-align: center; + color: white; + font-size: 12px; + position: fixed; + left: 50%; + top: 50%; + margin-left: px2rem(-300); + margin-top: px2rem(-40); + background-color: black; + border-radius: 5px; + display: none; + z-index: 1002; +} diff --git a/act_project/carnival14/css/index-mask.scss b/act_project/carnival14/css/index-mask.scss new file mode 100644 index 0000000..0ff53cc --- /dev/null +++ b/act_project/carnival14/css/index-mask.scss @@ -0,0 +1,271 @@ + +@function px2rem($px, $rem:75) { + @return $px / $rem+rem; +} + +@import '../../../common/css/flex.scss'; + +body { + .max { + .buy-mask { + width: px2rem(616); + height: px2rem(596); + // border-radius:.213333rem; + // background-color: #FFFFFF; + position: fixed; + left:50%; + top:50%; + transform:translate(-50%,-50%); + background: url('../img/index/buy-bg.png') no-repeat 0 0 / 100% 100%; + z-index: 1001; + display: none; + .b-box{ + padding: 0 px2rem(25); + margin-top: px2rem(63); + .b-title{ + color:#333; + line-height: px2rem(52); + text-align:center; + font-size: px2rem(35); + font-weight:bold; + letter-spacing:.013333rem; + .giftName{ + font-weight:bold; + } + } + .b-number{ + padding:0 .906667rem; + margin-top: px2rem(80); + @include flex(); + .input-box{ + @include flex(); + @include flex-align-center; + height:.64rem; + margin-top:-0.066667rem; + .remove-btn{ + width: px2rem(56); + height: px2rem(56); + @include flex(); + @include flex-justify-center; + @include flex-align-center; + border-radius: px2rem(24) 0 0 px2rem(24); + background:rgba($color: #D4F4FF, $alpha: 0.6); + .remove-icon{ + opacity: .6; + display:block; + width: px2rem(20); + height: px2rem(4); + background: url('../img/index/remove-icon.png') no-repeat 0 0 / 100% 100%; + background-size:100% 100%; + } + } + .b-input{ + width: px2rem(102); + height: px2rem(56); + background:#D4F4FF; + text-align:center; + font-size: px2rem(30); + font-weight:500; + color: #8FA4B8; + margin:0 .106667rem; + border:0; + outline:none; + } + .add-btn{ + width: px2rem(56); + height: px2rem(56); + @include flex(); + @include flex-justify-center; + @include flex-align-center; + border-radius: 0 px2rem(24) px2rem(24) 0; + background:rgba($color: #D4F4FF, $alpha: 0.6); + .add-icon{ + display:block; + width: px2rem(20); + height: px2rem(20); + background: url('../img/index/add-icon.png') no-repeat; + background-size:100% 100%; + } + } + } + + + } + .b-text{ + white-space:nowrap; + font-size: px2rem(34); + font-weight:500; + color:rgba($color: #909090, $alpha: 1.0); + line-height:.48rem; + margin-bottom: px2rem(47); + span:first-child{ + margin-right:.4rem; + } + } + .b-day{ + padding:0 .906667rem; + span:nth-child(2),span:last-child{ + color:#FE7BA7; + letter-spacing:.013333rem; + } + } + .b-price{ + padding:0 .906667rem; + span:nth-child(2),span:last-child{ + color: #FFA530; + letter-spacing:.013333rem; + } + + } + .b-btns{ + @include flex(); + @include flex-justify-around; + margin-top: px2rem(55); + .close-btn{ + width: px2rem(250); + height: px2rem(86); + background:url('../img/index/btn-cancel.png') no-repeat 0 0 / 100% 100%; + @include flex(); + @include flex-justify-center; + @include flex-align-center; + } + .confirm-btn{ + width: px2rem(250); + height: px2rem(86); + background: url('../img/index/btn-confirm.png') no-repeat 0 0 / 100% 100%; + @include flex(); + @include flex-justify-center; + @include flex-align-center; + + } + } + } + } + + .rule-mask { + width: px2rem(616); + height: px2rem(596); + position: fixed; + left: 50%; + top: 50%; + transform:translate(-50%,-50%); + z-index: 1001; + // background-color:#FFFFFF; + background: url('../img/index/buy-bg.png') no-repeat 0 0 / 100% 100%; + border-radius:.213333rem; + // overflow: hidden; + display: none; + .title { + width: 100%; + text-align: center; + font-size: px2rem(40); + color: #333; + margin-top: px2rem(60); + font-weight: bold; + // background: linear-gradient(0deg, #FFE691 0%, #FEFAD5 100%); + // -webkit-background-clip: text; + // -webkit-text-fill-color: transparent; + } + .content { + width: px2rem(524); + height: px2rem(425); + margin: 0 auto; + margin-top:.4rem; + overflow: auto; + &::-webkit-scrollbar { + display: none; + } + p { + width: 100%; + height:13.333333rem; + img { + width:100%; + } + } + } + .cancel { + width: px2rem(70); + height:px2rem(70); + position: absolute; + left: 50%; + transform: translateX(-50%); + bottom: px2rem(-110); + img { + width:100%; + height:100%; + } + } + } + .statusMask { + width: px2rem(616); + height: px2rem(596); + // border-radius:.213333rem; + // background-color:#FFFFFF; + background: url('../img/index/buy-bg.png') no-repeat 0 0 / 100% 100%; + position: fixed; + left: 50%; + top: 50%; + transform:translate(-50%,-50%); + z-index: 1001; + display: none; + .cancel { + width: px2rem(70); + height: px2rem(70); + position: absolute; + left: 50%; + transform: translate(-50%,0); + bottom: px2rem(-80); + img { + width:100%; + height:100%; + } + } + .title { + width: 100%; + text-align: center; + font-size: px2rem(40); + color: #333; + font-weight:bold; + margin-top: px2rem(60); + } + + .avatar { + width: px2rem(120); + height: px2rem(120); + margin: 0 auto; + margin-top: px2rem(64); + + img { + width: 100%; + height:100%; + } + } + + .tip { + width: 100%; + text-align: center; + font-size: px2rem(30); + color: #909090; + } + + .in-btn, .recharge { + @include flex; + @include flex-align-center; + @include flex-justify-between; + display: block; + width: px2rem(314); + height: px2rem(86); + background:url('../img/index/btn.png') no-repeat 0 0 / 100% 100%; + background-size:100% 100%; + font-size: px2rem(36); + line-height: px2rem(86); + box-sizing: border-box; + text-align: center; + margin: px2rem(60) auto 0; + font-weight: bold; + padding-bottom: px2rem(10); + color: #fff; + } + } + } +} diff --git a/act_project/carnival14/css/index.scss b/act_project/carnival14/css/index.scss new file mode 100644 index 0000000..c4502ed --- /dev/null +++ b/act_project/carnival14/css/index.scss @@ -0,0 +1,251 @@ +@function px2rem($px, $rem:67) { + @return $px / $rem+rem; +} + +@import '../../../common/css/flex.scss'; + +.mask { + z-index: 120; + position: fixed; + width: 100%; + left: 0; + bottom: 0; + display: flex; + height: 60px; + align-items: center; + background: rgba(0, 0, 0, 0.5); + justify-content: space-between; + padding: 0 8px; + box-sizing: border-box; + display: none; + .logo { + width: 40px; + img { + width: 100%; + } + } + .slogan { + color: #fff; + } +} +#download { + border: 1px solid #fff; + color: #fff; + width: 80px; + text-align: center; + border-radius: 15px; + line-height: 30px; + a { + color: #fff; + } +} +*{ + -webkit-overflow-scrolling: touch; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); + -webkit-tap-highlight-color: transparent; +} +body{ + font-family:PingFang SC; + background: #8CCFFA; + z-index:-1; + .max { + max-width: px2rem(670); + margin: 0 auto; + .title-one { + width: 100%; + img { + width: 100%; + height: 100%; + } + } + .rule-btn { + width: px2rem(88); + height: px2rem(46); + position: absolute; + left: px2rem(30); + top: px2rem(20); + img { + width:100%; + height:100%; + } + } + .cloth-box { + width:100%; + padding-bottom:2.4rem; + margin:-2.2rem auto 0; + li { + width: px2rem(620); + height: px2rem(400); + position:relative; + margin:px2rem(30) auto 0; + @include flex(); + @include flex-justify-center; + background:url('../img/index/li-card.png') no-repeat 0 0 / 100% 100%; + .h-title{ + position:absolute; + margin: px2rem(32) auto 0; + letter-spacing:.053333rem; + font-size: px2rem(28); + font-weight: bold; + color: #333; + line-height: px2rem(50); + } + .gift-img{ + width:px2rem(156); + height: px2rem(156); + position:absolute; + box-sizing: border-box; + left: px2rem(72); + top: px2rem(110); + @include flex; + @include flex-align-center; + @include flex-justify-center; + img{ + box-sizing: border-box; + padding: px2rem(10); + width:100%; + height: 100%; + object-fit: cover; + } + + } + .gift-text{ + position:absolute; + left: px2rem(290); + top: px2rem(100); + p:first-child{ + font-size:px2rem(34); + font-weight:bold; + color: #555; + letter-spacing:.026667rem; + } + p:nth-child(2){ + font-size:px2rem(28); + font-weight:bold; + color:#FF8F4C; + } + p:nth-child(3){ + font-size:px2rem(26); + font-weight:500; + text-decoration:line-through; + color: #9C9C9C; + line-height:px2rem(47); + opacity:0.8; + } + p:last-child{ + font-size:px2rem(26); + font-weight: 500; + color: #9C9C9C; + opacity:0.8; + line-height: px2rem(47); + } + } + .buy-btn{ + width: px2rem(300); + height: px2rem(82); + position:absolute; + bottom: px2rem(20); + @include flex(); + @include flex-justify-center; + background: url('../img/index/buy.png') no-repeat 0 0 / 100% 100%; + &.gray { + background: url('../img/index/buy-gray.png') no-repeat 0 0 / 100% 100%; + } + } + } + + } + + .shade { + width: 100%; + position:fixed; + z-index:1000; + left: 0; + top: 0; + height: 100%; + background:rgba(0,0,0,0.7); + display: none; + } + .mine { + @include flex(); + @include flex-justify-between; + @include flex-align-center; + width: 100%; + height:1.866667rem; + position: fixed; + left: 0; + bottom: 0; + // background: linear-gradient( #2578A7, #4E6BB3); + background: #0068C0; + z-index: 100; + li { + margin: 0 .533333rem; + img { + width: 100%; + } + + &:first-child { + @include flex(); + @include flex-justify-start; + @include flex-align-center; + p { + &:first-child { + width:1.066667rem; + height:1.066667rem; + border-radius:50%; + overflow: hidden; + font-weight:500; + } + + &:last-child { + margin-left:.266667rem; + span { + display: block; + &:first-child { + line-height: px2rem(38); + font-size: px2rem(26); + color: #fff; + font-weight: bold; + white-space: nowrap; + } + &:last-child { + font-size: px2rem(22); + font-weight: 500; + color: rgba($color: #C1C4FD, $alpha: 1); + b { + color: rgba($color: #fff, $alpha: 1); + } + } + } + } + } + } + + &:last-child { + margin-top: px2rem(10); + width: px2rem(180); + height: px2rem(81); + } + } + } + } + /*提示信息样式*/ + .ajaxtiptext{ + position:fixed; + top:50%; + left:50%; + transform:translate(-50%,-50%); + text-align: center; + color:#FFFFFF; + padding:.2rem .4rem; + border-radius:.333333rem; + letter-spacing:.013333rem; + background:rgba(0,0,0,0.8); + animation:ajaxani 0.3s forwards; + z-index:9999; + white-space:nowrap; + } +} + +@import './index-mask.scss'; + diff --git a/act_project/carnival14/gulpfile.js b/act_project/carnival14/gulpfile.js new file mode 100644 index 0000000..7357063 --- /dev/null +++ b/act_project/carnival14/gulpfile.js @@ -0,0 +1,23 @@ +var gulp = require('gulp'); +var fs = require('fs'); +var path = require('path'); + +// 注册 +var deep = 3; +run_tasks('_tasks'); + +function run_tasks(tasks_path) { + if (--deep < 0) { + throw new Error('something wrong in require tasks!'); + // eslint-disable-next-line no-unreachable + return; + } + + tasks_path = path.join('../', tasks_path); + + if (fs.existsSync(tasks_path)) { + require(tasks_path)(gulp); + } else { + run_tasks(tasks_path); + } +} diff --git a/act_project/carnival14/img/carnival/back-btn.png b/act_project/carnival14/img/carnival/back-btn.png new file mode 100644 index 0000000..fc75bde Binary files /dev/null and b/act_project/carnival14/img/carnival/back-btn.png differ diff --git a/act_project/carnival14/img/carnival/bg1.png b/act_project/carnival14/img/carnival/bg1.png new file mode 100644 index 0000000..74f6dd3 Binary files /dev/null and b/act_project/carnival14/img/carnival/bg1.png differ diff --git a/act_project/carnival14/img/carnival/bg2.png b/act_project/carnival14/img/carnival/bg2.png new file mode 100644 index 0000000..0225fbe Binary files /dev/null and b/act_project/carnival14/img/carnival/bg2.png differ diff --git a/act_project/carnival14/img/carnival/draw-btn-2.png b/act_project/carnival14/img/carnival/draw-btn-2.png new file mode 100644 index 0000000..9265749 Binary files /dev/null and b/act_project/carnival14/img/carnival/draw-btn-2.png differ diff --git a/act_project/carnival14/img/carnival/draw-btn.png b/act_project/carnival14/img/carnival/draw-btn.png new file mode 100644 index 0000000..5790d60 Binary files /dev/null and b/act_project/carnival14/img/carnival/draw-btn.png differ diff --git a/act_project/carnival14/img/carnival/exp-1.png b/act_project/carnival14/img/carnival/exp-1.png new file mode 100644 index 0000000..700333c Binary files /dev/null and b/act_project/carnival14/img/carnival/exp-1.png differ diff --git a/act_project/carnival14/img/carnival/exp-2.png b/act_project/carnival14/img/carnival/exp-2.png new file mode 100644 index 0000000..806e9a7 Binary files /dev/null and b/act_project/carnival14/img/carnival/exp-2.png differ diff --git a/act_project/carnival14/img/carnival/exp1.png b/act_project/carnival14/img/carnival/exp1.png new file mode 100644 index 0000000..a00ecd2 Binary files /dev/null and b/act_project/carnival14/img/carnival/exp1.png differ diff --git a/act_project/carnival14/img/carnival/exp2.png b/act_project/carnival14/img/carnival/exp2.png new file mode 100644 index 0000000..3d2e72e Binary files /dev/null and b/act_project/carnival14/img/carnival/exp2.png differ diff --git a/act_project/carnival14/img/carnival/feedback.png b/act_project/carnival14/img/carnival/feedback.png new file mode 100644 index 0000000..953ca63 Binary files /dev/null and b/act_project/carnival14/img/carnival/feedback.png differ diff --git a/act_project/carnival14/img/carnival/gather-btn.png b/act_project/carnival14/img/carnival/gather-btn.png new file mode 100644 index 0000000..d10371d Binary files /dev/null and b/act_project/carnival14/img/carnival/gather-btn.png differ diff --git a/act_project/carnival14/img/carnival/no0.png b/act_project/carnival14/img/carnival/no0.png new file mode 100644 index 0000000..7dfa915 Binary files /dev/null and b/act_project/carnival14/img/carnival/no0.png differ diff --git a/act_project/carnival14/img/carnival/no1.png b/act_project/carnival14/img/carnival/no1.png new file mode 100644 index 0000000..76f2283 Binary files /dev/null and b/act_project/carnival14/img/carnival/no1.png differ diff --git a/act_project/carnival14/img/carnival/no2.png b/act_project/carnival14/img/carnival/no2.png new file mode 100644 index 0000000..1cc2e5f Binary files /dev/null and b/act_project/carnival14/img/carnival/no2.png differ diff --git a/act_project/carnival14/img/carnival/noava.png b/act_project/carnival14/img/carnival/noava.png new file mode 100644 index 0000000..88f4f67 Binary files /dev/null and b/act_project/carnival14/img/carnival/noava.png differ diff --git a/act_project/carnival14/img/carnival/point-2.png b/act_project/carnival14/img/carnival/point-2.png new file mode 100644 index 0000000..bb16af5 Binary files /dev/null and b/act_project/carnival14/img/carnival/point-2.png differ diff --git a/act_project/carnival14/img/carnival/point.png b/act_project/carnival14/img/carnival/point.png new file mode 100644 index 0000000..374a3a7 Binary files /dev/null and b/act_project/carnival14/img/carnival/point.png differ diff --git a/act_project/carnival14/img/carnival/pop-bg.png b/act_project/carnival14/img/carnival/pop-bg.png new file mode 100644 index 0000000..53006ee Binary files /dev/null and b/act_project/carnival14/img/carnival/pop-bg.png differ diff --git a/act_project/carnival14/img/carnival/rank-1.png b/act_project/carnival14/img/carnival/rank-1.png new file mode 100644 index 0000000..10b3d5b Binary files /dev/null and b/act_project/carnival14/img/carnival/rank-1.png differ diff --git a/act_project/carnival14/img/carnival/rank-2.png b/act_project/carnival14/img/carnival/rank-2.png new file mode 100644 index 0000000..4e44680 Binary files /dev/null and b/act_project/carnival14/img/carnival/rank-2.png differ diff --git a/act_project/carnival14/img/carnival/rank-3.png b/act_project/carnival14/img/carnival/rank-3.png new file mode 100644 index 0000000..506a7f6 Binary files /dev/null and b/act_project/carnival14/img/carnival/rank-3.png differ diff --git a/act_project/carnival14/img/carnival/rank-btn.png b/act_project/carnival14/img/carnival/rank-btn.png new file mode 100644 index 0000000..ed0dc84 Binary files /dev/null and b/act_project/carnival14/img/carnival/rank-btn.png differ diff --git a/act_project/carnival14/img/carnival/record-btn.png b/act_project/carnival14/img/carnival/record-btn.png new file mode 100644 index 0000000..4b6fc63 Binary files /dev/null and b/act_project/carnival14/img/carnival/record-btn.png differ diff --git a/act_project/carnival14/img/carnival/rule-btn.png b/act_project/carnival14/img/carnival/rule-btn.png new file mode 100644 index 0000000..5be349b Binary files /dev/null and b/act_project/carnival14/img/carnival/rule-btn.png differ diff --git a/act_project/carnival14/img/carnival/rule-text.png b/act_project/carnival14/img/carnival/rule-text.png new file mode 100644 index 0000000..d478f0f Binary files /dev/null and b/act_project/carnival14/img/carnival/rule-text.png differ diff --git a/act_project/carnival14/img/carnival/turntable-2.png b/act_project/carnival14/img/carnival/turntable-2.png new file mode 100644 index 0000000..eacb0ac Binary files /dev/null and b/act_project/carnival14/img/carnival/turntable-2.png differ diff --git a/act_project/carnival14/img/carnival/turntable.png b/act_project/carnival14/img/carnival/turntable.png new file mode 100644 index 0000000..6d61cdf Binary files /dev/null and b/act_project/carnival14/img/carnival/turntable.png differ diff --git a/act_project/carnival14/img/carnival/win-prize-bg.png b/act_project/carnival14/img/carnival/win-prize-bg.png new file mode 100644 index 0000000..a61b788 Binary files /dev/null and b/act_project/carnival14/img/carnival/win-prize-bg.png differ diff --git a/act_project/carnival14/img/common/cancel.png b/act_project/carnival14/img/common/cancel.png new file mode 100644 index 0000000..6df376b Binary files /dev/null and b/act_project/carnival14/img/common/cancel.png differ diff --git a/act_project/carnival14/img/common/cancel1.png b/act_project/carnival14/img/common/cancel1.png new file mode 100644 index 0000000..ab86f0a Binary files /dev/null and b/act_project/carnival14/img/common/cancel1.png differ diff --git a/act_project/carnival14/img/common/enough-icon.png b/act_project/carnival14/img/common/enough-icon.png new file mode 100644 index 0000000..78c5706 Binary files /dev/null and b/act_project/carnival14/img/common/enough-icon.png differ diff --git a/act_project/carnival14/img/common/success-icon.png b/act_project/carnival14/img/common/success-icon.png new file mode 100644 index 0000000..25e01c6 Binary files /dev/null and b/act_project/carnival14/img/common/success-icon.png differ diff --git a/act_project/carnival14/img/gift/gift1.png b/act_project/carnival14/img/gift/gift1.png new file mode 100644 index 0000000..c961ec5 Binary files /dev/null and b/act_project/carnival14/img/gift/gift1.png differ diff --git a/act_project/carnival14/img/gift/gift10.png b/act_project/carnival14/img/gift/gift10.png new file mode 100644 index 0000000..5eaa2ef Binary files /dev/null and b/act_project/carnival14/img/gift/gift10.png differ diff --git a/act_project/carnival14/img/gift/gift11.png b/act_project/carnival14/img/gift/gift11.png new file mode 100644 index 0000000..3ca7071 Binary files /dev/null and b/act_project/carnival14/img/gift/gift11.png differ diff --git a/act_project/carnival14/img/gift/gift12.png b/act_project/carnival14/img/gift/gift12.png new file mode 100644 index 0000000..0b6d3d8 Binary files /dev/null and b/act_project/carnival14/img/gift/gift12.png differ diff --git a/act_project/carnival14/img/gift/gift13.png b/act_project/carnival14/img/gift/gift13.png new file mode 100644 index 0000000..b542865 Binary files /dev/null and b/act_project/carnival14/img/gift/gift13.png differ diff --git a/act_project/carnival14/img/gift/gift14.png b/act_project/carnival14/img/gift/gift14.png new file mode 100644 index 0000000..e7e81f4 Binary files /dev/null and b/act_project/carnival14/img/gift/gift14.png differ diff --git a/act_project/carnival14/img/gift/gift15.png b/act_project/carnival14/img/gift/gift15.png new file mode 100644 index 0000000..f1065c0 Binary files /dev/null and b/act_project/carnival14/img/gift/gift15.png differ diff --git a/act_project/carnival14/img/gift/gift2.png b/act_project/carnival14/img/gift/gift2.png new file mode 100644 index 0000000..2212395 Binary files /dev/null and b/act_project/carnival14/img/gift/gift2.png differ diff --git a/act_project/carnival14/img/gift/gift3.png b/act_project/carnival14/img/gift/gift3.png new file mode 100644 index 0000000..01b9157 Binary files /dev/null and b/act_project/carnival14/img/gift/gift3.png differ diff --git a/act_project/carnival14/img/gift/gift4.png b/act_project/carnival14/img/gift/gift4.png new file mode 100644 index 0000000..381ba44 Binary files /dev/null and b/act_project/carnival14/img/gift/gift4.png differ diff --git a/act_project/carnival14/img/gift/gift5.png b/act_project/carnival14/img/gift/gift5.png new file mode 100644 index 0000000..37ff418 Binary files /dev/null and b/act_project/carnival14/img/gift/gift5.png differ diff --git a/act_project/carnival14/img/gift/gift6.png b/act_project/carnival14/img/gift/gift6.png new file mode 100644 index 0000000..baf8186 Binary files /dev/null and b/act_project/carnival14/img/gift/gift6.png differ diff --git a/act_project/carnival14/img/gift/gift7.png b/act_project/carnival14/img/gift/gift7.png new file mode 100644 index 0000000..75ce1ec Binary files /dev/null and b/act_project/carnival14/img/gift/gift7.png differ diff --git a/act_project/carnival14/img/gift/gift8.png b/act_project/carnival14/img/gift/gift8.png new file mode 100644 index 0000000..73e88c1 Binary files /dev/null and b/act_project/carnival14/img/gift/gift8.png differ diff --git a/act_project/carnival14/img/gift/gift9.png b/act_project/carnival14/img/gift/gift9.png new file mode 100644 index 0000000..774b09f Binary files /dev/null and b/act_project/carnival14/img/gift/gift9.png differ diff --git a/act_project/carnival14/img/index/add-icon.png b/act_project/carnival14/img/index/add-icon.png new file mode 100644 index 0000000..071dcd0 Binary files /dev/null and b/act_project/carnival14/img/index/add-icon.png differ diff --git a/act_project/carnival14/img/index/btn-cancel.png b/act_project/carnival14/img/index/btn-cancel.png new file mode 100644 index 0000000..e97d896 Binary files /dev/null and b/act_project/carnival14/img/index/btn-cancel.png differ diff --git a/act_project/carnival14/img/index/btn-confirm.png b/act_project/carnival14/img/index/btn-confirm.png new file mode 100644 index 0000000..7224652 Binary files /dev/null and b/act_project/carnival14/img/index/btn-confirm.png differ diff --git a/act_project/carnival14/img/index/btn.png b/act_project/carnival14/img/index/btn.png new file mode 100644 index 0000000..c5a535e Binary files /dev/null and b/act_project/carnival14/img/index/btn.png differ diff --git a/act_project/carnival14/img/index/buy-bg.png b/act_project/carnival14/img/index/buy-bg.png new file mode 100644 index 0000000..9823cfa Binary files /dev/null and b/act_project/carnival14/img/index/buy-bg.png differ diff --git a/act_project/carnival14/img/index/buy-gray.png b/act_project/carnival14/img/index/buy-gray.png new file mode 100644 index 0000000..134a31b Binary files /dev/null and b/act_project/carnival14/img/index/buy-gray.png differ diff --git a/act_project/carnival14/img/index/buy.png b/act_project/carnival14/img/index/buy.png new file mode 100644 index 0000000..9e6e4c0 Binary files /dev/null and b/act_project/carnival14/img/index/buy.png differ diff --git a/act_project/carnival14/img/index/cancel.png b/act_project/carnival14/img/index/cancel.png new file mode 100644 index 0000000..bf30340 Binary files /dev/null and b/act_project/carnival14/img/index/cancel.png differ diff --git a/act_project/carnival14/img/index/in-btn.png b/act_project/carnival14/img/index/in-btn.png new file mode 100644 index 0000000..1a39a04 Binary files /dev/null and b/act_project/carnival14/img/index/in-btn.png differ diff --git a/act_project/carnival14/img/index/li-card.png b/act_project/carnival14/img/index/li-card.png new file mode 100644 index 0000000..def5981 Binary files /dev/null and b/act_project/carnival14/img/index/li-card.png differ diff --git a/act_project/carnival14/img/index/remove-icon.png b/act_project/carnival14/img/index/remove-icon.png new file mode 100644 index 0000000..b0493e7 Binary files /dev/null and b/act_project/carnival14/img/index/remove-icon.png differ diff --git a/act_project/carnival14/img/index/rule-btn.png b/act_project/carnival14/img/index/rule-btn.png new file mode 100644 index 0000000..1f90a58 Binary files /dev/null and b/act_project/carnival14/img/index/rule-btn.png differ diff --git a/act_project/carnival14/img/index/rule-text.png b/act_project/carnival14/img/index/rule-text.png new file mode 100644 index 0000000..cf018bd Binary files /dev/null and b/act_project/carnival14/img/index/rule-text.png differ diff --git a/act_project/carnival14/img/index/title.png b/act_project/carnival14/img/index/title.png new file mode 100644 index 0000000..d092163 Binary files /dev/null and b/act_project/carnival14/img/index/title.png differ diff --git a/act_project/carnival14/index.html b/act_project/carnival14/index.html new file mode 100644 index 0000000..fd964f3 --- /dev/null +++ b/act_project/carnival14/index.html @@ -0,0 +1,80 @@ + + + + + + + 初夏物语 + <%- include('../html_tpl/style.html') %> + + + <%- include('../html_tpl/headScript.html') %> + + + +
                                +
                                +
                                +
                                  +
                                  +
                                • +

                                  +

                                  + - + 我的门票: +

                                  +
                                • +
                                • +
                                  + +
                                  +
                                  +

                                  购买

                                  +
                                  +

                                  数量:

                                  +
                                  +
                                  + +
                                  +
                                  +
                                  +

                                  天数:1天

                                  +

                                  金额:金币

                                  +
                                  +
                                  +
                                  +
                                  +
                                  +
                                  +
                                  +
                                  + +
                                  +
                                  玩法介绍
                                  +
                                  +

                                  +
                                  +
                                  +
                                  +
                                  + +
                                  +
                                  购买成功
                                  +
                                  余额不足
                                  +
                                  +
                                  +
                                  + 进入会场 +
                                  去充值
                                  +
                                  知道了
                                  +
                                  +
                                  + +
                                  + + +<%- include('../html_tpl/script.html') %> + + + \ No newline at end of file diff --git a/act_project/carnival14/js/carnival.js b/act_project/carnival14/js/carnival.js new file mode 100644 index 0000000..e4f86b7 --- /dev/null +++ b/act_project/carnival14/js/carnival.js @@ -0,0 +1,946 @@ +// 指定全局变量 +/*global checkVersion locateJudge EnvCheck tools erbanMask wx wxConfig VConsole androidJsObj initNav template preloadImage */ +var info = {}; +var browser = checkVersion(); +var api = locateJudge(); +var env = EnvCheck(); + +var shareUrl = location.origin + '/activity'; +var share = { + title: '', + link: shareUrl, + imgUrl: 'https://img.erbanyy.com/new-logo.png', + desc: '' +}; +// eslint-disable-next-line +function getMessage (key, value) { + info[key] = value; +} + +wx.ready(function () { + wx.onMenuShareTimeline({ + title: share.title, + link: share.link, + imgUrl: share.imgUrl, + desc: share.desc + }); + + wx.onMenuShareAppMessage({ + title: share.title, + desc: share.desc, + link: share.link, + imgUrl: share.imgUrl, + type: 'link', + dataUrl: '' + }); + + wx.onMenuShareQQ({ + title: share.title, + desc: share.desc, + link: share.link, + imgUrl: share.imgUrl + }); +}); + +erbanMask('activity-name', 'activity-name'); +initNav({ + type: 2, + data: { + msg: 'wewawa', + link: share.link, + title: share.title, + showUrl: share.link, + imgUrl: share.imgUrl, + desc: share.desc + } +}); + +browser.weixin && wxConfig(); + +var requestScrollTimer +var toastTimer +var openSocketTimer +var imgTimer +var canvasTimer +var rotateTimer +var rotateTimer2 +var giftTimer + +clearInterval(requestScrollTimer) +requestScrollTimer = setInterval(function () { + getScrollTip() +}, 60000) + +var clickTab = 0 +var clickTabFlag = false +var clickNumIndex = 0 +var turntable = { + 0: { + rotateBol: false, + fontColor: [], // 字体颜色 + colors: [ + '#4A3127', + '#341E1C' + ], // 板块颜色 + prizeName: [], // 奖品名称 + prizeImg: [ + 'img/gift/gift1.png', + 'img/gift/gift2.png', + 'img/gift/gift3.png', + 'img/gift/gift4.png', + 'img/gift/gift5.png', + 'img/gift/gift6.png', + 'img/gift/gift7.png', + 'img/gift/gift8.png' + ], // 奖品图片 + prizeImgArr: [], // 用于canvas绘画的图片 + prizeIndex: [] // 奖品下标 + }, + 1: { + rotateBol: false, + fontColor: [], // 字体颜色 + colors: [ + '#240053', + '#3F196D' + ], // 板块颜色 + prizeName: [], // 奖品名称 + prizeImg: [ + 'img/gift/gift1.png', + 'img/gift/gift9.png', + 'img/gift/gift10.png', + 'img/gift/gift11.png', + 'img/gift/gift12.png', + 'img/gift/gift13.png', + 'img/gift/gift14.png', + 'img/gift/gift15.png' + ], // 奖品图片 + prizeImgArr: [], // 用于canvas绘画的图片 + prizeIndex: [] // 奖品下标 + } +} +var giftIntro = {} + +$(function () { + if (env == 'test') { + new VConsole(); + } + var main = { + init: function () { + this.getMsgFromDevice(); + setTimeout(() => { + this.getData(); + if (info.appVersion >= '1.3.6' && info.appVersion) { + $('.topNav1').show().siblings('.topNav2').hide(); + } else { + $('.feedback,.topNav1').hide(); + $('.topNav2').show(); + } + }, 100); + this.eventRegister(); + }, + getMsgFromDevice: function () { + if (browser.app) { + if (browser.ios) { + window.webkit.messageHandlers.getDeviceId.postMessage(null); + window.webkit.messageHandlers.getRoomUid.postMessage(null); + } else if (browser.android) { + if (androidJsObj && typeof androidJsObj === 'object') { + info.deviceId = window.androidJsObj.getDeviceId(); + info.roomUid = window.androidJsObj.getRoomUid() + } + } + + info.uid = tools.nativeUtils.getUid(); + info.ticket = tools.nativeUtils.getTicket(); + info.appVersion = tools.nativeUtils.getAppVersion(); + } else { + info.uid = 925506; + info.roomUid = 923631 + info.deviceId = '8d9d6247-63a4-3acc-a164-01a6b1a3c098'; + info.ticket = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0aWNrZXRfdHlwZSI6bnVsbCwidWlkIjo5MjU1MDYsInRpY2tldF9pZCI6IjQ1MTE0N2IyLTJkYjEtNDYwNi1hOWQyLTU0ZmZmM2NkMDhjNSIsImV4cCI6MzYwMCwiY2xpZW50X2lkIjoiZXJiYW4tY2xpZW50In0.X7gEBqfPDH0ejsAAsx0xdJeuRsyMhUJ9B3tVjAuwZq0'; + } + }, + + eventRegister: function () { + $('.topNav .tab').on('click', function () { + if (clickTabFlag) { + return + } + $(this).addClass('active').siblings().removeClass('active') + clickTab = $(this).index() + + if (clickTab === 0) { + $('.exp-container').find('.strip').removeClass('exp-2').addClass('exp-1') + $('.exp-container').removeClass('exp-container2').addClass('exp-container1') + $('.canvas').find('.container1').removeClass('second').addClass('first') + $('.canvas .pointer img').attr('src', 'img/carnival/point.png') + $('.canvas .btn img').attr('src', 'img/carnival/draw-btn.png') + preloadImg(clickTab) + } else { + $('.exp-container').find('.strip').removeClass('exp-1').addClass('exp-2') + $('.exp-container').removeClass('exp-container1').addClass('exp-container2') + $('.canvas').find('.container1').removeClass('first').addClass('second') + $('.canvas .pointer img').attr('src', 'img/carnival/point-2.png') + $('.canvas .btn img').attr('src', 'img/carnival/draw-btn-2.png') + preloadImg(clickTab) + } + + info.clickStatu = false + getGiftInfo() + getticketChooseShow() + }) + $('.turnNum').on('click', 'li', function () { + $(this).addClass('active').siblings().removeClass('active') + clickNumIndex = $(this).index() + }) + + $('.experience').on('click', '.tips', function () { + $('.exp-toast').fadeIn(300, function () { + clearTimeout(toastTimer) + toastTimer = setTimeout(function () { + $('.exp-toast').hide() + }, 8000) + }) + }) + + $('.canvas').on('click', '.btn', function () { + if (!info.clickStatu) { + $('.toast').html('哎呀太挤了,请稍等').fadeIn(30).fadeOut(2000) + return false + } + if (turntable[clickTab].rotateBol) return + turntable[clickTab].rotateBol = true + clickTabFlag = true + var obj = { + 0: 'one', + 1: 'ten', + 2: 'hundred' + } + $.ajax({ + headers: { + pub_ticket: info.ticket + }, + type: 'POST', + url: api + '/activities/draw/turnTable', + data: { + uid: info.uid, + ticket: info.ticket, + roomUid: info.roomUid, + sendMessage: true, + ruleType: obj[clickNumIndex], + drawType: (clickTab === 0) ? 'turntable1' : 'turntable2', + deviceId: info.deviceId + }, + success: function (res) { + if (res.code === 200) { + var maxValue = 0 + var prizeId + var item + for (var i in res.data.prizeItemList) { + if (res.data.prizeItemList[i].platformValue > maxValue) { + maxValue = res.data.prizeItemList[i].platformValue + prizeId = res.data.prizeItemList[i].prizeId + item = turntable[clickTab].prizeIndex.indexOf(prizeId) + if (item == -1) { + item = 0 + } + } + console.log(item); + } + // ---------------- 用户抽奖记录接口 ----------- + $.ajax({ + headers: { + pub_ticket: info.ticket + }, + type: 'POST', + url: api + '/activities/draw/saveLog', + data: { + ticket: info.ticket, + uid: info.uid, + prizeids: JSON.stringify(res.data.prizeIdList), + prizeIndex: item, + createdTime: res.data.prizeItemList[0].createTime, + prizeIdList: JSON.stringify(turntable[clickTab].prizeIndex) + }, + success: function (res) { + // eslint-disable-next-line no-empty + if (res.code !== 200) console.log(res.message) + }, + error: function (err) { + console.log('报错了:', err) + } + }) + // ------------------ 用户抽奖记录接口 ------------ + $('.info').find('.ticketNum').html(res.data.remainKeyNum) + rotateFunc(item, 8, res.data.prizeItemList, res.data.prizeIdList, clickTab) + clearTimeout(rotateTimer) + rotateTimer = setTimeout(function () { + clickTabFlag = false + clearTimeout(rotateTimer) + }, 3000) + clearTimeout(rotateTimer2) + rotateTimer2 = setTimeout(function () { + turntable[clickTab].rotateBol = false + }, 1000) + } else if (res.code === 10000) { + // 门票不足 + $('.status-mask').find('.title').html('游玩失败') + $('.status-mask').find('.tips').html('亲,门票不足了哦~') + $('.status-mask').find('.btn').addClass('toGather').html('去收集') + $('.shade,.status-mask').show() + clickTabFlag = false + turntable[clickTab].rotateBol = false + } else if (res.code === 21111) { + // 游玩限制 + $('.status-mask').find('.title').html('本日游玩限制') + $('.status-mask').find('.tips').html('今日游玩次数已达上限哦~') + $('.status-mask').find('.btn').removeClass('toGather').html('知道了') + $('.shade,.status-mask').show() + clickTabFlag = false + } else { + turntable[clickTab].rotateBol = false + clickTabFlag = false + $('.toast').html(res.message).fadeIn(30).fadeOut(3000) + } + } + }) + }) + $('.status-mask').on('click', '.btn', function () { + if ($(this).hasClass('toGather')) { + $('.status-mask').hide() + $('.shade').hide() + window.location.href = './index.html' + } else { + $('.status-mask').hide() + $('.shade').hide() + } + }) + + $('.shade').on('click', function () { + $('.status-mask').hide() + $('.gather-mask').hide() + $('.shade').hide() + }) + + $('.help').on('click', function () { + $('.rule-mask').animate({ + top: 0 + }, 500) + }) + $('.rule-mask').on('click', '.back', function () { + $('.rule-mask').animate({ + top: -1000 + }, 500) + }) + + $('.rank-btn').on('click', function () { + renderRank(false) + }) + $('.rank-mask .tab').on('click', 'li', function () { + rankTabIndex = $(this).index() + $(this).addClass('active').siblings().removeClass('active') + renderRank(true) + }) + $('.rank-mask').on('click', '.back', function () { + $('.rank-mask').animate({ + top: -1000 + }, 500) + }) + + $('.status-mask').on('click', '.btn', function () { + $('.shade').hide() + $('.status-mask').hide() + }) + + $('.record-btn').on('click', function () { + renderRecord(false) + }) + $('.record-mask .tab').on('click', 'li', function () { + recordTabIndex = $(this).index() + recordPageNum = 1 + scrollFlag = false + $('.record-mask').find('.content').scrollTop(0) + $(this).addClass('active').siblings().removeClass('active') + renderRecord(true) + }) + $('.record-mask').on('click', '.back', function () { + $('.record-mask').animate({ + top: -1000 + }, 500) + }) + $('.record-mask .content').scroll(function () { + var scrollH = $(this).scrollTop() + var contentH = $('.record-container').height() + var viewH = $(this).height() + if (Math.ceil(viewH + scrollH) >= contentH) { + if (scrollFlag) { + return + } + scrollFlag = !scrollFlag + recordPageNum++ + renderRecord(true) + } + }) + $('.feedback').on('click', function () { + tools.nativeUtils.jumpAppointPage('FEEDPACK_PAGE', 'DRAW'); + }) + }, + getData: function () { + getScrollTip() + getticketChooseShow() + openSocket() + getExp() + getTicketNum() + preloadImg(clickTab) + getGiftInfo() + } + }; + + main.init(); +}); + +var scrollTimer +var tabTimer +var times +// var timeFlag = 0 +var timeTimer +// var cacheLine = 0 +var rankTabIndex = 0 +var recordTabIndex = 0 +var recordPageNum = 1 + +// 获取滚屏数据 +function getScrollTip () { + $('.container').hide() + $.ajax({ + type: 'GET', + url: api + '/activities/draw/queryPrizeMsg', + success: function (res) { + if (res.code === 200) { + for (var i in res.data) { + if (res.data[i].nick.length > 4) { + res.data[i].nick = res.data[i].nick.substring(0, 4) + '...' + } + if (res.data[i].drawType === 1) { + res.data[i]['table'] = '假日午后' + } else { + res.data[i]['table'] = '假日舞会' + } + } + res.data.push(res.data[0]) + var _data = { + scrollMaskList: res.data + } + $('.container').html(template('scrollTmp', _data)) + $('.container').show() + animateScroll() + } + } + }) +} + +// 获取礼物信息 +function getGiftInfo () { + turntable[clickTab].prizeIndex = [] + // turntable[0].prizeImg = []; + // turntable[1].prizeImg = []; + giftIntro['giftIdArr'] = [] + $.ajax({ + type: 'GET', + url: api + '/activities/draw/queryPrizeInfo', + timeout: 15000, // 超时时间:30秒 + data: { + drawType: (clickTab === 0) ? 'turntable1' : 'turntable2' + }, + success: function (res) { + if (res.code === 200) { + for (var i in res.data) { + turntable[clickTab].prizeIndex.push(res.data[i].prizeId) + giftIntro.giftIdArr.push(res.data[i].prizeId) + // if(clickTab === 0) { + // turntable[0].prizeImg.push(res.data[i].prizeImgUrl) + // }else{ + // turntable[1].prizeImg.push(res.data[i].prizeImgUrl) + // } + } + // preloadImg(clickTab) + // 成功后可点击 + info.clickStatu = true + } else { + $('.toast').html(res.message).fadeIn(30).fadeOut(2000) + } + }, + error: function (res) { + $('.toast').html('哎呀太挤了,请稍等').fadeIn(30).fadeOut(2000) + } + }) +} + +// 滚屏 +function animateScroll () { + var length = $('.scrollMask').find('.container').height() + var _top = 0 + clearInterval(scrollTimer) + scrollTimer = setInterval(function () { + if (length + _top > 30) { + _top -= 30 + } else { + $('.scrollMask').find('.container').css({ + top: 0 + }) + _top = 0 + } + $('.scrollMask').find('.container').stop(true, true).animate({ + top: _top + }) + }, 2000) +} + +// 获取消耗数据 +function getticketChooseShow () { + var drawObj = { + 0: 'turntable1', + 1: 'turntable2' + } + $.ajax({ + type: 'GET', + url: api + '/activities/draw/queryTicketRule', + data: { + drawType: drawObj[clickTab] + }, + success: function (res) { + if (res.code === 200) { + // $('.turnNum').find('.num').eq(0).html(res.data.one + '次') + $('.turnNum').find('.ticket').eq(0).html('消耗' + res.data.one + '门票') + // $('.turnNum').find('.num').eq(1).html(res.data.ten + '次') + $('.turnNum').find('.ticket').eq(1).html('消耗' + res.data.ten + '门票') + // $('.turnNum').find('.num').eq(2).html(res.data.hundred + '次') + $('.turnNum').find('.ticket').eq(2).html('消耗' + res.data.hundred + '门票') + + if (clickTab === 0) { + $('.turnNum').find('li').removeClass('joy').addClass('ball') + } else { + $('.turnNum').find('li').removeClass('ball').addClass('joy') + } + } + } + }) +} + +// 打开socket链接 +function openSocket () { + var socket = null + var cacheType = 0 + if (typeof (WebSocket) === 'undefined') { + alert('暂不支持转盘socket') + } else { + var _url = (window.location.href.match('apibeta') || window.location.href.match('local')) ? 'http://apibeta.qxjiaoyou.com:8081' : 'https://api.qxjiaoyou.com:8081' + if (window.location.href.match('preview')) { + _url = 'https://preview.qxjiaoyou.com:8081' + } + var socketUrl = _url + '/websocket/activity/' + info.roomUid + socketUrl = socketUrl.replace('https', 'wss').replace('http', 'ws') + if (socket !== null) { + socket.close() + socket = null + } + socket = new WebSocket(socketUrl) + + socket.onopen = function () { + // 监听开启socket后的判断逻辑 + clearInterval(tabTimer) + tabTimer = setInterval(function () { + if (cacheType !== clickTab) { + cacheType = clickTab + getExp() + } + }, 10) + } + + socket.onmessage = function (res) { + // 监听服务端发送过来的数据 + + var data = JSON.parse(res.data) + if (data.data) { + renderExp(data.data) + } + } + + socket.onclose = function () { + socket = null + clearTimeout(openSocketTimer) + openSocketTimer = setTimeout(function () { + openSocket() + }, 5000) + } + + socket.onerror = function () { + console.log('socket错误') + } + } +} + +// 渲染经验值 +function getExp () { + $.ajax({ + type: 'GET', + url: api + '/activities/draw/getRunawayData', + data: { + drawType: (clickTab === 0) ? 'turntable1' : 'turntable2', + roomUid: info.roomUid + }, + success: function (res) { + if (res.code === 200) { + renderExp(res.data) + } + } + }) +} +var tableFlag +function renderExp (val) { + // console.log(val) + tableFlag = (val.drawType === 'turntable1') ? 0 : 1 + if (val.runawaySwitch) { + $('.experience').show() + } + + // 进度条计算 + if (tableFlag === clickTab) { + var height = $('.exp-container').height() + var percentage = val.curValue / val.runawayConfigValue + var _top + _top = height * percentage + $('.strip').stop(true).animate({ + height: _top + }, 200) + $('.experience').find('.maxNum').html(val.runawayConfigValue) + $('.experience').find('.num').html(val.curValue) + } + // 进度条计算 + + // 礼物显示 + if (JSON.stringify(val.poolPrize) !== '{}') { + if (val.poolTime > 0 && tableFlag === clickTab) { + renderTime(val) + } + // if (val.poolTime === val.runawayConfigTime && tableFlag === clickTab) { + // timeFlag = 1 + // $('.giftBox').removeClass('hide') + // renderTime(val.poolTime) + // $('.giftBox').find('img').attr('src', val.poolPrize.prizeImgUrl) + // } + } else { + $('.giftBox').addClass('hide') + } +} + +// 渲染倒计时 +function renderTime (val) { + times = val.poolTime + $('.giftBox').find('img').attr('src', val.poolPrize.prizeImgUrl) + $('.giftBox').removeClass('hide') + $('.experience').find('.times').html(times + '秒') + clearInterval(timeTimer) + timeTimer = setInterval(function () { + times-- + if (times === 0) { + // timeFlag = 0 + clearInterval(timeTimer) + $('.giftBox').addClass('hide') + } + $('.experience').find('.times').html(times + '秒') + }, 1000) +} + +// 获取门票数 +function getTicketNum () { + $.ajax({ + type: 'GET', + url: api + '/activities/draw/queryTicketNum', + data: { + uid: info.uid + }, + success: function (res) { + if (res.code === 200) { + $('.info').find('.ticketNum').html(res.data.num) + } + } + }) +} + +// 预加载图片 +function preloadImg (val) { + var img = { + imageArr: turntable[val].prizeImg, + doneFunc: function () { + clearInterval(imgTimer) + imgTimer = setTimeout(function () { + getCanvas(val) + }, 50) + } + } + preloadImage(img) +} + +// 转盘 +function getCanvas (val) { + var img + if (val === 0) { + $('#table').show() + $('#table2').hide() + } else { + $('#table').hide() + $('#table2').show() + } + for (let i in turntable[val].prizeImg) { + img = new Image() + img.src = turntable[val].prizeImg[i] + turntable[val].prizeImgArr.push(img) + } + var count = turntable[val].prizeImg.length + img.onload = function () { + var baseAngle = Math.PI * 2 / count + var _circle = (val === 0) ? document.getElementById('table') : document.getElementById('table2') + var circle = _circle.getContext('2d') + clearTimeout(canvasTimer) + canvasTimer = setTimeout(function () { + for (var i = 0; i < turntable[val].prizeImg.length; i++) { + circle.save() + circle.translate(_circle.width / 2, _circle.height / 2) + circle.strokeStyle = 'transparent' + var angle = i * baseAngle + var colorIndex = i % 2 + circle.fillStyle = turntable[val].colors[colorIndex] + circle.beginPath() + circle.moveTo(0, 0) + circle.arc(0, 0, 214, angle, angle + baseAngle, false) + circle.stroke() + circle.fill() + circle.rotate(angle + baseAngle / 2 + Math.PI / 2) + circle.imageSmoothEnabled = false + circle.drawImage(turntable[val].prizeImgArr[i], -55, -210, 100, 100) + circle.restore() + } + clearTimeout(canvasTimer) + }, 10) + } +} + +// 旋转 +function rotateFunc (item, count, data, idList, val) { + // $('.canvas').css({ + // transform: 'scale(.5)' + // }) + giftIntro['gatherId'] = item + giftIntro['gatherIdList'] = idList + console.log(giftIntro); + var baseAngle = 360 / count + var angle = 360 * 3 / 4 - (item * baseAngle) - baseAngle / 2 + giftIntro['angle'] = angle + var $rotate = (val === 0) ? $('#table') : $('#table2') + $rotate.stopRotate() + $rotate.rotate({ + angle: 0, + animateTo: angle + 360 * 5, + duration: 3000, + callback: function () { + // 获取弹窗渲染 + var $data = { + gatherList: data + } + $('.gift-list').html(template('gatherListTmp', $data)) + $('.gather-mask').show() + $('.shade').show() + clearTimeout(giftTimer) + giftTimer = setTimeout(function () { + $('.gather-mask').hide() + $('.shade').hide() + clearTimeout(giftTimer) + }, 1500) + } + }) +} + +// 渲染排行榜 +function renderRank (val) { + var tipsObj = { + 0: '抽奖票数越多,排名越高哦~每日零点重置', + 1: '获得奖励价值越高,排名越高哦~每日零点重置' + } + var urlObj = { + 0: '/activities/rank/ticketList', + 1: '/activities/rank/giftList' + } + $.ajax({ + type: 'POST', + url: api + urlObj[rankTabIndex], + data: { + uid: info.uid + }, + success: function (res) { + if (res.code === 200) { + $('.rank-mask').find('.tips p').html(tipsObj[rankTabIndex]) + for (var i in res.data.rankVoList) { + if (res.data.rankVoList[i].nick.length > 5) { + res.data.rankVoList[i].nick = res.data.rankVoList[i].nick.substring(0, 5) + '...' + } + if (i > 0) { + var distance = res.data.rankVoList[i - 1].value - res.data.rankVoList[i].value + if (distance > 10000) { + res.data.rankVoList[i]['distance'] = (distance / 10000).toFixed(1) + '万' + } else { + res.data.rankVoList[i]['distance'] = distance + } + } + } + if (!val) { + $('.rank-mask').animate({ + top: 0 + }, 500, function () { + var $data = { + rankList: res.data.rankVoList + } + $('.rank-container').html(template('rankListTmp', $data)).fadeIn(500) + }) + } else { + var $data = { + rankList: res.data.rankVoList + } + $('.rank-container').fadeOut(500, function () { + $('.rank-container').html(template('rankListTmp', $data)) + }).fadeIn(500) + } + + if (res.data.myRank.nick.length > 5) { + res.data.myRank.nick = res.data.myRank.nick.substring(0, 5) + '...' + } + if (res.data.myRank.value > 10000) { + res.data.myRank.value = (res.data.myRank.value / 10000).toFixed(1) + '万' + } + + $('.mine').find('.rank-num').html(res.data.myRank.rank) + $('.mine').find('.avatar img').attr('src', res.data.myRank.avatar) + $('.mine').find('.nick').html(res.data.myRank.nick) + if (rankTabIndex === 0) { + $('.mine').find('.score').html('我的捧场值:' + res.data.myRank.value) + $('.rank-yesterday-box').addClass('active') + for (var i = 0; i < 3; i++) { + var item = res.data.yesterdayRank[i] || '' + $(`.rank-item${i} .rank-ava .img-item`).attr('src', item.avatar || 'img/carnival/noava.png') + $(`.rank-item${i} .rank-nick`).html(item.nick || '虚位以待') + } + } else { + $('.mine').find('.score').html('我的迷人值:' + res.data.myRank.value) + $('.rank-yesterday-box').removeClass('active') + } + if (res.data.myRank.rank < 21) { + if (res.data.myRank.rank > 10 && res.data.myRank.rank < 21) { + $('.mine').find('.num').html(res.data.myRank.diffValue) + $('.mine').find('.distance').html('距上榜') + } else if (res.data.myRank.rank < 11 && res.data.myRank.rank > 1) { + $('.mine').find('.num').html(res.data.myRank.diffValue) + $('.mine').find('.distance').html('距上名') + } else { + $('.mine').find('.num').html(res.data.myRank.diffValue) + } + } else { + $('.mine').find('.num').html(res.data.myRank.diffValue) + $('.mine').find('.distance').html('未上榜') + } + // 跳转个人主页 + $('.rank-container').on('click', '.avatar', function () { + var uid = $(this).attr('data-uid'); + tools.nativeUtils.jumpAppointPage('PERSON_PAGE', uid); + }) + } + } + }) +} + +var recordCache = [] +var scrollFlag = false +var recordTimer +// 渲染抽奖记录 +function renderRecord (val) { + var typeObj = { + 0: 'time', + 1: 'worth' + } + $.ajax({ + type: 'GET', + url: api + '/activities/draw/drawRecord', + data: { + uid: info.uid, + sortType: typeObj[recordTabIndex], + page: recordPageNum, + pageSize: 10 + }, + success: function (res) { + if (res.code === 200) { + if (res.data.length === 0) { + return + } + if (recordTabIndex === 0) { + for (var i in res.data) { + var date = new Date(res.data[i].createTime) + var year = date.getFullYear() + var month = date.getMonth() + 1 + var day = date.getDate() + var hour = date.getHours() + var minute = date.getMinutes() + var second = date.getSeconds() + res.data[i].ymd = year + '-' + month + '-' + day + res.data[i].hms = hour + ':' + minute + ':' + second + } + } + if (scrollFlag) { + if (res.data.length > 0) { + for (var j in res.data) { + recordCache.push(res.data[j]) + } + } else { + $('.loading').html('暂无更多数据') + } + var $data2 = { + recordList: recordCache, + // eslint-disable-next-line no-unneeded-ternary + worth: (recordTabIndex === 1) ? true : false + } + $('.loading').show() + clearTimeout(recordTimer) + recordTimer = setTimeout(function () { + $('.loading').hide() + $('.record-container').html(template('recordTmp', $data2)) + scrollFlag = !scrollFlag + }, 2000) + return + } + if (!val) { + recordCache = [] + $('.record-mask').animate({ + top: 0 + }, 500, function () { + recordCache = res.data + var $data = { + recordList: recordCache, + // eslint-disable-next-line no-unneeded-ternary + worth: (recordTabIndex === 1) ? true : false + } + $('.record-container').html(template('recordTmp', $data)).fadeIn(500) + }) + } else { + recordCache = [] + recordCache = res.data + var $data = { + recordList: recordCache, + // eslint-disable-next-line no-unneeded-ternary + worth: (recordTabIndex === 1) ? true : false + } + $('.record-container').fadeOut(500, function () { + $('.record-container').html(template('recordTmp', $data)) + }).fadeIn(500) + } + } + } + }) +} diff --git a/act_project/carnival14/js/index.js b/act_project/carnival14/js/index.js new file mode 100644 index 0000000..695d8b5 --- /dev/null +++ b/act_project/carnival14/js/index.js @@ -0,0 +1,386 @@ +// 指定全局变量 +/*global checkVersion locateJudge EnvCheck tools erbanMask wx wxConfig VConsole androidJsObj initNav */ +var info = {}; +var browser = checkVersion(); +var api = locateJudge(); +var env = EnvCheck(); +var totalPrice = 0; +var shareUrl = location.origin + '/activity'; +var share = { + title: '', + link: shareUrl, + imgUrl: 'https://img.erbanyy.com/new-logo.png', + desc: '' +}; +// eslint-disable-next-line +function getMessage(key, value) { + info[key] = value; +} + +wx.ready(function() { + wx.onMenuShareTimeline({ + title: share.title, + link: share.link, + imgUrl: share.imgUrl, + desc: share.desc + }); + + wx.onMenuShareAppMessage({ + title: share.title, + desc: share.desc, + link: share.link, + imgUrl: share.imgUrl, + type: 'link', + dataUrl: '' + }); + + wx.onMenuShareQQ({ + title: share.title, + desc: share.desc, + link: share.link, + imgUrl: share.imgUrl + }); +}); + +erbanMask('activity-name', 'activity-name'); +initNav({ + type: 2, + data: { + msg: 'wewawa', + link: share.link, + title: share.title, + showUrl: share.link, + imgUrl: share.imgUrl, + desc: share.desc + } +}); + +browser.weixin && wxConfig(); + +$(function() { + if (env == 'test') { + new VConsole(); + } + + var main = { + init: function() { + this.getMsgFromDevice(); + setTimeout(() => { + this.getData(); + }, 100); + this.eventRegister(); + }, + getMsgFromDevice: function() { + if (browser.app) { + if (browser.ios) { + window.webkit.messageHandlers.getDeviceId.postMessage(null); + } else if (browser.android) { + if (androidJsObj && typeof androidJsObj === 'object') { + info.deviceId = window.androidJsObj.getDeviceId(); + } + } + info.uid = tools.nativeUtils.getUid(); + info.ticket = tools.nativeUtils.getTicket(); + } else { + // info.uid = 906238; + info.uid = 906709; + info.deviceId = 'safhksafhksajhfs1kjahsfkjsf0000aaaaaaaacaa'; + info.ticket = 'eyJhbGciOiJIUzI1NiJ9.eyJ0aWNrZXRfdHlwZSI6bnVsbCwidWlkIjo5MDYyMzgsInRpY2tldF9pZCI6IjdiZWQ2NzcwLWJmMjktNGRiYi04MzZmLTc0NzBmY2RiMDZjYSIsImV4cCI6MzYwMCwiY2xpZW50X2lkIjoiZXJiYW4tY2xpZW50In0.ye2Zv8nyZkqiT_bIWq-50qcS6_SCWmRpBjxxLX7mQvs'; + } + }, + eventRegister: function() { + // 打开规则弹窗 + $('.rule-btn').on('click', function() { + $('.rule-mask,.shade').fadeIn(300); + }) + // 关闭购买弹窗 + $('.buy-mask').on('click', '.close-btn', function() { + $('.buy-mask,.shade').fadeOut(300); + }) + // 关闭规则弹窗 + $('.rule-mask').on('click', '.cancel', function() { + $('.rule-mask,.shade').fadeOut(300); + }) + // 关闭购买之后弹窗 + $('.statusMask').on('click', '.cancel', function() { + $('.statusMask,.shade').fadeOut(300); + }) + // 关闭弹窗 + $('.shade').on('click', function() { + $('.rule-mask,.buy-mask,.statusMask,.shade').fadeOut(300); + }) + // 监听input输入 + $('.b-input').bind('input propertychange', function() { + var _this = $(this); + if (_this.val().length == 1) { + _this.val(_this.val().replace(/[^1-9]/gi, '')); + } else { + _this.val(_this.val().replace(/[\D]/gi, '')); + _this.val(parseInt(_this.val())); + } + if(_this.val() == '') { + totalPrice = 0; + $('.day').text(0); + _this.val(0) + }else{ + if(_this.val() >= 100000000) { + _this.val(100000000) + } + totalPrice = parseInt(_this.val()) * parseInt(_this.attr('data-price')); + $('.day').text(_this.val()); + } + $('.totalprice').html(totalPrice); + }) + // 增加按钮 + $('.add-btn').on('click', function() { + var val = parseInt($('.b-input').val()); + var price = parseInt($('.b-input').attr('data-price')); + val = val + 1; + totalPrice = val * price; + $('.day').text(val); + $('.b-input').val(val); + $('.totalprice').html(totalPrice); + }) + // 减少按钮 + $('.remove-btn').on('click', function() { + var val = parseInt($('.b-input').val()); + var price = parseInt($('.b-input').attr('data-price')); + if(val > 1) { + val = val - 1; + }else{ + val = 1; + } + totalPrice = val * price; + $('.day').text(val); + $('.b-input').val(val); + $('.totalprice').html(totalPrice); + }) + // 购买确认 + $('.confirm-btn').on('click', function() { + var packNum = $('.b-input').val(); + var packId = $(this).attr('data-pid'); + if(packNum == 0) { + ajaxTip('最少购买一个哦~'); + return; + }else{ + $.ajax({ + headers: { + pub_ticket: info.ticket + }, + type: 'POST', + url: api + '/activity/pack/buy', + data: { + uid: info.uid, + ticket: info.ticket, + packId: packId, + packNum: packNum + }, + success: function(res) { + if(res) { + if (res.code == 200) { // 购买成功 + $('.buy-mask').hide().siblings('.statusMask').fadeIn(300); + $('.success').show(); + $('.fail').hide(); + $('.statusMask .tip').html('获赠门票×' + res.data); + renderTicket(); + } else if (res.code == 2103) { // 余额不足 + $('.buy-mask').hide().siblings('.statusMask').fadeIn(300); + $('.buy-mask,.success').hide(); + $('.fail').show(); + $('.statusMask .tip').html('亲,余额不足~'); + if (browser.ios) { + $('.android').hide(); + } else if (browser.android) { + $('.ios').hide(); + } + } else { + ajaxTip(res.message); + return; + } + } + } + }) + } + }) + // 充值跳转 + $('.recharge').on('click', function() { + if (browser.ios) { + $('.statusMask,.shade').fadeOut(300); + } else { + tools.nativeUtils.jumpAppointPage('RECHARGE_PAGE'); + } + }) + }, + getData: function() { + renderTicket(); + renderGift(); + } + }; + main.init(); +}); + +// 渲染底部tab +function renderTicket() { + $.ajax({ + type: 'GET', + url: api + '/activities/draw/queryTicketNum', + data: { + uid: info.uid + }, + success: function(res) { + if(res.code === 200) { + if (res.data.nick.length > 10) { + res.data.nick = res.data.nick.substring(0, 10) + '...' + } + $('.mine').find('.avatar img').attr('src', res.data.avatar) + $('.mine').find('.nick').html(res.data.nick) + $('.mine').find('.score').html(res.data.num) + }else{ + ajaxTip(res.message); + return; + } + } + }) +} + +// 渲染礼包信息 +function renderGift() { + $.ajax({ + headers: { + pub_ticket: info.ticket + }, + type: 'POST', + url: api + '/activities/draw/getPackList', + data: { + uid: info.uid, + ticket: info.ticket + }, + success: function(res) { + if (res.code == 200) { + var html = ''; + var num = ''; + res.data.forEach(function(item, index) { + if(item.sellingPrice == 200) { + num = '7-10' + }else if(item.sellingPrice == 1000) { + num = '30-50' + }else if(item.sellingPrice == 2000) { + num = '70-100' + }else if(item.sellingPrice == 10000) { + num = '300-500' + } + // 新增的档位20000,赠送600-1000门票,添加日期2020-12-08 + else if(item.sellingPrice == 20000) { + num = '600-1000' + } + html += '
                                • ' + + '

                                  限定装扮' + NoToChinese(index + 1) + '

                                  ' + + '
                                  ' + + '
                                  ' + + '

                                  ' + item.name + '

                                  ' + + '

                                  ' + item.sellingPrice + '金币/天

                                  ' + + '

                                  ' + item.originalPrice + '金币/天

                                  ' + + '

                                  随机赠送门票' + num + '张

                                  ' + + '
                                  ' + + '
                                  ' + + '
                                • ' + }) + $('.cloth-box').html(html); + renderBuyStatus(); + // 购买弹窗 + $('.cloth-box').on('click', '.buy-btn', function() { + var packId = $(this).attr('data-gid'); + var name = $(this).siblings('.gift-text').find('p:first').text(); + var sellingPrice = $(this).siblings('.gift-text').find('.price').attr('data-money'); + $('.buy-mask .day').text(1); + $('.buy-mask .b-input').val(1); + $('.buy-mask .giftName').html(name); + $('.buy-mask .totalprice').html(sellingPrice); + $('.buy-mask .confirm-btn').attr('data-pid', packId); + $('.buy-mask .b-input').attr('data-price', sellingPrice); + $('.shade,.buy-mask').fadeIn(300); + }) + }else{ + ajaxTip(res.message); + return; + } + } + }) +} +// 渲染购买状态 +function renderBuyStatus() { + $.ajax({ + type: 'GET', + url: api + '/activities/draw/getDate', + data: {}, + success: function(res) { + if(res.code == 200) { + var date = new Date().getTime(); + var start = (browser.ios) ? res.data.start : res.data.start; + var end = (browser.ios) ? res.data.end : res.data.end; + if (start < date && date < end) { + $('.buy-btn').removeClass('gray').prop('disabled', false); + } else { + $('.buy-btn').removeClass().addClass('buy-btn gray').prop('disabled', true); + } + }else{ + ajaxTip(res.message); + return; + } + } + }) +} + +// 封装提示信息 +function ajaxTip(callText) { + var thisBody = document.getElementsByTagName('body')[0]; + var Div = document.createElement('div'); + var text = "

                                  " + callText + '

                                  ' + Div.setAttribute('class', 'ajaxtiplayer'); + Div.innerHTML = text; + Div.style.display = 'block'; + thisBody.appendChild(Div); + setTimeout(function() { + thisBody.removeChild(Div); + }, 2000); +} + +// 将数字转为中文数字 +function NoToChinese(num) { + if (!/^\d*(\.\d*)?$/.test(num)) { + alert('Number is wrong!'); + return 'Number is wrong!'; + } + // eslint-disable-next-line no-array-constructor + var AA = new Array('零', '一', '二', '三', '四', '五', '六', '七', '八', '九'); + // eslint-disable-next-line no-array-constructor + var BB = new Array('', '十', '百', '千', '万', '亿', '点', ''); + var a = ('' + num).replace(/(^0*)/g, '').split('.'); + var k = 0; + var re = ''; + for (var i = a[0].length - 1; i >= 0; i--) { + switch (k) { + case 0: + re = BB[7] + re; + break; + case 4: + if (!new RegExp('0{4}\\d{' + (a[0].length - i - 1) + '}$').test(a[0])) { re = BB[4] + re; } + break; + case 8: + re = BB[5] + re; + BB[7] = BB[5]; + k = 0; + break; + } + if (k % 4 == 2 && a[0].charAt(i + 2) != 0 && a[0].charAt(i + 1) == 0) re = AA[0] + re; + if (a[0].charAt(i) != 0) re = AA[a[0].charAt(i)] + BB[k % 4] + re; + k++; + } + if (a.length > 1) { + re += BB[6]; + // eslint-disable-next-line no-redeclare + for (var i = 0; i < a[1].length; i++) re += AA[a[1].charAt(i)]; + } + return re; +} + diff --git a/act_project/html_tpl/downloadMask.html b/act_project/html_tpl/downloadMask.html new file mode 100644 index 0000000..6b763c8 --- /dev/null +++ b/act_project/html_tpl/downloadMask.html @@ -0,0 +1,7 @@ + \ No newline at end of file diff --git a/act_project/html_tpl/headScript.html b/act_project/html_tpl/headScript.html new file mode 100644 index 0000000..b3149af --- /dev/null +++ b/act_project/html_tpl/headScript.html @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/act_project/html_tpl/script.html b/act_project/html_tpl/script.html new file mode 100644 index 0000000..fe4860f --- /dev/null +++ b/act_project/html_tpl/script.html @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/act_project/html_tpl/style.html b/act_project/html_tpl/style.html new file mode 100644 index 0000000..136a00d --- /dev/null +++ b/act_project/html_tpl/style.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/act_project/package-lock.json b/act_project/package-lock.json new file mode 100644 index 0000000..3be8fd2 --- /dev/null +++ b/act_project/package-lock.json @@ -0,0 +1,14777 @@ +{ + "name": "tmt-workflow", + "version": "1.5.8", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/code-frame": { + "version": "7.8.3", + "resolved": "http://r.cnpmjs.org/@babel/code-frame/download/@babel/code-frame-7.8.3.tgz", + "integrity": "sha1-M+JZA9dIEYFTThLsCiXxa2/PQZ4=", + "requires": { + "@babel/highlight": "^7.8.3" + } + }, + "@babel/highlight": { + "version": "7.8.3", + "resolved": "http://r.cnpmjs.org/@babel/highlight/download/@babel/highlight-7.8.3.tgz", + "integrity": "sha1-KPFz0EIj6qpZvB1Dmjg25tEmV5c=", + "requires": { + "chalk": "^2.0.0", + "esutils": "^2.0.2", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "http://r.cnpmjs.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "http://r.cnpmjs.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "http://r.cnpmjs.org/js-tokens/download/js-tokens-4.0.0.tgz", + "integrity": "sha1-GSA/tZmR35jjoocFDUZHzerzJJk=" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "http://r.cnpmjs.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "http://r.cnpmjs.org/@mrmlnc/readdir-enhanced/download/@mrmlnc/readdir-enhanced-2.2.1.tgz", + "integrity": "sha1-UkryQNGjYFJ7cwR17PoTRKpUDd4=", + "requires": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@sindresorhus/is": { + "version": "0.7.0", + "resolved": "http://r.cnpmjs.org/@sindresorhus/is/download/@sindresorhus/is-0.7.0.tgz", + "integrity": "sha1-mgb08TfuhNffBGDB/bETX/psUP0=" + }, + "@types/glob": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-w+LsMxKyYQm347Otw+IfBXOv9UWVjpHpCDdbBMt8Kz/xbvCYNjP+0qPh91Km3iKfSRLBB0P7fAMf0KHrPu+MyA==", + "dev": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "dev": true + }, + "@types/node": { + "version": "16.7.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.7.1.tgz", + "integrity": "sha512-ncRdc45SoYJ2H4eWU9ReDfp3vtFqDYhjOsKlFFUDEn8V1Bgr2RjYal8YT5byfadWIRluhPFU6JiDOl0H6Sl87A==", + "dev": true + }, + "@types/q": { + "version": "1.5.2", + "resolved": "http://r.cnpmjs.org/@types/q/download/@types/q-1.5.2.tgz", + "integrity": "sha1-aQoUdbhPKohP0HzXl8APXzE1bqg=" + }, + "@webassemblyjs/ast": { + "version": "1.8.5", + "resolved": "http://r.cnpmjs.org/@webassemblyjs/ast/download/@webassemblyjs/ast-1.8.5.tgz", + "integrity": "sha1-UbHF/mV2o0lTv0slPfnw1JDZ41k=", + "requires": { + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.8.5", + "resolved": "http://r.cnpmjs.org/@webassemblyjs/floating-point-hex-parser/download/@webassemblyjs/floating-point-hex-parser-1.8.5.tgz", + "integrity": "sha1-G6kmopI2E+3OSW/VsC6M6KX0lyE=" + }, + "@webassemblyjs/helper-api-error": { + "version": "1.8.5", + "resolved": "http://r.cnpmjs.org/@webassemblyjs/helper-api-error/download/@webassemblyjs/helper-api-error-1.8.5.tgz", + "integrity": "sha1-xJ2tIvZFInxe22EL25aX8aq3Ifc=" + }, + "@webassemblyjs/helper-buffer": { + "version": "1.8.5", + "resolved": "http://r.cnpmjs.org/@webassemblyjs/helper-buffer/download/@webassemblyjs/helper-buffer-1.8.5.tgz", + "integrity": "sha1-/qk+Qphj3V5DOFVfQikjhaZT8gQ=" + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.8.5", + "resolved": "http://r.cnpmjs.org/@webassemblyjs/helper-code-frame/download/@webassemblyjs/helper-code-frame-1.8.5.tgz", + "integrity": "sha1-mnQP9I4/qjAisd/1RCPfmqKTwl4=", + "requires": { + "@webassemblyjs/wast-printer": "1.8.5" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.8.5", + "resolved": "http://r.cnpmjs.org/@webassemblyjs/helper-fsm/download/@webassemblyjs/helper-fsm-1.8.5.tgz", + "integrity": "sha1-ugt9Oz9+RzPaYFnJMyJ12GBwJFI=" + }, + "@webassemblyjs/helper-module-context": { + "version": "1.8.5", + "resolved": "http://r.cnpmjs.org/@webassemblyjs/helper-module-context/download/@webassemblyjs/helper-module-context-1.8.5.tgz", + "integrity": "sha1-3vS5knsBAdyMu9jR7bW3ucguskU=", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "mamacro": "^0.0.3" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.8.5", + "resolved": "http://r.cnpmjs.org/@webassemblyjs/helper-wasm-bytecode/download/@webassemblyjs/helper-wasm-bytecode-1.8.5.tgz", + "integrity": "sha1-U3p1Dt31weky83RCBlUckcG5PmE=" + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.8.5", + "resolved": "http://r.cnpmjs.org/@webassemblyjs/helper-wasm-section/download/@webassemblyjs/helper-wasm-section-1.8.5.tgz", + "integrity": "sha1-dMpqa8vhnlCjtrRihH5pUD5r/L8=", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.8.5", + "resolved": "http://r.cnpmjs.org/@webassemblyjs/ieee754/download/@webassemblyjs/ieee754-1.8.5.tgz", + "integrity": "sha1-cSMp2+8kDza/V70ve4+5v0FUQh4=", + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.8.5", + "resolved": "http://r.cnpmjs.org/@webassemblyjs/leb128/download/@webassemblyjs/leb128-1.8.5.tgz", + "integrity": "sha1-BE7es06mefPgTNT9mCTV41dnrhA=", + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.8.5", + "resolved": "http://r.cnpmjs.org/@webassemblyjs/utf8/download/@webassemblyjs/utf8-1.8.5.tgz", + "integrity": "sha1-qL87XY/+mGx8Hjc8y9wqCRXwztw=" + }, + "@webassemblyjs/wasm-edit": { + "version": "1.8.5", + "resolved": "http://r.cnpmjs.org/@webassemblyjs/wasm-edit/download/@webassemblyjs/wasm-edit-1.8.5.tgz", + "integrity": "sha1-li2hKqWswcExyBxCMpkcgs5W4Bo=", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/helper-wasm-section": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-opt": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "@webassemblyjs/wast-printer": "1.8.5" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.8.5", + "resolved": "http://r.cnpmjs.org/@webassemblyjs/wasm-gen/download/@webassemblyjs/wasm-gen-1.8.5.tgz", + "integrity": "sha1-VIQHZsLBAC62TtGr5yCt7XFPmLw=", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.8.5", + "resolved": "http://r.cnpmjs.org/@webassemblyjs/wasm-opt/download/@webassemblyjs/wasm-opt-1.8.5.tgz", + "integrity": "sha1-sk2fa6UDlK8TSfUQr6j/y4pj0mQ=", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-buffer": "1.8.5", + "@webassemblyjs/wasm-gen": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.8.5", + "resolved": "http://r.cnpmjs.org/@webassemblyjs/wasm-parser/download/@webassemblyjs/wasm-parser-1.8.5.tgz", + "integrity": "sha1-IVdvDsiLkUJzV7hTY4NmjvfGa40=", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-wasm-bytecode": "1.8.5", + "@webassemblyjs/ieee754": "1.8.5", + "@webassemblyjs/leb128": "1.8.5", + "@webassemblyjs/utf8": "1.8.5" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.8.5", + "resolved": "http://r.cnpmjs.org/@webassemblyjs/wast-parser/download/@webassemblyjs/wast-parser-1.8.5.tgz", + "integrity": "sha1-4Q7s1ULQ5705T2gnxJ899tTu+4w=", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/floating-point-hex-parser": "1.8.5", + "@webassemblyjs/helper-api-error": "1.8.5", + "@webassemblyjs/helper-code-frame": "1.8.5", + "@webassemblyjs/helper-fsm": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.8.5", + "resolved": "http://r.cnpmjs.org/@webassemblyjs/wast-printer/download/@webassemblyjs/wast-printer-1.8.5.tgz", + "integrity": "sha1-EUu8SB/RDKDiOzVg+oEnSLC65bw=", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/wast-parser": "1.8.5", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "http://r.cnpmjs.org/@xtuc/ieee754/download/@xtuc/ieee754-1.2.0.tgz", + "integrity": "sha1-7vAUoxRa5Hehy8AM0eVSM23Ot5A=" + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "http://r.cnpmjs.org/@xtuc/long/download/@xtuc/long-4.2.2.tgz", + "integrity": "sha1-0pHGpOl5ibXGHZrPOWrk/hM6cY0=" + }, + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" + }, + "accepts": { + "version": "1.3.7", + "resolved": "http://r.cnpmjs.org/accepts/download/accepts-1.3.7.tgz", + "integrity": "sha1-UxvHJlF6OytB+FACHGzBXqq1B80=", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "accord": { + "version": "0.28.0", + "resolved": "http://r.cnpmjs.org/accord/download/accord-0.28.0.tgz", + "integrity": "sha1-vsUWovci59UPX59C+Bt387lUSLo=", + "requires": { + "convert-source-map": "^1.5.0", + "glob": "^7.0.5", + "indx": "^0.2.3", + "lodash.clone": "^4.3.2", + "lodash.defaults": "^4.0.1", + "lodash.flatten": "^4.2.0", + "lodash.merge": "^4.4.0", + "lodash.partialright": "^4.1.4", + "lodash.pick": "^4.2.1", + "lodash.uniq": "^4.3.0", + "resolve": "^1.5.0", + "semver": "^5.3.0", + "uglify-js": "^2.8.22", + "when": "^3.7.8" + } + }, + "acorn": { + "version": "6.4.0", + "resolved": "http://r.cnpmjs.org/acorn/download/acorn-6.4.0.tgz", + "integrity": "sha1-tlnS/7r6JLr12xzbsslKmD7NJ4Q=" + }, + "acorn-dynamic-import": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz", + "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", + "requires": { + "acorn": "^4.0.3" + }, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" + } + } + }, + "acorn-jsx": { + "version": "5.1.0", + "resolved": "http://r.cnpmjs.org/acorn-jsx/download/acorn-jsx-5.1.0.tgz", + "integrity": "sha1-KUrbcbVzmLBoABXwo4xWPuHbU4Q=" + }, + "after": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", + "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=" + }, + "ajv": { + "version": "6.11.0", + "resolved": "http://r.cnpmjs.org/ajv/download/ajv-6.11.0.tgz", + "integrity": "sha1-w2B8vIrjktilpTbyWyH45fP4f+k=", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "http://r.cnpmjs.org/ajv-errors/download/ajv-errors-1.0.1.tgz", + "integrity": "sha1-81mGrOuRr63sQQL72FAUlQzvpk0=" + }, + "ajv-keywords": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-1.5.1.tgz", + "integrity": "sha1-MU3QpLM2j609/NxU7eYXG4htrzw=" + }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "requires": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/amdefine/download/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" + }, + "ansi-colors": { + "version": "1.1.0", + "resolved": "http://r.cnpmjs.org/ansi-colors/download/ansi-colors-1.1.0.tgz", + "integrity": "sha1-Y3S03V1HGP884npnGjscrQdxMqk=", + "requires": { + "ansi-wrap": "^0.1.0" + } + }, + "ansi-cyan": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-cyan/-/ansi-cyan-0.1.1.tgz", + "integrity": "sha1-U4rlKK+JgvKK4w2G8vF0VtJgmHM=", + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-escapes": { + "version": "3.2.0", + "resolved": "http://r.cnpmjs.org/ansi-escapes/download/ansi-escapes-3.2.0.tgz", + "integrity": "sha1-h4C5j/nb9WOBUtHx/lwde0RCl2s=" + }, + "ansi-gray": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", + "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-red": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz", + "integrity": "sha1-jGOPnRCAgAo1PJwoyKgcpHBdlGw=", + "requires": { + "ansi-wrap": "0.1.0" + } + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "ansi-wrap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", + "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=" + }, + "anymatch": { + "version": "2.0.0", + "resolved": "http://r.cnpmjs.org/anymatch/download/anymatch-2.0.0.tgz", + "integrity": "sha1-vLJLTzeTTZqnrBe0ra+J58du8us=", + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "append-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz", + "integrity": "sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=", + "requires": { + "buffer-equal": "^1.0.0" + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "http://r.cnpmjs.org/aproba/download/aproba-1.2.0.tgz", + "integrity": "sha1-aALmJk79GMeQobDVF/DyYnvyyUo=" + }, + "arch": { + "version": "2.1.1", + "resolved": "http://r.cnpmjs.org/arch/download/arch-2.1.1.tgz", + "integrity": "sha1-j1wnMao1owkpIhuwZA7tZRdeyE4=" + }, + "archive-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/archive-type/-/archive-type-4.0.0.tgz", + "integrity": "sha1-+S5yIzBW38aWlHJ0nCZ72wRrHXA=", + "requires": { + "file-type": "^4.2.0" + }, + "dependencies": { + "file-type": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz", + "integrity": "sha1-G2AOX8ofvcboDApwxxyNul95BsU=" + } + } + }, + "archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=" + }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "http://r.cnpmjs.org/argparse/download/argparse-1.0.10.tgz", + "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + }, + "arr-filter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/arr-filter/-/arr-filter-1.1.2.tgz", + "integrity": "sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4=", + "requires": { + "make-iterator": "^1.0.0" + } + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "http://r.cnpmjs.org/arr-flatten/download/arr-flatten-1.1.0.tgz", + "integrity": "sha1-NgSLv/TntH4TZkQxbJlmnqWukfE=" + }, + "arr-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/arr-map/-/arr-map-2.0.2.tgz", + "integrity": "sha1-Onc0X/wc814qkYJWAfnljy4kysQ=", + "requires": { + "make-iterator": "^1.0.0" + } + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + }, + "array-differ": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", + "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=" + }, + "array-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", + "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=" + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=" + }, + "array-initial": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz", + "integrity": "sha1-L6dLJnOTccOUe9enrcc74zSz15U=", + "requires": { + "array-slice": "^1.0.0", + "is-number": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "http://r.cnpmjs.org/is-number/download/is-number-4.0.0.tgz", + "integrity": "sha1-ACbjf1RU1z41bf5lZGmYZ8an8P8=" + } + } + }, + "array-last": { + "version": "1.3.0", + "resolved": "http://r.cnpmjs.org/array-last/download/array-last-1.3.0.tgz", + "integrity": "sha1-eqdwc/7FZd2rJJP1+IGF9ASp0zY=", + "requires": { + "is-number": "^4.0.0" + }, + "dependencies": { + "is-number": { + "version": "4.0.0", + "resolved": "http://r.cnpmjs.org/is-number/download/is-number-4.0.0.tgz", + "integrity": "sha1-ACbjf1RU1z41bf5lZGmYZ8an8P8=" + } + } + }, + "array-slice": { + "version": "1.1.0", + "resolved": "http://r.cnpmjs.org/array-slice/download/array-slice-1.1.0.tgz", + "integrity": "sha1-42jqFfibxwaff/uJrsOmx9SsItQ=" + }, + "array-sort": { + "version": "1.0.0", + "resolved": "http://r.cnpmjs.org/array-sort/download/array-sort-1.0.0.tgz", + "integrity": "sha1-5MBTVkU/VvU1EqfR1hI/LFTAqIo=", + "requires": { + "default-compare": "^1.0.0", + "get-value": "^2.0.6", + "kind-of": "^5.0.2" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "http://r.cnpmjs.org/kind-of/download/kind-of-5.1.0.tgz", + "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=" + } + } + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + }, + "arraybuffer.slice": { + "version": "0.0.7", + "resolved": "http://r.cnpmjs.org/arraybuffer.slice/download/arraybuffer.slice-0.0.7.tgz", + "integrity": "sha1-O7xCdd1YTMGxCAm4nU6LY6aednU=" + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=" + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", + "optional": true + }, + "asn1": { + "version": "0.2.4", + "resolved": "http://r.cnpmjs.org/asn1/download/asn1-0.2.4.tgz", + "integrity": "sha1-jSR136tVO7M+d7VOWeiAu4ziMTY=", + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "asn1.js": { + "version": "4.10.1", + "resolved": "http://r.cnpmjs.org/asn1.js/download/asn1.js-4.10.1.tgz", + "integrity": "sha1-ucK/WAXx5kqt7tbfOiv6+1pz9aA=", + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "assert": { + "version": "1.5.0", + "resolved": "http://r.cnpmjs.org/assert/download/assert-1.5.0.tgz", + "integrity": "sha1-VcEJqvbgrv2z3EtxJAxwv1dLGOs=", + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assert-plus": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz", + "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=" + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "http://r.cnpmjs.org/astral-regex/download/astral-regex-1.0.0.tgz", + "integrity": "sha1-bIw/uCfdQ+45GPJ7gngqt2WKb9k=" + }, + "async": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz", + "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=" + }, + "async-done": { + "version": "1.3.2", + "resolved": "http://r.cnpmjs.org/async-done/download/async-done-1.3.2.tgz", + "integrity": "sha1-XhWqcplipLB0FPUoqIzfGOCykKI=", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.2", + "process-nextick-args": "^2.0.0", + "stream-exhaust": "^1.0.1" + } + }, + "async-each": { + "version": "1.0.3", + "resolved": "http://r.cnpmjs.org/async-each/download/async-each-1.0.3.tgz", + "integrity": "sha1-tyfb+H12UWAvBvTUrDh/R9kbDL8=" + }, + "async-each-series": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/async-each-series/-/async-each-series-0.1.1.tgz", + "integrity": "sha1-dhfBkXQB/Yykooqtzj266Yr+tDI=" + }, + "async-foreach": { + "version": "0.1.3", + "resolved": "https://registry.npm.taobao.org/async-foreach/download/async-foreach-0.1.3.tgz", + "integrity": "sha1-NhIfhFwFeBct5Bmpfb6x0W7DRUI=" + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "http://r.cnpmjs.org/async-limiter/download/async-limiter-1.0.1.tgz", + "integrity": "sha1-3TeelPDbgxCwgpH51kwyCXZmF/0=" + }, + "async-settle": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz", + "integrity": "sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs=", + "requires": { + "async-done": "^1.2.2" + } + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=" + }, + "atob": { + "version": "2.1.2", + "resolved": "http://r.cnpmjs.org/atob/download/atob-2.1.2.tgz", + "integrity": "sha1-bZUX654DDSQ2ZmZR6GvZ9vE1M8k=" + }, + "autoprefixer": { + "version": "6.7.7", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", + "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", + "requires": { + "browserslist": "^1.7.6", + "caniuse-db": "^1.0.30000634", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^5.2.16", + "postcss-value-parser": "^3.2.3" + } + }, + "aws-sign2": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz", + "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=" + }, + "aws4": { + "version": "1.9.1", + "resolved": "http://r.cnpmjs.org/aws4/download/aws4-1.9.1.tgz", + "integrity": "sha1-fjPY99RJs/ZzzXLeuavcVS2+Uo4=" + }, + "axios": { + "version": "0.19.0", + "resolved": "http://r.cnpmjs.org/axios/download/axios-0.19.0.tgz", + "integrity": "sha1-jgm/89kSLhM/e4EByPvdAO09Krg=", + "requires": { + "follow-redirects": "1.5.10", + "is-buffer": "^2.0.2" + }, + "dependencies": { + "is-buffer": { + "version": "2.0.4", + "resolved": "http://r.cnpmjs.org/is-buffer/download/is-buffer-2.0.4.tgz", + "integrity": "sha1-PlcvI8hBGlz9lVfISeNmXgspBiM=" + } + } + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + } + }, + "babel-core": { + "version": "6.26.3", + "resolved": "http://r.cnpmjs.org/babel-core/download/babel-core-6.26.3.tgz", + "integrity": "sha1-suLwnjQtDwyI4vAuBneUEl51wgc=", + "requires": { + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" + } + }, + "babel-generator": { + "version": "6.26.1", + "resolved": "http://r.cnpmjs.org/babel-generator/download/babel-generator-6.26.1.tgz", + "integrity": "sha1-GERAjTuPDTWkBOp6wYDwh6YBvZA=", + "requires": { + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" + } + }, + "babel-helper-bindify-decorators": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz", + "integrity": "sha1-FMGeXxQte0fxmlJDHlKxzLxAozA=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-builder-binary-assignment-operator-visitor": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", + "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", + "requires": { + "babel-helper-explode-assignable-expression": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-call-delegate": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", + "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", + "requires": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-define-map": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", + "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-helper-explode-assignable-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", + "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-explode-class": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz", + "integrity": "sha1-fcKjkQ3uAHBW4eMdZAztPVTqqes=", + "requires": { + "babel-helper-bindify-decorators": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "requires": { + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-hoist-variables": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", + "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-optimise-call-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", + "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-regex": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", + "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", + "requires": { + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-helper-remap-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", + "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-replace-supers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", + "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", + "requires": { + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-loader": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-6.4.1.tgz", + "integrity": "sha1-CzQRLVsHSKjc2/Uaz2+b1C1QuMo=", + "requires": { + "find-cache-dir": "^0.1.1", + "loader-utils": "^0.2.16", + "mkdirp": "^0.5.1", + "object-assign": "^4.0.1" + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", + "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-syntax-async-functions": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", + "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=" + }, + "babel-plugin-syntax-async-generators": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz", + "integrity": "sha1-a8lj67FuzLrmuStZbrfzXDQqi5o=" + }, + "babel-plugin-syntax-class-properties": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", + "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=" + }, + "babel-plugin-syntax-decorators": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz", + "integrity": "sha1-MSVjtNvePMgGzuPkFszurd0RrAs=" + }, + "babel-plugin-syntax-dynamic-import": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz", + "integrity": "sha1-jWomIpyDdFqZgqRBBRVyyqF5sdo=" + }, + "babel-plugin-syntax-exponentiation-operator": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", + "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=" + }, + "babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=" + }, + "babel-plugin-syntax-trailing-function-commas": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", + "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=" + }, + "babel-plugin-transform-async-generator-functions": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz", + "integrity": "sha1-8FiQAUX9PpkHpt3yjaWfIVJYpds=", + "requires": { + "babel-helper-remap-async-to-generator": "^6.24.1", + "babel-plugin-syntax-async-generators": "^6.5.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", + "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", + "requires": { + "babel-helper-remap-async-to-generator": "^6.24.1", + "babel-plugin-syntax-async-functions": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-class-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", + "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-plugin-syntax-class-properties": "^6.8.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-decorators": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz", + "integrity": "sha1-eIAT2PjGtSIr33s0Q5Df13Vp4k0=", + "requires": { + "babel-helper-explode-class": "^6.24.1", + "babel-plugin-syntax-decorators": "^6.13.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-block-scoping": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", + "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", + "requires": { + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-plugin-transform-es2015-classes": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", + "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", + "requires": { + "babel-helper-define-map": "^6.24.1", + "babel-helper-function-name": "^6.24.1", + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-helper-replace-supers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-computed-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", + "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", + "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", + "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-modules-amd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", + "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", + "requires": { + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.2", + "resolved": "http://r.cnpmjs.org/babel-plugin-transform-es2015-modules-commonjs/download/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", + "integrity": "sha1-WKeThjqefKhwvcWogRF/+sJ9tvM=", + "requires": { + "babel-plugin-transform-strict-mode": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-types": "^6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-systemjs": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", + "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", + "requires": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-modules-umd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", + "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", + "requires": { + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-object-super": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", + "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", + "requires": { + "babel-helper-replace-supers": "^6.24.1", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-parameters": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", + "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", + "requires": { + "babel-helper-call-delegate": "^6.24.1", + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", + "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-sticky-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", + "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", + "requires": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-unicode-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", + "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", + "requires": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "regexpu-core": "^2.0.0" + } + }, + "babel-plugin-transform-exponentiation-operator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", + "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", + "requires": { + "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", + "babel-plugin-syntax-exponentiation-operator": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-object-rest-spread": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", + "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", + "requires": { + "babel-plugin-syntax-object-rest-spread": "^6.8.0", + "babel-runtime": "^6.26.0" + } + }, + "babel-plugin-transform-regenerator": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", + "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", + "requires": { + "regenerator-transform": "^0.10.0" + } + }, + "babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-preset-es2015": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz", + "integrity": "sha1-1EBQ1rwsn+6nAqrzjXJ6AhBTiTk=", + "requires": { + "babel-plugin-check-es2015-constants": "^6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoping": "^6.24.1", + "babel-plugin-transform-es2015-classes": "^6.24.1", + "babel-plugin-transform-es2015-computed-properties": "^6.24.1", + "babel-plugin-transform-es2015-destructuring": "^6.22.0", + "babel-plugin-transform-es2015-duplicate-keys": "^6.24.1", + "babel-plugin-transform-es2015-for-of": "^6.22.0", + "babel-plugin-transform-es2015-function-name": "^6.24.1", + "babel-plugin-transform-es2015-literals": "^6.22.0", + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-plugin-transform-es2015-modules-systemjs": "^6.24.1", + "babel-plugin-transform-es2015-modules-umd": "^6.24.1", + "babel-plugin-transform-es2015-object-super": "^6.24.1", + "babel-plugin-transform-es2015-parameters": "^6.24.1", + "babel-plugin-transform-es2015-shorthand-properties": "^6.24.1", + "babel-plugin-transform-es2015-spread": "^6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.24.1", + "babel-plugin-transform-es2015-template-literals": "^6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "^6.22.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.24.1", + "babel-plugin-transform-regenerator": "^6.24.1" + } + }, + "babel-preset-stage-2": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz", + "integrity": "sha1-2eKWD7PXEYfw5k7sYrwHdnIZvcE=", + "requires": { + "babel-plugin-syntax-dynamic-import": "^6.18.0", + "babel-plugin-transform-class-properties": "^6.24.1", + "babel-plugin-transform-decorators": "^6.24.1", + "babel-preset-stage-3": "^6.24.1" + } + }, + "babel-preset-stage-3": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz", + "integrity": "sha1-g2raCp56f6N8sTj7kyb4eTSkg5U=", + "requires": { + "babel-plugin-syntax-trailing-function-commas": "^6.22.0", + "babel-plugin-transform-async-generator-functions": "^6.24.1", + "babel-plugin-transform-async-to-generator": "^6.24.1", + "babel-plugin-transform-exponentiation-operator": "^6.24.1", + "babel-plugin-transform-object-rest-spread": "^6.22.0" + } + }, + "babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "requires": { + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "requires": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "requires": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "http://r.cnpmjs.org/babylon/download/babylon-6.18.0.tgz", + "integrity": "sha1-ry87iPpvXB5MY00aD46sT1WzleM=" + }, + "bach": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz", + "integrity": "sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA=", + "requires": { + "arr-filter": "^1.1.1", + "arr-flatten": "^1.0.1", + "arr-map": "^2.0.0", + "array-each": "^1.0.0", + "array-initial": "^1.0.0", + "array-last": "^1.1.1", + "async-done": "^1.2.2", + "async-settle": "^1.0.0", + "now-and-later": "^2.0.0" + } + }, + "backo2": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", + "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=" + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base": { + "version": "0.11.2", + "resolved": "http://r.cnpmjs.org/base/download/base-0.11.2.tgz", + "integrity": "sha1-e95c7RRbbVUakNuH+DxVi060io8=", + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "http://r.cnpmjs.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "http://r.cnpmjs.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "http://r.cnpmjs.org/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "base64-arraybuffer": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", + "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=" + }, + "base64-js": { + "version": "1.3.1", + "resolved": "http://r.cnpmjs.org/base64-js/download/base64-js-1.3.1.tgz", + "integrity": "sha1-WOzoy3XdB+ce0IxzarxfrE2/jfE=" + }, + "base64id": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz", + "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=" + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=" + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "beeper": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz", + "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=" + }, + "better-assert": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", + "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", + "requires": { + "callsite": "1.0.0" + } + }, + "big.js": { + "version": "3.2.0", + "resolved": "http://r.cnpmjs.org/big.js/download/big.js-3.2.0.tgz", + "integrity": "sha1-pfwpi4G54Nyi5FiCR4S2XFK6WI4=" + }, + "bignumber.js": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-2.4.0.tgz", + "integrity": "sha1-g4qZLan51zfg9LLbC+YrsJ3Qxeg=" + }, + "bin-build": { + "version": "3.0.0", + "resolved": "http://r.cnpmjs.org/bin-build/download/bin-build-3.0.0.tgz", + "integrity": "sha1-xXgKJaip+WbYJEIX5sH1CCoUOGE=", + "requires": { + "decompress": "^4.0.0", + "download": "^6.2.2", + "execa": "^0.7.0", + "p-map-series": "^1.0.0", + "tempfile": "^2.0.0" + } + }, + "bin-check": { + "version": "4.1.0", + "resolved": "http://r.cnpmjs.org/bin-check/download/bin-check-4.1.0.tgz", + "integrity": "sha1-/ElZcL3Ii7HVo1/BfmXEoUn8Skk=", + "requires": { + "execa": "^0.7.0", + "executable": "^4.1.0" + } + }, + "bin-pack": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bin-pack/-/bin-pack-1.0.2.tgz", + "integrity": "sha1-wqAU7b8L7XCjKSBi7UZXe5YSBnk=" + }, + "bin-version": { + "version": "3.1.0", + "resolved": "http://r.cnpmjs.org/bin-version/download/bin-version-3.1.0.tgz", + "integrity": "sha1-WwnrKAdSsb0o8MnbP5by9DtsCDk=", + "requires": { + "execa": "^1.0.0", + "find-versions": "^3.0.0" + }, + "dependencies": { + "execa": { + "version": "1.0.0", + "resolved": "http://r.cnpmjs.org/execa/download/execa-1.0.0.tgz", + "integrity": "sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg=", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "http://r.cnpmjs.org/get-stream/download/get-stream-4.1.0.tgz", + "integrity": "sha1-wbJVV189wh1Zv8ec09K0axw6VLU=", + "requires": { + "pump": "^3.0.0" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "http://r.cnpmjs.org/pump/download/pump-3.0.0.tgz", + "integrity": "sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ=", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "bin-version-check": { + "version": "4.0.0", + "resolved": "http://r.cnpmjs.org/bin-version-check/download/bin-version-check-4.0.0.tgz", + "integrity": "sha1-fYGcYklpkfgNiT5uAqMDI2Fgj3E=", + "requires": { + "bin-version": "^3.0.0", + "semver": "^5.6.0", + "semver-truncate": "^1.1.2" + } + }, + "bin-wrapper": { + "version": "4.1.0", + "resolved": "http://r.cnpmjs.org/bin-wrapper/download/bin-wrapper-4.1.0.tgz", + "integrity": "sha1-mTSPLPhQMePvfvzn5TAK6q6WBgU=", + "requires": { + "bin-check": "^4.1.0", + "bin-version-check": "^4.0.0", + "download": "^7.1.0", + "import-lazy": "^3.1.0", + "os-filter-obj": "^2.0.0", + "pify": "^4.0.1" + }, + "dependencies": { + "download": { + "version": "7.1.0", + "resolved": "http://r.cnpmjs.org/download/download/download-7.1.0.tgz", + "integrity": "sha1-kFmqnXC1A+52oTKJe+beyOVYcjM=", + "requires": { + "archive-type": "^4.0.0", + "caw": "^2.0.1", + "content-disposition": "^0.5.2", + "decompress": "^4.2.0", + "ext-name": "^5.0.0", + "file-type": "^8.1.0", + "filenamify": "^2.0.0", + "get-stream": "^3.0.0", + "got": "^8.3.1", + "make-dir": "^1.2.0", + "p-event": "^2.1.0", + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "file-type": { + "version": "8.1.0", + "resolved": "http://r.cnpmjs.org/file-type/download/file-type-8.1.0.tgz", + "integrity": "sha1-JE87fvZBu+DMoZbHJ25LMyOZ9ow=" + }, + "got": { + "version": "8.3.2", + "resolved": "http://r.cnpmjs.org/got/download/got-8.3.2.tgz", + "integrity": "sha1-HSP2Q5Dpf3dsrFLluTbl9RTS6Tc=", + "requires": { + "@sindresorhus/is": "^0.7.0", + "cacheable-request": "^2.1.1", + "decompress-response": "^3.3.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "into-stream": "^3.1.0", + "is-retry-allowed": "^1.1.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "mimic-response": "^1.0.0", + "p-cancelable": "^0.4.0", + "p-timeout": "^2.0.1", + "pify": "^3.0.0", + "safe-buffer": "^5.1.1", + "timed-out": "^4.0.1", + "url-parse-lax": "^3.0.0", + "url-to-options": "^1.0.1" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "make-dir": { + "version": "1.3.0", + "resolved": "http://r.cnpmjs.org/make-dir/download/make-dir-1.3.0.tgz", + "integrity": "sha1-ecEDO4BRW9bSTsmTPoYMp17ifww=", + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "p-cancelable": { + "version": "0.4.1", + "resolved": "http://r.cnpmjs.org/p-cancelable/download/p-cancelable-0.4.1.tgz", + "integrity": "sha1-NfNj1n1SCByNlYXje8zrfgu8sqA=" + }, + "p-event": { + "version": "2.3.1", + "resolved": "http://r.cnpmjs.org/p-event/download/p-event-2.3.1.tgz", + "integrity": "sha1-WWJ57xaassPgyuiMHPuwgHmZPvY=", + "requires": { + "p-timeout": "^2.0.1" + } + }, + "p-timeout": { + "version": "2.0.1", + "resolved": "http://r.cnpmjs.org/p-timeout/download/p-timeout-2.0.1.tgz", + "integrity": "sha1-2N0ZeVldLcATnh/ka4tkbLPN8Dg=", + "requires": { + "p-finally": "^1.0.0" + } + }, + "pify": { + "version": "4.0.1", + "resolved": "http://r.cnpmjs.org/pify/download/pify-4.0.1.tgz", + "integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE=" + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" + }, + "url-parse-lax": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz", + "integrity": "sha1-FrXK/Afb42dsGxmZF3gj1lA6yww=", + "requires": { + "prepend-http": "^2.0.0" + } + } + } + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "http://r.cnpmjs.org/binary-extensions/download/binary-extensions-1.13.1.tgz", + "integrity": "sha1-WYr+VHVbKGilMw0q/51Ou1Mgm2U=" + }, + "binaryextensions": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-1.0.1.tgz", + "integrity": "sha1-HmN0iLNbWL2l9HdL+WpSEqjJB1U=" + }, + "bindings": { + "version": "1.5.0", + "resolved": "http://r.cnpmjs.org/bindings/download/bindings-1.5.0.tgz", + "integrity": "sha1-EDU8npRTNLwFEabZCzj7x8nFBN8=", + "optional": true, + "requires": { + "file-uri-to-path": "1.0.0" + } + }, + "bl": { + "version": "1.2.2", + "resolved": "http://r.cnpmjs.org/bl/download/bl-1.2.2.tgz", + "integrity": "sha1-oWCRFxcQPAdBDO9j71Gzl8Alr5w=", + "requires": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "blob": { + "version": "0.0.5", + "resolved": "http://r.cnpmjs.org/blob/download/blob-0.0.5.tgz", + "integrity": "sha1-1oDu7yX4zZGtUz9bAe7UjmTK9oM=" + }, + "block-stream": { + "version": "0.0.9", + "resolved": "https://registry.npm.taobao.org/block-stream/download/block-stream-0.0.9.tgz", + "integrity": "sha1-E+v+d4oDIFz+A3UUgeu0szAMEmo=", + "requires": { + "inherits": "~2.0.0" + } + }, + "bluebird": { + "version": "3.7.2", + "resolved": "http://r.cnpmjs.org/bluebird/download/bluebird-3.7.2.tgz", + "integrity": "sha1-nyKcFb4nJFT/qXOs4NvueaGww28=" + }, + "bmp-js": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/bmp-js/-/bmp-js-0.0.3.tgz", + "integrity": "sha1-ZBE+nHzxICs3btYHvzBibr5XsYo=" + }, + "bn.js": { + "version": "4.11.8", + "resolved": "http://r.cnpmjs.org/bn.js/download/bn.js-4.11.8.tgz", + "integrity": "sha1-LN4J617jQfSEdGuwMJsyU7GxRC8=" + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=" + }, + "boom": { + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz", + "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=", + "requires": { + "hoek": "2.x.x" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "http://r.cnpmjs.org/brace-expansion/download/brace-expansion-1.1.11.tgz", + "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "http://r.cnpmjs.org/braces/download/braces-2.3.2.tgz", + "integrity": "sha1-WXn9PxTNUxVl5fot8av/8d+u5yk=", + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, + "browser-stdout": { + "version": "1.3.1", + "resolved": "http://r.cnpmjs.org/browser-stdout/download/browser-stdout-1.3.1.tgz", + "integrity": "sha1-uqVZ7hTO1zRSIputcyZGfGH6vWA=" + }, + "browser-sync": { + "version": "2.26.7", + "resolved": "http://r.cnpmjs.org/browser-sync/download/browser-sync-2.26.7.tgz", + "integrity": "sha1-EgKHcW60BWUadsx0/oUcMTUFV/k=", + "requires": { + "browser-sync-client": "^2.26.6", + "browser-sync-ui": "^2.26.4", + "bs-recipes": "1.3.4", + "bs-snippet-injector": "^2.0.1", + "chokidar": "^2.0.4", + "connect": "3.6.6", + "connect-history-api-fallback": "^1", + "dev-ip": "^1.0.1", + "easy-extender": "^2.3.4", + "eazy-logger": "^3", + "etag": "^1.8.1", + "fresh": "^0.5.2", + "fs-extra": "3.0.1", + "http-proxy": "1.15.2", + "immutable": "^3", + "localtunnel": "1.9.2", + "micromatch": "^3.1.10", + "opn": "5.3.0", + "portscanner": "2.1.1", + "qs": "6.2.3", + "raw-body": "^2.3.2", + "resp-modifier": "6.0.2", + "rx": "4.1.0", + "send": "0.16.2", + "serve-index": "1.9.1", + "serve-static": "1.13.2", + "server-destroy": "1.0.1", + "socket.io": "2.1.1", + "ua-parser-js": "0.7.17", + "yargs": "6.4.0" + } + }, + "browser-sync-client": { + "version": "2.26.6", + "resolved": "http://r.cnpmjs.org/browser-sync-client/download/browser-sync-client-2.26.6.tgz", + "integrity": "sha1-5SAdOs6K7oivF2VrewwGILb45Ks=", + "requires": { + "etag": "1.8.1", + "fresh": "0.5.2", + "mitt": "^1.1.3", + "rxjs": "^5.5.6" + } + }, + "browser-sync-ui": { + "version": "2.26.4", + "resolved": "http://r.cnpmjs.org/browser-sync-ui/download/browser-sync-ui-2.26.4.tgz", + "integrity": "sha1-N3LxPGuT8tfTM/S+DKHsAqrpfbo=", + "requires": { + "async-each-series": "0.1.1", + "connect-history-api-fallback": "^1", + "immutable": "^3", + "server-destroy": "1.0.1", + "socket.io-client": "^2.0.4", + "stream-throttle": "^0.1.3" + } + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "http://r.cnpmjs.org/browserify-aes/download/browserify-aes-1.2.0.tgz", + "integrity": "sha1-Mmc0ZC9APavDADIJhTu3CtQo70g=", + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "http://r.cnpmjs.org/browserify-cipher/download/browserify-cipher-1.0.1.tgz", + "integrity": "sha1-jWR0wbhwv9q807z8wZNKEOlPFfA=", + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "http://r.cnpmjs.org/browserify-des/download/browserify-des-1.0.2.tgz", + "integrity": "sha1-OvTx9Zg5QDVy8cZiBDdfen9wPpw=", + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", + "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "requires": { + "bn.js": "^4.1.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", + "integrity": "sha1-qk62jl17ZYuqa/alfmMMvXqT0pg=", + "requires": { + "bn.js": "^4.1.1", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.2", + "elliptic": "^6.0.0", + "inherits": "^2.0.1", + "parse-asn1": "^5.0.0" + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "http://r.cnpmjs.org/browserify-zlib/download/browserify-zlib-0.2.0.tgz", + "integrity": "sha1-KGlFnZqjviRf6P4sofRuLn9U1z8=", + "requires": { + "pako": "~1.0.5" + } + }, + "browserslist": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", + "requires": { + "caniuse-db": "^1.0.30000639", + "electron-to-chromium": "^1.2.7" + } + }, + "bs-recipes": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/bs-recipes/-/bs-recipes-1.3.4.tgz", + "integrity": "sha1-DS1NSKcYyMBEdp/cT4lZLci2lYU=" + }, + "bs-snippet-injector": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/bs-snippet-injector/-/bs-snippet-injector-2.0.1.tgz", + "integrity": "sha1-YbU5PxH1JVntEgaTEANDtu2wTdU=" + }, + "buffer": { + "version": "5.4.3", + "resolved": "http://r.cnpmjs.org/buffer/download/buffer-5.4.3.tgz", + "integrity": "sha1-P7ycaetxPTI+P8Gole7gcQwHIRU=", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4" + } + }, + "buffer-alloc": { + "version": "1.2.0", + "resolved": "http://r.cnpmjs.org/buffer-alloc/download/buffer-alloc-1.2.0.tgz", + "integrity": "sha1-iQ3ZDZI6hz4I4Q5f1RpX5bfM4Ow=", + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "http://r.cnpmjs.org/buffer-alloc-unsafe/download/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha1-vX3CauKXLQ7aJTvgYdupkjScGfA=" + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" + }, + "buffer-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", + "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=" + }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "http://r.cnpmjs.org/buffer-from/download/buffer-from-1.1.1.tgz", + "integrity": "sha1-MnE7wCj3XAL9txDXx7zsHyxgcO8=" + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + }, + "buffers": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/buffers/-/buffers-0.1.1.tgz", + "integrity": "sha1-skV5w77U1tOWru5tmorn9Ugqt7s=" + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + }, + "bytes": { + "version": "3.1.0", + "resolved": "http://r.cnpmjs.org/bytes/download/bytes-3.1.0.tgz", + "integrity": "sha1-9s95M6Ng4FiPqf3oVlHNx/gF0fY=" + }, + "cacache": { + "version": "12.0.3", + "resolved": "http://r.cnpmjs.org/cacache/download/cacache-12.0.3.tgz", + "integrity": "sha1-vpmruk4b9d9GHNWiwQcfxDJXM5A=", + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "5.1.1", + "resolved": "http://r.cnpmjs.org/lru-cache/download/lru-cache-5.1.1.tgz", + "integrity": "sha1-HaJ+ZxAnGUdpXa9oSOhH8B2EuSA=", + "requires": { + "yallist": "^3.0.2" + } + }, + "y18n": { + "version": "4.0.0", + "resolved": "http://r.cnpmjs.org/y18n/download/y18n-4.0.0.tgz", + "integrity": "sha1-le+U+F7MgdAHwmThkKEg8KPIVms=" + }, + "yallist": { + "version": "3.1.1", + "resolved": "http://r.cnpmjs.org/yallist/download/yallist-3.1.1.tgz", + "integrity": "sha1-27fa+b/YusmrRev2ArjLrQ1dCP0=" + } + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "http://r.cnpmjs.org/cache-base/download/cache-base-1.0.1.tgz", + "integrity": "sha1-Cn9GQWgxyLZi7jb+TnxZ129marI=", + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "cacheable-request": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-2.1.4.tgz", + "integrity": "sha1-DYCIAbY0KtM8kd+dC0TcCbkeXD0=", + "requires": { + "clone-response": "1.0.2", + "get-stream": "3.0.0", + "http-cache-semantics": "3.8.1", + "keyv": "3.0.0", + "lowercase-keys": "1.0.0", + "normalize-url": "2.0.1", + "responselike": "1.0.2" + }, + "dependencies": { + "lowercase-keys": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz", + "integrity": "sha1-TjNms55/VFfjXxMkvfb4jQv8cwY=" + }, + "normalize-url": { + "version": "2.0.1", + "resolved": "http://r.cnpmjs.org/normalize-url/download/normalize-url-2.0.1.tgz", + "integrity": "sha1-g1qdoVUfom9w6SMpBpojqmV01+Y=", + "requires": { + "prepend-http": "^2.0.0", + "query-string": "^5.0.1", + "sort-keys": "^2.0.0" + } + }, + "prepend-http": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz", + "integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=" + }, + "query-string": { + "version": "5.1.1", + "resolved": "http://r.cnpmjs.org/query-string/download/query-string-5.1.1.tgz", + "integrity": "sha1-p4wBK3HBfgXy4/ojGd0zBoLvs8s=", + "requires": { + "decode-uri-component": "^0.2.0", + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "sort-keys": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-2.0.0.tgz", + "integrity": "sha1-ZYU1WEhh7JfXMNbPQYIuH1ZoQSg=", + "requires": { + "is-plain-obj": "^1.0.0" + } + } + } + }, + "call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=" + }, + "callsite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", + "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=" + }, + "callsites": { + "version": "3.1.0", + "resolved": "http://r.cnpmjs.org/callsites/download/callsites-3.1.0.tgz", + "integrity": "sha1-s2MKvYlDQy9Us/BRkjjjPNffL3M=" + }, + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" + } + } + }, + "caniuse-api": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz", + "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=", + "requires": { + "browserslist": "^1.3.6", + "caniuse-db": "^1.0.30000529", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-db": { + "version": "1.0.30001028", + "resolved": "http://r.cnpmjs.org/caniuse-db/download/caniuse-db-1.0.30001028.tgz", + "integrity": "sha1-cpdA+X/z2G/doVkaUJqqgAc9eek=" + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=" + }, + "caw": { + "version": "2.0.1", + "resolved": "http://r.cnpmjs.org/caw/download/caw-2.0.1.tgz", + "integrity": "sha1-bDygcfwZRyCIPC3F2psHS/x+npU=", + "requires": { + "get-proxy": "^2.0.0", + "isurl": "^1.0.0-alpha5", + "tunnel-agent": "^0.6.0", + "url-to-options": "^1.0.1" + } + }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "requires": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "chardet": { + "version": "0.7.0", + "resolved": "http://r.cnpmjs.org/chardet/download/chardet-0.7.0.tgz", + "integrity": "sha1-kAlISfCTfy7twkJdDSip5fDLrZ4=" + }, + "cheerio": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-0.22.0.tgz", + "integrity": "sha1-qbqoYKP5tZWmuBsahocxIe06Jp4=", + "requires": { + "css-select": "~1.2.0", + "dom-serializer": "~0.1.0", + "entities": "~1.1.1", + "htmlparser2": "^3.9.1", + "lodash.assignin": "^4.0.9", + "lodash.bind": "^4.1.4", + "lodash.defaults": "^4.0.1", + "lodash.filter": "^4.4.0", + "lodash.flatten": "^4.2.0", + "lodash.foreach": "^4.3.0", + "lodash.map": "^4.4.0", + "lodash.merge": "^4.4.0", + "lodash.pick": "^4.2.1", + "lodash.reduce": "^4.4.0", + "lodash.reject": "^4.4.0", + "lodash.some": "^4.4.0" + } + }, + "chokidar": { + "version": "2.1.8", + "resolved": "http://r.cnpmjs.org/chokidar/download/chokidar-2.1.8.tgz", + "integrity": "sha1-gEs6e2qZNYw8XGHnHYco8EHP+Rc=", + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "http://r.cnpmjs.org/chownr/download/chownr-1.1.4.tgz", + "integrity": "sha1-b8nXtC0ypYNZYzdmbn0ICE2izGs=" + }, + "chrome-trace-event": { + "version": "1.0.2", + "resolved": "http://r.cnpmjs.org/chrome-trace-event/download/chrome-trace-event-1.0.2.tgz", + "integrity": "sha1-I0CQ7pfH1K0aLEvq4nUF3v/GCKQ=", + "requires": { + "tslib": "^1.9.0" + } + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "http://r.cnpmjs.org/cipher-base/download/cipher-base-1.0.4.tgz", + "integrity": "sha1-h2Dk7MJy9MNjUy+SbYdKriwTl94=", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "clap": { + "version": "1.2.3", + "resolved": "http://r.cnpmjs.org/clap/download/clap-1.2.3.tgz", + "integrity": "sha1-TzZ0WzIAhJJVf0ZBLWbVDLmbzlE=", + "requires": { + "chalk": "^1.1.3" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "http://r.cnpmjs.org/class-utils/download/class-utils-0.3.6.tgz", + "integrity": "sha1-+TNprouafOAv1B+q0MqDAzGQxGM=", + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-width": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.0.tgz", + "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=" + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + } + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=" + }, + "clone-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", + "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=" + }, + "clone-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz", + "integrity": "sha1-0dyXOSAxTfZ/vrlCI7TuNQI56Ws=", + "requires": { + "mimic-response": "^1.0.0" + } + }, + "clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=" + }, + "cloneable-readable": { + "version": "1.1.3", + "resolved": "http://r.cnpmjs.org/cloneable-readable/download/cloneable-readable-1.1.3.tgz", + "integrity": "sha1-EgoAywU7+2OiIucJ+Wg+ouEdjOw=", + "requires": { + "inherits": "^2.0.1", + "process-nextick-args": "^2.0.0", + "readable-stream": "^2.3.5" + } + }, + "co": { + "version": "4.6.0", + "resolved": "http://r.cnpmjs.org/co/download/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + }, + "coa": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", + "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", + "requires": { + "q": "^1.1.2" + } + }, + "coalescy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/coalescy/-/coalescy-1.0.0.tgz", + "integrity": "sha1-SwZYRrg2NhrabEtKSr9LwcrDG/E=" + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + }, + "collection-map": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-map/-/collection-map-1.0.0.tgz", + "integrity": "sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw=", + "requires": { + "arr-map": "^2.0.2", + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + } + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", + "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", + "requires": { + "clone": "^1.0.2", + "color-convert": "^1.3.0", + "color-string": "^0.3.0" + }, + "dependencies": { + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" + } + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "http://r.cnpmjs.org/color-convert/download/color-convert-1.9.3.tgz", + "integrity": "sha1-u3GFBpDh8TZWfeYp0tVHHe2kweg=", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + }, + "color-string": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", + "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", + "requires": { + "color-name": "^1.0.0" + } + }, + "color-support": { + "version": "1.1.3", + "resolved": "http://r.cnpmjs.org/color-support/download/color-support-1.1.3.tgz", + "integrity": "sha1-k4NDeaHMmgxh+C9S8NBDIiUb1aI=" + }, + "colormin": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz", + "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=", + "requires": { + "color": "^0.11.0", + "css-color-names": "0.0.4", + "has": "^1.0.1" + } + }, + "colornames": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/colornames/-/colornames-1.1.1.tgz", + "integrity": "sha1-+IiQMGhcfE/54qVZ9Qd+t2qBb5Y=" + }, + "colors": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=" + }, + "colorspace": { + "version": "1.1.2", + "resolved": "http://r.cnpmjs.org/colorspace/download/colorspace-1.1.2.tgz", + "integrity": "sha1-4BKJUNCCuGohaFgHlqCqXWxo2MU=", + "requires": { + "color": "3.0.x", + "text-hex": "1.0.x" + }, + "dependencies": { + "color": { + "version": "3.0.0", + "resolved": "http://r.cnpmjs.org/color/download/color-3.0.0.tgz", + "integrity": "sha1-2SC0Mo1TSjrIKV1o971LpsQnvpo=", + "requires": { + "color-convert": "^1.9.1", + "color-string": "^1.5.2" + } + }, + "color-string": { + "version": "1.5.3", + "resolved": "http://r.cnpmjs.org/color-string/download/color-string-1.5.3.tgz", + "integrity": "sha1-ybvF8BtYtUkvPWhXRZy2WQziBMw=", + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + } + } + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "http://r.cnpmjs.org/combined-stream/download/combined-stream-1.0.8.tgz", + "integrity": "sha1-w9RaizT9cwYxoRCoolIGgrMdWn8=", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.20.3", + "resolved": "http://r.cnpmjs.org/commander/download/commander-2.20.3.tgz", + "integrity": "sha1-/UhehMA+tIgcIHIrpIA16FMa6zM=" + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + }, + "component-bind": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", + "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=" + }, + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" + }, + "component-inherit": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", + "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "http://r.cnpmjs.org/concat-stream/download/concat-stream-1.6.2.tgz", + "integrity": "sha1-kEvfGUzTEi/Gdcd/xKw9T/D9GjQ=", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "concat-with-sourcemaps": { + "version": "1.1.0", + "resolved": "http://r.cnpmjs.org/concat-with-sourcemaps/download/concat-with-sourcemaps-1.1.0.tgz", + "integrity": "sha1-1OqT8FriV5CVG5nns7CeOQikCC4=", + "requires": { + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "http://r.cnpmjs.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" + } + } + }, + "config-chain": { + "version": "1.1.12", + "resolved": "http://r.cnpmjs.org/config-chain/download/config-chain-1.1.12.tgz", + "integrity": "sha1-D96NCRIA616AjK8l/mGMAvSOTvo=", + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "connect": { + "version": "3.6.6", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz", + "integrity": "sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ=", + "requires": { + "debug": "2.6.9", + "finalhandler": "1.1.0", + "parseurl": "~1.3.2", + "utils-merge": "1.0.1" + } + }, + "connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "http://r.cnpmjs.org/connect-history-api-fallback/download/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha1-izIIk1kwjRERFdgcrT/Oq4iPl7w=" + }, + "console-browserify": { + "version": "1.2.0", + "resolved": "http://r.cnpmjs.org/console-browserify/download/console-browserify-1.2.0.tgz", + "integrity": "sha1-ZwY871fOts9Jk6KrOlWECujEkzY=" + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npm.taobao.org/console-control-strings/download/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" + }, + "console-stream": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/console-stream/-/console-stream-0.1.1.tgz", + "integrity": "sha1-oJX+B7IEZZVfL6/Si11yvM2UnUQ=" + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "http://r.cnpmjs.org/content-disposition/download/content-disposition-0.5.3.tgz", + "integrity": "sha1-4TDK9+cnkIfFYWwgB9BIVpiYT70=", + "requires": { + "safe-buffer": "5.1.2" + } + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "http://r.cnpmjs.org/convert-source-map/download/convert-source-map-1.7.0.tgz", + "integrity": "sha1-F6LLiC1/d9NJBYXizmxSRCSjpEI=", + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "http://r.cnpmjs.org/copy-concurrently/download/copy-concurrently-1.0.5.tgz", + "integrity": "sha1-kilzmMrjSTf8r9bsgTnBgFHwteA=", + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + }, + "copy-props": { + "version": "2.0.4", + "resolved": "http://r.cnpmjs.org/copy-props/download/copy-props-2.0.4.tgz", + "integrity": "sha1-k7scrfr9MdpbuKnUtB9HHsOnLf4=", + "requires": { + "each-props": "^1.3.0", + "is-plain-object": "^2.0.1" + } + }, + "core-js": { + "version": "2.6.11", + "resolved": "http://r.cnpmjs.org/core-js/download/core-js-2.6.11.tgz", + "integrity": "sha1-OIMUafmSK97Y7iHJ3EaYXgOZMIw=" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "cosmiconfig": { + "version": "2.2.2", + "resolved": "http://r.cnpmjs.org/cosmiconfig/download/cosmiconfig-2.2.2.tgz", + "integrity": "sha1-YXPOvVb6wELB9DkO33r2wHx8uJI=", + "requires": { + "is-directory": "^0.3.1", + "js-yaml": "^3.4.3", + "minimist": "^1.2.0", + "object-assign": "^4.1.0", + "os-homedir": "^1.0.1", + "parse-json": "^2.2.0", + "require-from-string": "^1.1.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + } + } + }, + "create-ecdh": { + "version": "4.0.3", + "resolved": "http://r.cnpmjs.org/create-ecdh/download/create-ecdh-4.0.3.tgz", + "integrity": "sha1-yREbbzMEXEaX8UR4f5JUzcd8Rf8=", + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.0.0" + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "http://r.cnpmjs.org/create-hash/download/create-hash-1.2.0.tgz", + "integrity": "sha1-iJB4rxGmN1a8+1m9IhmWvjqe8ZY=", + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "http://r.cnpmjs.org/create-hmac/download/create-hmac-1.1.7.tgz", + "integrity": "sha1-aRcMeLOrlXFHsriwRXLkfq0iQ/8=", + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "http://r.cnpmjs.org/cross-spawn/download/cross-spawn-6.0.5.tgz", + "integrity": "sha1-Sl7Hxk364iw6FBJNus3uhG2Ay8Q=", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "cryptiles": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz", + "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=", + "requires": { + "boom": "2.x.x" + } + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "http://r.cnpmjs.org/crypto-browserify/download/crypto-browserify-3.12.0.tgz", + "integrity": "sha1-OWz58xN/A+S45TLFj2mCVOAPgOw=", + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "crypto-md5": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/crypto-md5/-/crypto-md5-1.0.0.tgz", + "integrity": "sha1-zMjadQx1PH7curxUKWdHKjhOhrs=" + }, + "css": { + "version": "2.2.4", + "resolved": "http://r.cnpmjs.org/css/download/css-2.2.4.tgz", + "integrity": "sha1-xkZ1XHOXHyu6amAeLPL9cbEpiSk=", + "requires": { + "inherits": "^2.0.3", + "source-map": "^0.6.1", + "source-map-resolve": "^0.5.2", + "urix": "^0.1.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "http://r.cnpmjs.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" + } + } + }, + "css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=" + }, + "css-select": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", + "integrity": "sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg=", + "requires": { + "boolbase": "~1.0.0", + "css-what": "2.1", + "domutils": "1.5.1", + "nth-check": "~1.0.1" + } + }, + "css-select-base-adapter": { + "version": "0.1.1", + "resolved": "http://r.cnpmjs.org/css-select-base-adapter/download/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha1-Oy/0lyzDYquIVhUHqVQIoUMhNdc=" + }, + "css-selector-parser": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/css-selector-parser/-/css-selector-parser-1.3.0.tgz", + "integrity": "sha1-XxrUPi2O77/cME/NOaUhZklD4+s=" + }, + "css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "http://r.cnpmjs.org/css-tree/download/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha1-mL69YsTB2flg7DQM+fdSLjBwmiI=", + "requires": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "http://r.cnpmjs.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" + } + } + }, + "css-what": { + "version": "2.1.3", + "resolved": "http://r.cnpmjs.org/css-what/download/css-what-2.1.3.tgz", + "integrity": "sha1-ptdgRXM2X+dGhsPzEcVlE9iChfI=" + }, + "cssmin": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/cssmin/-/cssmin-0.4.3.tgz", + "integrity": "sha1-yRlAd+Dr2s1pHV9ZAVudgZ840BU=" + }, + "cssnano": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz", + "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=", + "requires": { + "autoprefixer": "^6.3.1", + "decamelize": "^1.1.2", + "defined": "^1.0.0", + "has": "^1.0.1", + "object-assign": "^4.0.1", + "postcss": "^5.0.14", + "postcss-calc": "^5.2.0", + "postcss-colormin": "^2.1.8", + "postcss-convert-values": "^2.3.4", + "postcss-discard-comments": "^2.0.4", + "postcss-discard-duplicates": "^2.0.1", + "postcss-discard-empty": "^2.0.1", + "postcss-discard-overridden": "^0.1.1", + "postcss-discard-unused": "^2.2.1", + "postcss-filter-plugins": "^2.0.0", + "postcss-merge-idents": "^2.1.5", + "postcss-merge-longhand": "^2.0.1", + "postcss-merge-rules": "^2.0.3", + "postcss-minify-font-values": "^1.0.2", + "postcss-minify-gradients": "^1.0.1", + "postcss-minify-params": "^1.0.4", + "postcss-minify-selectors": "^2.0.4", + "postcss-normalize-charset": "^1.1.0", + "postcss-normalize-url": "^3.0.7", + "postcss-ordered-values": "^2.1.0", + "postcss-reduce-idents": "^2.2.2", + "postcss-reduce-initial": "^1.0.0", + "postcss-reduce-transforms": "^1.0.3", + "postcss-svgo": "^2.1.1", + "postcss-unique-selectors": "^2.0.2", + "postcss-value-parser": "^3.2.3", + "postcss-zindex": "^2.0.1" + } + }, + "csso": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz", + "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", + "requires": { + "clap": "^1.0.9", + "source-map": "^0.5.3" + } + }, + "cssom": { + "version": "0.3.8", + "resolved": "http://r.cnpmjs.org/cssom/download/cssom-0.3.8.tgz", + "integrity": "sha1-nxJ29bK0Y/IRTT8sdSUK+MGjb0o=" + }, + "ctype": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz", + "integrity": "sha1-gsGMJGH3QRTvFsE1IkrQuRRMoS8=", + "optional": true + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "requires": { + "array-find-index": "^1.0.1" + } + }, + "cwebp-bin": { + "version": "5.1.0", + "resolved": "http://r.cnpmjs.org/cwebp-bin/download/cwebp-bin-5.1.0.tgz", + "integrity": "sha1-1b6ofBJzWFWOe/epCm1EDULcsHQ=", + "requires": { + "bin-build": "^3.0.0", + "bin-wrapper": "^4.0.1", + "logalot": "^2.1.0" + } + }, + "cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=" + }, + "d": { + "version": "1.0.1", + "resolved": "http://r.cnpmjs.org/d/download/d-1.0.1.tgz", + "integrity": "sha1-hpgJU3LVjb7jRv/Qxwk/mfj561o=", + "requires": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "requires": { + "assert-plus": "^1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + } + } + }, + "dateformat": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz", + "integrity": "sha1-nxJLZ1lMk3/3BpMuSmQsyo27/uk=", + "requires": { + "get-stdin": "^4.0.1", + "meow": "^3.3.0" + } + }, + "deap": { + "version": "1.0.1", + "resolved": "http://r.cnpmjs.org/deap/download/deap-1.0.1.tgz", + "integrity": "sha1-Bkbp4aCV/+ip5ATWjR923PV+Zvs=" + }, + "debug": { + "version": "2.6.9", + "resolved": "http://r.cnpmjs.org/debug/download/debug-2.6.9.tgz", + "integrity": "sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8=", + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + }, + "decompress": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.0.tgz", + "integrity": "sha1-eu3YVCflqS2s/lVnSnxQXpbQH50=", + "requires": { + "decompress-tar": "^4.0.0", + "decompress-tarbz2": "^4.0.0", + "decompress-targz": "^4.0.0", + "decompress-unzip": "^4.0.1", + "graceful-fs": "^4.1.10", + "make-dir": "^1.0.0", + "pify": "^2.3.0", + "strip-dirs": "^2.0.0" + }, + "dependencies": { + "make-dir": { + "version": "1.3.0", + "resolved": "http://r.cnpmjs.org/make-dir/download/make-dir-1.3.0.tgz", + "integrity": "sha1-ecEDO4BRW9bSTsmTPoYMp17ifww=", + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + } + } + }, + "decompress-response": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz", + "integrity": "sha1-gKTdMjdIOEv6JICDYirt7Jgq3/M=", + "requires": { + "mimic-response": "^1.0.0" + } + }, + "decompress-tar": { + "version": "4.1.1", + "resolved": "http://r.cnpmjs.org/decompress-tar/download/decompress-tar-4.1.1.tgz", + "integrity": "sha1-cYy9P8sWIJcW5womuE57pFkuWvE=", + "requires": { + "file-type": "^5.2.0", + "is-stream": "^1.1.0", + "tar-stream": "^1.5.2" + }, + "dependencies": { + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" + } + } + }, + "decompress-tarbz2": { + "version": "4.1.1", + "resolved": "http://r.cnpmjs.org/decompress-tarbz2/download/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha1-MIKluIDqQEOBY0nzeLVsUWvho5s=", + "requires": { + "decompress-tar": "^4.1.0", + "file-type": "^6.1.0", + "is-stream": "^1.1.0", + "seek-bzip": "^1.0.5", + "unbzip2-stream": "^1.0.9" + }, + "dependencies": { + "file-type": { + "version": "6.2.0", + "resolved": "http://r.cnpmjs.org/file-type/download/file-type-6.2.0.tgz", + "integrity": "sha1-5QzXXTVv/tTjBtxPW89Sp5kDqRk=" + } + } + }, + "decompress-targz": { + "version": "4.1.1", + "resolved": "http://r.cnpmjs.org/decompress-targz/download/decompress-targz-4.1.1.tgz", + "integrity": "sha1-wJvDXE0R894J8tLaU+neI+fOHu4=", + "requires": { + "decompress-tar": "^4.1.1", + "file-type": "^5.2.0", + "is-stream": "^1.1.0" + }, + "dependencies": { + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" + } + } + }, + "decompress-unzip": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", + "requires": { + "file-type": "^3.8.0", + "get-stream": "^2.2.0", + "pify": "^2.3.0", + "yauzl": "^2.4.2" + }, + "dependencies": { + "file-type": { + "version": "3.9.0", + "resolved": "http://r.cnpmjs.org/file-type/download/file-type-3.9.0.tgz", + "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" + }, + "get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", + "requires": { + "object-assign": "^4.0.1", + "pinkie-promise": "^2.0.0" + } + } + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "http://r.cnpmjs.org/deep-extend/download/deep-extend-0.6.0.tgz", + "integrity": "sha1-xPp8lUBKF6nD6Mp+FTcxK3NjMKw=" + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=" + }, + "default-compare": { + "version": "1.0.0", + "resolved": "http://r.cnpmjs.org/default-compare/download/default-compare-1.0.0.tgz", + "integrity": "sha1-y2ETGESthNhHiPto/QFoHKd4Gi8=", + "requires": { + "kind-of": "^5.0.2" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "http://r.cnpmjs.org/kind-of/download/kind-of-5.1.0.tgz", + "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=" + } + } + }, + "default-resolution": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz", + "integrity": "sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ=" + }, + "define-properties": { + "version": "1.1.3", + "resolved": "http://r.cnpmjs.org/define-properties/download/define-properties-1.1.3.tgz", + "integrity": "sha1-z4jabL7ib+bbcJT2HYcMvYTO6fE=", + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "http://r.cnpmjs.org/define-property/download/define-property-2.0.2.tgz", + "integrity": "sha1-1Flono1lS6d+AqgX+HENcCyxbp0=", + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "http://r.cnpmjs.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "http://r.cnpmjs.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "http://r.cnpmjs.org/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" + }, + "del": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", + "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", + "requires": { + "globby": "^5.0.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "rimraf": "^2.2.8" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/delegates/download/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "des.js": { + "version": "1.0.1", + "resolved": "http://r.cnpmjs.org/des.js/download/des.js-1.0.1.tgz", + "integrity": "sha1-U4IULhvcU/hdhtU+X0qn3rkeCEM=", + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=" + }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "requires": { + "repeating": "^2.0.0" + } + }, + "dev-ip": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dev-ip/-/dev-ip-1.0.1.tgz", + "integrity": "sha1-p2o+0YVb56ASu4rBbLgPPADcKPA=" + }, + "diagnostics": { + "version": "1.1.1", + "resolved": "http://r.cnpmjs.org/diagnostics/download/diagnostics-1.1.1.tgz", + "integrity": "sha1-yrasM99wydmnJ0kK5DrJladpsio=", + "requires": { + "colorspace": "1.1.x", + "enabled": "1.0.x", + "kuler": "1.0.x" + } + }, + "diff": { + "version": "3.5.0", + "resolved": "http://r.cnpmjs.org/diff/download/diff-3.5.0.tgz", + "integrity": "sha1-gAwN0eCov7yVg1wgKtIg/jF+WhI=" + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "http://r.cnpmjs.org/diffie-hellman/download/diffie-hellman-5.0.3.tgz", + "integrity": "sha1-QOjumPVaIUlgcUaSHGPhrl89KHU=", + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + }, + "dependencies": { + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + } + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "http://r.cnpmjs.org/doctrine/download/doctrine-3.0.0.tgz", + "integrity": "sha1-rd6+rXKmV023g2OdyHoSF3OXOWE=", + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-serializer": { + "version": "0.1.1", + "resolved": "http://r.cnpmjs.org/dom-serializer/download/dom-serializer-0.1.1.tgz", + "integrity": "sha1-HsQFnihLq+027sKUHUqXChic58A=", + "requires": { + "domelementtype": "^1.3.0", + "entities": "^1.1.1" + } + }, + "dom-walk": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", + "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=" + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "http://r.cnpmjs.org/domain-browser/download/domain-browser-1.2.0.tgz", + "integrity": "sha1-PTH1AZGmdJ3RN1p/Ui6CPULlTto=" + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "http://r.cnpmjs.org/domelementtype/download/domelementtype-1.3.1.tgz", + "integrity": "sha1-0EjESzew0Qp/Kj1f7j9DM9eQSB8=" + }, + "domhandler": { + "version": "2.4.2", + "resolved": "http://r.cnpmjs.org/domhandler/download/domhandler-2.4.2.tgz", + "integrity": "sha1-iAUJfpM9ZehVRvcm1g9euItE+AM=", + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz", + "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "download": { + "version": "6.2.5", + "resolved": "http://r.cnpmjs.org/download/download/download-6.2.5.tgz", + "integrity": "sha1-rNalQuTNC7Qspwz8mMnkOwcDlxQ=", + "requires": { + "caw": "^2.0.0", + "content-disposition": "^0.5.2", + "decompress": "^4.0.0", + "ext-name": "^5.0.0", + "file-type": "5.2.0", + "filenamify": "^2.0.0", + "get-stream": "^3.0.0", + "got": "^7.0.0", + "make-dir": "^1.0.0", + "p-event": "^1.0.0", + "pify": "^3.0.0" + }, + "dependencies": { + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" + }, + "make-dir": { + "version": "1.3.0", + "resolved": "http://r.cnpmjs.org/make-dir/download/make-dir-1.3.0.tgz", + "integrity": "sha1-ecEDO4BRW9bSTsmTPoYMp17ifww=", + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "duplexer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=" + }, + "duplexer2": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", + "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", + "requires": { + "readable-stream": "~1.1.9" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + } + } + }, + "duplexer3": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz", + "integrity": "sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI=" + }, + "duplexify": { + "version": "3.7.1", + "resolved": "http://r.cnpmjs.org/duplexify/download/duplexify-3.7.1.tgz", + "integrity": "sha1-Kk31MX9sz9kfhtb9JdjYoQO4gwk=", + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "each-props": { + "version": "1.3.2", + "resolved": "http://r.cnpmjs.org/each-props/download/each-props-1.3.2.tgz", + "integrity": "sha1-6kWkFNFt1c+kGbGoFyDVygaJIzM=", + "requires": { + "is-plain-object": "^2.0.1", + "object.defaults": "^1.1.0" + } + }, + "easy-extender": { + "version": "2.3.4", + "resolved": "http://r.cnpmjs.org/easy-extender/download/easy-extender-2.3.4.tgz", + "integrity": "sha1-KYeJtk+aq6Yhacd6KztktMlYm48=", + "requires": { + "lodash": "^4.17.10" + } + }, + "eazy-logger": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/eazy-logger/-/eazy-logger-3.0.2.tgz", + "integrity": "sha1-oyWqXlPROiIliJsqxBE7K5Y29Pw=", + "requires": { + "tfunk": "^3.0.1" + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "ejs": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.5.5.tgz", + "integrity": "sha1-bvTpVOp9z1T2aq0v56pCGTLZ7Xc=" + }, + "electron-to-chromium": { + "version": "1.3.355", + "resolved": "http://r.cnpmjs.org/electron-to-chromium/download/electron-to-chromium-1.3.355.tgz", + "integrity": "sha1-/4Be2KPWjlUKRZVRNOToGt8RIro=" + }, + "elliptic": { + "version": "6.5.2", + "resolved": "http://r.cnpmjs.org/elliptic/download/elliptic-6.5.2.tgz", + "integrity": "sha1-BcVnjXFzwEnYykM1UiJKSV0ON2I=", + "requires": { + "bn.js": "^4.4.0", + "brorand": "^1.0.1", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.0" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "http://r.cnpmjs.org/emoji-regex/download/emoji-regex-7.0.3.tgz", + "integrity": "sha1-kzoEBShgyF6DwSJHnEdIqOTHIVY=" + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" + }, + "enabled": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz", + "integrity": "sha1-ll9lE9LC0cX0ZStkouM5ZGf8L5M=", + "requires": { + "env-variable": "0.0.x" + } + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "http://r.cnpmjs.org/end-of-stream/download/end-of-stream-1.4.4.tgz", + "integrity": "sha1-WuZKX0UFe682JuwU2gyl5LJDHrA=", + "requires": { + "once": "^1.4.0" + } + }, + "engine.io": { + "version": "3.2.1", + "resolved": "http://r.cnpmjs.org/engine.io/download/engine.io-3.2.1.tgz", + "integrity": "sha1-tgKBw1SEpw7gNR6g6/+D7IyVIqI=", + "requires": { + "accepts": "~1.3.4", + "base64id": "1.0.0", + "cookie": "0.3.1", + "debug": "~3.1.0", + "engine.io-parser": "~2.1.0", + "ws": "~3.3.1" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "http://r.cnpmjs.org/debug/download/debug-3.1.0.tgz", + "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "requires": { + "ms": "2.0.0" + } + }, + "engine.io-parser": { + "version": "2.1.3", + "resolved": "http://r.cnpmjs.org/engine.io-parser/download/engine.io-parser-2.1.3.tgz", + "integrity": "sha1-dXq5cPvy37Mse3SwMyFtVznveaY=", + "requires": { + "after": "0.8.2", + "arraybuffer.slice": "~0.0.7", + "base64-arraybuffer": "0.1.5", + "blob": "0.0.5", + "has-binary2": "~1.0.2" + } + }, + "ws": { + "version": "3.3.3", + "resolved": "http://r.cnpmjs.org/ws/download/ws-3.3.3.tgz", + "integrity": "sha1-8c+E/i1ekB686U767OeF8YeiKPI=", + "requires": { + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0", + "ultron": "~1.1.0" + } + } + } + }, + "engine.io-client": { + "version": "3.4.0", + "resolved": "http://r.cnpmjs.org/engine.io-client/download/engine.io-client-3.4.0.tgz", + "integrity": "sha1-gqZCtChiqbP3oYj0F3ay3qtkNwA=", + "requires": { + "component-emitter": "1.2.1", + "component-inherit": "0.0.3", + "debug": "~4.1.0", + "engine.io-parser": "~2.2.0", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "ws": "~6.1.0", + "xmlhttprequest-ssl": "~1.5.4", + "yeast": "0.1.2" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "http://r.cnpmjs.org/debug/download/debug-4.1.1.tgz", + "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=", + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "http://r.cnpmjs.org/ms/download/ms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=" + } + } + }, + "engine.io-parser": { + "version": "2.2.0", + "resolved": "http://r.cnpmjs.org/engine.io-parser/download/engine.io-parser-2.2.0.tgz", + "integrity": "sha1-MSxIlPV9UqArQgho2ntcHISvgO0=", + "requires": { + "after": "0.8.2", + "arraybuffer.slice": "~0.0.7", + "base64-arraybuffer": "0.1.5", + "blob": "0.0.5", + "has-binary2": "~1.0.2" + } + }, + "enhanced-resolve": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz", + "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "object-assign": "^4.0.1", + "tapable": "^0.2.7" + } + }, + "entities": { + "version": "1.1.2", + "resolved": "http://r.cnpmjs.org/entities/download/entities-1.1.2.tgz", + "integrity": "sha1-vfpzUplmTfr9NFKe1PhSKidf6lY=" + }, + "env-variable": { + "version": "0.0.6", + "resolved": "http://r.cnpmjs.org/env-variable/download/env-variable-0.0.6.tgz", + "integrity": "sha1-dKsgs3hsVFtitKSBOrjPInJsmAg=" + }, + "errno": { + "version": "0.1.7", + "resolved": "http://r.cnpmjs.org/errno/download/errno-0.1.7.tgz", + "integrity": "sha1-RoTXF3mtOa8Xfj8AeZb3xnyFJhg=", + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "http://r.cnpmjs.org/error-ex/download/error-ex-1.3.2.tgz", + "integrity": "sha1-tKxAZIEH/c3PriQvQovqihTU8b8=", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.17.4", + "resolved": "http://r.cnpmjs.org/es-abstract/download/es-abstract-1.17.4.tgz", + "integrity": "sha1-467fGXBrIOfCWUw1/A1XYFp54YQ=", + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.1.5", + "is-regex": "^1.0.5", + "object-inspect": "^1.7.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.0", + "string.prototype.trimleft": "^2.1.1", + "string.prototype.trimright": "^2.1.1" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "http://r.cnpmjs.org/es-to-primitive/download/es-to-primitive-1.2.1.tgz", + "integrity": "sha1-5VzUyc3BiLzvsDs2bHNjI/xciYo=", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es5-ext": { + "version": "0.10.53", + "resolved": "http://r.cnpmjs.org/es5-ext/download/es5-ext-0.10.53.tgz", + "integrity": "sha1-k8WjrP2+8nUiCtcmRK0C7hg2jeE=", + "requires": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.3", + "next-tick": "~1.0.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==" + }, + "es6-symbol": { + "version": "3.1.3", + "resolved": "http://r.cnpmjs.org/es6-symbol/download/es6-symbol-3.1.3.tgz", + "integrity": "sha1-utXTwbzawoJp9MszHkMceKxwXRg=", + "requires": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "es6-weak-map": { + "version": "2.0.3", + "resolved": "http://r.cnpmjs.org/es6-weak-map/download/es6-weak-map-2.0.3.tgz", + "integrity": "sha1-ttofFswswNm+Q+a9v8Xn383zHVM=", + "requires": { + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" + } + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "eslint": { + "version": "5.16.0", + "resolved": "http://r.cnpmjs.org/eslint/download/eslint-5.16.0.tgz", + "integrity": "sha1-oeOsGq5KP72Clvz496tzFMu2q+o=", + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.9.1", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^4.0.3", + "eslint-utils": "^1.3.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^5.0.1", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.7.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^6.2.2", + "js-yaml": "^3.13.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.11", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^5.5.1", + "strip-ansi": "^4.0.0", + "strip-json-comments": "^2.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "http://r.cnpmjs.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "http://r.cnpmjs.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "debug": { + "version": "4.1.1", + "resolved": "http://r.cnpmjs.org/debug/download/debug-4.1.1.tgz", + "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=", + "requires": { + "ms": "^2.1.1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "http://r.cnpmjs.org/esprima/download/esprima-4.0.1.tgz", + "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=" + }, + "globals": { + "version": "11.12.0", + "resolved": "http://r.cnpmjs.org/globals/download/globals-11.12.0.tgz", + "integrity": "sha1-q4eVM4hooLq9hSV1gBjCp+uVxC4=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "http://r.cnpmjs.org/js-yaml/download/js-yaml-3.13.1.tgz", + "integrity": "sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc=", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "http://r.cnpmjs.org/ms/download/ms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=" + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "http://r.cnpmjs.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "eslint-friendly-formatter": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/eslint-friendly-formatter/-/eslint-friendly-formatter-4.0.1.tgz", + "integrity": "sha1-J9UE3IN/fK3b8gGy6EpO5zC6Pvo=", + "requires": { + "chalk": "^2.0.1", + "coalescy": "1.0.0", + "extend": "^3.0.0", + "minimist": "^1.2.0", + "strip-ansi": "^4.0.0", + "text-table": "^0.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "http://r.cnpmjs.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "http://r.cnpmjs.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "http://r.cnpmjs.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "http://r.cnpmjs.org/eslint-scope/download/eslint-scope-4.0.3.tgz", + "integrity": "sha1-ygODMxD2iJoyZHgaqC5j65z+eEg=", + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "1.4.3", + "resolved": "http://r.cnpmjs.org/eslint-utils/download/eslint-utils-1.4.3.tgz", + "integrity": "sha1-dP7HxU0Hdrb2fgJRBAtYBlZOmB8=", + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.1.0", + "resolved": "http://r.cnpmjs.org/eslint-visitor-keys/download/eslint-visitor-keys-1.1.0.tgz", + "integrity": "sha1-4qgs6oT/JGrW+1f5veW0ZiFFnsI=" + }, + "espree": { + "version": "5.0.1", + "resolved": "http://r.cnpmjs.org/espree/download/espree-5.0.1.tgz", + "integrity": "sha1-XWUm+k/H8HiKXPdbFfMDI+L4H3o=", + "requires": { + "acorn": "^6.0.7", + "acorn-jsx": "^5.0.0", + "eslint-visitor-keys": "^1.0.0" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "esquery": { + "version": "1.1.0", + "resolved": "http://r.cnpmjs.org/esquery/download/esquery-1.1.0.tgz", + "integrity": "sha1-xcC2bzg+dlZAT4azEzTXJSTt20g=", + "requires": { + "estraverse": "^4.0.0" + } + }, + "esrecurse": { + "version": "4.2.1", + "resolved": "http://r.cnpmjs.org/esrecurse/download/esrecurse-4.2.1.tgz", + "integrity": "sha1-AHo7n9vCs7uH5IeeoZyS/b05Qs8=", + "requires": { + "estraverse": "^4.1.0" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "http://r.cnpmjs.org/estraverse/download/estraverse-4.3.0.tgz", + "integrity": "sha1-OYrT88WiSUi+dyXoPRGn3ijNvR0=" + }, + "esutils": { + "version": "2.0.3", + "resolved": "http://r.cnpmjs.org/esutils/download/esutils-2.0.3.tgz", + "integrity": "sha1-dNLrTeC42hKTcRkQ1Qd1ubcQ72Q=" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "eventemitter3": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz", + "integrity": "sha1-HIaZHYFq0eUEdQ5zh0Ik7PO+xQg=" + }, + "events": { + "version": "3.1.0", + "resolved": "http://r.cnpmjs.org/events/download/events-3.1.0.tgz", + "integrity": "sha1-hCea8bNMt1qoi/X/KR9tC9mzGlk=" + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "http://r.cnpmjs.org/evp_bytestokey/download/evp_bytestokey-1.0.3.tgz", + "integrity": "sha1-f8vbGY3HGVlDLv4ThCaE4FJaywI=", + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "exec-buffer": { + "version": "3.2.0", + "resolved": "http://r.cnpmjs.org/exec-buffer/download/exec-buffer-3.2.0.tgz", + "integrity": "sha1-sWhtvZBMfPmC5lLB9aebHlVzCCs=", + "requires": { + "execa": "^0.7.0", + "p-finally": "^1.0.0", + "pify": "^3.0.0", + "rimraf": "^2.5.4", + "tempfile": "^2.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "execa": { + "version": "0.7.0", + "resolved": "http://r.cnpmjs.org/execa/download/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "5.1.0", + "resolved": "http://r.cnpmjs.org/cross-spawn/download/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + } + } + }, + "executable": { + "version": "4.1.1", + "resolved": "http://r.cnpmjs.org/executable/download/executable-4.1.1.tgz", + "integrity": "sha1-QVMr/zYdPlevTXY7cFgtsY9dEzw=", + "requires": { + "pify": "^2.2.0" + } + }, + "exif-parser": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/exif-parser/-/exif-parser-0.1.12.tgz", + "integrity": "sha1-WKnS1ywCwfbwKg70qRZicrd2CSI=" + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "ext": { + "version": "1.4.0", + "resolved": "http://r.cnpmjs.org/ext/download/ext-1.4.0.tgz", + "integrity": "sha1-ia56BxWPedNVF4gpBDJAd+Q3kkQ=", + "requires": { + "type": "^2.0.0" + }, + "dependencies": { + "type": { + "version": "2.0.0", + "resolved": "http://r.cnpmjs.org/type/download/type-2.0.0.tgz", + "integrity": "sha1-Xxb/bvLrRPJgSU2uJxAzspwJqcM=" + } + } + }, + "ext-list": { + "version": "2.2.2", + "resolved": "http://r.cnpmjs.org/ext-list/download/ext-list-2.2.2.tgz", + "integrity": "sha1-C5jmTtgvWs8PKTG6v2khLvUt3Tc=", + "requires": { + "mime-db": "^1.28.0" + } + }, + "ext-name": { + "version": "5.0.0", + "resolved": "http://r.cnpmjs.org/ext-name/download/ext-name-5.0.0.tgz", + "integrity": "sha1-cHgZgdGD7hXROZPIgiBFxQbI8KY=", + "requires": { + "ext-list": "^2.0.0", + "sort-keys-length": "^1.0.0" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "http://r.cnpmjs.org/extend/download/extend-3.0.2.tgz", + "integrity": "sha1-+LETa0Bx+9jrFAr/hYsQGewpFfo=" + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "http://r.cnpmjs.org/is-extendable/download/is-extendable-1.0.1.tgz", + "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "external-editor": { + "version": "3.1.0", + "resolved": "http://r.cnpmjs.org/external-editor/download/external-editor-3.1.0.tgz", + "integrity": "sha1-ywP3QL764D6k0oPK7SdBqD8zVJU=", + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "http://r.cnpmjs.org/extglob/download/extglob-2.0.4.tgz", + "integrity": "sha1-rQD+TcYSqSMuhxhxHcXLWrAoVUM=", + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "http://r.cnpmjs.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "http://r.cnpmjs.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "http://r.cnpmjs.org/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "extract-zip": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz", + "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", + "requires": { + "concat-stream": "^1.6.2", + "debug": "^2.6.9", + "mkdirp": "^0.5.4", + "yauzl": "^2.10.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "mkdirp": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.4.tgz", + "integrity": "sha512-iG9AK/dJLtJ0XNgTuDbSyNS3zECqDlAhnQW4CsNxBG3LQJBbHmRX1egw39DmtOdCAqY+dKXV+sgPgilNWUKMVw==", + "requires": { + "minimist": "^1.2.5" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=" + }, + "fancy-log": { + "version": "1.3.3", + "resolved": "http://r.cnpmjs.org/fancy-log/download/fancy-log-1.3.3.tgz", + "integrity": "sha1-28GRVPVYaQFQojlToK29A1vkX8c=", + "requires": { + "ansi-gray": "^0.1.1", + "color-support": "^1.1.3", + "parse-node-version": "^1.0.0", + "time-stamp": "^1.0.0" + } + }, + "fast-deep-equal": { + "version": "3.1.1", + "resolved": "http://r.cnpmjs.org/fast-deep-equal/download/fast-deep-equal-3.1.1.tgz", + "integrity": "sha1-VFFFB3xQFJHjOxXsQIwpQ3bpSuQ=" + }, + "fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "requires": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "http://r.cnpmjs.org/fast-json-stable-stringify/download/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha1-h0v2nG9ATCtdmcSBNBOZ/VWJJjM=" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" + }, + "fast-safe-stringify": { + "version": "2.0.7", + "resolved": "http://r.cnpmjs.org/fast-safe-stringify/download/fast-safe-stringify-2.0.7.tgz", + "integrity": "sha1-EkqohYmSYfaK7bQqfAgN6dpgh0M=" + }, + "fast-xml-parser": { + "version": "3.19.0", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-3.19.0.tgz", + "integrity": "sha512-4pXwmBplsCPv8FOY1WRakF970TjNGnGnfbOnLqjlYvMiF1SR3yOHyxMR/YCXpPTOspNF5gwudqktIP4VsWkvBg==", + "dev": true, + "optional": true + }, + "fastq": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.12.0.tgz", + "integrity": "sha512-VNX0QkHK3RsXVKr9KrlUv/FoTa0NdbYoHHl7uXHv2rzyHSlxjdNAKug2twd9luJxpcyNeAgf5iPPMutJO67Dfg==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "requires": { + "pend": "~1.2.0" + } + }, + "fecha": { + "version": "2.3.3", + "resolved": "http://r.cnpmjs.org/fecha/download/fecha-2.3.3.tgz", + "integrity": "sha1-lI50FX3xoy/RsSw6PDzctuydls0=" + }, + "figgy-pudding": { + "version": "3.5.1", + "resolved": "http://r.cnpmjs.org/figgy-pudding/download/figgy-pudding-3.5.1.tgz", + "integrity": "sha1-hiRwESkBxyeg5JWoB0S9W6odZ5A=" + }, + "figures": { + "version": "2.0.0", + "resolved": "http://r.cnpmjs.org/figures/download/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "5.0.1", + "resolved": "http://r.cnpmjs.org/file-entry-cache/download/file-entry-cache-5.0.1.tgz", + "integrity": "sha1-yg9u+m3T1WEzP7FFFQZcL6/fQ5w=", + "requires": { + "flat-cache": "^2.0.1" + } + }, + "file-type": { + "version": "12.4.2", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-12.4.2.tgz", + "integrity": "sha512-UssQP5ZgIOKelfsaB5CuGAL+Y+q7EmONuiwF3N5HAH0t27rvrttgi6Ra9k/+DVaY9UF6+ybxu5pOXLUdA8N7Vg==", + "dev": true + }, + "file-uri-to-path": { + "version": "1.0.0", + "resolved": "http://r.cnpmjs.org/file-uri-to-path/download/file-uri-to-path-1.0.0.tgz", + "integrity": "sha1-VTp7hEb/b2hDWcRF8eN6BdrMM90=", + "optional": true + }, + "filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha1-q/c9+rc10EVECr/qLZHzieu/oik=" + }, + "filenamify": { + "version": "2.1.0", + "resolved": "http://r.cnpmjs.org/filenamify/download/filenamify-2.1.0.tgz", + "integrity": "sha1-iPr0lfsbR6v9YSMAACoWIoxnfuk=", + "requires": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.0", + "trim-repeated": "^1.0.0" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "finalhandler": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", + "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.1", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.2", + "statuses": "~1.3.1", + "unpipe": "~1.0.0" + } + }, + "find-cache-dir": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", + "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", + "requires": { + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "find-versions": { + "version": "3.2.0", + "resolved": "http://r.cnpmjs.org/find-versions/download/find-versions-3.2.0.tgz", + "integrity": "sha1-ECl/mAMKeGgpaBaQVF72We0dJU4=", + "requires": { + "semver-regex": "^2.0.0" + } + }, + "findup-sync": { + "version": "3.0.0", + "resolved": "http://r.cnpmjs.org/findup-sync/download/findup-sync-3.0.0.tgz", + "integrity": "sha1-F7EI+e5RLft6XH88iyfqnhqcCNE=", + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + }, + "fined": { + "version": "1.2.0", + "resolved": "http://r.cnpmjs.org/fined/download/fined-1.2.0.tgz", + "integrity": "sha1-0AvszxqitHXRbUI7Aji3E6LEo3s=", + "requires": { + "expand-tilde": "^2.0.2", + "is-plain-object": "^2.0.3", + "object.defaults": "^1.1.0", + "object.pick": "^1.2.0", + "parse-filepath": "^1.0.1" + } + }, + "flagged-respawn": { + "version": "1.0.1", + "resolved": "http://r.cnpmjs.org/flagged-respawn/download/flagged-respawn-1.0.1.tgz", + "integrity": "sha1-595vEnnd2cqarIpZcdYYYGs6q0E=" + }, + "flat-cache": { + "version": "2.0.1", + "resolved": "http://r.cnpmjs.org/flat-cache/download/flat-cache-2.0.1.tgz", + "integrity": "sha1-XSltbwS9pEpGMKMBQTvbwuwIXsA=", + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "http://r.cnpmjs.org/rimraf/download/rimraf-2.6.3.tgz", + "integrity": "sha1-stEE/g2Psnz54KHNqCYt04M8bKs=", + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "flatted": { + "version": "2.0.1", + "resolved": "http://r.cnpmjs.org/flatted/download/flatted-2.0.1.tgz", + "integrity": "sha1-aeV8qo8OrLwoHS4stFjUb9tEngg=" + }, + "flatten": { + "version": "1.0.3", + "resolved": "http://r.cnpmjs.org/flatten/download/flatten-1.0.3.tgz", + "integrity": "sha1-wSg6yfJ7Noq8HjbR/3sEUBowNWs=" + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "http://r.cnpmjs.org/flush-write-stream/download/flush-write-stream-1.1.1.tgz", + "integrity": "sha1-jdfYc6G6vCB9lOrQwuDkQnbr8ug=", + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "follow-redirects": { + "version": "1.5.10", + "resolved": "http://r.cnpmjs.org/follow-redirects/download/follow-redirects-1.5.10.tgz", + "integrity": "sha1-e3qfmuov3/NnhqlP9kPtB/T/Xio=", + "requires": { + "debug": "=3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "http://r.cnpmjs.org/debug/download/debug-3.1.0.tgz", + "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "requires": { + "ms": "2.0.0" + } + } + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "for-own": { + "version": "1.0.0", + "resolved": "http://r.cnpmjs.org/for-own/download/for-own-1.0.0.tgz", + "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "requires": { + "for-in": "^1.0.1" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=" + }, + "fork-stream": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/fork-stream/-/fork-stream-0.0.4.tgz", + "integrity": "sha1-24Sfznf2cIpfjzhq5TOgkHtUrnA=" + }, + "form-data": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz", + "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.5", + "mime-types": "^2.1.12" + } + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "http://r.cnpmjs.org/fs-constants/download/fs-constants-1.0.0.tgz", + "integrity": "sha1-a+Dem+mYzhavivwkSXue6bfM2a0=" + }, + "fs-extra": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-3.0.1.tgz", + "integrity": "sha1-N5TzeMWLNC6n27sjCVEJxLO2IpE=", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^3.0.0", + "universalify": "^0.1.0" + } + }, + "fs-mkdirp-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz", + "integrity": "sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=", + "requires": { + "graceful-fs": "^4.1.11", + "through2": "^2.0.3" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "1.2.11", + "resolved": "http://r.cnpmjs.org/fsevents/download/fsevents-1.2.11.tgz", + "integrity": "sha1-Z79X9HWPAu3oj7KhcS/vTRU1i+M=", + "optional": true, + "requires": { + "bindings": "^1.5.0", + "nan": "^2.12.1", + "node-pre-gyp": "*" + }, + "dependencies": { + "abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "optional": true + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "optional": true + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "optional": true + }, + "are-we-there-yet": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz", + "integrity": "sha512-5hYdAkZlcG8tOLujVDTgCT+uPX0VnpAH28gWsLfzpXYm7wP6mp5Q/gYyR7YQ0cKVJcXJnl3j2kpBan13PtQf6w==", + "optional": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "optional": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "optional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chownr": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.3.tgz", + "integrity": "sha512-i70fVHhmV3DtTl6nqvZOnIjbY0Pe4kAUjwHj8z0zAdgBtYrJyYwLKCCuRBQ5ppkyL0AkN7HKRnETdmdp1zqNXw==", + "optional": true + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "optional": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "optional": true + }, + "console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=", + "optional": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "optional": true + }, + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "optional": true, + "requires": { + "ms": "^2.1.1" + } + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "optional": true + }, + "delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", + "optional": true + }, + "detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", + "optional": true + }, + "fs-minipass": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", + "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", + "optional": true, + "requires": { + "minipass": "^2.6.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "optional": true + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "optional": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "optional": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=", + "optional": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "optional": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ignore-walk": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", + "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", + "optional": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "optional": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "optional": true + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "optional": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "optional": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "optional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", + "optional": true + }, + "minipass": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", + "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", + "optional": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + } + }, + "minizlib": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", + "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", + "optional": true, + "requires": { + "minipass": "^2.9.0" + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "optional": true, + "requires": { + "minimist": "0.0.8" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "optional": true + }, + "needle": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-2.4.0.tgz", + "integrity": "sha512-4Hnwzr3mi5L97hMYeNl8wRW/Onhy4nUKR/lVemJ8gJedxxUyBLm9kkrDColJvoSfwi0jCNhD+xCdOtiGDQiRZg==", + "optional": true, + "requires": { + "debug": "^3.2.6", + "iconv-lite": "^0.4.4", + "sax": "^1.2.4" + } + }, + "node-pre-gyp": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.14.0.tgz", + "integrity": "sha512-+CvDC7ZttU/sSt9rFjix/P05iS43qHCOOGzcr3Ry99bXG7VX953+vFyEuph/tfqoYu8dttBkE86JSKBO2OzcxA==", + "optional": true, + "requires": { + "detect-libc": "^1.0.2", + "mkdirp": "^0.5.1", + "needle": "^2.2.1", + "nopt": "^4.0.1", + "npm-packlist": "^1.1.6", + "npmlog": "^4.0.2", + "rc": "^1.2.7", + "rimraf": "^2.6.1", + "semver": "^5.3.0", + "tar": "^4.4.2" + } + }, + "nopt": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz", + "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=", + "optional": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "npm-bundled": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz", + "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", + "optional": true, + "requires": { + "npm-normalize-package-bin": "^1.0.1" + } + }, + "npm-normalize-package-bin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", + "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", + "optional": true + }, + "npm-packlist": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.7.tgz", + "integrity": "sha512-vAj7dIkp5NhieaGZxBJB8fF4R0078rqsmhJcAfXZ6O7JJhjhPK96n5Ry1oZcfLXgfun0GWTZPOxaEyqv8GBykQ==", + "optional": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "optional": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "optional": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "optional": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "optional": true, + "requires": { + "wrappy": "1" + } + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", + "optional": true + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "optional": true + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "optional": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "optional": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "optional": true + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "optional": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "optional": true + } + } + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "optional": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "optional": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "optional": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "optional": true + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "optional": true + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "optional": true + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "optional": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "optional": true + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "optional": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "optional": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "optional": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "optional": true + }, + "tar": { + "version": "4.4.13", + "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", + "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", + "optional": true, + "requires": { + "chownr": "^1.1.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.8.6", + "minizlib": "^1.2.1", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.3" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "optional": true + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "optional": true, + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "optional": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "optional": true + } + } + }, + "fstream": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fstream/-/fstream-1.0.12.tgz", + "integrity": "sha512-WvJ193OHa0GHPEL+AycEJgxvBEwyfRkN1vhjca23OaPVMCaLCXTd5qAu82AjTcgP1UJmytkOKb63Ypde7raDIg==", + "requires": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + } + }, + "ftp-response-parser": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ftp-response-parser/-/ftp-response-parser-1.0.1.tgz", + "integrity": "sha1-O50z+O3V+45HALj3eMRi5bFYH4k=", + "requires": { + "readable-stream": "^1.0.31" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + } + } + }, + "function-bind": { + "version": "1.1.1", + "resolved": "http://r.cnpmjs.org/function-bind/download/function-bind-1.1.1.tgz", + "integrity": "sha1-pWiZ0+o8m6uHS7l3O3xe3pL0iV0=" + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=" + }, + "gauge": { + "version": "2.7.4", + "resolved": "https://registry.npm.taobao.org/gauge/download/gauge-2.7.4.tgz", + "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + } + }, + "gaze": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz", + "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==", + "requires": { + "globule": "^1.0.0" + } + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "http://r.cnpmjs.org/get-caller-file/download/get-caller-file-1.0.3.tgz", + "integrity": "sha1-+Xj6TJDR3+f/LWvtoqUV5xO9z0o=" + }, + "get-proxy": { + "version": "2.1.0", + "resolved": "http://r.cnpmjs.org/get-proxy/download/get-proxy-2.1.0.tgz", + "integrity": "sha1-NJ8rTZHUTE1NTpy6KtkBQ/rF75M=", + "requires": { + "npm-conf": "^1.1.0" + } + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=" + }, + "get-stream": { + "version": "3.0.0", + "resolved": "http://r.cnpmjs.org/get-stream/download/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "requires": { + "assert-plus": "^1.0.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + } + } + }, + "gifsicle": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/gifsicle/-/gifsicle-5.2.0.tgz", + "integrity": "sha512-vOIS3j0XoTCxq9pkGj43gEix82RkI5FveNgaFZutjbaui/HH+4fR8Y56dwXDuxYo8hR4xOo6/j2h1WHoQW6XLw==", + "dev": true, + "optional": true, + "requires": { + "bin-build": "^3.0.0", + "bin-wrapper": "^4.0.0", + "execa": "^5.0.0", + "logalot": "^2.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "optional": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "optional": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "optional": true + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "optional": true + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true, + "optional": true + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "optional": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "optional": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "optional": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "optional": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "optional": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "optional": true + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", + "dev": true, + "optional": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "optional": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "glob": { + "version": "7.1.6", + "resolved": "http://r.cnpmjs.org/glob/download/glob-7.1.6.tgz", + "integrity": "sha1-FB8zuBp8JJLhJVlDB0gMRmeSeKY=", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "glob-stream": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz", + "integrity": "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=", + "requires": { + "extend": "^3.0.0", + "glob": "^7.1.1", + "glob-parent": "^3.1.0", + "is-negated-glob": "^1.0.0", + "ordered-read-streams": "^1.0.0", + "pumpify": "^1.3.5", + "readable-stream": "^2.1.5", + "remove-trailing-separator": "^1.0.1", + "to-absolute-glob": "^2.0.0", + "unique-stream": "^2.0.2" + } + }, + "glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=" + }, + "glob-watcher": { + "version": "5.0.3", + "resolved": "http://r.cnpmjs.org/glob-watcher/download/glob-watcher-5.0.3.tgz", + "integrity": "sha1-iKir8cTRMeuTkomUvEpZPC5d1iY=", + "requires": { + "anymatch": "^2.0.0", + "async-done": "^1.2.0", + "chokidar": "^2.0.0", + "is-negated-glob": "^1.0.0", + "just-debounce": "^1.0.0", + "object.defaults": "^1.1.0" + } + }, + "global": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", + "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", + "requires": { + "min-document": "^2.19.0", + "process": "~0.5.1" + } + }, + "global-modules": { + "version": "1.0.0", + "resolved": "http://r.cnpmjs.org/global-modules/download/global-modules-1.0.0.tgz", + "integrity": "sha1-bXcPDrUjrHgWTXK15xqIdyZcw+o=", + "requires": { + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" + } + }, + "global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "requires": { + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" + } + }, + "globals": { + "version": "9.18.0", + "resolved": "http://r.cnpmjs.org/globals/download/globals-9.18.0.tgz", + "integrity": "sha1-qjiWs+abSH8X4x7SFD1pqOMMLYo=" + }, + "globby": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", + "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", + "requires": { + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "globule": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/globule/-/globule-1.3.1.tgz", + "integrity": "sha512-OVyWOHgw29yosRHCHo7NncwR1hW5ew0W/UrvtwvjefVJeQ26q4/8r8FmPsSF1hJ93IgWkyv16pCTz6WblMzm/g==", + "requires": { + "glob": "~7.1.1", + "lodash": "~4.17.12", + "minimatch": "~3.0.2" + } + }, + "glogg": { + "version": "1.0.2", + "resolved": "http://r.cnpmjs.org/glogg/download/glogg-1.0.2.tgz", + "integrity": "sha1-LX3XAr7aIus7/634gGltpthGMT8=", + "requires": { + "sparkles": "^1.0.0" + } + }, + "got": { + "version": "7.1.0", + "resolved": "http://r.cnpmjs.org/got/download/got-7.1.0.tgz", + "integrity": "sha1-BUUP2ECU5rvqVvRRpDqcKJFmOFo=", + "requires": { + "decompress-response": "^3.2.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-plain-obj": "^1.1.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "isurl": "^1.0.0-alpha5", + "lowercase-keys": "^1.0.0", + "p-cancelable": "^0.3.0", + "p-timeout": "^1.1.1", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "url-parse-lax": "^1.0.0", + "url-to-options": "^1.0.1" + } + }, + "graceful-fs": { + "version": "4.2.3", + "resolved": "http://r.cnpmjs.org/graceful-fs/download/graceful-fs-4.2.3.tgz", + "integrity": "sha1-ShL/G2A3bvCYYsIJPt2Qgyi+hCM=" + }, + "graceful-readlink": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", + "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=" + }, + "growl": { + "version": "1.10.5", + "resolved": "http://r.cnpmjs.org/growl/download/growl-1.10.5.tgz", + "integrity": "sha1-8nNdwig2dPpnR4sQGBBZNVw2nl4=" + }, + "gulp": { + "version": "4.0.2", + "resolved": "http://r.cnpmjs.org/gulp/download/gulp-4.0.2.tgz", + "integrity": "sha1-VDZRBw/Q9qsKBlDGo+b/WnywnKo=", + "requires": { + "glob-watcher": "^5.0.3", + "gulp-cli": "^2.2.0", + "undertaker": "^1.2.1", + "vinyl-fs": "^3.0.0" + }, + "dependencies": { + "gulp-cli": { + "version": "2.2.0", + "resolved": "http://r.cnpmjs.org/gulp-cli/download/gulp-cli-2.2.0.tgz", + "integrity": "sha1-VTMSbut/5BWn4+hKKX0zTVz3Drw=", + "requires": { + "ansi-colors": "^1.0.1", + "archy": "^1.0.0", + "array-sort": "^1.0.0", + "color-support": "^1.1.3", + "concat-stream": "^1.6.0", + "copy-props": "^2.0.1", + "fancy-log": "^1.3.2", + "gulplog": "^1.0.0", + "interpret": "^1.1.0", + "isobject": "^3.0.1", + "liftoff": "^3.1.0", + "matchdep": "^2.0.0", + "mute-stdout": "^1.0.0", + "pretty-hrtime": "^1.0.0", + "replace-homedir": "^1.0.0", + "semver-greatest-satisfied-range": "^1.1.0", + "v8flags": "^3.0.1", + "yargs": "^7.1.0" + } + }, + "yargs": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.0.tgz", + "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", + "requires": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^5.0.0" + } + }, + "yargs-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.0.tgz", + "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "requires": { + "camelcase": "^3.0.0" + } + } + } + }, + "gulp-babel": { + "version": "6.1.3", + "resolved": "http://r.cnpmjs.org/gulp-babel/download/gulp-babel-6.1.3.tgz", + "integrity": "sha1-Wq2Kyw22t/Lwvhnu7pUo8gZN9jE=", + "requires": { + "babel-core": "^6.23.1", + "object-assign": "^4.0.1", + "plugin-error": "^1.0.1", + "replace-ext": "0.0.1", + "through2": "^2.0.0", + "vinyl-sourcemaps-apply": "^0.2.0" + }, + "dependencies": { + "replace-ext": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", + "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=" + } + } + }, + "gulp-concat": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.6.1.tgz", + "integrity": "sha1-Yz0WyV2IUEYorQJmVmPO5aR5M1M=", + "requires": { + "concat-with-sourcemaps": "^1.0.0", + "through2": "^2.0.0", + "vinyl": "^2.0.0" + } + }, + "gulp-cssnano": { + "version": "2.1.3", + "resolved": "http://r.cnpmjs.org/gulp-cssnano/download/gulp-cssnano-2.1.3.tgz", + "integrity": "sha1-AgB+KBevCbNohIK0MK19uAeuv3I=", + "requires": { + "buffer-from": "^1.0.0", + "cssnano": "^3.0.0", + "object-assign": "^4.0.1", + "plugin-error": "^1.0.1", + "vinyl-sourcemaps-apply": "^0.2.1" + } + }, + "gulp-ejs": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/gulp-ejs/-/gulp-ejs-2.3.0.tgz", + "integrity": "sha1-ZI1wh7gMNy6VhiVGZdEN/jALqS8=", + "requires": { + "ejs": "2.5.5", + "gulp-util": "3.0.7", + "object-assign": "^4.1.0", + "through2": "2.0.3" + }, + "dependencies": { + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" + }, + "clone-stats": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", + "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=" + }, + "gulp-util": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.7.tgz", + "integrity": "sha1-eJJcS4+LSQBawBoBHFV+YhiUHLs=", + "requires": { + "array-differ": "^1.0.0", + "array-uniq": "^1.0.2", + "beeper": "^1.0.0", + "chalk": "^1.0.0", + "dateformat": "^1.0.11", + "fancy-log": "^1.1.0", + "gulplog": "^1.0.0", + "has-gulplog": "^0.1.0", + "lodash._reescape": "^3.0.0", + "lodash._reevaluate": "^3.0.0", + "lodash._reinterpolate": "^3.0.0", + "lodash.template": "^3.0.0", + "minimist": "^1.1.0", + "multipipe": "^0.1.2", + "object-assign": "^3.0.0", + "replace-ext": "0.0.1", + "through2": "^2.0.0", + "vinyl": "^0.5.0" + }, + "dependencies": { + "object-assign": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", + "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=" + } + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + }, + "replace-ext": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", + "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=" + }, + "through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "requires": { + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" + } + }, + "vinyl": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", + "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", + "requires": { + "clone": "^1.0.0", + "clone-stats": "^0.0.1", + "replace-ext": "0.0.1" + } + } + } + }, + "gulp-eslint": { + "version": "5.0.0", + "resolved": "http://r.cnpmjs.org/gulp-eslint/download/gulp-eslint-5.0.0.tgz", + "integrity": "sha1-KiaECV93Syz3kxAmIHjFbMehK1I=", + "requires": { + "eslint": "^5.0.1", + "fancy-log": "^1.3.2", + "plugin-error": "^1.0.1" + } + }, + "gulp-ftp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/gulp-ftp/-/gulp-ftp-1.1.0.tgz", + "integrity": "sha1-EUiHx1XVVU3gjU/Vq4GrfPutd2M=", + "requires": { + "chalk": "^1.0.0", + "gulp-util": "^3.0.0", + "jsftp": "^1.3.0", + "jsftp-mkdirp": "^1.0.0", + "object-assign": "^4.0.1", + "parents": "^1.0.0", + "plur": "^2.1.0", + "through2": "^2.0.0" + } + }, + "gulp-if": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/gulp-if/-/gulp-if-2.0.2.tgz", + "integrity": "sha1-pJe351cwBQQcqivIt92jyARE1ik=", + "requires": { + "gulp-match": "^1.0.3", + "ternary-stream": "^2.0.1", + "through2": "^2.0.1" + } + }, + "gulp-imagemin": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/gulp-imagemin/-/gulp-imagemin-7.1.0.tgz", + "integrity": "sha512-6xBTNybmPY2YrvrhhlS8Mxi0zn0ypusLon63p9XXxDtIf7U7c6KcViz94K7Skosucr3378A6IY2kJSjJyuwylQ==", + "dev": true, + "requires": { + "chalk": "^3.0.0", + "fancy-log": "^1.3.2", + "imagemin": "^7.0.0", + "imagemin-gifsicle": "^7.0.0", + "imagemin-mozjpeg": "^8.0.0", + "imagemin-optipng": "^7.0.0", + "imagemin-svgo": "^7.0.0", + "plugin-error": "^1.0.1", + "plur": "^3.0.1", + "pretty-bytes": "^5.3.0", + "through2-concurrent": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "irregular-plurals": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-2.0.0.tgz", + "integrity": "sha512-Y75zBYLkh0lJ9qxeHlMjQ7bSbyiSqNW/UOPWDmzC7cXskL1hekSITh1Oc6JV0XCWWZ9DE8VYSB71xocLk3gmGw==", + "dev": true + }, + "plur": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/plur/-/plur-3.1.1.tgz", + "integrity": "sha512-t1Ax8KUvV3FFII8ltczPn2tJdjqbd1sIzu6t4JL7nQ3EyeL/lTrj5PWKb06ic5/6XYDr65rQ4uzQEGN70/6X5w==", + "dev": true, + "requires": { + "irregular-plurals": "^2.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "gulp-lazyimagecss": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/gulp-lazyimagecss/-/gulp-lazyimagecss-2.0.8.tgz", + "integrity": "sha1-+ar1CMzJeCpjiviQ65ce3A42x/I=", + "requires": { + "async": "^1.5.0", + "css": "^2.2.1", + "lodash": "^3.10.1", + "through2": "^2.0.0", + "vinyl": "^1.1.0" + }, + "dependencies": { + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" + }, + "clone-stats": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", + "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=" + }, + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=" + }, + "replace-ext": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", + "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=" + }, + "vinyl": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-1.2.0.tgz", + "integrity": "sha1-XIgDbPVl5d8FVYv8kR+GVt8hiIQ=", + "requires": { + "clone": "^1.0.0", + "clone-stats": "^0.0.1", + "replace-ext": "0.0.1" + } + } + } + }, + "gulp-less": { + "version": "3.5.0", + "resolved": "http://r.cnpmjs.org/gulp-less/download/gulp-less-3.5.0.tgz", + "integrity": "sha1-gBT0ad38ZUTX3aUAmN7wNxu7T3g=", + "requires": { + "accord": "^0.28.0", + "less": "2.6.x || ^2.7.1", + "object-assign": "^4.0.1", + "plugin-error": "^0.1.2", + "replace-ext": "^1.0.0", + "through2": "^2.0.0", + "vinyl-sourcemaps-apply": "^0.2.0" + }, + "dependencies": { + "arr-diff": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-1.1.0.tgz", + "integrity": "sha1-aHwydYFjWI/vfeezb6vklesaOZo=", + "requires": { + "arr-flatten": "^1.0.1", + "array-slice": "^0.2.3" + } + }, + "arr-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-2.1.0.tgz", + "integrity": "sha1-IPnqtexw9cfSFbEHexw5Fh0pLH0=" + }, + "array-slice": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz", + "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=" + }, + "extend-shallow": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-1.1.4.tgz", + "integrity": "sha1-Gda/lN/AnXa6cR85uHLSH/TdkHE=", + "requires": { + "kind-of": "^1.1.0" + } + }, + "kind-of": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-1.1.0.tgz", + "integrity": "sha1-FAo9LUGjbS78+pN3tiwk+ElaXEQ=" + }, + "plugin-error": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz", + "integrity": "sha1-O5uzM1zPAPQl4HQ34ZJ2ln2kes4=", + "requires": { + "ansi-cyan": "^0.1.1", + "ansi-red": "^0.1.1", + "arr-diff": "^1.0.1", + "arr-union": "^2.0.1", + "extend-shallow": "^1.1.2" + } + } + } + }, + "gulp-match": { + "version": "1.1.0", + "resolved": "http://r.cnpmjs.org/gulp-match/download/gulp-match-1.1.0.tgz", + "integrity": "sha1-VStwgPwAbudSyQVj+f7J1hqv308=", + "requires": { + "minimatch": "^3.0.3" + } + }, + "gulp-postcss": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/gulp-postcss/-/gulp-postcss-6.4.0.tgz", + "integrity": "sha1-eKMuPIeqbNzsWuHJBeGW1HjoxdU=", + "requires": { + "gulp-util": "^3.0.8", + "postcss": "^5.2.12", + "postcss-load-config": "^1.2.0", + "vinyl-sourcemaps-apply": "^0.2.1" + } + }, + "gulp-posthtml": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/gulp-posthtml/-/gulp-posthtml-1.5.2.tgz", + "integrity": "sha1-XjO3W8/eUcOc59KecGeYNVku/i0=", + "requires": { + "gulp-util": "^3.0.6", + "posthtml": "^0.8.0", + "through2": "^2.0.0" + } + }, + "gulp-rename": { + "version": "1.4.0", + "resolved": "http://r.cnpmjs.org/gulp-rename/download/gulp-rename-1.4.0.tgz", + "integrity": "sha1-3hxxjnxAla6GH3KW708ySGSCQL0=" + }, + "gulp-replace": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/gulp-replace/-/gulp-replace-0.5.4.tgz", + "integrity": "sha1-aaZ5FLvRPFYr/xT1BKQDeWqg2qk=", + "requires": { + "istextorbinary": "1.0.2", + "readable-stream": "^2.0.1", + "replacestream": "^4.0.0" + } + }, + "gulp-rev-all": { + "version": "1.0.0", + "resolved": "http://r.cnpmjs.org/gulp-rev-all/download/gulp-rev-all-1.0.0.tgz", + "integrity": "sha1-NlEFse58PRv1Q72vtL8E4H15MEU=", + "requires": { + "chalk": "^2.4.1", + "fancy-log": "^1.3.2", + "isbinaryfile": "^3.0.2", + "merge": "^1.2.0", + "plugin-error": "^1.0.1", + "through2": "^2.0.3", + "vinyl": "^2.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "http://r.cnpmjs.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "http://r.cnpmjs.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "http://r.cnpmjs.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "gulp-rev-delete-original": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/gulp-rev-delete-original/-/gulp-rev-delete-original-0.1.0.tgz", + "integrity": "sha1-hFd93U1XE4SnPiFgfuzYD2WMVkc=", + "requires": { + "rimraf": "^2.3.4", + "through2": "^0.6.5" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + }, + "through2": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", + "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", + "requires": { + "readable-stream": ">=1.0.33-1 <1.1.0-0", + "xtend": ">=4.0.0 <4.1.0-0" + } + } + } + }, + "gulp-sass": { + "version": "4.0.2", + "resolved": "http://r.cnpmjs.org/gulp-sass/download/gulp-sass-4.0.2.tgz", + "integrity": "sha1-z7Hj7/K9mFJDHHzof0OICAfY1QU=", + "requires": { + "chalk": "^2.3.0", + "lodash.clonedeep": "^4.3.2", + "node-sass": "^4.8.3", + "plugin-error": "^1.0.1", + "replace-ext": "^1.0.0", + "strip-ansi": "^4.0.0", + "through2": "^2.0.0", + "vinyl-sourcemaps-apply": "^0.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "http://r.cnpmjs.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "http://r.cnpmjs.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "http://r.cnpmjs.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "gulp-sftp": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/gulp-sftp/-/gulp-sftp-0.1.5.tgz", + "integrity": "sha1-V6/sKLI4I0ZdmsRN66LwLejcXHA=", + "requires": { + "async": "~0.9.0", + "gulp-util": "~3.0.0", + "object-assign": "~0.3.1", + "parents": "~1.0.0", + "ssh2": "~0.3.3", + "through2": "~0.4.2" + }, + "dependencies": { + "async": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=" + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "object-assign": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-0.3.1.tgz", + "integrity": "sha1-Bg4qKifXwNd+x3t48Rqkf9iACNI=" + }, + "object-keys": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", + "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=" + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + }, + "through2": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz", + "integrity": "sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s=", + "requires": { + "readable-stream": "~1.0.17", + "xtend": "~2.1.1" + } + }, + "xtend": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", + "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", + "requires": { + "object-keys": "~0.4.0" + } + } + } + }, + "gulp-svg-inline": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gulp-svg-inline/-/gulp-svg-inline-1.0.1.tgz", + "integrity": "sha1-iseBwSKH20V6mCvjoVnzGo0S0k4=", + "requires": { + "async": "~0.2.10", + "buffers": "~0.1.1", + "extend": "~1.2.1", + "mime": "~1.2.11", + "request": "~2.33.0", + "through2": "~0.4.1" + }, + "dependencies": { + "asn1": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz", + "integrity": "sha1-VZvhg3bQik7E2+gId9J4GGObLfc=", + "optional": true + }, + "assert-plus": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz", + "integrity": "sha1-7nQAlBMALYTOxyGcasgRgS5yMWA=", + "optional": true + }, + "async": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", + "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=" + }, + "aws-sign2": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz", + "integrity": "sha1-xXED96F/wDfwLXwuZLYC6iI/fWM=", + "optional": true + }, + "boom": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz", + "integrity": "sha1-emNune1O/O+xnO9JR6PGffrukRs=", + "optional": true, + "requires": { + "hoek": "0.9.x" + } + }, + "combined-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz", + "integrity": "sha1-ATfmV7qlp1QcV6w3rF/AfXO03B8=", + "optional": true, + "requires": { + "delayed-stream": "0.0.5" + } + }, + "cryptiles": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz", + "integrity": "sha1-7ZH/HxetE9N0gohZT4pIoNJvMlw=", + "optional": true, + "requires": { + "boom": "0.4.x" + } + }, + "delayed-stream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz", + "integrity": "sha1-1LH0OpPoKW3+AmlPRoC8N6MTxz8=", + "optional": true + }, + "extend": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/extend/-/extend-1.2.1.tgz", + "integrity": "sha1-oPX9bPyDpf5J72mNYOyKYk3UV2w=" + }, + "forever-agent": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz", + "integrity": "sha1-bQ4JxJIflKJ/Y9O0nF/v8epMUTA=" + }, + "form-data": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz", + "integrity": "sha1-kavXiKupcCsaq/qLwBAxoqyeOxI=", + "optional": true, + "requires": { + "async": "~0.9.0", + "combined-stream": "~0.0.4", + "mime": "~1.2.11" + }, + "dependencies": { + "async": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", + "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=", + "optional": true + } + } + }, + "hawk": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz", + "integrity": "sha1-uQuxaYByhUEdp//LjdJZhQLTtS0=", + "optional": true, + "requires": { + "boom": "0.4.x", + "cryptiles": "0.2.x", + "hoek": "0.9.x", + "sntp": "0.2.x" + } + }, + "hoek": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz", + "integrity": "sha1-PTIkYrrfB3Fup+uFuviAec3c5QU=", + "optional": true + }, + "http-signature": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz", + "integrity": "sha1-T72sEyVZqoMjEh5UB3nAoBKyfmY=", + "optional": true, + "requires": { + "asn1": "0.1.11", + "assert-plus": "^0.1.5", + "ctype": "0.5.3" + } + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "mime": { + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz", + "integrity": "sha1-WCA+7Ybjpe8XrtK32evUfwpg3RA=" + }, + "node-uuid": { + "version": "1.4.8", + "resolved": "http://r.cnpmjs.org/node-uuid/download/node-uuid-1.4.8.tgz", + "integrity": "sha1-sEDrCSOWivq/jTL7HxfxFn/auQc=" + }, + "oauth-sign": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz", + "integrity": "sha1-y1QPk7srIqfVlBaRoojWDo6pOG4=", + "optional": true + }, + "object-keys": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", + "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=" + }, + "qs": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz", + "integrity": "sha1-bgFQmP9RlouKPIGQAdXyyJvEsQc=" + }, + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "request": { + "version": "2.33.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.33.0.tgz", + "integrity": "sha1-UWeHgTFyYHDsYzdS6iMKI3ncZf8=", + "requires": { + "aws-sign2": "~0.5.0", + "forever-agent": "~0.5.0", + "form-data": "~0.1.0", + "hawk": "~1.0.0", + "http-signature": "~0.10.0", + "json-stringify-safe": "~5.0.0", + "mime": "~1.2.9", + "node-uuid": "~1.4.0", + "oauth-sign": "~0.3.0", + "qs": "~0.6.0", + "tough-cookie": ">=0.12.0", + "tunnel-agent": "~0.3.0" + } + }, + "sntp": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz", + "integrity": "sha1-+4hfGLDzqtGJ+CSGJTa87ux1CQA=", + "optional": true, + "requires": { + "hoek": "0.9.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + }, + "through2": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz", + "integrity": "sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s=", + "requires": { + "readable-stream": "~1.0.17", + "xtend": "~2.1.1" + } + }, + "tunnel-agent": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.3.0.tgz", + "integrity": "sha1-rWgbaPUyGtKCfEz7G31d8s/pQu4=", + "optional": true + }, + "xtend": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", + "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", + "requires": { + "object-keys": "~0.4.0" + } + } + } + }, + "gulp-svg-sprite": { + "version": "1.5.0", + "resolved": "http://r.cnpmjs.org/gulp-svg-sprite/download/gulp-svg-sprite-1.5.0.tgz", + "integrity": "sha1-KSaUxq+FcAk/YsugkJLsjlJB0yI=", + "requires": { + "plugin-error": "^1.0.1", + "svg-sprite": "^1.5.0", + "through2": "^2.0.3" + } + }, + "gulp-svgmin": { + "version": "2.2.0", + "resolved": "http://r.cnpmjs.org/gulp-svgmin/download/gulp-svgmin-2.2.0.tgz", + "integrity": "sha1-6rwrl6pK75DCHO9lrlSZsHUAcyM=", + "requires": { + "plugin-error": "^1.0.1", + "svgo": "^1.2.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "http://r.cnpmjs.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "http://r.cnpmjs.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "coa": { + "version": "2.0.2", + "resolved": "http://r.cnpmjs.org/coa/download/coa-2.0.2.tgz", + "integrity": "sha1-Q/bCEVG07yv1cYfbDXPeIp4+fsM=", + "requires": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + } + }, + "css-select": { + "version": "2.1.0", + "resolved": "http://r.cnpmjs.org/css-select/download/css-select-2.1.0.tgz", + "integrity": "sha1-ajRlM1ZjWTSoG6ymjQJVQyEF2+8=", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-what": { + "version": "3.2.1", + "resolved": "http://r.cnpmjs.org/css-what/download/css-what-3.2.1.tgz", + "integrity": "sha1-9KjxJCEGRiG0VnVeNKA6LCLfXaE=" + }, + "csso": { + "version": "4.0.2", + "resolved": "http://r.cnpmjs.org/csso/download/csso-4.0.2.tgz", + "integrity": "sha1-5fgas6Vrju+38Aks5yeTKfRU3j0=", + "requires": { + "css-tree": "1.0.0-alpha.37" + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "http://r.cnpmjs.org/domutils/download/domutils-1.7.0.tgz", + "integrity": "sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo=", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "http://r.cnpmjs.org/esprima/download/esprima-4.0.1.tgz", + "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=" + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "http://r.cnpmjs.org/js-yaml/download/js-yaml-3.13.1.tgz", + "integrity": "sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc=", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "http://r.cnpmjs.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "requires": { + "has-flag": "^3.0.0" + } + }, + "svgo": { + "version": "1.3.2", + "resolved": "http://r.cnpmjs.org/svgo/download/svgo-1.3.2.tgz", + "integrity": "sha1-ttxRHAYzRsnkFbgeQ0ARRbltQWc=", + "requires": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + } + } + } + }, + "gulp-tmtsprite": { + "version": "0.0.23", + "resolved": "http://r.cnpmjs.org/gulp-tmtsprite/download/gulp-tmtsprite-0.0.23.tgz", + "integrity": "sha1-mQnr7JTEGPueiwrgVv2yV6wS9VM=", + "requires": { + "async": "^2.6.1", + "color": "^3.0.0", + "jimp": "^0.2.28", + "layout": "^2.2.0", + "lodash": "^4.17.10", + "through2": "^2.0.3", + "vinyl": "^2.2.0" + }, + "dependencies": { + "async": { + "version": "2.6.3", + "resolved": "http://r.cnpmjs.org/async/download/async-2.6.3.tgz", + "integrity": "sha1-1yYl4jRKNlbjo61Pp0n6gymdgv8=", + "requires": { + "lodash": "^4.17.14" + } + }, + "color": { + "version": "3.1.2", + "resolved": "http://r.cnpmjs.org/color/download/color-3.1.2.tgz", + "integrity": "sha1-aBSOf4XUGtdknF+oyBBvCY0inhA=", + "requires": { + "color-convert": "^1.9.1", + "color-string": "^1.5.2" + } + }, + "color-string": { + "version": "1.5.3", + "resolved": "http://r.cnpmjs.org/color-string/download/color-string-1.5.3.tgz", + "integrity": "sha1-ybvF8BtYtUkvPWhXRZy2WQziBMw=", + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + } + } + }, + "gulp-uglify": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/gulp-uglify/-/gulp-uglify-1.5.4.tgz", + "integrity": "sha1-UkeI2HZm0J+dDCH7IXf5ADmmWMk=", + "requires": { + "deap": "^1.0.0", + "fancy-log": "^1.0.0", + "gulp-util": "^3.0.0", + "isobject": "^2.0.0", + "through2": "^2.0.0", + "uglify-js": "2.6.4", + "uglify-save-license": "^0.4.1", + "vinyl-sourcemaps-apply": "^0.2.0" + }, + "dependencies": { + "async": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", + "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=" + }, + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "requires": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "requires": { + "isarray": "1.0.0" + } + }, + "uglify-js": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.6.4.tgz", + "integrity": "sha1-ZeovswWck5RpLxX+2HwrNsFrmt8=", + "requires": { + "async": "~0.2.6", + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" + } + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "requires": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + } + } + }, + "gulp-usemin": { + "version": "0.3.30", + "resolved": "http://r.cnpmjs.org/gulp-usemin/download/gulp-usemin-0.3.30.tgz", + "integrity": "sha1-frFj8npXzTU16lKqm2WKkXJkjoY=", + "requires": { + "glob": "~7.1.1", + "gulp-concat": "~2.6.1", + "plugin-error": "~1.0.1", + "through2": "~2.0.3", + "vinyl": "~2.1.0" + }, + "dependencies": { + "vinyl": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.1.0.tgz", + "integrity": "sha1-Ah+cLPlR1rk5lDyJ617lrdT9kkw=", + "requires": { + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" + } + } + } + }, + "gulp-util": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz", + "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=", + "requires": { + "array-differ": "^1.0.0", + "array-uniq": "^1.0.2", + "beeper": "^1.0.0", + "chalk": "^1.0.0", + "dateformat": "^2.0.0", + "fancy-log": "^1.1.0", + "gulplog": "^1.0.0", + "has-gulplog": "^0.1.0", + "lodash._reescape": "^3.0.0", + "lodash._reevaluate": "^3.0.0", + "lodash._reinterpolate": "^3.0.0", + "lodash.template": "^3.0.0", + "minimist": "^1.1.0", + "multipipe": "^0.1.2", + "object-assign": "^3.0.0", + "replace-ext": "0.0.1", + "through2": "^2.0.0", + "vinyl": "^0.5.0" + }, + "dependencies": { + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" + }, + "clone-stats": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", + "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=" + }, + "dateformat": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.2.0.tgz", + "integrity": "sha1-QGXiATz5+5Ft39gu+1Bq1MZ2kGI=" + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + }, + "object-assign": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", + "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=" + }, + "replace-ext": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", + "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=" + }, + "vinyl": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", + "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", + "requires": { + "clone": "^1.0.0", + "clone-stats": "^0.0.1", + "replace-ext": "0.0.1" + } + } + } + }, + "gulp-webp": { + "version": "4.0.1", + "resolved": "http://r.cnpmjs.org/gulp-webp/download/gulp-webp-4.0.1.tgz", + "integrity": "sha1-w88O6DYvztJTeExQvCmkSgbZjtE=", + "requires": { + "imagemin-webp": "^5.0.0", + "plugin-error": "^1.0.1", + "through2": "^3.0.0" + }, + "dependencies": { + "through2": { + "version": "3.0.1", + "resolved": "http://r.cnpmjs.org/through2/download/through2-3.0.1.tgz", + "integrity": "sha1-OSducTwzAu3544jdnIEt07glvVo=", + "requires": { + "readable-stream": "2 || 3" + } + } + } + }, + "gulp-zip": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/gulp-zip/-/gulp-zip-3.2.0.tgz", + "integrity": "sha1-69GY2ubcLV9E2BRWnI7EIRipPvk=", + "requires": { + "chalk": "^1.0.0", + "concat-stream": "^1.4.7", + "gulp-util": "^3.0.0", + "through2": "^2.0.1", + "yazl": "^2.1.0" + } + }, + "gulplog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", + "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", + "requires": { + "glogg": "^1.0.0" + } + }, + "har-schema": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz", + "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=" + }, + "har-validator": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz", + "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=", + "requires": { + "ajv": "^4.9.1", + "har-schema": "^1.0.5" + }, + "dependencies": { + "ajv": { + "version": "4.11.8", + "resolved": "http://r.cnpmjs.org/ajv/download/ajv-4.11.8.tgz", + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "requires": { + "co": "^4.6.0", + "json-stable-stringify": "^1.0.1" + } + } + } + }, + "has": { + "version": "1.0.3", + "resolved": "http://r.cnpmjs.org/has/download/has-1.0.3.tgz", + "integrity": "sha1-ci18v8H2qoJB8W3YFOAR4fQeh5Y=", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-binary2": { + "version": "1.0.3", + "resolved": "http://r.cnpmjs.org/has-binary2/download/has-binary2-1.0.3.tgz", + "integrity": "sha1-d3asYn8+p3JQz8My2rfd9eT10R0=", + "requires": { + "isarray": "2.0.1" + } + }, + "has-cors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", + "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=" + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "has-gulplog": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", + "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", + "requires": { + "sparkles": "^1.0.0" + } + }, + "has-symbol-support-x": { + "version": "1.4.2", + "resolved": "http://r.cnpmjs.org/has-symbol-support-x/download/has-symbol-support-x-1.4.2.tgz", + "integrity": "sha1-FAn5i8ACR9pF2mfO4KNvKC/yZFU=" + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "http://r.cnpmjs.org/has-symbols/download/has-symbols-1.0.1.tgz", + "integrity": "sha1-n1IUdYpEGWxAbZvXbOv4HsLdMeg=" + }, + "has-to-string-tag-x": { + "version": "1.4.1", + "resolved": "http://r.cnpmjs.org/has-to-string-tag-x/download/has-to-string-tag-x-1.4.1.tgz", + "integrity": "sha1-oEWrOD17SyASoAFIqwql8pAETU0=", + "requires": { + "has-symbol-support-x": "^1.4.1" + } + }, + "has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npm.taobao.org/has-unicode/download/has-unicode-2.0.1.tgz", + "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha1-X8hoaEfs1zSZQDMZprCj8/auSRg=", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "hash.js": { + "version": "1.1.7", + "resolved": "http://r.cnpmjs.org/hash.js/download/hash.js-1.1.7.tgz", + "integrity": "sha1-C6vKU46NTuSg+JiNaIZlN6ADz0I=", + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "hasha": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz", + "integrity": "sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE=", + "requires": { + "is-stream": "^1.0.1", + "pinkie-promise": "^2.0.0" + } + }, + "hawk": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz", + "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=", + "requires": { + "boom": "2.x.x", + "cryptiles": "2.x.x", + "hoek": "2.x.x", + "sntp": "1.x.x" + } + }, + "he": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", + "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=" + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hoek": { + "version": "2.16.3", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz", + "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=" + }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" + } + }, + "homedir-polyfill": { + "version": "1.0.3", + "resolved": "http://r.cnpmjs.org/homedir-polyfill/download/homedir-polyfill-1.0.3.tgz", + "integrity": "sha1-dDKYzvTlrz4ZQWH7rcwhUdOgWOg=", + "requires": { + "parse-passwd": "^1.0.0" + } + }, + "hosted-git-info": { + "version": "2.8.5", + "resolved": "http://r.cnpmjs.org/hosted-git-info/download/hosted-git-info-2.8.5.tgz", + "integrity": "sha1-dZz88sTRVq3lmwst+r3cQqa5xww=" + }, + "html-comment-regex": { + "version": "1.1.2", + "resolved": "http://r.cnpmjs.org/html-comment-regex/download/html-comment-regex-1.1.2.tgz", + "integrity": "sha1-l9RoiutcgYhqNk+qDK0d2hTUM6c=" + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "http://r.cnpmjs.org/htmlparser2/download/htmlparser2-3.10.1.tgz", + "integrity": "sha1-vWedw/WYl7ajS7EHSchVu1OpOS8=", + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "http://r.cnpmjs.org/readable-stream/download/readable-stream-3.6.0.tgz", + "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "http-cache-semantics": { + "version": "3.8.1", + "resolved": "http://r.cnpmjs.org/http-cache-semantics/download/http-cache-semantics-3.8.1.tgz", + "integrity": "sha1-ObDhat2bYFvwqe89nar0hDtMrNI=" + }, + "http-errors": { + "version": "1.7.3", + "resolved": "http://r.cnpmjs.org/http-errors/download/http-errors-1.7.3.tgz", + "integrity": "sha1-bGGeT5xgMIw4UZSYwU+7EKrOuwY=", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "dependencies": { + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + } + } + }, + "http-proxy": { + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.15.2.tgz", + "integrity": "sha1-ZC/cr/5S00SNK9o7AHnpQJBk2jE=", + "requires": { + "eventemitter3": "1.x.x", + "requires-port": "1.x.x" + } + }, + "http-proxy-middleware": { + "version": "0.19.1", + "resolved": "http://r.cnpmjs.org/http-proxy-middleware/download/http-proxy-middleware-0.19.1.tgz", + "integrity": "sha1-GDx9xKoUeRUDBkmMIQza+WCApDo=", + "requires": { + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" + }, + "dependencies": { + "eventemitter3": { + "version": "4.0.0", + "resolved": "http://r.cnpmjs.org/eventemitter3/download/eventemitter3-4.0.0.tgz", + "integrity": "sha1-1lF2FjiH7lnzhtZMgmELaWpKdOs=" + }, + "http-proxy": { + "version": "1.18.0", + "resolved": "http://r.cnpmjs.org/http-proxy/download/http-proxy-1.18.0.tgz", + "integrity": "sha1-2+VfY+daNH2389mZdPJpKjFKajo=", + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + } + } + }, + "http-signature": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz", + "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=", + "requires": { + "assert-plus": "^0.2.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "optional": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "http://r.cnpmjs.org/iconv-lite/download/iconv-lite-0.4.24.tgz", + "integrity": "sha1-ICK0sl+93CHS9SSXSkdKr+czkIs=", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "ieee754": { + "version": "1.1.13", + "resolved": "http://r.cnpmjs.org/ieee754/download/ieee754-1.1.13.tgz", + "integrity": "sha1-7BaFWOlaoYH9h9N/VcMrvLZwi4Q=" + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=" + }, + "ignore": { + "version": "4.0.6", + "resolved": "http://r.cnpmjs.org/ignore/download/ignore-4.0.6.tgz", + "integrity": "sha1-dQ49tYYgh7RzfrrIIH/9HvJ7Jfw=" + }, + "image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", + "optional": true + }, + "imagemin": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/imagemin/-/imagemin-7.0.1.tgz", + "integrity": "sha512-33AmZ+xjZhg2JMCe+vDf6a9mzWukE7l+wAtesjE7KyteqqKjzxv7aVQeWnul1Ve26mWvEQqyPwl0OctNBfSR9w==", + "dev": true, + "requires": { + "file-type": "^12.0.0", + "globby": "^10.0.0", + "graceful-fs": "^4.2.2", + "junk": "^3.1.0", + "make-dir": "^3.0.0", + "p-pipe": "^3.0.0", + "replace-ext": "^1.0.0" + }, + "dependencies": { + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "globby": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", + "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + } + }, + "ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + } + } + }, + "imagemin-gifsicle": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/imagemin-gifsicle/-/imagemin-gifsicle-7.0.0.tgz", + "integrity": "sha512-LaP38xhxAwS3W8PFh4y5iQ6feoTSF+dTAXFRUEYQWYst6Xd+9L/iPk34QGgK/VO/objmIlmq9TStGfVY2IcHIA==", + "dev": true, + "optional": true, + "requires": { + "execa": "^1.0.0", + "gifsicle": "^5.0.0", + "is-gif": "^3.0.0" + }, + "dependencies": { + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "optional": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "optional": true, + "requires": { + "pump": "^3.0.0" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "optional": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "imagemin-mozjpeg": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/imagemin-mozjpeg/-/imagemin-mozjpeg-8.0.0.tgz", + "integrity": "sha512-+EciPiIjCb8JWjQNr1q8sYWYf7GDCNDxPYnkD11TNIjjWNzaV+oTg4DpOPQjl5ZX/KRCPMEgS79zLYAQzLitIA==", + "dev": true, + "optional": true, + "requires": { + "execa": "^1.0.0", + "is-jpg": "^2.0.0", + "mozjpeg": "^6.0.0" + }, + "dependencies": { + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "optional": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "optional": true, + "requires": { + "pump": "^3.0.0" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "optional": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "imagemin-optipng": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/imagemin-optipng/-/imagemin-optipng-7.1.0.tgz", + "integrity": "sha512-JNORTZ6j6untH7e5gF4aWdhDCxe3ODsSLKs/f7Grewy3ebZpl1ZsU+VUTPY4rzeHgaFA8GSWOoA8V2M3OixWZQ==", + "dev": true, + "optional": true, + "requires": { + "exec-buffer": "^3.0.0", + "is-png": "^2.0.0", + "optipng-bin": "^6.0.0" + } + }, + "imagemin-pngquant": { + "version": "8.0.0", + "resolved": "http://r.cnpmjs.org/imagemin-pngquant/download/imagemin-pngquant-8.0.0.tgz", + "integrity": "sha1-v3pB2FDGmY8kdcVAWKsducUWOF0=", + "requires": { + "execa": "^1.0.0", + "is-png": "^2.0.0", + "is-stream": "^2.0.0", + "ow": "^0.13.2", + "pngquant-bin": "^5.0.0" + }, + "dependencies": { + "execa": { + "version": "1.0.0", + "resolved": "http://r.cnpmjs.org/execa/download/execa-1.0.0.tgz", + "integrity": "sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg=", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "dependencies": { + "is-stream": { + "version": "1.1.0", + "resolved": "http://r.cnpmjs.org/is-stream/download/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + } + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "http://r.cnpmjs.org/get-stream/download/get-stream-4.1.0.tgz", + "integrity": "sha1-wbJVV189wh1Zv8ec09K0axw6VLU=", + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "2.0.0", + "resolved": "http://r.cnpmjs.org/is-stream/download/is-stream-2.0.0.tgz", + "integrity": "sha1-venDJoDW+uBBKdasnZIc54FfeOM=" + }, + "pump": { + "version": "3.0.0", + "resolved": "http://r.cnpmjs.org/pump/download/pump-3.0.0.tgz", + "integrity": "sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ=", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "imagemin-svgo": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/imagemin-svgo/-/imagemin-svgo-7.1.0.tgz", + "integrity": "sha512-0JlIZNWP0Luasn1HT82uB9nU9aa+vUj6kpT+MjPW11LbprXC+iC4HDwn1r4Q2/91qj4iy9tRZNsFySMlEpLdpg==", + "dev": true, + "optional": true, + "requires": { + "is-svg": "^4.2.1", + "svgo": "^1.3.2" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "optional": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "optional": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "dev": true, + "optional": true, + "requires": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + } + }, + "css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "dev": true, + "optional": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", + "dev": true, + "optional": true + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "optional": true, + "requires": { + "css-tree": "^1.1.2" + }, + "dependencies": { + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dev": true, + "optional": true, + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + } + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dev": true, + "optional": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "optional": true + }, + "is-svg": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-4.3.1.tgz", + "integrity": "sha512-h2CGs+yPUyvkgTJQS9cJzo9lYK06WgRiXUqBBHtglSzVKAuH4/oWsqk7LGfbSa1hGk9QcZ0SyQtVggvBA8LZXA==", + "dev": true, + "optional": true, + "requires": { + "fast-xml-parser": "^3.19.0" + } + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true, + "optional": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "optional": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "dev": true, + "optional": true, + "requires": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + } + } + } + }, + "imagemin-webp": { + "version": "5.1.0", + "resolved": "http://r.cnpmjs.org/imagemin-webp/download/imagemin-webp-5.1.0.tgz", + "integrity": "sha1-3bEwetl6/5cpPFpgDjhOQMB/aKc=", + "requires": { + "cwebp-bin": "^5.0.0", + "exec-buffer": "^3.0.0", + "is-cwebp-readable": "^2.0.1" + } + }, + "immutable": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.8.2.tgz", + "integrity": "sha1-wkOZUUVbs5kT2vKBN28VMOEErfM=" + }, + "import-fresh": { + "version": "3.2.1", + "resolved": "http://r.cnpmjs.org/import-fresh/download/import-fresh-3.2.1.tgz", + "integrity": "sha1-Yz/2GFBueTr1rJG/SLcmd+FcvmY=", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "import-lazy": { + "version": "3.1.0", + "resolved": "http://r.cnpmjs.org/import-lazy/download/import-lazy-3.1.0.tgz", + "integrity": "sha1-iRJ5ICyKIoD9vWZ029jaGh38Z8w=" + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=" + }, + "in-publish": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/in-publish/-/in-publish-2.0.1.tgz", + "integrity": "sha512-oDM0kUSNFC31ShNxHKUyfZKy8ZeXZBWMjMdZHKLOk13uvT27VTL/QzRGfRUcevJhpkZAvlhPYuXkF7eNWrtyxQ==" + }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "requires": { + "repeating": "^2.0.0" + } + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=" + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=" + }, + "indx": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/indx/-/indx-0.2.3.tgz", + "integrity": "sha1-Fdz1bunPZcAjTFE8J/vVgOcPvFA=" + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "http://r.cnpmjs.org/infer-owner/download/infer-owner-1.0.4.tgz", + "integrity": "sha1-xM78qo5RBRwqQLos6KPScpWvlGc=" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "http://r.cnpmjs.org/inherits/download/inherits-2.0.4.tgz", + "integrity": "sha1-D6LGT5MpF8NDOg3tVTY6rjdBa3w=" + }, + "ini": { + "version": "1.3.5", + "resolved": "http://r.cnpmjs.org/ini/download/ini-1.3.5.tgz", + "integrity": "sha1-7uJfVtscnsYIXgwid4CD9Zar+Sc=" + }, + "inquirer": { + "version": "6.5.2", + "resolved": "http://r.cnpmjs.org/inquirer/download/inquirer-6.5.2.tgz", + "integrity": "sha1-rVCUI3XQNtMn/1KMCL1fqwiZKMo=", + "requires": { + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.12", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "http://r.cnpmjs.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "http://r.cnpmjs.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "rxjs": { + "version": "6.5.4", + "resolved": "http://r.cnpmjs.org/rxjs/download/rxjs-6.5.4.tgz", + "integrity": "sha1-4Hd/4NGEzseHLfFH8wNXLUFOIRw=", + "requires": { + "tslib": "^1.9.0" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "http://r.cnpmjs.org/string-width/download/string-width-2.1.1.tgz", + "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "http://r.cnpmjs.org/strip-ansi/download/strip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "requires": { + "ansi-regex": "^4.1.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "http://r.cnpmjs.org/ansi-regex/download/ansi-regex-4.1.0.tgz", + "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=" + } + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "http://r.cnpmjs.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "interpret": { + "version": "1.2.0", + "resolved": "http://r.cnpmjs.org/interpret/download/interpret-1.2.0.tgz", + "integrity": "sha1-1QYaYiS+WOgIOYX1AU2EQ1lXYpY=" + }, + "into-stream": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", + "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", + "requires": { + "from2": "^2.1.1", + "p-is-promise": "^1.1.0" + } + }, + "invariant": { + "version": "2.2.4", + "resolved": "http://r.cnpmjs.org/invariant/download/invariant-2.2.4.tgz", + "integrity": "sha1-YQ88ksk1nOHbYW5TgAjSP/NRWOY=", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" + }, + "ip-regex": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-1.0.3.tgz", + "integrity": "sha1-3FiQdvZZ9BnCIgOaMzFvHHOH7/0=" + }, + "irregular-plurals": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-1.4.0.tgz", + "integrity": "sha1-LKmwM2UREYVUEvFr5dd8YqRYp2Y=" + }, + "is-absolute": { + "version": "1.0.0", + "resolved": "http://r.cnpmjs.org/is-absolute/download/is-absolute-1.0.0.tgz", + "integrity": "sha1-OV4a6EsR8mrReV5zwXN45IowFXY=", + "requires": { + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" + } + }, + "is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=" + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "http://r.cnpmjs.org/is-buffer/download/is-buffer-1.1.6.tgz", + "integrity": "sha1-76ouqdqg16suoTqXsritUf776L4=" + }, + "is-callable": { + "version": "1.1.5", + "resolved": "http://r.cnpmjs.org/is-callable/download/is-callable-1.1.5.tgz", + "integrity": "sha1-9+RrWWiQRW23Tn9ul2yzJz0G+qs=" + }, + "is-cwebp-readable": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-cwebp-readable/-/is-cwebp-readable-2.0.1.tgz", + "integrity": "sha1-r7k7DAq9CiUQEBauM66ort+SbSY=", + "requires": { + "file-type": "^4.3.0" + }, + "dependencies": { + "file-type": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-4.4.0.tgz", + "integrity": "sha1-G2AOX8ofvcboDApwxxyNul95BsU=" + } + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-date-object": { + "version": "1.0.2", + "resolved": "http://r.cnpmjs.org/is-date-object/download/is-date-object-1.0.2.tgz", + "integrity": "sha1-vac28s2P0G0yhE53Q7+nSUw7/X4=" + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "http://r.cnpmjs.org/is-descriptor/download/is-descriptor-0.1.6.tgz", + "integrity": "sha1-Nm2CQN3kh8pRgjsaufB6EKeCUco=", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "http://r.cnpmjs.org/kind-of/download/kind-of-5.1.0.tgz", + "integrity": "sha1-cpyR4thXt6QZofmqZWhcTDP1hF0=" + } + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=" + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, + "is-finite": { + "version": "1.1.0", + "resolved": "http://r.cnpmjs.org/is-finite/download/is-finite-1.1.0.tgz", + "integrity": "sha1-kEE1x3+0LAZB1qobzbxNqo2ggvM=" + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-function": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", + "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=" + }, + "is-gif": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-gif/-/is-gif-3.0.0.tgz", + "integrity": "sha512-IqJ/jlbw5WJSNfwQ/lHEDXF8rxhRgF6ythk2oiEvhpG29F704eX9NO6TvPfMiq9DrbwgcEDnETYNcZDPewQoVw==", + "dev": true, + "optional": true, + "requires": { + "file-type": "^10.4.0" + }, + "dependencies": { + "file-type": { + "version": "10.11.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-10.11.0.tgz", + "integrity": "sha512-uzk64HRpUZyTGZtVuvrjP0FYxzQrBf4rojot6J65YMEbwBLB0CWm0CLojVpwpmFmxcE/lkvYICgfcGozbBq6rw==", + "dev": true, + "optional": true + } + } + }, + "is-glob": { + "version": "4.0.1", + "resolved": "http://r.cnpmjs.org/is-glob/download/is-glob-4.0.1.tgz", + "integrity": "sha1-dWfb6fL14kZ7x3q4PEopSCQHpdw=", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-jpg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-jpg/-/is-jpg-2.0.0.tgz", + "integrity": "sha1-LhmX+m6RZuqsAkLarkQ0A+TvHZc=", + "dev": true, + "optional": true + }, + "is-natural-number": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", + "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=" + }, + "is-negated-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz", + "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=" + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-number-like": { + "version": "1.0.8", + "resolved": "http://r.cnpmjs.org/is-number-like/download/is-number-like-1.0.8.tgz", + "integrity": "sha1-LhKWILUIkQQuROm7uzBZPnXPu+M=", + "requires": { + "lodash.isfinite": "^3.3.2" + } + }, + "is-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", + "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=" + }, + "is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=" + }, + "is-path-in-cwd": { + "version": "1.0.1", + "resolved": "http://r.cnpmjs.org/is-path-in-cwd/download/is-path-in-cwd-1.0.1.tgz", + "integrity": "sha1-WsSLNF72dTOb1sekipEhELJBz1I=", + "requires": { + "is-path-inside": "^1.0.0" + } + }, + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "requires": { + "path-is-inside": "^1.0.1" + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "http://r.cnpmjs.org/is-plain-object/download/is-plain-object-2.0.4.tgz", + "integrity": "sha1-LBY7P6+xtgbZ0Xko8FwqHDjgdnc=", + "requires": { + "isobject": "^3.0.1" + } + }, + "is-png": { + "version": "2.0.0", + "resolved": "http://r.cnpmjs.org/is-png/download/is-png-2.0.0.tgz", + "integrity": "sha1-7oy8npsFBCXO3utKb7dKZJsKSo0=" + }, + "is-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", + "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=" + }, + "is-regex": { + "version": "1.0.5", + "resolved": "http://r.cnpmjs.org/is-regex/download/is-regex-1.0.5.tgz", + "integrity": "sha1-OdWJo1i/GJZ/cmlnEguPwa7XTq4=", + "requires": { + "has": "^1.0.3" + } + }, + "is-relative": { + "version": "1.0.0", + "resolved": "http://r.cnpmjs.org/is-relative/download/is-relative-1.0.0.tgz", + "integrity": "sha1-obtpNc6MXboei5dUubLcwCDiJg0=", + "requires": { + "is-unc-path": "^1.0.0" + } + }, + "is-retry-allowed": { + "version": "1.2.0", + "resolved": "http://r.cnpmjs.org/is-retry-allowed/download/is-retry-allowed-1.2.0.tgz", + "integrity": "sha1-13hIi9CkZmo76KFIK58rqv7eqLQ=" + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "is-svg": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz", + "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=", + "requires": { + "html-comment-regex": "^1.1.0" + } + }, + "is-symbol": { + "version": "1.0.3", + "resolved": "http://r.cnpmjs.org/is-symbol/download/is-symbol-1.0.3.tgz", + "integrity": "sha1-OOEBS55jKb4N6dJKQU/XRB7GGTc=", + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=" + }, + "is-unc-path": { + "version": "1.0.0", + "resolved": "http://r.cnpmjs.org/is-unc-path/download/is-unc-path-1.0.0.tgz", + "integrity": "sha1-1zHoiY7QkKEsNSrS6u1Qla0yLJ0=", + "requires": { + "unc-path-regex": "^0.1.2" + } + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" + }, + "is-valid-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz", + "integrity": "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=" + }, + "is-windows": { + "version": "1.0.2", + "resolved": "http://r.cnpmjs.org/is-windows/download/is-windows-1.0.2.tgz", + "integrity": "sha1-0YUOuXkezRjmGCzhKjDzlmNLsZ0=" + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" + }, + "isarray": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", + "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=" + }, + "isbinaryfile": { + "version": "3.0.3", + "resolved": "http://r.cnpmjs.org/isbinaryfile/download/isbinaryfile-3.0.3.tgz", + "integrity": "sha1-XW3vPt6/boyoyunDAYOoBLX4voA=", + "requires": { + "buffer-alloc": "^1.2.0" + } + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=" + }, + "istextorbinary": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-1.0.2.tgz", + "integrity": "sha1-rOGTVNGpoBc+/rEITOD4ewrX3s8=", + "requires": { + "binaryextensions": "~1.0.0", + "textextensions": "~1.0.0" + } + }, + "isurl": { + "version": "1.0.0", + "resolved": "http://r.cnpmjs.org/isurl/download/isurl-1.0.0.tgz", + "integrity": "sha1-sn9PSfPNqj6kSgpbfzRi5u3DnWc=", + "requires": { + "has-to-string-tag-x": "^1.2.0", + "is-object": "^1.0.1" + } + }, + "jade": { + "version": "0.26.3", + "resolved": "https://registry.npmjs.org/jade/-/jade-0.26.3.tgz", + "integrity": "sha1-jxDXl32NefL2/4YqgbBRPMslaGw=", + "requires": { + "commander": "0.6.1", + "mkdirp": "0.3.0" + }, + "dependencies": { + "commander": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz", + "integrity": "sha1-+mihT2qUXVTbvlDYzbMyDp47GgY=" + }, + "mkdirp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz", + "integrity": "sha1-G79asbqCevI1dRQ0kEJkVfSB/h4=" + } + } + }, + "jimp": { + "version": "0.2.28", + "resolved": "https://registry.npmjs.org/jimp/-/jimp-0.2.28.tgz", + "integrity": "sha1-3VKak3GQ9ClXp5N9Gsw6d2KZbqI=", + "requires": { + "bignumber.js": "^2.1.0", + "bmp-js": "0.0.3", + "es6-promise": "^3.0.2", + "exif-parser": "^0.1.9", + "file-type": "^3.1.0", + "jpeg-js": "^0.2.0", + "load-bmfont": "^1.2.3", + "mime": "^1.3.4", + "mkdirp": "0.5.1", + "pixelmatch": "^4.0.0", + "pngjs": "^3.0.0", + "read-chunk": "^1.0.1", + "request": "^2.65.0", + "stream-to-buffer": "^0.1.0", + "tinycolor2": "^1.1.2", + "url-regex": "^3.0.0" + }, + "dependencies": { + "es6-promise": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", + "integrity": "sha1-oIzd6EzNvzTQJ6FFG8kdS80ophM=" + }, + "file-type": { + "version": "3.9.0", + "resolved": "http://r.cnpmjs.org/file-type/download/file-type-3.9.0.tgz", + "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" + } + } + }, + "jpeg-js": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/jpeg-js/-/jpeg-js-0.2.0.tgz", + "integrity": "sha1-U+RI7J0mPmgyZkZ+lELSxaLvVII=" + }, + "js-base64": { + "version": "2.5.2", + "resolved": "http://r.cnpmjs.org/js-base64/download/js-base64-2.5.2.tgz", + "integrity": "sha1-MTtidN2nGPcU0AszMLuubjjpAgk=" + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=" + }, + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=" + }, + "jsftp": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/jsftp/-/jsftp-1.5.5.tgz", + "integrity": "sha1-PQNFaaWCIcj/xn0Ihoj1nS6ZXO4=", + "requires": { + "debug": "^2.2.0", + "ftp-response-parser": "^1.0.1", + "once": "^1.3.3", + "parse-listing": "^1.1.3", + "stream-combiner": "^0.2.2", + "unorm": "^1.4.1" + } + }, + "jsftp-mkdirp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/jsftp-mkdirp/-/jsftp-mkdirp-1.0.0.tgz", + "integrity": "sha1-chQsE3+YCyvIjP8wGZuivQLfZvI=", + "requires": { + "parents": "^1.0.0" + } + }, + "json-buffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz", + "integrity": "sha1-Wx85evx11ne96Lz8Dkfh+aPZqJg=" + }, + "json-loader": { + "version": "0.5.7", + "resolved": "http://r.cnpmjs.org/json-loader/download/json-loader-0.5.7.tgz", + "integrity": "sha1-3KFKcCNf+C8KyaOr62DTN6NlGF0=" + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "http://r.cnpmjs.org/json-parse-better-errors/download/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha1-u4Z8+zRQ5pEHwTHRxRS6s9yLyqk=" + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "http://r.cnpmjs.org/json-schema-traverse/download/json-schema-traverse-0.4.1.tgz", + "integrity": "sha1-afaofZUTq4u4/mO9sJecRI5oRmA=" + }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "requires": { + "jsonify": "~0.0.0" + } + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=" + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" + }, + "jsonfile": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-3.0.1.tgz", + "integrity": "sha1-pezG9l9T9mLEQVx2daAzHQmS7GY=", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + } + } + }, + "junk": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz", + "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==", + "dev": true + }, + "just-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.0.0.tgz", + "integrity": "sha1-h/zPrv/AtozRnVX2cilD+SnqNeo=" + }, + "kew": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz", + "integrity": "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=" + }, + "keyv": { + "version": "3.0.0", + "resolved": "http://r.cnpmjs.org/keyv/download/keyv-3.0.0.tgz", + "integrity": "sha1-RJI7o55osSp87H32wyaMAx8u83M=", + "requires": { + "json-buffer": "3.0.0" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "http://r.cnpmjs.org/kind-of/download/kind-of-6.0.3.tgz", + "integrity": "sha1-B8BQNKbDSfoG4k+jWqdttFgM5N0=" + }, + "klaw": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz", + "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=", + "requires": { + "graceful-fs": "^4.1.9" + } + }, + "kuler": { + "version": "1.0.1", + "resolved": "http://r.cnpmjs.org/kuler/download/kuler-1.0.1.tgz", + "integrity": "sha1-73x4TzbJ+24W3TFQ0VJneysCKKY=", + "requires": { + "colornames": "^1.1.1" + } + }, + "last-run": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz", + "integrity": "sha1-RblpQsF7HHnHchmCWbqUO+v4yls=", + "requires": { + "default-resolution": "^2.0.0", + "es6-weak-map": "^2.0.1" + } + }, + "layout": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/layout/-/layout-2.2.0.tgz", + "integrity": "sha1-MeRL/BjdEBmz/7II5AKku/4uavQ=", + "requires": { + "bin-pack": "~1.0.1" + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" + }, + "lazystream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", + "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", + "requires": { + "readable-stream": "^2.0.5" + } + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "requires": { + "invert-kv": "^1.0.0" + } + }, + "lead": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz", + "integrity": "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=", + "requires": { + "flush-write-stream": "^1.0.2" + } + }, + "less": { + "version": "2.7.3", + "resolved": "http://r.cnpmjs.org/less/download/less-2.7.3.tgz", + "integrity": "sha1-zBJg9RyQCp7A2R+2mYE54CUHtjs=", + "requires": { + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "mime": "^1.2.11", + "mkdirp": "^0.5.0", + "promise": "^7.1.1", + "request": "2.81.0", + "source-map": "^0.5.3" + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "liftoff": { + "version": "3.1.0", + "resolved": "http://r.cnpmjs.org/liftoff/download/liftoff-3.1.0.tgz", + "integrity": "sha1-ybpggfkIZwYH7nkGLXAN8GLFLtM=", + "requires": { + "extend": "^3.0.0", + "findup-sync": "^3.0.0", + "fined": "^1.0.1", + "flagged-respawn": "^1.0.0", + "is-plain-object": "^2.0.4", + "object.map": "^1.0.0", + "rechoir": "^0.6.2", + "resolve": "^1.1.7" + } + }, + "limiter": { + "version": "1.1.5", + "resolved": "http://r.cnpmjs.org/limiter/download/limiter-1.1.5.tgz", + "integrity": "sha1-j5KiWzsWxhMSk6DMg0tKg4oqp8I=" + }, + "load-bmfont": { + "version": "1.4.0", + "resolved": "http://r.cnpmjs.org/load-bmfont/download/load-bmfont-1.4.0.tgz", + "integrity": "sha1-dfFwcLFKjHhf5/W+4ub9T5gJO2s=", + "requires": { + "buffer-equal": "0.0.1", + "mime": "^1.3.4", + "parse-bmfont-ascii": "^1.0.3", + "parse-bmfont-binary": "^1.0.5", + "parse-bmfont-xml": "^1.1.4", + "phin": "^2.9.1", + "xhr": "^2.0.1", + "xtend": "^4.0.0" + }, + "dependencies": { + "buffer-equal": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz", + "integrity": "sha1-kbx0sR6kBbyRa8aqkI+q+ltKrEs=" + } + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "loader-runner": { + "version": "2.4.0", + "resolved": "http://r.cnpmjs.org/loader-runner/download/loader-runner-2.4.0.tgz", + "integrity": "sha1-7UcGa/5TTX6ExMe5mYwqdWB9k1c=" + }, + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + }, + "localtunnel": { + "version": "1.9.2", + "resolved": "http://r.cnpmjs.org/localtunnel/download/localtunnel-1.9.2.tgz", + "integrity": "sha1-ABL8q8Kc+WTBMKAYWHaKortlta8=", + "requires": { + "axios": "0.19.0", + "debug": "4.1.1", + "openurl": "1.1.1", + "yargs": "6.6.0" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "http://r.cnpmjs.org/debug/download/debug-4.1.1.tgz", + "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=", + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "http://r.cnpmjs.org/ms/download/ms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=" + }, + "yargs": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", + "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", + "requires": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^4.2.0" + } + } + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "http://r.cnpmjs.org/locate-path/download/locate-path-3.0.0.tgz", + "integrity": "sha1-2+w7OrdZdYBxtY/ln8QYca8hQA4=", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "dependencies": { + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + } + } + }, + "lodash": { + "version": "4.17.15", + "resolved": "http://r.cnpmjs.org/lodash/download/lodash-4.17.15.tgz", + "integrity": "sha1-tEf2ZwoEVbv+7dETku/zMOoJdUg=" + }, + "lodash._arraymap": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._arraymap/-/lodash._arraymap-3.0.0.tgz", + "integrity": "sha1-Go/Q9MDfS2HeoHbXF83Jfwo8PmY=" + }, + "lodash._basecallback": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/lodash._basecallback/-/lodash._basecallback-3.3.1.tgz", + "integrity": "sha1-t7K7Q9whYEJKIczybFfkQ3cqjic=", + "requires": { + "lodash._baseisequal": "^3.0.0", + "lodash._bindcallback": "^3.0.0", + "lodash.isarray": "^3.0.0", + "lodash.pairs": "^3.0.0" + } + }, + "lodash._basecopy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", + "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=" + }, + "lodash._baseeach": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash._baseeach/-/lodash._baseeach-3.0.4.tgz", + "integrity": "sha1-z4cGVyyhROjZ11InyZDamC+TKvM=", + "requires": { + "lodash.keys": "^3.0.0" + } + }, + "lodash._baseget": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/lodash._baseget/-/lodash._baseget-3.7.2.tgz", + "integrity": "sha1-G2rh1frPPCVTI1ChPBGXy4u2dPQ=" + }, + "lodash._baseisequal": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/lodash._baseisequal/-/lodash._baseisequal-3.0.7.tgz", + "integrity": "sha1-2AJfdjOdKTQnZ9zIh85cuVpbUfE=", + "requires": { + "lodash.isarray": "^3.0.0", + "lodash.istypedarray": "^3.0.0", + "lodash.keys": "^3.0.0" + } + }, + "lodash._basetostring": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz", + "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=" + }, + "lodash._basevalues": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz", + "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=" + }, + "lodash._bindcallback": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz", + "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=" + }, + "lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=" + }, + "lodash._isiterateecall": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", + "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=" + }, + "lodash._reescape": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz", + "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=" + }, + "lodash._reevaluate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz", + "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=" + }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=" + }, + "lodash._root": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", + "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=" + }, + "lodash._topath": { + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/lodash._topath/-/lodash._topath-3.8.1.tgz", + "integrity": "sha1-PsXiYGAU9MuX91X+aRTt2L/ADqw=", + "requires": { + "lodash.isarray": "^3.0.0" + } + }, + "lodash.assignin": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assignin/-/lodash.assignin-4.2.0.tgz", + "integrity": "sha1-uo31+4QesKPoBEIysOJjqNxqKKI=" + }, + "lodash.bind": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/lodash.bind/-/lodash.bind-4.2.1.tgz", + "integrity": "sha1-euMBfpOWIqwxt9fX3LGzTbFpDTU=" + }, + "lodash.clone": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clone/-/lodash.clone-4.5.0.tgz", + "integrity": "sha1-GVhwRQ9aExkkeN9Lw9I9LeoZB7Y=" + }, + "lodash.clonedeep": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", + "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=" + }, + "lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" + }, + "lodash.escape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", + "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", + "requires": { + "lodash._root": "^3.0.0" + } + }, + "lodash.filter": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.filter/-/lodash.filter-4.6.0.tgz", + "integrity": "sha1-ZosdSYFgOuHMWm+nYBQ+SAtMSs4=" + }, + "lodash.flatten": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", + "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" + }, + "lodash.foreach": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.foreach/-/lodash.foreach-4.5.0.tgz", + "integrity": "sha1-Gmo16s5AEoDH8G3d7DUWWrJ+PlM=" + }, + "lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=" + }, + "lodash.isarray": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=" + }, + "lodash.isfinite": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz", + "integrity": "sha1-+4m2WpqAKBgz8LdHizpRBPiY67M=" + }, + "lodash.istypedarray": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/lodash.istypedarray/-/lodash.istypedarray-3.0.6.tgz", + "integrity": "sha1-yaR3SYYHUB2OhJTSg7h8OSgc72I=" + }, + "lodash.keys": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", + "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", + "requires": { + "lodash._getnative": "^3.0.0", + "lodash.isarguments": "^3.0.0", + "lodash.isarray": "^3.0.0" + } + }, + "lodash.map": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-4.6.0.tgz", + "integrity": "sha1-dx7Hg540c9nEzeKLGTlMNWL09tM=" + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "http://r.cnpmjs.org/lodash.merge/download/lodash.merge-4.6.2.tgz", + "integrity": "sha1-VYqlO0O2YeGSWgr9+japoQhf5Xo=" + }, + "lodash.pairs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash.pairs/-/lodash.pairs-3.0.1.tgz", + "integrity": "sha1-u+CNV4bu6qCaFckevw3LfSvjJqk=", + "requires": { + "lodash.keys": "^3.0.0" + } + }, + "lodash.partialright": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/lodash.partialright/-/lodash.partialright-4.2.1.tgz", + "integrity": "sha1-ATDYDoM2MmTUAHTzKbij56ihzEs=" + }, + "lodash.pick": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", + "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=" + }, + "lodash.pluck": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.pluck/-/lodash.pluck-3.1.2.tgz", + "integrity": "sha1-s0fwN0wBafDusE1nLYnOyGMsIjE=", + "requires": { + "lodash._baseget": "^3.0.0", + "lodash._topath": "^3.0.0", + "lodash.isarray": "^3.0.0", + "lodash.map": "^3.0.0" + }, + "dependencies": { + "lodash.map": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/lodash.map/-/lodash.map-3.1.4.tgz", + "integrity": "sha1-tIOs0beGxce0ksSV97UmYim8AMI=", + "requires": { + "lodash._arraymap": "^3.0.0", + "lodash._basecallback": "^3.0.0", + "lodash._baseeach": "^3.0.0", + "lodash.isarray": "^3.0.0", + "lodash.keys": "^3.0.0" + } + } + } + }, + "lodash.reduce": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.reduce/-/lodash.reduce-4.6.0.tgz", + "integrity": "sha1-8atrg5KZrUj3hKu/R2WW8DuRTTs=" + }, + "lodash.reject": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.reject/-/lodash.reject-4.6.0.tgz", + "integrity": "sha1-gNZJLcFHCGS79YNTO2UfQqn1JBU=" + }, + "lodash.restparam": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", + "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=" + }, + "lodash.some": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.some/-/lodash.some-4.6.0.tgz", + "integrity": "sha1-G7nzFO9ri63tE7VJFpsqlF62jk0=" + }, + "lodash.template": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", + "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", + "requires": { + "lodash._basecopy": "^3.0.0", + "lodash._basetostring": "^3.0.0", + "lodash._basevalues": "^3.0.0", + "lodash._isiterateecall": "^3.0.0", + "lodash._reinterpolate": "^3.0.0", + "lodash.escape": "^3.0.0", + "lodash.keys": "^3.0.0", + "lodash.restparam": "^3.0.0", + "lodash.templatesettings": "^3.0.0" + } + }, + "lodash.templatesettings": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", + "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.escape": "^3.0.0" + } + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" + }, + "logalot": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/logalot/-/logalot-2.1.0.tgz", + "integrity": "sha1-X46MkNME7fElMJUaVVSruMXj9VI=", + "requires": { + "figures": "^1.3.5", + "squeak": "^1.0.0" + }, + "dependencies": { + "figures": { + "version": "1.7.0", + "resolved": "http://r.cnpmjs.org/figures/download/figures-1.7.0.tgz", + "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=", + "requires": { + "escape-string-regexp": "^1.0.5", + "object-assign": "^4.1.0" + } + } + } + }, + "logform": { + "version": "2.1.2", + "resolved": "http://r.cnpmjs.org/logform/download/logform-2.1.2.tgz", + "integrity": "sha1-lXFV6+tnoTFkBpglzmfdtbst02A=", + "requires": { + "colors": "^1.2.1", + "fast-safe-stringify": "^2.0.4", + "fecha": "^2.3.3", + "ms": "^2.1.1", + "triple-beam": "^1.3.0" + }, + "dependencies": { + "colors": { + "version": "1.4.0", + "resolved": "http://r.cnpmjs.org/colors/download/colors-1.4.0.tgz", + "integrity": "sha1-xQSRR51MG9rtLJztMs98fcI2D3g=" + }, + "ms": { + "version": "2.1.2", + "resolved": "http://r.cnpmjs.org/ms/download/ms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=" + } + } + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "http://r.cnpmjs.org/loose-envify/download/loose-envify-1.4.0.tgz", + "integrity": "sha1-ce5R+nvkyuwaY4OffmgtgTLTDK8=", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "lowercase-keys": { + "version": "1.0.1", + "resolved": "http://r.cnpmjs.org/lowercase-keys/download/lowercase-keys-1.0.1.tgz", + "integrity": "sha1-b54wtHCE2XGnyCD/FabFFnt0wm8=" + }, + "lpad-align": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/lpad-align/-/lpad-align-1.1.2.tgz", + "integrity": "sha1-IfYArBwwlcPG5JfuZyce4ISB/p4=", + "requires": { + "get-stdin": "^4.0.1", + "indent-string": "^2.1.0", + "longest": "^1.0.0", + "meow": "^3.3.0" + } + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "http://r.cnpmjs.org/lru-cache/download/lru-cache-4.1.5.tgz", + "integrity": "sha1-i75Q6oW+1ZvJ4z3KuCNe6bz0Q80=", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "make-iterator": { + "version": "1.0.1", + "resolved": "http://r.cnpmjs.org/make-iterator/download/make-iterator-1.0.1.tgz", + "integrity": "sha1-KbM/MSqo9UfEpeSQ9Wr87JkTOtY=", + "requires": { + "kind-of": "^6.0.2" + } + }, + "mamacro": { + "version": "0.0.3", + "resolved": "http://r.cnpmjs.org/mamacro/download/mamacro-0.0.3.tgz", + "integrity": "sha1-rSyVdhl8nxq/MI0Hh4Zb2XWj8+Q=" + }, + "map-age-cleaner": { + "version": "0.1.3", + "resolved": "http://r.cnpmjs.org/map-age-cleaner/download/map-age-cleaner-0.1.3.tgz", + "integrity": "sha1-fVg6cwZDTAVf5HSw9FB45uG0uSo=", + "requires": { + "p-defer": "^1.0.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "requires": { + "object-visit": "^1.0.0" + } + }, + "matchdep": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz", + "integrity": "sha1-xvNINKDY28OzfCfui7yyfHd1WC4=", + "requires": { + "findup-sync": "^2.0.0", + "micromatch": "^3.0.4", + "resolve": "^1.4.0", + "stack-trace": "0.0.10" + }, + "dependencies": { + "findup-sync": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "requires": { + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + } + }, + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "math-expression-evaluator": { + "version": "1.2.22", + "resolved": "http://r.cnpmjs.org/math-expression-evaluator/download/math-expression-evaluator-1.2.22.tgz", + "integrity": "sha1-wU3LPYtNFQ5dzqnGjI2tgDCbDV4=" + }, + "md5.js": { + "version": "1.3.5", + "resolved": "http://r.cnpmjs.org/md5.js/download/md5.js-1.3.5.tgz", + "integrity": "sha1-tdB7jjIW4+J81yjXL3DR5qNCAF8=", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "mdn-data": { + "version": "2.0.4", + "resolved": "http://r.cnpmjs.org/mdn-data/download/mdn-data-2.0.4.tgz", + "integrity": "sha1-aZs8OKxvHXKAkaZGULZdOIUC/Vs=" + }, + "mem": { + "version": "4.3.0", + "resolved": "http://r.cnpmjs.org/mem/download/mem-4.3.0.tgz", + "integrity": "sha1-Rhr0l7xK4JYIzbLmDu+2m/90QXg=", + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^2.0.0", + "p-is-promise": "^2.0.0" + }, + "dependencies": { + "mimic-fn": { + "version": "2.1.0", + "resolved": "http://r.cnpmjs.org/mimic-fn/download/mimic-fn-2.1.0.tgz", + "integrity": "sha1-ftLCzMyvhNP/y3pptXcR/CCDQBs=" + }, + "p-is-promise": { + "version": "2.1.0", + "resolved": "http://r.cnpmjs.org/p-is-promise/download/p-is-promise-2.1.0.tgz", + "integrity": "sha1-kYzrrqJIpiz3/6uOO8qMX4gvxC4=" + } + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + } + } + }, + "merge": { + "version": "1.2.1", + "resolved": "http://r.cnpmjs.org/merge/download/merge-1.2.1.tgz", + "integrity": "sha1-OL6/gMMiCopIe2/Ps5QbsRcgwUU=" + }, + "merge-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.1.tgz", + "integrity": "sha1-QEEgLVCKNCugAXQAjfDCUbjBNeE=", + "requires": { + "readable-stream": "^2.0.1" + } + }, + "merge2": { + "version": "1.3.0", + "resolved": "http://r.cnpmjs.org/merge2/download/merge2-1.3.0.tgz", + "integrity": "sha1-WzZu6DsvFYLEj4fkfPGpNSEDyoE=" + }, + "micromatch": { + "version": "3.1.10", + "resolved": "http://r.cnpmjs.org/micromatch/download/micromatch-3.1.10.tgz", + "integrity": "sha1-cIWbyVyYQJUvNZoGij/En57PrCM=", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "http://r.cnpmjs.org/miller-rabin/download/miller-rabin-4.0.1.tgz", + "integrity": "sha1-8IA1HIZbDcViqEYpZtqlNUPHik0=", + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + } + }, + "mime": { + "version": "1.4.1", + "resolved": "http://r.cnpmjs.org/mime/download/mime-1.4.1.tgz", + "integrity": "sha1-Eh+evEnjdm8xGnbh+hyAA8SwOqY=" + }, + "mime-db": { + "version": "1.43.0", + "resolved": "http://r.cnpmjs.org/mime-db/download/mime-db-1.43.0.tgz", + "integrity": "sha1-ChLgUCZQ5HPXNVNQUOfI9OtPrlg=" + }, + "mime-types": { + "version": "2.1.26", + "resolved": "http://r.cnpmjs.org/mime-types/download/mime-types-2.1.26.tgz", + "integrity": "sha1-nJIfwJt+FJpl39wNpNIJlyALCgY=", + "requires": { + "mime-db": "1.43.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "http://r.cnpmjs.org/mimic-fn/download/mimic-fn-1.2.0.tgz", + "integrity": "sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI=" + }, + "mimic-response": { + "version": "1.0.1", + "resolved": "http://r.cnpmjs.org/mimic-response/download/mimic-response-1.0.1.tgz", + "integrity": "sha1-SSNTiHju9CBjy4o+OweYeBSHqxs=" + }, + "min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "requires": { + "dom-walk": "^0.1.0" + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "http://r.cnpmjs.org/minimalistic-assert/download/minimalistic-assert-1.0.1.tgz", + "integrity": "sha1-LhlN4ERibUoQ5/f7wAznPoPk1cc=" + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "http://r.cnpmjs.org/minimatch/download/minimatch-3.0.4.tgz", + "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=" + }, + "mississippi": { + "version": "3.0.0", + "resolved": "http://r.cnpmjs.org/mississippi/download/mississippi-3.0.0.tgz", + "integrity": "sha1-6goykfl+C16HdrNj1fChLZTGcCI=", + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "3.0.0", + "resolved": "http://r.cnpmjs.org/pump/download/pump-3.0.0.tgz", + "integrity": "sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ=", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "mitt": { + "version": "1.2.0", + "resolved": "http://r.cnpmjs.org/mitt/download/mitt-1.2.0.tgz", + "integrity": "sha1-yyTmVpyAbjG9TjmVeH/jigT9+Q0=" + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "http://r.cnpmjs.org/mixin-deep/download/mixin-deep-1.3.2.tgz", + "integrity": "sha1-ESC0PcNZp4Xc5ltVuC4lfM9HlWY=", + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "http://r.cnpmjs.org/is-extendable/download/is-extendable-1.0.1.tgz", + "integrity": "sha1-p0cPnkJnM9gb2B4RVSZOOjUHyrQ=", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "requires": { + "minimist": "0.0.8" + } + }, + "mocha": { + "version": "5.2.0", + "resolved": "http://r.cnpmjs.org/mocha/download/mocha-5.2.0.tgz", + "integrity": "sha1-bYrlCPWRZ/lA8rWzxKYSrlDJCuY=", + "requires": { + "browser-stdout": "1.3.1", + "commander": "2.15.1", + "debug": "3.1.0", + "diff": "3.5.0", + "escape-string-regexp": "1.0.5", + "glob": "7.1.2", + "growl": "1.10.5", + "he": "1.1.1", + "minimatch": "3.0.4", + "mkdirp": "0.5.1", + "supports-color": "5.4.0" + }, + "dependencies": { + "commander": { + "version": "2.15.1", + "resolved": "http://r.cnpmjs.org/commander/download/commander-2.15.1.tgz", + "integrity": "sha1-30boZ9D8Kuxmo0ZitAapzK//Ww8=" + }, + "debug": { + "version": "3.1.0", + "resolved": "http://r.cnpmjs.org/debug/download/debug-3.1.0.tgz", + "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "requires": { + "ms": "2.0.0" + } + }, + "glob": { + "version": "7.1.2", + "resolved": "http://r.cnpmjs.org/glob/download/glob-7.1.2.tgz", + "integrity": "sha1-wZyd+aAocC1nhhI4SmVSQExjbRU=", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "supports-color": { + "version": "5.4.0", + "resolved": "http://r.cnpmjs.org/supports-color/download/supports-color-5.4.0.tgz", + "integrity": "sha1-HGszdALCE3YF7+GfEP7DkPb6q1Q=", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "mozjpeg": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/mozjpeg/-/mozjpeg-6.0.1.tgz", + "integrity": "sha512-9Z59pJMi8ni+IUvSH5xQwK5tNLw7p3dwDNCZ3o1xE+of3G5Hc/yOz6Ue/YuLiBXU3ZB5oaHPURyPdqfBX/QYJA==", + "dev": true, + "optional": true, + "requires": { + "bin-build": "^3.0.0", + "bin-wrapper": "^4.0.0", + "logalot": "^2.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "multipipe": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", + "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=", + "requires": { + "duplexer2": "0.0.2" + } + }, + "mustache": { + "version": "3.2.1", + "resolved": "http://r.cnpmjs.org/mustache/download/mustache-3.2.1.tgz", + "integrity": "sha1-ieeKnSB9ePJ5mx6Vdkolv3GigyI=" + }, + "mute-stdout": { + "version": "1.0.1", + "resolved": "http://r.cnpmjs.org/mute-stdout/download/mute-stdout-1.0.1.tgz", + "integrity": "sha1-rLAwDrTeI6fd7sAU4+lgRLNHIzE=" + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=" + }, + "nan": { + "version": "2.14.0", + "resolved": "http://r.cnpmjs.org/nan/download/nan-2.14.0.tgz", + "integrity": "sha1-eBj3IgJ7JFmobwKV1DTR/CM2xSw=" + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "http://r.cnpmjs.org/nanomatch/download/nanomatch-1.2.13.tgz", + "integrity": "sha1-uHqKpPwN6P5r6IiVs4mD/yZb0Rk=", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=" + }, + "negotiator": { + "version": "0.6.2", + "resolved": "http://r.cnpmjs.org/negotiator/download/negotiator-0.6.2.tgz", + "integrity": "sha1-/qz3zPUlp3rpY0Q2pkiD/+yjRvs=" + }, + "neo-async": { + "version": "2.6.1", + "resolved": "http://r.cnpmjs.org/neo-async/download/neo-async-2.6.1.tgz", + "integrity": "sha1-rCetpmFn+ohJpq3dg39rGJrSCBw=" + }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" + }, + "nice-try": { + "version": "1.0.5", + "resolved": "http://r.cnpmjs.org/nice-try/download/nice-try-1.0.5.tgz", + "integrity": "sha1-ozeKdpbOfSI+iPybdkvX7xCJ42Y=" + }, + "node-gyp": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-3.8.0.tgz", + "integrity": "sha512-3g8lYefrRRzvGeSowdJKAKyks8oUpLEd/DyPV4eMhVlhJ0aNaZqIrNUIPuEWWTAoPqyFkfGrM67MC69baqn6vA==", + "requires": { + "fstream": "^1.0.0", + "glob": "^7.0.3", + "graceful-fs": "^4.1.2", + "mkdirp": "^0.5.0", + "nopt": "2 || 3", + "npmlog": "0 || 1 || 2 || 3 || 4", + "osenv": "0", + "request": "^2.87.0", + "rimraf": "2", + "semver": "~5.3.0", + "tar": "^2.0.0", + "which": "1" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "semver": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz", + "integrity": "sha1-myzl094C0XxgEq0yaqa00M9U+U8=" + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + } + } + }, + "node-libs-browser": { + "version": "2.2.1", + "resolved": "http://r.cnpmjs.org/node-libs-browser/download/node-libs-browser-2.2.1.tgz", + "integrity": "sha1-tk9RPRgzhiX5A0bSew0jXmMfZCU=", + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "buffer": { + "version": "4.9.2", + "resolved": "http://r.cnpmjs.org/buffer/download/buffer-4.9.2.tgz", + "integrity": "sha1-Iw6tNEACmIZEhBqwJEr4xEu+Pvg=", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "http://r.cnpmjs.org/isarray/download/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + }, + "punycode": { + "version": "1.4.1", + "resolved": "http://r.cnpmjs.org/punycode/download/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + } + } + }, + "node-sass": { + "version": "4.13.1", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-4.13.1.tgz", + "integrity": "sha512-TTWFx+ZhyDx1Biiez2nB0L3YrCZ/8oHagaDalbuBSlqXgUPsdkUSzJsVxeDO9LtPB49+Fh3WQl3slABo6AotNw==", + "requires": { + "async-foreach": "^0.1.3", + "chalk": "^1.1.1", + "cross-spawn": "^3.0.0", + "gaze": "^1.0.0", + "get-stdin": "^4.0.1", + "glob": "^7.0.3", + "in-publish": "^2.0.0", + "lodash": "^4.17.15", + "meow": "^3.7.0", + "mkdirp": "^0.5.1", + "nan": "^2.13.2", + "node-gyp": "^3.8.0", + "npmlog": "^4.0.0", + "request": "^2.88.0", + "sass-graph": "^2.2.4", + "stdout-stream": "^1.4.0", + "true-case-path": "^1.0.2" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=" + }, + "cross-spawn": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-3.0.1.tgz", + "integrity": "sha1-ElYDfsufDF9549bvE14wdwGEuYI=", + "requires": { + "lru-cache": "^4.0.1", + "which": "^1.2.9" + } + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=" + }, + "har-validator": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", + "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "requires": { + "ajv": "^6.5.5", + "har-schema": "^2.0.0" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==" + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + } + } + }, + "nopt": { + "version": "3.0.6", + "resolved": "https://registry.npm.taobao.org/nopt/download/nopt-3.0.6.tgz", + "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=", + "requires": { + "abbrev": "1" + } + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "http://r.cnpmjs.org/normalize-package-data/download/normalize-package-data-2.5.0.tgz", + "integrity": "sha1-5m2xg4sgDB38IzIl0SyzZSDiNKg=", + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "http://r.cnpmjs.org/normalize-path/download/normalize-path-3.0.0.tgz", + "integrity": "sha1-Dc1p/yOhybEf0JeDFmRKA4ghamU=" + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" + }, + "normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "requires": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + } + }, + "now-and-later": { + "version": "2.0.1", + "resolved": "http://r.cnpmjs.org/now-and-later/download/now-and-later-2.0.1.tgz", + "integrity": "sha1-jlechoV2SnzALLaAOA6U9DzLH3w=", + "requires": { + "once": "^1.3.2" + } + }, + "npm-conf": { + "version": "1.1.3", + "resolved": "http://r.cnpmjs.org/npm-conf/download/npm-conf-1.1.3.tgz", + "integrity": "sha1-JWzEe9DiGMJZxOlVC/QTvCGSr/k=", + "requires": { + "config-chain": "^1.1.11", + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "requires": { + "path-key": "^2.0.0" + } + }, + "npmlog": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", + "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "nth-check": { + "version": "1.0.2", + "resolved": "http://r.cnpmjs.org/nth-check/download/nth-check-1.0.2.tgz", + "integrity": "sha1-sr0pXDfj3VijvwcAN2Zjuk2c8Fw=", + "requires": { + "boolbase": "~1.0.0" + } + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=" + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=" + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-component": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", + "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-inspect": { + "version": "1.7.0", + "resolved": "http://r.cnpmjs.org/object-inspect/download/object-inspect-1.7.0.tgz", + "integrity": "sha1-9Pa9GBrXfwBrXs5gvQtvOY/3Smc=" + }, + "object-keys": { + "version": "1.1.1", + "resolved": "http://r.cnpmjs.org/object-keys/download/object-keys-1.1.1.tgz", + "integrity": "sha1-HEfyct8nfzsdrwYWd9nILiMixg4=" + }, + "object-path": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.9.2.tgz", + "integrity": "sha1-D9mnT8X60a45aLWGvaXGMr1sBaU=" + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.0", + "resolved": "http://r.cnpmjs.org/object.assign/download/object.assign-4.1.0.tgz", + "integrity": "sha1-lovxEA15Vrs8oIbwBvhGs7xACNo=", + "requires": { + "define-properties": "^1.1.2", + "function-bind": "^1.1.1", + "has-symbols": "^1.0.0", + "object-keys": "^1.0.11" + } + }, + "object.defaults": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", + "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", + "requires": { + "array-each": "^1.0.1", + "array-slice": "^1.0.0", + "for-own": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.0", + "resolved": "http://r.cnpmjs.org/object.getownpropertydescriptors/download/object.getownpropertydescriptors-2.1.0.tgz", + "integrity": "sha1-Npvx+VktiridcS3O1cuBx8U1Jkk=", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1" + } + }, + "object.map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", + "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", + "requires": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "requires": { + "isobject": "^3.0.1" + } + }, + "object.reduce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.reduce/-/object.reduce-1.0.1.tgz", + "integrity": "sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60=", + "requires": { + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + } + }, + "object.values": { + "version": "1.1.1", + "resolved": "http://r.cnpmjs.org/object.values/download/object.values-1.1.1.tgz", + "integrity": "sha1-aKmezeNWt+kpWjxeDOMdyMlT3l4=", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.0-next.1", + "function-bind": "^1.1.1", + "has": "^1.0.3" + } + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "one-time": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/one-time/-/one-time-0.0.4.tgz", + "integrity": "sha1-+M33eISCb+Tf+T46nMN7HkSAdC4=" + }, + "onetime": { + "version": "2.0.1", + "resolved": "http://r.cnpmjs.org/onetime/download/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "openurl": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/openurl/-/openurl-1.1.1.tgz", + "integrity": "sha1-OHW0sO96UsFW8NtB1GCduw+Us4c=" + }, + "opn": { + "version": "5.3.0", + "resolved": "http://r.cnpmjs.org/opn/download/opn-5.3.0.tgz", + "integrity": "sha1-ZIcVZchjh18FLP31PT48ta21Oxw=", + "requires": { + "is-wsl": "^1.1.0" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "http://r.cnpmjs.org/optionator/download/optionator-0.8.3.tgz", + "integrity": "sha1-hPodA2/p08fiHZmIS2ARZ+yPtJU=", + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "optipng-bin": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/optipng-bin/-/optipng-bin-6.0.0.tgz", + "integrity": "sha512-95bB4y8IaTsa/8x6QH4bLUuyvyOoGBCLDA7wOgDL8UFqJpSUh1Hob8JRJhit+wC1ZLN3tQ7mFt7KuBj0x8F2Wg==", + "dev": true, + "optional": true, + "requires": { + "bin-build": "^3.0.0", + "bin-wrapper": "^4.0.0", + "logalot": "^2.0.0" + } + }, + "ordered-read-streams": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", + "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=", + "requires": { + "readable-stream": "^2.0.1" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" + }, + "os-filter-obj": { + "version": "2.0.0", + "resolved": "http://r.cnpmjs.org/os-filter-obj/download/os-filter-obj-2.0.0.tgz", + "integrity": "sha1-HAti1fOiRCdJotE55t3e5ugdjRY=", + "requires": { + "arch": "^2.1.0" + } + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "requires": { + "lcid": "^1.0.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "osenv": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", + "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "ow": { + "version": "0.13.2", + "resolved": "http://r.cnpmjs.org/ow/download/ow-0.13.2.tgz", + "integrity": "sha1-N15209P5KKjfzwzQuckhy2LkaaA=", + "requires": { + "type-fest": "^0.5.1" + } + }, + "p-cancelable": { + "version": "0.3.0", + "resolved": "http://r.cnpmjs.org/p-cancelable/download/p-cancelable-0.3.0.tgz", + "integrity": "sha1-ueEjgAvOu3rBOkeb4ZW1B7mNMPo=" + }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=" + }, + "p-event": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-event/-/p-event-1.3.0.tgz", + "integrity": "sha1-jmtPT2XHK8W2/ii3XtqHT5akoIU=", + "requires": { + "p-timeout": "^1.1.1" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + }, + "p-is-promise": { + "version": "1.1.0", + "resolved": "http://r.cnpmjs.org/p-is-promise/download/p-is-promise-1.1.0.tgz", + "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=" + }, + "p-limit": { + "version": "2.2.2", + "resolved": "http://r.cnpmjs.org/p-limit/download/p-limit-2.2.2.tgz", + "integrity": "sha1-YSebZ3IfUoeqHBOpp/u8SMkpGx4=", + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "http://r.cnpmjs.org/p-locate/download/p-locate-3.0.0.tgz", + "integrity": "sha1-Mi1poFwCZLJZl9n0DNiokasAZKQ=", + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-map-series": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-map-series/-/p-map-series-1.0.0.tgz", + "integrity": "sha1-v5j+V1cFZYqeE1G++4WuTB8Hvco=", + "requires": { + "p-reduce": "^1.0.0" + } + }, + "p-pipe": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-3.1.0.tgz", + "integrity": "sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw==", + "dev": true + }, + "p-reduce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", + "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=" + }, + "p-timeout": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-1.2.1.tgz", + "integrity": "sha1-XrOzU7f86Z8QGhA4iAuwVOu+o4Y=", + "requires": { + "p-finally": "^1.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "http://r.cnpmjs.org/p-try/download/p-try-2.2.0.tgz", + "integrity": "sha1-yyhoVA4xPWHeWPr741zpAE1VQOY=" + }, + "pako": { + "version": "1.0.11", + "resolved": "http://r.cnpmjs.org/pako/download/pako-1.0.11.tgz", + "integrity": "sha1-bJWZ00DVTf05RjgCUqNXBaa5kr8=" + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "http://r.cnpmjs.org/parallel-transform/download/parallel-transform-1.2.0.tgz", + "integrity": "sha1-kEnKN9bLIYLDsdLHIL6U0UpYFPw=", + "requires": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "http://r.cnpmjs.org/parent-module/download/parent-module-1.0.1.tgz", + "integrity": "sha1-aR0nCeeMefrjoVZiJFLQB2LKqqI=", + "requires": { + "callsites": "^3.0.0" + } + }, + "parents": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz", + "integrity": "sha1-/t1NK/GTp3dF/nHjcdc8MwfZx1E=", + "requires": { + "path-platform": "~0.11.15" + } + }, + "parse-asn1": { + "version": "5.1.5", + "resolved": "http://r.cnpmjs.org/parse-asn1/download/parse-asn1-5.1.5.tgz", + "integrity": "sha1-ADJxND2ljclMrOSU+u89IUfs6g4=", + "requires": { + "asn1.js": "^4.0.0", + "browserify-aes": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-bmfont-ascii": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz", + "integrity": "sha1-Eaw8P/WPfCAgqyJ2kHkQjU36AoU=" + }, + "parse-bmfont-binary": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz", + "integrity": "sha1-0Di0dtPp3Z2x4RoLDlOiJ5K2kAY=" + }, + "parse-bmfont-xml": { + "version": "1.1.4", + "resolved": "http://r.cnpmjs.org/parse-bmfont-xml/download/parse-bmfont-xml-1.1.4.tgz", + "integrity": "sha1-AVMZeX4+EvnnOcTVE4cs0vo184k=", + "requires": { + "xml-parse-from-string": "^1.0.0", + "xml2js": "^0.4.5" + } + }, + "parse-filepath": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", + "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", + "requires": { + "is-absolute": "^1.0.0", + "map-cache": "^0.2.0", + "path-root": "^0.1.1" + } + }, + "parse-headers": { + "version": "2.0.3", + "resolved": "http://r.cnpmjs.org/parse-headers/download/parse-headers-2.0.3.tgz", + "integrity": "sha1-Xo51Ejg9FAugLwx6qfSbQ5nJJRU=" + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "requires": { + "error-ex": "^1.2.0" + } + }, + "parse-listing": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/parse-listing/-/parse-listing-1.1.3.tgz", + "integrity": "sha1-qlRvV/3BKc+/mUXNS3V7FLBhgt0=" + }, + "parse-node-version": { + "version": "1.0.1", + "resolved": "http://r.cnpmjs.org/parse-node-version/download/parse-node-version-1.0.1.tgz", + "integrity": "sha1-4rXb7eAOf6m8NjYH9TMn6LBzGJs=" + }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=" + }, + "parseqs": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", + "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", + "requires": { + "better-assert": "~1.0.0" + } + }, + "parseuri": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", + "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", + "requires": { + "better-assert": "~1.0.0" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "http://r.cnpmjs.org/parseurl/download/parseurl-1.3.3.tgz", + "integrity": "sha1-naGee+6NEt/wUT7Vt2lXeTvC6NQ=" + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "http://r.cnpmjs.org/path-browserify/download/path-browserify-0.0.1.tgz", + "integrity": "sha1-5sTd1+06onxoogzE5Q4aTug7vEo=" + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + }, + "path-parse": { + "version": "1.0.6", + "resolved": "http://r.cnpmjs.org/path-parse/download/path-parse-1.0.6.tgz", + "integrity": "sha1-1i27VnlAXXLEc37FhgDp3c8G0kw=" + }, + "path-platform": { + "version": "0.11.15", + "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz", + "integrity": "sha1-6GQhf3TDaFDwhSt43Hv31KVyG/I=" + }, + "path-root": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", + "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", + "requires": { + "path-root-regex": "^0.1.0" + } + }, + "path-root-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", + "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=" + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "pbkdf2": { + "version": "3.0.17", + "resolved": "http://r.cnpmjs.org/pbkdf2/download/pbkdf2-3.0.17.tgz", + "integrity": "sha1-l2wgZTBhexTrsyEUI597CTNuk6Y=", + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=" + }, + "performance-now": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz", + "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=" + }, + "phantomjs-prebuilt": { + "version": "2.1.16", + "resolved": "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz", + "integrity": "sha1-79ISpKOWbTZHaE6ouniFSb4q7+8=", + "requires": { + "es6-promise": "^4.0.3", + "extract-zip": "^1.6.5", + "fs-extra": "^1.0.0", + "hasha": "^2.2.0", + "kew": "^0.7.0", + "progress": "^1.1.8", + "request": "^2.81.0", + "request-progress": "^2.0.1", + "which": "^1.2.10" + }, + "dependencies": { + "fs-extra": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz", + "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^2.1.0", + "klaw": "^1.0.0" + } + }, + "jsonfile": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz", + "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "progress": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz", + "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=" + } + } + }, + "phin": { + "version": "2.9.3", + "resolved": "http://r.cnpmjs.org/phin/download/phin-2.9.3.tgz", + "integrity": "sha1-+basEKA1Y2+2XfxXaqqhe4dDElw=" + }, + "picomatch": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz", + "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "requires": { + "pinkie": "^2.0.0" + } + }, + "pixelmatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/pixelmatch/-/pixelmatch-4.0.2.tgz", + "integrity": "sha1-j0fc7FARtHe2fbA8JDvB8wheiFQ=", + "requires": { + "pngjs": "^3.0.0" + } + }, + "pkg-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", + "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", + "requires": { + "find-up": "^1.0.0" + } + }, + "plugin-error": { + "version": "1.0.1", + "resolved": "http://r.cnpmjs.org/plugin-error/download/plugin-error-1.0.1.tgz", + "integrity": "sha1-dwFr2JGdCsN3/c3QMiMolTyleBw=", + "requires": { + "ansi-colors": "^1.0.1", + "arr-diff": "^4.0.0", + "arr-union": "^3.1.0", + "extend-shallow": "^3.0.2" + } + }, + "plur": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/plur/-/plur-2.1.2.tgz", + "integrity": "sha1-dIJFLBoPUI4+NE6uwxLJHCncZVo=", + "requires": { + "irregular-plurals": "^1.0.0" + } + }, + "pngjs": { + "version": "3.4.0", + "resolved": "http://r.cnpmjs.org/pngjs/download/pngjs-3.4.0.tgz", + "integrity": "sha1-mcp9clll+2VYFOr2XzjxK72/VV8=" + }, + "pngquant-bin": { + "version": "5.0.2", + "resolved": "http://r.cnpmjs.org/pngquant-bin/download/pngquant-bin-5.0.2.tgz", + "integrity": "sha1-bzTz6JyXIqcrvFCQYrQPGxfNpGA=", + "requires": { + "bin-build": "^3.0.0", + "bin-wrapper": "^4.0.1", + "execa": "^0.10.0", + "logalot": "^2.0.0" + }, + "dependencies": { + "execa": { + "version": "0.10.0", + "resolved": "http://r.cnpmjs.org/execa/download/execa-0.10.0.tgz", + "integrity": "sha1-/0Vqj1P5D47MxxqW0Rvfx/CCy1A=", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + } + } + }, + "portscanner": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/portscanner/-/portscanner-2.1.1.tgz", + "integrity": "sha1-6rtAnk3iSVD1oqUW01rnaTQ/u5Y=", + "requires": { + "async": "1.5.2", + "is-number-like": "^1.0.3" + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + }, + "postcss": { + "version": "5.2.18", + "resolved": "http://r.cnpmjs.org/postcss/download/postcss-5.2.18.tgz", + "integrity": "sha1-ut+hSX1GJE9jkPWLMZgw2RB4U8U=", + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + } + }, + "postcss-calc": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz", + "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=", + "requires": { + "postcss": "^5.0.2", + "postcss-message-helpers": "^2.0.0", + "reduce-css-calc": "^1.2.6" + } + }, + "postcss-colormin": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz", + "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=", + "requires": { + "colormin": "^1.0.5", + "postcss": "^5.0.13", + "postcss-value-parser": "^3.2.3" + } + }, + "postcss-convert-values": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz", + "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=", + "requires": { + "postcss": "^5.0.11", + "postcss-value-parser": "^3.1.2" + } + }, + "postcss-discard-comments": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz", + "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=", + "requires": { + "postcss": "^5.0.14" + } + }, + "postcss-discard-duplicates": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz", + "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=", + "requires": { + "postcss": "^5.0.4" + } + }, + "postcss-discard-empty": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz", + "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=", + "requires": { + "postcss": "^5.0.14" + } + }, + "postcss-discard-overridden": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz", + "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=", + "requires": { + "postcss": "^5.0.16" + } + }, + "postcss-discard-unused": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz", + "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=", + "requires": { + "postcss": "^5.0.14", + "uniqs": "^2.0.0" + } + }, + "postcss-filter-plugins": { + "version": "2.0.3", + "resolved": "http://r.cnpmjs.org/postcss-filter-plugins/download/postcss-filter-plugins-2.0.3.tgz", + "integrity": "sha1-giRf34IzcEFkXkdxFNjlk6oYuOw=", + "requires": { + "postcss": "^5.0.4" + } + }, + "postcss-load-config": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-1.2.0.tgz", + "integrity": "sha1-U56a/J3chiASHr+djDZz4M5Q0oo=", + "requires": { + "cosmiconfig": "^2.1.0", + "object-assign": "^4.1.0", + "postcss-load-options": "^1.2.0", + "postcss-load-plugins": "^2.3.0" + } + }, + "postcss-load-options": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-load-options/-/postcss-load-options-1.2.0.tgz", + "integrity": "sha1-sJixVZ3awt8EvAuzdfmaXP4rbYw=", + "requires": { + "cosmiconfig": "^2.1.0", + "object-assign": "^4.1.0" + } + }, + "postcss-load-plugins": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz", + "integrity": "sha1-dFdoEWWZrKLwCfrUJrABdQSdjZI=", + "requires": { + "cosmiconfig": "^2.1.1", + "object-assign": "^4.1.0" + } + }, + "postcss-merge-idents": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz", + "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=", + "requires": { + "has": "^1.0.1", + "postcss": "^5.0.10", + "postcss-value-parser": "^3.1.1" + } + }, + "postcss-merge-longhand": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz", + "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=", + "requires": { + "postcss": "^5.0.4" + } + }, + "postcss-merge-rules": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz", + "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=", + "requires": { + "browserslist": "^1.5.2", + "caniuse-api": "^1.5.2", + "postcss": "^5.0.4", + "postcss-selector-parser": "^2.2.2", + "vendors": "^1.0.0" + } + }, + "postcss-message-helpers": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz", + "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=" + }, + "postcss-minify-font-values": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz", + "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=", + "requires": { + "object-assign": "^4.0.1", + "postcss": "^5.0.4", + "postcss-value-parser": "^3.0.2" + } + }, + "postcss-minify-gradients": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz", + "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=", + "requires": { + "postcss": "^5.0.12", + "postcss-value-parser": "^3.3.0" + } + }, + "postcss-minify-params": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz", + "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=", + "requires": { + "alphanum-sort": "^1.0.1", + "postcss": "^5.0.2", + "postcss-value-parser": "^3.0.2", + "uniqs": "^2.0.0" + } + }, + "postcss-minify-selectors": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz", + "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=", + "requires": { + "alphanum-sort": "^1.0.2", + "has": "^1.0.1", + "postcss": "^5.0.14", + "postcss-selector-parser": "^2.0.0" + } + }, + "postcss-normalize-charset": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz", + "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=", + "requires": { + "postcss": "^5.0.5" + } + }, + "postcss-normalize-url": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz", + "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=", + "requires": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^1.4.0", + "postcss": "^5.0.14", + "postcss-value-parser": "^3.2.3" + } + }, + "postcss-ordered-values": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz", + "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=", + "requires": { + "postcss": "^5.0.4", + "postcss-value-parser": "^3.0.1" + } + }, + "postcss-pxtorem": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-pxtorem/-/postcss-pxtorem-3.3.1.tgz", + "integrity": "sha1-DaOb+YOzyEmuDjx07KcmmxOtIEQ=", + "requires": { + "object-assign": "^4.0.1", + "postcss": "^5.0.2" + } + }, + "postcss-reduce-idents": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz", + "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=", + "requires": { + "postcss": "^5.0.4", + "postcss-value-parser": "^3.0.2" + } + }, + "postcss-reduce-initial": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz", + "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=", + "requires": { + "postcss": "^5.0.4" + } + }, + "postcss-reduce-transforms": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz", + "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=", + "requires": { + "has": "^1.0.1", + "postcss": "^5.0.8", + "postcss-value-parser": "^3.0.1" + } + }, + "postcss-selector-parser": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", + "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", + "requires": { + "flatten": "^1.0.2", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "postcss-svgo": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz", + "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=", + "requires": { + "is-svg": "^2.0.0", + "postcss": "^5.0.14", + "postcss-value-parser": "^3.2.3", + "svgo": "^0.7.0" + } + }, + "postcss-unique-selectors": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz", + "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=", + "requires": { + "alphanum-sort": "^1.0.1", + "postcss": "^5.0.4", + "uniqs": "^2.0.0" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "http://r.cnpmjs.org/postcss-value-parser/download/postcss-value-parser-3.3.1.tgz", + "integrity": "sha1-n/giVH4okyE88cMO+lGsX9G6goE=" + }, + "postcss-zindex": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz", + "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=", + "requires": { + "has": "^1.0.1", + "postcss": "^5.0.4", + "uniqs": "^2.0.0" + } + }, + "posthtml": { + "version": "0.8.7", + "resolved": "https://registry.npmjs.org/posthtml/-/posthtml-0.8.7.tgz", + "integrity": "sha1-q6YSTGz4e0zuprq19+UCaPLCAG0=", + "requires": { + "posthtml-parser": "^0.1.3", + "posthtml-render": "^1.0.5" + } + }, + "posthtml-attrs-parser": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posthtml-attrs-parser/-/posthtml-attrs-parser-0.1.1.tgz", + "integrity": "sha1-zDPgAVX7mbqW9n4l4zBGHwV0Ksg=", + "requires": { + "object-assign": "^4.0.1" + } + }, + "posthtml-parser": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/posthtml-parser/-/posthtml-parser-0.1.3.tgz", + "integrity": "sha1-QyUfV1ujTjYQMveaEeD8k6sjKyQ=", + "requires": { + "htmlparser2": "^3.8.3" + } + }, + "posthtml-px2rem": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/posthtml-px2rem/-/posthtml-px2rem-0.0.3.tgz", + "integrity": "sha1-DJjY218TWIAu8QGJWW+H8vX0MqI=", + "requires": { + "lodash": "^3.10.1", + "posthtml-attrs-parser": "^0.1.0" + }, + "dependencies": { + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=" + } + } + }, + "posthtml-render": { + "version": "1.1.5", + "resolved": "http://r.cnpmjs.org/posthtml-render/download/posthtml-render-1.1.5.tgz", + "integrity": "sha1-OHk06FQ4o953CF+8fSZO+wC9Dg8=" + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=" + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" + }, + "pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true + }, + "pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=" + }, + "prettysize": { + "version": "1.1.0", + "resolved": "http://r.cnpmjs.org/prettysize/download/prettysize-1.1.0.tgz", + "integrity": "sha1-xsUvhxYf8XLqQ183X5mDHdmpe7A=" + }, + "private": { + "version": "0.1.8", + "resolved": "http://r.cnpmjs.org/private/download/private-0.1.8.tgz", + "integrity": "sha1-I4Hts2ifelPWUxkAYPz4ItLzaP8=" + }, + "process": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", + "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=" + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "http://r.cnpmjs.org/process-nextick-args/download/process-nextick-args-2.0.1.tgz", + "integrity": "sha1-eCDZsWEgzFXKmud5JoCufbptf+I=" + }, + "progress": { + "version": "2.0.3", + "resolved": "http://r.cnpmjs.org/progress/download/progress-2.0.3.tgz", + "integrity": "sha1-foz42PW48jnBvGi+tOt4Vn1XLvg=" + }, + "promise": { + "version": "7.3.1", + "resolved": "http://r.cnpmjs.org/promise/download/promise-7.3.1.tgz", + "integrity": "sha1-BktyYCsY+Q8pGSuLG8QY/9Hr078=", + "optional": true, + "requires": { + "asap": "~2.0.3" + } + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=" + }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha1-IS1b/hMYMGpCD2QCuOJv85ZHqEk=" + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==" + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "http://r.cnpmjs.org/public-encrypt/download/public-encrypt-4.0.3.tgz", + "integrity": "sha1-T8ydd6B+SLp1J+fL4N4z0HATMeA=", + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "pump": { + "version": "2.0.1", + "resolved": "http://r.cnpmjs.org/pump/download/pump-2.0.1.tgz", + "integrity": "sha1-Ejma3W5M91Jtlzy8i1zi4pCLOQk=", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "http://r.cnpmjs.org/pumpify/download/pumpify-1.5.1.tgz", + "integrity": "sha1-NlE74karJ1cLGjdKXOJ4v9dDcM4=", + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "http://r.cnpmjs.org/punycode/download/punycode-2.1.1.tgz", + "integrity": "sha1-tYsBCsQMIsVldhbI0sLALHv0eew=" + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" + }, + "qs": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.2.3.tgz", + "integrity": "sha1-HPyyXBCpsrSDBT/zn138kjOQjP4=" + }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "requires": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "quick-local-ip": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/quick-local-ip/-/quick-local-ip-1.0.7.tgz", + "integrity": "sha1-S9oQKeXm2iGNtwLfcsJK3eFKpMc=", + "requires": { + "mocha": "^2.3.3" + }, + "dependencies": { + "commander": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.3.0.tgz", + "integrity": "sha1-/UMOiJgy7DU7ms0d4hfBHLPu+HM=" + }, + "debug": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz", + "integrity": "sha1-+HBX6ZWxofauaklgZkE3vFbwOdo=", + "requires": { + "ms": "0.7.1" + } + }, + "diff": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz", + "integrity": "sha1-fyjS657nsVqX79ic5j3P2qPMur8=" + }, + "escape-string-regexp": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz", + "integrity": "sha1-Tbwv5nTnGUnK8/smlc5/LcHZqNE=" + }, + "glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz", + "integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=", + "requires": { + "inherits": "2", + "minimatch": "0.3" + } + }, + "growl": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz", + "integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=" + }, + "lru-cache": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", + "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=" + }, + "minimatch": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", + "integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=", + "requires": { + "lru-cache": "2", + "sigmund": "~1.0.0" + } + }, + "mocha": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-2.5.3.tgz", + "integrity": "sha1-FhvlvetJZ3HrmzV0UFC2IrWu/Fg=", + "requires": { + "commander": "2.3.0", + "debug": "2.2.0", + "diff": "1.4.0", + "escape-string-regexp": "1.0.2", + "glob": "3.2.11", + "growl": "1.9.2", + "jade": "0.26.3", + "mkdirp": "0.5.1", + "supports-color": "1.2.0", + "to-iso-string": "0.0.2" + } + }, + "ms": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz", + "integrity": "sha1-nNE8A62/8ltl7/3nzoZO6VIBcJg=" + }, + "supports-color": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-1.2.0.tgz", + "integrity": "sha1-/x7R5hFp0Gs88tWI4YixjYhH4X4=" + } + } + }, + "randombytes": { + "version": "2.1.0", + "resolved": "http://r.cnpmjs.org/randombytes/download/randombytes-2.1.0.tgz", + "integrity": "sha1-32+ENy8CcNxlzfYpE0mrekc9Tyo=", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "http://r.cnpmjs.org/randomfill/download/randomfill-1.0.4.tgz", + "integrity": "sha1-ySGW/IarQr6YPxvzF3giSTHWFFg=", + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "http://r.cnpmjs.org/range-parser/download/range-parser-1.2.1.tgz", + "integrity": "sha1-PPNwI9GZ4cJNGlW4SADC8+ZGgDE=" + }, + "raw-body": { + "version": "2.4.1", + "resolved": "http://r.cnpmjs.org/raw-body/download/raw-body-2.4.1.tgz", + "integrity": "sha1-MKyC+Yu1rowVLmcUnayNVRU7Fow=", + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.3", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + } + }, + "rc": { + "version": "1.2.8", + "resolved": "http://r.cnpmjs.org/rc/download/rc-1.2.8.tgz", + "integrity": "sha1-zZJL9SAKB1uDwYjNa54hG3/A0+0=", + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + } + } + }, + "rd": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/rd/-/rd-0.0.2.tgz", + "integrity": "sha1-iDqxi49Pjcu/9Nx7b7tDc/UFGWo=" + }, + "read-chunk": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-chunk/-/read-chunk-1.0.1.tgz", + "integrity": "sha1-X2jKswfmY/GZk1J9m1icrORmEZQ=" + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "http://r.cnpmjs.org/readable-stream/download/readable-stream-2.3.7.tgz", + "integrity": "sha1-Hsoc9xGu+BTAT2IlKjamL2yyO1c=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + } + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "http://r.cnpmjs.org/readdirp/download/readdirp-2.2.1.tgz", + "integrity": "sha1-DodiKjMlqjPokihcr4tOhGUppSU=", + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "requires": { + "resolve": "^1.1.6" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + } + }, + "reduce-css-calc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", + "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", + "requires": { + "balanced-match": "^0.4.2", + "math-expression-evaluator": "^1.2.14", + "reduce-function-call": "^1.0.1" + }, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=" + } + } + }, + "reduce-function-call": { + "version": "1.0.3", + "resolved": "http://r.cnpmjs.org/reduce-function-call/download/reduce-function-call-1.0.3.tgz", + "integrity": "sha1-YDUPf7JSwKZ+sQ/UaU0WkJlxMA8=", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "regenerate": { + "version": "1.4.0", + "resolved": "http://r.cnpmjs.org/regenerate/download/regenerate-1.4.0.tgz", + "integrity": "sha1-SoVuxLVuQHfFV1icroXnpMiGmhE=" + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "http://r.cnpmjs.org/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz", + "integrity": "sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk=" + }, + "regenerator-transform": { + "version": "0.10.1", + "resolved": "http://r.cnpmjs.org/regenerator-transform/download/regenerator-transform-0.10.1.tgz", + "integrity": "sha1-HkmWg3Ix2ot/PPQRTXG1aRoGgN0=", + "requires": { + "babel-runtime": "^6.18.0", + "babel-types": "^6.19.0", + "private": "^0.1.6" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "http://r.cnpmjs.org/regex-not/download/regex-not-1.0.2.tgz", + "integrity": "sha1-H07OJ+ALC2XgJHpoEOaoXYOldSw=", + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regexpp": { + "version": "2.0.1", + "resolved": "http://r.cnpmjs.org/regexpp/download/regexpp-2.0.1.tgz", + "integrity": "sha1-jRnTHPYySCtYkEn4KB+T28uk0H8=" + }, + "regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "requires": { + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=" + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" + } + } + }, + "remove-bom-buffer": { + "version": "3.0.0", + "resolved": "http://r.cnpmjs.org/remove-bom-buffer/download/remove-bom-buffer-3.0.0.tgz", + "integrity": "sha1-wr8eN3Ug0yT2I4kuM8EMrCwlK1M=", + "requires": { + "is-buffer": "^1.1.5", + "is-utf8": "^0.2.1" + } + }, + "remove-bom-stream": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz", + "integrity": "sha1-BfGlk/FuQuH7kOv1nejlaVJflSM=", + "requires": { + "remove-bom-buffer": "^3.0.0", + "safe-buffer": "^5.1.0", + "through2": "^2.0.3" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "http://r.cnpmjs.org/repeat-element/download/repeat-element-1.1.3.tgz", + "integrity": "sha1-eC4NglwMWjuzlzH4Tv7mt0Lmsc4=" + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "requires": { + "is-finite": "^1.0.0" + } + }, + "replace-ext": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", + "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=" + }, + "replace-homedir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/replace-homedir/-/replace-homedir-1.0.0.tgz", + "integrity": "sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw=", + "requires": { + "homedir-polyfill": "^1.0.1", + "is-absolute": "^1.0.0", + "remove-trailing-separator": "^1.1.0" + } + }, + "replacestream": { + "version": "4.0.3", + "resolved": "http://r.cnpmjs.org/replacestream/download/replacestream-4.0.3.tgz", + "integrity": "sha1-PuV5gJK+Nksc2xSEMISSyz3/LzY=", + "requires": { + "escape-string-regexp": "^1.0.3", + "object-assign": "^4.0.1", + "readable-stream": "^2.0.2" + } + }, + "request": { + "version": "2.81.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz", + "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=", + "requires": { + "aws-sign2": "~0.6.0", + "aws4": "^1.2.1", + "caseless": "~0.12.0", + "combined-stream": "~1.0.5", + "extend": "~3.0.0", + "forever-agent": "~0.6.1", + "form-data": "~2.1.1", + "har-validator": "~4.2.1", + "hawk": "~3.1.3", + "http-signature": "~1.1.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.7", + "oauth-sign": "~0.8.1", + "performance-now": "^0.2.0", + "qs": "~6.4.0", + "safe-buffer": "^5.0.1", + "stringstream": "~0.0.4", + "tough-cookie": "~2.3.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.0.0" + }, + "dependencies": { + "qs": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz", + "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=" + } + } + }, + "request-progress": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz", + "integrity": "sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg=", + "requires": { + "throttleit": "^1.0.0" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "require-from-string": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", + "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=" + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" + }, + "resolve": { + "version": "1.15.1", + "resolved": "http://r.cnpmjs.org/resolve/download/resolve-1.15.1.tgz", + "integrity": "sha1-J73N7/6vLWJEuVuw+fS0ZTRR8+g=", + "requires": { + "path-parse": "^1.0.6" + } + }, + "resolve-dir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", + "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "requires": { + "expand-tilde": "^2.0.0", + "global-modules": "^1.0.0" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "http://r.cnpmjs.org/resolve-from/download/resolve-from-4.0.0.tgz", + "integrity": "sha1-SrzYUq0y3Xuqv+m0DgCjbbXzkuY=" + }, + "resolve-options": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz", + "integrity": "sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=", + "requires": { + "value-or-function": "^3.0.0" + } + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "resp-modifier": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/resp-modifier/-/resp-modifier-6.0.2.tgz", + "integrity": "sha1-sSTeXE+6/LpUH0j/pzlw9KpFa08=", + "requires": { + "debug": "^2.2.0", + "minimatch": "^3.0.2" + } + }, + "responselike": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz", + "integrity": "sha1-kYcg7ztjHFZCvgaPFa3lpG9Loec=", + "requires": { + "lowercase-keys": "^1.0.0" + } + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "http://r.cnpmjs.org/ret/download/ret-0.1.15.tgz", + "integrity": "sha1-uKSCXVvbH8P29Twrwz+BOIaBx7w=" + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "requires": { + "align-text": "^0.1.1" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "http://r.cnpmjs.org/rimraf/download/rimraf-2.7.1.tgz", + "integrity": "sha1-NXl/E6f9rcVmFCwp1PB8ytSD4+w=", + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "http://r.cnpmjs.org/ripemd160/download/ripemd160-2.0.2.tgz", + "integrity": "sha1-ocGm9iR1FXe6XQeRTLyShQWFiQw=", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "run-async": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", + "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", + "requires": { + "is-promise": "^2.1.0" + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "requires": { + "aproba": "^1.1.1" + } + }, + "rx": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz", + "integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=" + }, + "rxjs": { + "version": "5.5.12", + "resolved": "http://r.cnpmjs.org/rxjs/download/rxjs-5.5.12.tgz", + "integrity": "sha1-b6YbinfD15PbrycL7i9D9lLXQcw=", + "requires": { + "symbol-observable": "1.0.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "http://r.cnpmjs.org/safe-buffer/download/safe-buffer-5.1.2.tgz", + "integrity": "sha1-mR7GnSluAxN0fVm9/St0XDX4go0=" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "http://r.cnpmjs.org/safer-buffer/download/safer-buffer-2.1.2.tgz", + "integrity": "sha1-RPoWGwGHuVSd2Eu5GAL5vYOFzWo=" + }, + "sass-graph": { + "version": "2.2.4", + "resolved": "https://registry.npm.taobao.org/sass-graph/download/sass-graph-2.2.4.tgz", + "integrity": "sha1-E/vWPNHK8JCLn9k0dq1DpR0eC0k=", + "requires": { + "glob": "^7.0.0", + "lodash": "^4.0.0", + "scss-tokenizer": "^0.2.3", + "yargs": "^7.0.0" + }, + "dependencies": { + "yargs": { + "version": "7.1.0", + "resolved": "https://registry.npm.taobao.org/yargs/download/yargs-7.1.0.tgz?cache=0&sync_timestamp=1567812307271&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fyargs%2Fdownload%2Fyargs-7.1.0.tgz", + "integrity": "sha1-a6MY6xaWFyf10oT46gA+jWFU0Mg=", + "requires": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^5.0.0" + } + }, + "yargs-parser": { + "version": "5.0.0", + "resolved": "https://registry.npm.taobao.org/yargs-parser/download/yargs-parser-5.0.0.tgz", + "integrity": "sha1-J17PDX/+Bcd+ZOfIbkzZS/DhIoo=", + "requires": { + "camelcase": "^3.0.0" + } + } + } + }, + "sax": { + "version": "1.2.4", + "resolved": "http://r.cnpmjs.org/sax/download/sax-1.2.4.tgz", + "integrity": "sha1-KBYjTiN4vdxOU1T6tcqold9xANk=" + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "http://r.cnpmjs.org/schema-utils/download/schema-utils-1.0.0.tgz", + "integrity": "sha1-C3mpMgTXtgDUsoUNH2bCo0lRx3A=", + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + }, + "dependencies": { + "ajv-keywords": { + "version": "3.4.1", + "resolved": "http://r.cnpmjs.org/ajv-keywords/download/ajv-keywords-3.4.1.tgz", + "integrity": "sha1-75FuJxxkrBIXH9g4TqrmsjRYVNo=" + } + } + }, + "scss-tokenizer": { + "version": "0.2.3", + "resolved": "https://registry.npm.taobao.org/scss-tokenizer/download/scss-tokenizer-0.2.3.tgz", + "integrity": "sha1-jrBtualyMzOCTT9VMGQRSYR85dE=", + "requires": { + "js-base64": "^2.1.8", + "source-map": "^0.4.2" + }, + "dependencies": { + "source-map": { + "version": "0.4.4", + "resolved": "https://registry.npm.taobao.org/source-map/download/source-map-0.4.4.tgz", + "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=", + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "seek-bzip": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.5.tgz", + "integrity": "sha1-z+kXyz0nS8/6x5J1ivUxc+sfq9w=", + "requires": { + "commander": "~2.8.1" + }, + "dependencies": { + "commander": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", + "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", + "requires": { + "graceful-readlink": ">= 1.0.0" + } + } + } + }, + "semver": { + "version": "5.7.1", + "resolved": "http://r.cnpmjs.org/semver/download/semver-5.7.1.tgz", + "integrity": "sha1-qVT5Ma66UI0we78Gnv8MAclhFvc=" + }, + "semver-greatest-satisfied-range": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz", + "integrity": "sha1-E+jCZYq5aRywzXEJMkAoDTb3els=", + "requires": { + "sver-compat": "^1.5.0" + } + }, + "semver-regex": { + "version": "2.0.0", + "resolved": "http://r.cnpmjs.org/semver-regex/download/semver-regex-2.0.0.tgz", + "integrity": "sha1-qTwsWERTmncCMzeRB7OMe0rJ0zg=" + }, + "semver-truncate": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/semver-truncate/-/semver-truncate-1.1.2.tgz", + "integrity": "sha1-V/Qd5pcHpicJp+AQS6IRcQnqR+g=", + "requires": { + "semver": "^5.3.0" + } + }, + "send": { + "version": "0.16.2", + "resolved": "http://r.cnpmjs.org/send/download/send-0.16.2.tgz", + "integrity": "sha1-bsyh4PjBVtFBWXVZhI32RzCmu8E=", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.6.2", + "mime": "1.4.1", + "ms": "2.0.0", + "on-finished": "~2.3.0", + "range-parser": "~1.2.0", + "statuses": "~1.4.0" + }, + "dependencies": { + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "http://r.cnpmjs.org/inherits/download/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "http://r.cnpmjs.org/setprototypeof/download/setprototypeof-1.1.0.tgz", + "integrity": "sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY=" + }, + "statuses": { + "version": "1.4.0", + "resolved": "http://r.cnpmjs.org/statuses/download/statuses-1.4.0.tgz", + "integrity": "sha1-u3PURtonlhBu/MG2AaJT1sRr0Ic=" + } + } + }, + "serialize-javascript": { + "version": "2.1.2", + "resolved": "http://r.cnpmjs.org/serialize-javascript/download/serialize-javascript-2.1.2.tgz", + "integrity": "sha1-7OxTsOAxe9yV73arcHS3OEeF+mE=" + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "http://r.cnpmjs.org/inherits/download/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "http://r.cnpmjs.org/setprototypeof/download/setprototypeof-1.1.0.tgz", + "integrity": "sha1-0L2FU2iHtv58DYGMuWLZ2RxU5lY=" + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + } + } + }, + "serve-static": { + "version": "1.13.2", + "resolved": "http://r.cnpmjs.org/serve-static/download/serve-static-1.13.2.tgz", + "integrity": "sha1-CV6Ecv1bRiN9tQzkhqQ/S4bGzsE=", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.2", + "send": "0.16.2" + } + }, + "server-destroy": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz", + "integrity": "sha1-8Tv5KOQrnD55OD5hzDmYtdFObN0=" + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "set-value": { + "version": "2.0.1", + "resolved": "http://r.cnpmjs.org/set-value/download/set-value-2.0.1.tgz", + "integrity": "sha1-oY1AUw5vB95CKMfe/kInr4ytAFs=", + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "http://r.cnpmjs.org/setprototypeof/download/setprototypeof-1.1.1.tgz", + "integrity": "sha1-fpWsskqpL1iF4KvvW6ExMw1K5oM=" + }, + "sha.js": { + "version": "2.4.11", + "resolved": "http://r.cnpmjs.org/sha.js/download/sha.js-2.4.11.tgz", + "integrity": "sha1-N6XPC4HsvGlD3hCbopYNGyZYSuc=", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + }, + "should": { + "version": "13.2.3", + "resolved": "http://r.cnpmjs.org/should/download/should-13.2.3.tgz", + "integrity": "sha1-ltjlrPPpe0nYm1H+qlro0H71jxA=", + "requires": { + "should-equal": "^2.0.0", + "should-format": "^3.0.3", + "should-type": "^1.4.0", + "should-type-adaptors": "^1.0.1", + "should-util": "^1.0.0" + } + }, + "should-equal": { + "version": "2.0.0", + "resolved": "http://r.cnpmjs.org/should-equal/download/should-equal-2.0.0.tgz", + "integrity": "sha1-YHLPgwRzYIZ+aOmLCdcRQ9BO4MM=", + "requires": { + "should-type": "^1.4.0" + } + }, + "should-format": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/should-format/-/should-format-3.0.3.tgz", + "integrity": "sha1-m/yPdPo5IFxT04w01xcwPidxJPE=", + "requires": { + "should-type": "^1.3.0", + "should-type-adaptors": "^1.0.1" + } + }, + "should-type": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/should-type/-/should-type-1.4.0.tgz", + "integrity": "sha1-B1bYzoRt/QmEOmlHcZ36DUz/XPM=" + }, + "should-type-adaptors": { + "version": "1.1.0", + "resolved": "http://r.cnpmjs.org/should-type-adaptors/download/should-type-adaptors-1.1.0.tgz", + "integrity": "sha1-QB5/M7VTMDOUTVzYvytlAneS4no=", + "requires": { + "should-type": "^1.3.0", + "should-util": "^1.0.0" + } + }, + "should-util": { + "version": "1.0.1", + "resolved": "http://r.cnpmjs.org/should-util/download/should-util-1.0.1.tgz", + "integrity": "sha1-+w1xM49TKjoUkhNjni0yy+qLyyg=" + }, + "sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=" + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=" + }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "requires": { + "is-arrayish": "^0.3.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.3.2", + "resolved": "http://r.cnpmjs.org/is-arrayish/download/is-arrayish-0.3.2.tgz", + "integrity": "sha1-RXSirlb3qyBolvtDHq7tBm/fjwM=" + } + } + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "http://r.cnpmjs.org/slice-ansi/download/slice-ansi-2.1.0.tgz", + "integrity": "sha1-ys12k0YaY3pXiNkqfdT7oGjoFjY=", + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "http://r.cnpmjs.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "requires": { + "color-convert": "^1.9.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + } + } + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "http://r.cnpmjs.org/snapdragon/download/snapdragon-0.8.2.tgz", + "integrity": "sha1-ZJIufFZbDhQgS6GqfWlkJ40lGC0=", + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "http://r.cnpmjs.org/snapdragon-node/download/snapdragon-node-2.1.1.tgz", + "integrity": "sha1-bBdfhv8UvbByRWPo88GwIaKGhTs=", + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "http://r.cnpmjs.org/is-accessor-descriptor/download/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha1-FpwvbT3x+ZJhgHI2XJsOofaHhlY=", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "http://r.cnpmjs.org/is-data-descriptor/download/is-data-descriptor-1.0.0.tgz", + "integrity": "sha1-2Eh2Mh0Oet0DmQQGq7u9NrqSaMc=", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "http://r.cnpmjs.org/is-descriptor/download/is-descriptor-1.0.2.tgz", + "integrity": "sha1-OxWXRqZmBLBPjIFSS6NlxfFNhuw=", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "http://r.cnpmjs.org/snapdragon-util/download/snapdragon-util-3.0.1.tgz", + "integrity": "sha1-+VZHlIbyrNeXAGk/b3uAXkWrVuI=", + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "sntp": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz", + "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=", + "requires": { + "hoek": "2.x.x" + } + }, + "socket.io": { + "version": "2.1.1", + "resolved": "http://r.cnpmjs.org/socket.io/download/socket.io-2.1.1.tgz", + "integrity": "sha1-oGnF/qvuPmshSnW0DOBlLhz7mYA=", + "requires": { + "debug": "~3.1.0", + "engine.io": "~3.2.0", + "has-binary2": "~1.0.2", + "socket.io-adapter": "~1.1.0", + "socket.io-client": "2.1.1", + "socket.io-parser": "~3.2.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "http://r.cnpmjs.org/debug/download/debug-3.1.0.tgz", + "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "requires": { + "ms": "2.0.0" + } + }, + "engine.io-client": { + "version": "3.2.1", + "resolved": "http://r.cnpmjs.org/engine.io-client/download/engine.io-client-3.2.1.tgz", + "integrity": "sha1-b1TAR13khxWKGnx30QF4cItq3TY=", + "requires": { + "component-emitter": "1.2.1", + "component-inherit": "0.0.3", + "debug": "~3.1.0", + "engine.io-parser": "~2.1.1", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "ws": "~3.3.1", + "xmlhttprequest-ssl": "~1.5.4", + "yeast": "0.1.2" + } + }, + "engine.io-parser": { + "version": "2.1.3", + "resolved": "http://r.cnpmjs.org/engine.io-parser/download/engine.io-parser-2.1.3.tgz", + "integrity": "sha1-dXq5cPvy37Mse3SwMyFtVznveaY=", + "requires": { + "after": "0.8.2", + "arraybuffer.slice": "~0.0.7", + "base64-arraybuffer": "0.1.5", + "blob": "0.0.5", + "has-binary2": "~1.0.2" + } + }, + "socket.io-client": { + "version": "2.1.1", + "resolved": "http://r.cnpmjs.org/socket.io-client/download/socket.io-client-2.1.1.tgz", + "integrity": "sha1-3LOBA0NqtFeN2wJmOK4vIbYjZx8=", + "requires": { + "backo2": "1.0.2", + "base64-arraybuffer": "0.1.5", + "component-bind": "1.0.0", + "component-emitter": "1.2.1", + "debug": "~3.1.0", + "engine.io-client": "~3.2.0", + "has-binary2": "~1.0.2", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "object-component": "0.0.3", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "socket.io-parser": "~3.2.0", + "to-array": "0.1.4" + } + }, + "socket.io-parser": { + "version": "3.2.0", + "resolved": "http://r.cnpmjs.org/socket.io-parser/download/socket.io-parser-3.2.0.tgz", + "integrity": "sha1-58Yii2qh+BTmFIrqMltRqpSZ4Hc=", + "requires": { + "component-emitter": "1.2.1", + "debug": "~3.1.0", + "isarray": "2.0.1" + } + }, + "ws": { + "version": "3.3.3", + "resolved": "http://r.cnpmjs.org/ws/download/ws-3.3.3.tgz", + "integrity": "sha1-8c+E/i1ekB686U767OeF8YeiKPI=", + "requires": { + "async-limiter": "~1.0.0", + "safe-buffer": "~5.1.0", + "ultron": "~1.1.0" + } + } + } + }, + "socket.io-adapter": { + "version": "1.1.2", + "resolved": "http://r.cnpmjs.org/socket.io-adapter/download/socket.io-adapter-1.1.2.tgz", + "integrity": "sha1-qz8Nb2a4/H/KOVmrWZH4IiF4m+k=" + }, + "socket.io-client": { + "version": "2.3.0", + "resolved": "http://r.cnpmjs.org/socket.io-client/download/socket.io-client-2.3.0.tgz", + "integrity": "sha1-FNW6LgC5vNFFrkQ6uWs/hsvMG7Q=", + "requires": { + "backo2": "1.0.2", + "base64-arraybuffer": "0.1.5", + "component-bind": "1.0.0", + "component-emitter": "1.2.1", + "debug": "~4.1.0", + "engine.io-client": "~3.4.0", + "has-binary2": "~1.0.2", + "has-cors": "1.1.0", + "indexof": "0.0.1", + "object-component": "0.0.3", + "parseqs": "0.0.5", + "parseuri": "0.0.5", + "socket.io-parser": "~3.3.0", + "to-array": "0.1.4" + }, + "dependencies": { + "debug": { + "version": "4.1.1", + "resolved": "http://r.cnpmjs.org/debug/download/debug-4.1.1.tgz", + "integrity": "sha1-O3ImAlUQnGtYnO4FDx1RYTlmR5E=", + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "http://r.cnpmjs.org/ms/download/ms-2.1.2.tgz", + "integrity": "sha1-0J0fNXtEP0kzgqjrPM0YOHKuYAk=" + } + } + }, + "socket.io-parser": { + "version": "3.3.0", + "resolved": "http://r.cnpmjs.org/socket.io-parser/download/socket.io-parser-3.3.0.tgz", + "integrity": "sha1-K1KpalCf3zFEC6QP7WCUx9TxJi8=", + "requires": { + "component-emitter": "1.2.1", + "debug": "~3.1.0", + "isarray": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "http://r.cnpmjs.org/debug/download/debug-3.1.0.tgz", + "integrity": "sha1-W7WgZyYotkFJVmuhaBnmFRjGcmE=", + "requires": { + "ms": "2.0.0" + } + } + } + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "requires": { + "is-plain-obj": "^1.0.0" + } + }, + "sort-keys-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz", + "integrity": "sha1-nLb09OnkgVWmqgZx7dM2/xR5oYg=", + "requires": { + "sort-keys": "^1.0.0" + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "http://r.cnpmjs.org/source-list-map/download/source-list-map-2.0.1.tgz", + "integrity": "sha1-OZO9hzv8SEecyp6jpUeDXHwVSzQ=" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "http://r.cnpmjs.org/source-map-resolve/download/source-map-resolve-0.5.3.tgz", + "integrity": "sha1-GQhmvs51U+H48mei7oLGBrVQmho=", + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.4.18", + "resolved": "http://r.cnpmjs.org/source-map-support/download/source-map-support-0.4.18.tgz", + "integrity": "sha1-Aoam3ovkJkEzhZTpfM6nXwosWF8=", + "requires": { + "source-map": "^0.5.6" + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + }, + "sparkles": { + "version": "1.0.1", + "resolved": "http://r.cnpmjs.org/sparkles/download/sparkles-1.0.1.tgz", + "integrity": "sha1-AI22XtzmxQ7sDF4ijhlFBh3QQ3w=" + }, + "spdx-correct": { + "version": "3.1.0", + "resolved": "http://r.cnpmjs.org/spdx-correct/download/spdx-correct-3.1.0.tgz", + "integrity": "sha1-+4PlBERSaPFUsHTiGMh8ADzTHfQ=", + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.2.0", + "resolved": "http://r.cnpmjs.org/spdx-exceptions/download/spdx-exceptions-2.2.0.tgz", + "integrity": "sha1-LqRQrudPKom/uUUZwH/Nb0EyKXc=" + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "http://r.cnpmjs.org/spdx-expression-parse/download/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha1-meEZt6XaAOBUkcn6M4t5BII7QdA=", + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.5", + "resolved": "http://r.cnpmjs.org/spdx-license-ids/download/spdx-license-ids-3.0.5.tgz", + "integrity": "sha1-NpS1gEVnpFjTyARYQqY1hjL2JlQ=" + }, + "split-string": { + "version": "3.1.0", + "resolved": "http://r.cnpmjs.org/split-string/download/split-string-3.1.0.tgz", + "integrity": "sha1-fLCd2jqGWFcFxks5pkZgOGguj+I=", + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "squeak": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/squeak/-/squeak-1.3.0.tgz", + "integrity": "sha1-MwRQN7ZDiLVnZ0uEMiplIQc5FsM=", + "requires": { + "chalk": "^1.0.0", + "console-stream": "^0.1.1", + "lpad-align": "^1.0.1" + } + }, + "ssh2": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/ssh2/-/ssh2-0.3.6.tgz", + "integrity": "sha1-SQNENK7jgh7l/CK5UggeeAH/ku0=", + "requires": { + "asn1": "0.2.1", + "readable-stream": "1.0.27-1", + "streamsearch": "0.1.2" + }, + "dependencies": { + "asn1": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.1.tgz", + "integrity": "sha1-7Mc/ddMeo8btnUdCjbNf7Meyxtw=" + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "readable-stream": { + "version": "1.0.27-1", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.27-1.tgz", + "integrity": "sha1-a2eYPCA1fO/QfwFlABoW1xDZEHg=", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" + } + } + }, + "sshpk": { + "version": "1.16.1", + "resolved": "http://r.cnpmjs.org/sshpk/download/sshpk-1.16.1.tgz", + "integrity": "sha1-+2YcC+8ps520B2nuOfpwCT1vaHc=", + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + } + } + }, + "ssri": { + "version": "6.0.1", + "resolved": "http://r.cnpmjs.org/ssri/download/ssri-6.0.1.tgz", + "integrity": "sha1-KjxBso3UW2K2Nnbst0ABJlrp7dg=", + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "stable": { + "version": "0.1.8", + "resolved": "http://r.cnpmjs.org/stable/download/stable-0.1.8.tgz", + "integrity": "sha1-g26zyDgv4pNv6vVEYxAXzn1Ho88=" + }, + "stack-trace": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", + "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=" + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "statuses": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", + "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=" + }, + "stdout-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/stdout-stream/-/stdout-stream-1.4.1.tgz", + "integrity": "sha512-j4emi03KXqJWcIeF8eIXkjMFN1Cmb8gUlDYGeBALLPo5qdyTfA9bOtl8m33lRoC+vFMkP3gl0WsDr6+gzxbbTA==", + "requires": { + "readable-stream": "^2.0.1" + } + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "http://r.cnpmjs.org/stream-browserify/download/stream-browserify-2.0.2.tgz", + "integrity": "sha1-h1IdOKRKp+6RzhzSpH3wy0ndZgs=", + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-combiner": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.2.2.tgz", + "integrity": "sha1-rsjLrBd7Vrb0+kec7YwZEs7lKFg=", + "requires": { + "duplexer": "~0.1.1", + "through": "~2.3.4" + } + }, + "stream-each": { + "version": "1.2.3", + "resolved": "http://r.cnpmjs.org/stream-each/download/stream-each-1.2.3.tgz", + "integrity": "sha1-6+J6DDibBPvMIzZClS4Qcxr6m64=", + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-exhaust": { + "version": "1.0.2", + "resolved": "http://r.cnpmjs.org/stream-exhaust/download/stream-exhaust-1.0.2.tgz", + "integrity": "sha1-rNrI2lnvK8HheiwMz2wyDRIOVV0=" + }, + "stream-http": { + "version": "2.8.3", + "resolved": "http://r.cnpmjs.org/stream-http/download/stream-http-2.8.3.tgz", + "integrity": "sha1-stJCRpKIpaJ+xP6JM6z2I95lFPw=", + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "stream-shift": { + "version": "1.0.1", + "resolved": "http://r.cnpmjs.org/stream-shift/download/stream-shift-1.0.1.tgz", + "integrity": "sha1-1wiCgVWasneEJCebCHfaPDktWj0=" + }, + "stream-throttle": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/stream-throttle/-/stream-throttle-0.1.3.tgz", + "integrity": "sha1-rdV8jXzHOoFjDTHNVdOWHPr7qcM=", + "requires": { + "commander": "^2.2.0", + "limiter": "^1.0.5" + } + }, + "stream-to": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stream-to/-/stream-to-0.2.2.tgz", + "integrity": "sha1-hDBgmNhf25kLn6MAsbPM9V6O8B0=" + }, + "stream-to-buffer": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/stream-to-buffer/-/stream-to-buffer-0.1.0.tgz", + "integrity": "sha1-JnmdkDqyAlyb1VCsRxcbAPjdgKk=", + "requires": { + "stream-to": "~0.2.0" + } + }, + "streamsearch": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", + "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=" + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "string.prototype.trimleft": { + "version": "2.1.1", + "resolved": "http://r.cnpmjs.org/string.prototype.trimleft/download/string.prototype.trimleft-2.1.1.tgz", + "integrity": "sha1-m9uKxqvW1gKxek7TIYcNL43O/HQ=", + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string.prototype.trimright": { + "version": "2.1.1", + "resolved": "http://r.cnpmjs.org/string.prototype.trimright/download/string.prototype.trimright-2.1.1.tgz", + "integrity": "sha1-RAMUsVmWyGbOigNBiU1FGGIAxdk=", + "requires": { + "define-properties": "^1.1.3", + "function-bind": "^1.1.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "http://r.cnpmjs.org/string_decoder/download/string_decoder-1.1.1.tgz", + "integrity": "sha1-nPFhG6YmhdcDCunkujQUnDrwP8g=", + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "stringstream": { + "version": "0.0.6", + "resolved": "http://r.cnpmjs.org/stringstream/download/stringstream-0.0.6.tgz", + "integrity": "sha1-eIAiWw1K0Q4wkn0Weh1vL9OzOnI=" + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "requires": { + "is-utf8": "^0.2.0" + } + }, + "strip-dirs": { + "version": "2.1.0", + "resolved": "http://r.cnpmjs.org/strip-dirs/download/strip-dirs-2.1.0.tgz", + "integrity": "sha1-SYdzYmT8NEzyD2w0rKnRPR1O1sU=", + "requires": { + "is-natural-number": "^4.0.1" + } + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "optional": true + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "requires": { + "get-stdin": "^4.0.1" + } + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=" + }, + "strip-outer": { + "version": "1.0.1", + "resolved": "http://r.cnpmjs.org/strip-outer/download/strip-outer-1.0.1.tgz", + "integrity": "sha1-sv0qv2YEudHmATBXGV34Nrip1jE=", + "requires": { + "escape-string-regexp": "^1.0.2" + } + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "^1.0.0" + } + }, + "sver-compat": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz", + "integrity": "sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg=", + "requires": { + "es6-iterator": "^2.0.1", + "es6-symbol": "^3.1.1" + } + }, + "svg-sprite": { + "version": "1.5.0", + "resolved": "http://r.cnpmjs.org/svg-sprite/download/svg-sprite-1.5.0.tgz", + "integrity": "sha1-0MDdL5qhvBLKZJ16jzATcLJuQs4=", + "requires": { + "async": "^2.6.1", + "css-selector-parser": "^1.3.0", + "cssmin": "^0.4.3", + "cssom": "^0.3.4", + "dateformat": "^3.0.3", + "glob": "^7.1.3", + "js-yaml": "^3.12.0", + "lodash": "^4.17.11", + "lodash.pluck": "^3.1.2", + "mkdirp": "^0.5.1", + "mocha": "^5.2.0", + "mustache": "^3.0.0", + "phantomjs-prebuilt": "^2.1.16", + "prettysize": "^1.1.0", + "should": "^13.2.3", + "svgo": "^1.1.1", + "vinyl": "^2.2.0", + "winston": "^3.1.0", + "xmldom": "0.1.27", + "xpath": "^0.0.27", + "yargs": "^12.0.2" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "http://r.cnpmjs.org/ansi-styles/download/ansi-styles-3.2.1.tgz", + "integrity": "sha1-QfuyAkPlCxK+DwS43tvwdSDOhB0=", + "requires": { + "color-convert": "^1.9.0" + } + }, + "async": { + "version": "2.6.3", + "resolved": "http://r.cnpmjs.org/async/download/async-2.6.3.tgz", + "integrity": "sha1-1yYl4jRKNlbjo61Pp0n6gymdgv8=", + "requires": { + "lodash": "^4.17.14" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "http://r.cnpmjs.org/camelcase/download/camelcase-5.3.1.tgz", + "integrity": "sha1-48mzFWnhBoEd8kL3FXJaH0xJQyA=" + }, + "chalk": { + "version": "2.4.2", + "resolved": "http://r.cnpmjs.org/chalk/download/chalk-2.4.2.tgz", + "integrity": "sha1-zUJUFnelQzPPVBpJEIwUMrRMlCQ=", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "cliui": { + "version": "4.1.0", + "resolved": "http://r.cnpmjs.org/cliui/download/cliui-4.1.0.tgz", + "integrity": "sha1-NIQi2+gtgAswIu709qwQvy5NG0k=", + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "coa": { + "version": "2.0.2", + "resolved": "http://r.cnpmjs.org/coa/download/coa-2.0.2.tgz", + "integrity": "sha1-Q/bCEVG07yv1cYfbDXPeIp4+fsM=", + "requires": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + } + }, + "css-select": { + "version": "2.1.0", + "resolved": "http://r.cnpmjs.org/css-select/download/css-select-2.1.0.tgz", + "integrity": "sha1-ajRlM1ZjWTSoG6ymjQJVQyEF2+8=", + "requires": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-what": { + "version": "3.2.1", + "resolved": "http://r.cnpmjs.org/css-what/download/css-what-3.2.1.tgz", + "integrity": "sha1-9KjxJCEGRiG0VnVeNKA6LCLfXaE=" + }, + "csso": { + "version": "4.0.2", + "resolved": "http://r.cnpmjs.org/csso/download/csso-4.0.2.tgz", + "integrity": "sha1-5fgas6Vrju+38Aks5yeTKfRU3j0=", + "requires": { + "css-tree": "1.0.0-alpha.37" + } + }, + "dateformat": { + "version": "3.0.3", + "resolved": "http://r.cnpmjs.org/dateformat/download/dateformat-3.0.3.tgz", + "integrity": "sha1-puN0maTZqc+F71hyBE1ikByYia4=" + }, + "domutils": { + "version": "1.7.0", + "resolved": "http://r.cnpmjs.org/domutils/download/domutils-1.7.0.tgz", + "integrity": "sha1-Vuo0HoNOBuZ0ivehyyXaZ+qfjCo=", + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "http://r.cnpmjs.org/esprima/download/esprima-4.0.1.tgz", + "integrity": "sha1-E7BM2z5sXRnfkatph6hpVhmwqnE=" + }, + "execa": { + "version": "1.0.0", + "resolved": "http://r.cnpmjs.org/execa/download/execa-1.0.0.tgz", + "integrity": "sha1-xiNqW7TfbW8V6I5/AXeYIWdJ3dg=", + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "http://r.cnpmjs.org/find-up/download/find-up-3.0.0.tgz", + "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", + "requires": { + "locate-path": "^3.0.0" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "http://r.cnpmjs.org/get-stream/download/get-stream-4.1.0.tgz", + "integrity": "sha1-wbJVV189wh1Zv8ec09K0axw6VLU=", + "requires": { + "pump": "^3.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "invert-kv": { + "version": "2.0.0", + "resolved": "http://r.cnpmjs.org/invert-kv/download/invert-kv-2.0.0.tgz", + "integrity": "sha1-c5P1r6Weyf9fZ6J2INEcIm4+7AI=" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "http://r.cnpmjs.org/js-yaml/download/js-yaml-3.13.1.tgz", + "integrity": "sha1-r/FRswv9+o5J4F2iLnQV6d+jeEc=", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "lcid": { + "version": "2.0.0", + "resolved": "http://r.cnpmjs.org/lcid/download/lcid-2.0.0.tgz", + "integrity": "sha1-bvXS32DlL4LrIopMNz6NHzlyU88=", + "requires": { + "invert-kv": "^2.0.0" + } + }, + "os-locale": { + "version": "3.1.0", + "resolved": "http://r.cnpmjs.org/os-locale/download/os-locale-3.1.0.tgz", + "integrity": "sha1-qAKm7hfyTBBIOrmTVxnO9O0Wvxo=", + "requires": { + "execa": "^1.0.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + } + }, + "pump": { + "version": "3.0.0", + "resolved": "http://r.cnpmjs.org/pump/download/pump-3.0.0.tgz", + "integrity": "sha1-tKIRaBW94vTh6mAjVOjHVWUQemQ=", + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "http://r.cnpmjs.org/string-width/download/string-width-2.1.1.tgz", + "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "http://r.cnpmjs.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "requires": { + "has-flag": "^3.0.0" + } + }, + "svgo": { + "version": "1.3.2", + "resolved": "http://r.cnpmjs.org/svgo/download/svgo-1.3.2.tgz", + "integrity": "sha1-ttxRHAYzRsnkFbgeQ0ARRbltQWc=", + "requires": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "yargs": { + "version": "12.0.5", + "resolved": "http://r.cnpmjs.org/yargs/download/yargs-12.0.5.tgz", + "integrity": "sha1-BfWZe2CWR7ZPZrgeO0sQo2jnrRM=", + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.2.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^11.1.1" + } + }, + "yargs-parser": { + "version": "11.1.1", + "resolved": "http://r.cnpmjs.org/yargs-parser/download/yargs-parser-11.1.1.tgz", + "integrity": "sha1-h5oIZZc7yp9rq1y987HGfsfTvPQ=", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "svg-to-png": { + "version": "4.0.0", + "resolved": "http://r.cnpmjs.org/svg-to-png/download/svg-to-png-4.0.0.tgz", + "integrity": "sha1-epQZy2dZOx+Taskemc8Nepjnu/4=", + "requires": { + "imagemin": "^6.0.0", + "phantomjs-prebuilt": "^2.1.7" + }, + "dependencies": { + "@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "http://r.cnpmjs.org/@nodelib/fs.stat/download/@nodelib/fs.stat-1.1.3.tgz", + "integrity": "sha1-K1o6s/kYzKSKjHVMCBaOPwPrphs=" + }, + "dir-glob": { + "version": "2.0.0", + "resolved": "http://r.cnpmjs.org/dir-glob/download/dir-glob-2.0.0.tgz", + "integrity": "sha1-CyBdK2rvmCOMooZZioIE0p0KADQ=", + "requires": { + "arrify": "^1.0.1", + "path-type": "^3.0.0" + } + }, + "fast-glob": { + "version": "2.2.7", + "resolved": "http://r.cnpmjs.org/fast-glob/download/fast-glob-2.2.7.tgz", + "integrity": "sha1-aVOFfDr6R1//ku5gFdUtpwpM050=", + "requires": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + } + }, + "file-type": { + "version": "10.11.0", + "resolved": "http://r.cnpmjs.org/file-type/download/file-type-10.11.0.tgz", + "integrity": "sha1-KWHQnkZ1ufuaPua2npzSP0P9GJA=" + }, + "globby": { + "version": "8.0.2", + "resolved": "http://r.cnpmjs.org/globby/download/globby-8.0.2.tgz", + "integrity": "sha1-VpdhnM2VxSdduy1vqkIIfBqUHY0=", + "requires": { + "array-union": "^1.0.1", + "dir-glob": "2.0.0", + "fast-glob": "^2.0.2", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "ignore": { + "version": "3.3.10", + "resolved": "http://r.cnpmjs.org/ignore/download/ignore-3.3.10.tgz", + "integrity": "sha1-Cpf7h2mG6AgcYxFg+PnziRV/AEM=" + }, + "imagemin": { + "version": "6.1.0", + "resolved": "http://r.cnpmjs.org/imagemin/download/imagemin-6.1.0.tgz", + "integrity": "sha1-YlCLRlco/qNsA83AfZFf4tjPnhM=", + "requires": { + "file-type": "^10.7.0", + "globby": "^8.0.1", + "make-dir": "^1.0.0", + "p-pipe": "^1.1.0", + "pify": "^4.0.1", + "replace-ext": "^1.0.0" + } + }, + "make-dir": { + "version": "1.3.0", + "resolved": "http://r.cnpmjs.org/make-dir/download/make-dir-1.3.0.tgz", + "integrity": "sha1-ecEDO4BRW9bSTsmTPoYMp17ifww=", + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "p-pipe": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-1.2.0.tgz", + "integrity": "sha1-SxoROZoRUgpneQ7loMHViB1r7+k=" + }, + "path-type": { + "version": "3.0.0", + "resolved": "http://r.cnpmjs.org/path-type/download/path-type-3.0.0.tgz", + "integrity": "sha1-zvMdyOCho7sNEFwM2Xzzv0f0428=", + "requires": { + "pify": "^3.0.0" + }, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "pify": { + "version": "4.0.1", + "resolved": "http://r.cnpmjs.org/pify/download/pify-4.0.1.tgz", + "integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE=" + } + } + }, + "svgo": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", + "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", + "requires": { + "coa": "~1.0.1", + "colors": "~1.1.2", + "csso": "~2.3.1", + "js-yaml": "~3.7.0", + "mkdirp": "~0.5.1", + "sax": "~1.2.1", + "whet.extend": "~0.9.9" + }, + "dependencies": { + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=" + }, + "js-yaml": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", + "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", + "requires": { + "argparse": "^1.0.7", + "esprima": "^2.6.0" + } + } + } + }, + "symbol-observable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.0.1.tgz", + "integrity": "sha1-g0D8RwLDEi310iKI+IKD9RPT/dQ=" + }, + "table": { + "version": "5.4.6", + "resolved": "http://r.cnpmjs.org/table/download/table-5.4.6.tgz", + "integrity": "sha1-EpLRlQDOP4YFOwXw6Ofko7shB54=", + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "http://r.cnpmjs.org/ansi-regex/download/ansi-regex-4.1.0.tgz", + "integrity": "sha1-i5+PCM8ay4Q3Vqg5yox+MWjFGZc=" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "string-width": { + "version": "3.1.0", + "resolved": "http://r.cnpmjs.org/string-width/download/string-width-3.1.0.tgz", + "integrity": "sha1-InZ74htirxCBV0MG9prFG2IgOWE=", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "http://r.cnpmjs.org/strip-ansi/download/strip-ansi-5.2.0.tgz", + "integrity": "sha1-jJpTb+tq/JYr36WxBKUJHBrZwK4=", + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "tapable": { + "version": "0.2.9", + "resolved": "http://r.cnpmjs.org/tapable/download/tapable-0.2.9.tgz", + "integrity": "sha1-ry2LvJsE907hevK02QSPgHrNGKg=" + }, + "tar": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/tar/-/tar-2.2.2.tgz", + "integrity": "sha512-FCEhQ/4rE1zYv9rYXJw/msRqsnmlje5jHP6huWeBZ704jUTy02c5AZyWujpMR1ax6mVw9NyJMfuK2CMDWVIfgA==", + "requires": { + "block-stream": "*", + "fstream": "^1.0.12", + "inherits": "2" + } + }, + "tar-stream": { + "version": "1.6.2", + "resolved": "http://r.cnpmjs.org/tar-stream/download/tar-stream-1.6.2.tgz", + "integrity": "sha1-jqVdqzeXIlPZqa+Q/c1VmuQ1xVU=", + "requires": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + } + }, + "temp-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz", + "integrity": "sha1-CnwOom06Oa+n4OvqnB/AvE2qAR0=" + }, + "tempfile": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tempfile/-/tempfile-2.0.0.tgz", + "integrity": "sha1-awRGhWqbERTRhW/8vlCczLCXcmU=", + "requires": { + "temp-dir": "^1.0.0", + "uuid": "^3.0.1" + } + }, + "ternary-stream": { + "version": "2.1.1", + "resolved": "http://r.cnpmjs.org/ternary-stream/download/ternary-stream-2.1.1.tgz", + "integrity": "sha1-StZLmGaNeWoIWvLEk4haQ1qKi/w=", + "requires": { + "duplexify": "^3.5.0", + "fork-stream": "^0.0.4", + "merge-stream": "^1.0.0", + "through2": "^2.0.1" + } + }, + "terser": { + "version": "4.6.3", + "resolved": "http://r.cnpmjs.org/terser/download/terser-4.6.3.tgz", + "integrity": "sha1-4zqkJGHO1SONNS0t8qZ/IZIfjYc=", + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "http://r.cnpmjs.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" + }, + "source-map-support": { + "version": "0.5.16", + "resolved": "http://r.cnpmjs.org/source-map-support/download/source-map-support-0.5.16.tgz", + "integrity": "sha1-CuBp5/47p1OMZMmFFeNTOerFoEI=", + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + } + } + }, + "terser-webpack-plugin": { + "version": "1.4.3", + "resolved": "http://r.cnpmjs.org/terser-webpack-plugin/download/terser-webpack-plugin-1.4.3.tgz", + "integrity": "sha1-Xsry29xfuZdF/QZ5H0b8ndscmnw=", + "requires": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^2.1.2", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + }, + "dependencies": { + "find-cache-dir": { + "version": "2.1.0", + "resolved": "http://r.cnpmjs.org/find-cache-dir/download/find-cache-dir-2.1.0.tgz", + "integrity": "sha1-jQ+UzRP+Q8bHwmGg2GEVypGMBfc=", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "http://r.cnpmjs.org/find-up/download/find-up-3.0.0.tgz", + "integrity": "sha1-SRafHXmTQwZG2mHsxa41XCHJe3M=", + "requires": { + "locate-path": "^3.0.0" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "http://r.cnpmjs.org/make-dir/download/make-dir-2.1.0.tgz", + "integrity": "sha1-XwMQ4YuL6JjMBwCSlaMK5B6R5vU=", + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "pify": { + "version": "4.0.1", + "resolved": "http://r.cnpmjs.org/pify/download/pify-4.0.1.tgz", + "integrity": "sha1-SyzSXFDVmHNcUCkiJP2MbfQeMjE=" + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "http://r.cnpmjs.org/pkg-dir/download/pkg-dir-3.0.0.tgz", + "integrity": "sha1-J0kCDyOe2ZCIGx9xIQ1R62UjvqM=", + "requires": { + "find-up": "^3.0.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "http://r.cnpmjs.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" + } + } + }, + "text-hex": { + "version": "1.0.0", + "resolved": "http://r.cnpmjs.org/text-hex/download/text-hex-1.0.0.tgz", + "integrity": "sha1-adycGxdEbueakr9biEu0uRJ1BvU=" + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=" + }, + "textextensions": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-1.0.2.tgz", + "integrity": "sha1-ZUhjk+4fK7A5pgy7oFsLaL2VAdI=" + }, + "tfunk": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tfunk/-/tfunk-3.1.0.tgz", + "integrity": "sha1-OORBT8ZJd9h6/apy+sttKfgve1s=", + "requires": { + "chalk": "^1.1.1", + "object-path": "^0.9.0" + } + }, + "throttleit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", + "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=" + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "through2": { + "version": "2.0.5", + "resolved": "http://r.cnpmjs.org/through2/download/through2-2.0.5.tgz", + "integrity": "sha1-AcHjnrMdB8t9A6lqcIIyYLIxMs0=", + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "through2-concurrent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/through2-concurrent/-/through2-concurrent-2.0.0.tgz", + "integrity": "sha512-R5/jLkfMvdmDD+seLwN7vB+mhbqzWop5fAjx5IX8/yQq7VhBhzDmhXgaHAOnhnWkCpRMM7gToYHycB0CS/pd+A==", + "dev": true, + "requires": { + "through2": "^2.0.0" + } + }, + "through2-filter": { + "version": "3.0.0", + "resolved": "http://r.cnpmjs.org/through2-filter/download/through2-filter-3.0.0.tgz", + "integrity": "sha1-cA54bfI2fCyIzYqlvkz5weeDElQ=", + "requires": { + "through2": "~2.0.0", + "xtend": "~4.0.0" + } + }, + "time-stamp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", + "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=" + }, + "timed-out": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz", + "integrity": "sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8=" + }, + "timers-browserify": { + "version": "2.0.11", + "resolved": "http://r.cnpmjs.org/timers-browserify/download/timers-browserify-2.0.11.tgz", + "integrity": "sha1-gAsfPu4nLlvFPuRloE0OgEwxIR8=", + "requires": { + "setimmediate": "^1.0.4" + } + }, + "tinycolor2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.1.tgz", + "integrity": "sha1-9PrTM0R7wLB9TcjpIJ2POaisd+g=" + }, + "tmp": { + "version": "0.0.33", + "resolved": "http://r.cnpmjs.org/tmp/download/tmp-0.0.33.tgz", + "integrity": "sha1-bTQzWIl2jSGyvNoKonfO07G/rfk=", + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "tmt-ejs-helper": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/tmt-ejs-helper/-/tmt-ejs-helper-0.0.1.tgz", + "integrity": "sha1-LI4KzG8wh+3uA7Lx0wesz7+8xjo=", + "requires": { + "ejs": "^2.3.1", + "lodash": "^3.5.0" + }, + "dependencies": { + "lodash": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz", + "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=" + } + } + }, + "to-absolute-glob": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz", + "integrity": "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=", + "requires": { + "is-absolute": "^1.0.0", + "is-negated-glob": "^1.0.0" + } + }, + "to-array": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", + "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=" + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + }, + "to-buffer": { + "version": "1.1.1", + "resolved": "http://r.cnpmjs.org/to-buffer/download/to-buffer-1.1.1.tgz", + "integrity": "sha1-STvUj2LXxD/N7TE6A9ytsuEhOoA=" + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" + }, + "to-iso-string": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/to-iso-string/-/to-iso-string-0.0.2.tgz", + "integrity": "sha1-TcGeZk38y+Jb2NtQiwDG2hWCVdE=" + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "http://r.cnpmjs.org/to-regex/download/to-regex-3.0.2.tgz", + "integrity": "sha1-E8/dmzNlUvMLUfM6iuG0Knp1mc4=", + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "to-through": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz", + "integrity": "sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY=", + "requires": { + "through2": "^2.0.3" + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "http://r.cnpmjs.org/toidentifier/download/toidentifier-1.0.0.tgz", + "integrity": "sha1-fhvjRw8ed5SLxD2Uo8j013UrpVM=" + }, + "tough-cookie": { + "version": "2.3.4", + "resolved": "http://r.cnpmjs.org/tough-cookie/download/tough-cookie-2.3.4.tgz", + "integrity": "sha1-7GDO44rGdQY//JelwYlwV47oNlU=", + "requires": { + "punycode": "^1.4.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "http://r.cnpmjs.org/punycode/download/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + } + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=" + }, + "trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=", + "requires": { + "escape-string-regexp": "^1.0.2" + } + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" + }, + "triple-beam": { + "version": "1.3.0", + "resolved": "http://r.cnpmjs.org/triple-beam/download/triple-beam-1.3.0.tgz", + "integrity": "sha1-pZUhTHKY24M57u7gg+TRC9jLjdk=" + }, + "true-case-path": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/true-case-path/-/true-case-path-1.0.3.tgz", + "integrity": "sha512-m6s2OdQe5wgpFMC+pAJ+q9djG82O2jcHPOI6RNg1yy9rCYR+WD6Nbpl32fDpfC56nirdRy+opFa/Vk7HYhqaew==", + "requires": { + "glob": "^7.1.2" + } + }, + "tslib": { + "version": "1.10.0", + "resolved": "http://r.cnpmjs.org/tslib/download/tslib-1.10.0.tgz", + "integrity": "sha1-w8GflZc/sKYpc/sJ2Q2WHuQ+XIo=" + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=" + }, + "type": { + "version": "1.2.0", + "resolved": "http://r.cnpmjs.org/type/download/type-1.2.0.tgz", + "integrity": "sha1-hI3XaY2vo+VKbEeedZxLw/GIR6A=" + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-fest": { + "version": "0.5.2", + "resolved": "http://r.cnpmjs.org/type-fest/download/type-fest-0.5.2.tgz", + "integrity": "sha1-1u9CoDVsbNRfSUhcO2KB/BSOSKI=" + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "ua-parser-js": { + "version": "0.7.17", + "resolved": "http://r.cnpmjs.org/ua-parser-js/download/ua-parser-js-0.7.17.tgz", + "integrity": "sha1-6exflJi57JEOeuOsYmqAXE0J7Kw=" + }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "requires": { + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" + }, + "dependencies": { + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "requires": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + } + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "requires": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + } + } + }, + "uglify-save-license": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/uglify-save-license/-/uglify-save-license-0.4.1.tgz", + "integrity": "sha1-lXJsF8xv0XHDYX479NjYKqjEzOE=" + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=" + }, + "ultron": { + "version": "1.1.1", + "resolved": "http://r.cnpmjs.org/ultron/download/ultron-1.1.1.tgz", + "integrity": "sha1-n+FTahCmZKZSZqHjzPhf02MCvJw=" + }, + "unbzip2-stream": { + "version": "1.3.3", + "resolved": "http://r.cnpmjs.org/unbzip2-stream/download/unbzip2-stream-1.3.3.tgz", + "integrity": "sha1-0VbSBeZw2NjDk+HALr1QZCKHP2o=", + "requires": { + "buffer": "^5.2.1", + "through": "^2.3.8" + } + }, + "unc-path-regex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", + "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=" + }, + "undertaker": { + "version": "1.2.1", + "resolved": "http://r.cnpmjs.org/undertaker/download/undertaker-1.2.1.tgz", + "integrity": "sha1-cBZi/4zjWHFTJN/UkqTwNgVd/ks=", + "requires": { + "arr-flatten": "^1.0.1", + "arr-map": "^2.0.0", + "bach": "^1.0.0", + "collection-map": "^1.0.0", + "es6-weak-map": "^2.0.1", + "last-run": "^1.1.0", + "object.defaults": "^1.0.0", + "object.reduce": "^1.0.0", + "undertaker-registry": "^1.0.0" + } + }, + "undertaker-registry": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.1.tgz", + "integrity": "sha1-XkvaMI5KiirlhPm5pDWaSZglzFA=" + }, + "union-value": { + "version": "1.0.1", + "resolved": "http://r.cnpmjs.org/union-value/download/union-value-1.0.1.tgz", + "integrity": "sha1-C2/nuDWuzaYcbqTU8CwUIh4QmEc=", + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" + }, + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=" + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "http://r.cnpmjs.org/unique-filename/download/unique-filename-1.1.1.tgz", + "integrity": "sha1-HWl2k2mtoFgxA6HmrodoG1ZXMjA=", + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "http://r.cnpmjs.org/unique-slug/download/unique-slug-2.0.2.tgz", + "integrity": "sha1-uqvOkQg/xk6UWw861hPiZPfNTmw=", + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "unique-stream": { + "version": "2.3.1", + "resolved": "http://r.cnpmjs.org/unique-stream/download/unique-stream-2.3.1.tgz", + "integrity": "sha1-xl0RDppK35psWUiygFPZqNBMvqw=", + "requires": { + "json-stable-stringify-without-jsonify": "^1.0.1", + "through2-filter": "^3.0.0" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "http://r.cnpmjs.org/universalify/download/universalify-0.1.2.tgz", + "integrity": "sha1-tkb2m+OULavOzJ1mOcgNwQXvqmY=" + }, + "unorm": { + "version": "1.6.0", + "resolved": "http://r.cnpmjs.org/unorm/download/unorm-1.6.0.tgz", + "integrity": "sha1-ApsolmH7pxTxqa9DnrUdmxbCBa8=" + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=" + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "http://r.cnpmjs.org/upath/download/upath-1.2.0.tgz", + "integrity": "sha1-j2bbzVWog6za5ECK+LA1pQRMGJQ=" + }, + "uri-js": { + "version": "4.2.2", + "resolved": "http://r.cnpmjs.org/uri-js/download/uri-js-4.2.2.tgz", + "integrity": "sha1-lMVA4f93KVbiKZUHwBCupsiDjrA=", + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + } + } + }, + "url-parse-lax": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", + "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", + "requires": { + "prepend-http": "^1.0.1" + } + }, + "url-regex": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/url-regex/-/url-regex-3.2.0.tgz", + "integrity": "sha1-260eDJ4p4QXdCx8J9oYvf9tIJyQ=", + "requires": { + "ip-regex": "^1.0.1" + } + }, + "url-to-options": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/url-to-options/-/url-to-options-1.0.1.tgz", + "integrity": "sha1-FQWgOiiaSMvXpDTvuu7FBV9WM6k=" + }, + "use": { + "version": "3.1.1", + "resolved": "http://r.cnpmjs.org/use/download/use-3.1.1.tgz", + "integrity": "sha1-1QyMrHmhn7wg8pEfVuuXP04QBw8=" + }, + "util": { + "version": "0.11.1", + "resolved": "http://r.cnpmjs.org/util/download/util-0.11.1.tgz", + "integrity": "sha1-MjZzNyDsZLsn9uJvQhqqLhtYjWE=", + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "http://r.cnpmjs.org/inherits/download/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "util.promisify": { + "version": "1.0.1", + "resolved": "http://r.cnpmjs.org/util.promisify/download/util.promisify-1.0.1.tgz", + "integrity": "sha1-a693dLgO6w91INi4HQeYKlmruu4=", + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + } + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "uuid": { + "version": "3.4.0", + "resolved": "http://r.cnpmjs.org/uuid/download/uuid-3.4.0.tgz", + "integrity": "sha1-sj5DWK+oogL+ehAK8fX4g/AgB+4=" + }, + "v8flags": { + "version": "3.1.3", + "resolved": "http://r.cnpmjs.org/v8flags/download/v8flags-3.1.3.tgz", + "integrity": "sha1-/J3CNSHKIMVDP4HMTrmzAzuxBdg=", + "requires": { + "homedir-polyfill": "^1.0.1" + } + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "http://r.cnpmjs.org/validate-npm-package-license/download/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha1-/JH2uce6FchX9MssXe/uw51PQQo=", + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "value-or-function": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz", + "integrity": "sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM=" + }, + "vendors": { + "version": "1.0.4", + "resolved": "http://r.cnpmjs.org/vendors/download/vendors-1.0.4.tgz", + "integrity": "sha1-4rgApT56Kbk1BsPPQRANFsTErY4=" + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + }, + "dependencies": { + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=" + } + } + }, + "vinyl": { + "version": "2.2.0", + "resolved": "http://r.cnpmjs.org/vinyl/download/vinyl-2.2.0.tgz", + "integrity": "sha1-2FsH2pbkWNJbL/4Z/s6fLKoT7YY=", + "requires": { + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" + } + }, + "vinyl-fs": { + "version": "3.0.3", + "resolved": "http://r.cnpmjs.org/vinyl-fs/download/vinyl-fs-3.0.3.tgz", + "integrity": "sha1-yFhJQF9nQo/qu71cXb3WT0fTG8c=", + "requires": { + "fs-mkdirp-stream": "^1.0.0", + "glob-stream": "^6.1.0", + "graceful-fs": "^4.0.0", + "is-valid-glob": "^1.0.0", + "lazystream": "^1.0.0", + "lead": "^1.0.0", + "object.assign": "^4.0.4", + "pumpify": "^1.3.5", + "readable-stream": "^2.3.3", + "remove-bom-buffer": "^3.0.0", + "remove-bom-stream": "^1.2.0", + "resolve-options": "^1.1.0", + "through2": "^2.0.0", + "to-through": "^2.0.0", + "value-or-function": "^3.0.0", + "vinyl": "^2.0.0", + "vinyl-sourcemap": "^1.1.0" + } + }, + "vinyl-sourcemap": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz", + "integrity": "sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY=", + "requires": { + "append-buffer": "^1.0.2", + "convert-source-map": "^1.5.0", + "graceful-fs": "^4.1.6", + "normalize-path": "^2.1.1", + "now-and-later": "^2.0.0", + "remove-bom-buffer": "^3.0.0", + "vinyl": "^2.0.0" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "vinyl-sourcemaps-apply": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz", + "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=", + "requires": { + "source-map": "^0.5.1" + } + }, + "vm-browserify": { + "version": "1.1.2", + "resolved": "http://r.cnpmjs.org/vm-browserify/download/vm-browserify-1.1.2.tgz", + "integrity": "sha1-eGQcSIuObKkadfUR56OzKobl3aA=" + }, + "watchpack": { + "version": "1.6.0", + "resolved": "http://r.cnpmjs.org/watchpack/download/watchpack-1.6.0.tgz", + "integrity": "sha1-S8EsLr6KonenHx0/FNaFx7RGzQA=", + "requires": { + "chokidar": "^2.0.2", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0" + } + }, + "webpack": { + "version": "2.7.0", + "resolved": "http://r.cnpmjs.org/webpack/download/webpack-2.7.0.tgz", + "integrity": "sha1-sqEiaAQ3P/09A+qca9UlBnA09rE=", + "requires": { + "acorn": "^5.0.0", + "acorn-dynamic-import": "^2.0.0", + "ajv": "^4.7.0", + "ajv-keywords": "^1.1.1", + "async": "^2.1.2", + "enhanced-resolve": "^3.3.0", + "interpret": "^1.0.0", + "json-loader": "^0.5.4", + "json5": "^0.5.1", + "loader-runner": "^2.3.0", + "loader-utils": "^0.2.16", + "memory-fs": "~0.4.1", + "mkdirp": "~0.5.0", + "node-libs-browser": "^2.0.0", + "source-map": "^0.5.3", + "supports-color": "^3.1.0", + "tapable": "~0.2.5", + "uglify-js": "^2.8.27", + "watchpack": "^1.3.1", + "webpack-sources": "^1.0.1", + "yargs": "^6.0.0" + }, + "dependencies": { + "acorn": { + "version": "5.7.3", + "resolved": "http://r.cnpmjs.org/acorn/download/acorn-5.7.3.tgz", + "integrity": "sha1-Z6ojG/iBKXS4UjWpZ3Hra9B+onk=" + }, + "ajv": { + "version": "4.11.8", + "resolved": "http://r.cnpmjs.org/ajv/download/ajv-4.11.8.tgz", + "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=", + "requires": { + "co": "^4.6.0", + "json-stable-stringify": "^1.0.1" + } + }, + "async": { + "version": "2.6.3", + "resolved": "http://r.cnpmjs.org/async/download/async-2.6.3.tgz", + "integrity": "sha1-1yYl4jRKNlbjo61Pp0n6gymdgv8=", + "requires": { + "lodash": "^4.17.14" + } + } + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "http://r.cnpmjs.org/webpack-sources/download/webpack-sources-1.4.3.tgz", + "integrity": "sha1-7t2OwLko+/HL/plOItLYkPMwqTM=", + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "http://r.cnpmjs.org/source-map/download/source-map-0.6.1.tgz", + "integrity": "sha1-dHIq8y6WFOnCh6jQu95IteLxomM=" + } + } + }, + "webpack-stream": { + "version": "5.2.1", + "resolved": "http://r.cnpmjs.org/webpack-stream/download/webpack-stream-5.2.1.tgz", + "integrity": "sha1-NcmSFhOZ/oytnBDUpcJY8CJimzk=", + "requires": { + "fancy-log": "^1.3.3", + "lodash.clone": "^4.3.2", + "lodash.some": "^4.2.2", + "memory-fs": "^0.4.1", + "plugin-error": "^1.0.1", + "supports-color": "^5.5.0", + "through": "^2.3.8", + "vinyl": "^2.1.0", + "webpack": "^4.26.1" + }, + "dependencies": { + "ajv-keywords": { + "version": "3.4.1", + "resolved": "http://r.cnpmjs.org/ajv-keywords/download/ajv-keywords-3.4.1.tgz", + "integrity": "sha1-75FuJxxkrBIXH9g4TqrmsjRYVNo=" + }, + "big.js": { + "version": "5.2.2", + "resolved": "http://r.cnpmjs.org/big.js/download/big.js-5.2.2.tgz", + "integrity": "sha1-ZfCvOC9Xi83HQr2cKB6cstd2gyg=" + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "http://r.cnpmjs.org/emojis-list/download/emojis-list-3.0.0.tgz", + "integrity": "sha1-VXBmIEatKeLpFucariYKvf9Pang=" + }, + "enhanced-resolve": { + "version": "4.1.1", + "resolved": "http://r.cnpmjs.org/enhanced-resolve/download/enhanced-resolve-4.1.1.tgz", + "integrity": "sha1-KTfiuAZs0P584JkKmPDXGjUYn2Y=", + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.5.0", + "resolved": "http://r.cnpmjs.org/memory-fs/download/memory-fs-0.5.0.tgz", + "integrity": "sha1-MkwBKIuIZSlm0WHbd4OHIIRajjw=", + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + } + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "json5": { + "version": "1.0.1", + "resolved": "http://r.cnpmjs.org/json5/download/json5-1.0.1.tgz", + "integrity": "sha1-d5+wAYYE+oVOrL9iUhgNg1Q+Pb4=", + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "http://r.cnpmjs.org/loader-utils/download/loader-utils-1.4.0.tgz", + "integrity": "sha1-xXm140yzSxp07cbB+za/o3HVphM=", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "http://r.cnpmjs.org/supports-color/download/supports-color-5.5.0.tgz", + "integrity": "sha1-4uaaRKyHcveKHsCzW2id9lMO/I8=", + "requires": { + "has-flag": "^3.0.0" + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "http://r.cnpmjs.org/tapable/download/tapable-1.1.3.tgz", + "integrity": "sha1-ofzMBrWNth/XpF2i2kT186Pme6I=" + }, + "webpack": { + "version": "4.41.6", + "resolved": "http://r.cnpmjs.org/webpack/download/webpack-4.41.6.tgz", + "integrity": "sha1-EvL4BL9lQu8WZ1UFDUr7yPZrp+E=", + "requires": { + "@webassemblyjs/ast": "1.8.5", + "@webassemblyjs/helper-module-context": "1.8.5", + "@webassemblyjs/wasm-edit": "1.8.5", + "@webassemblyjs/wasm-parser": "1.8.5", + "acorn": "^6.2.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.1.0", + "eslint-scope": "^4.0.3", + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^2.4.0", + "loader-utils": "^1.2.3", + "memory-fs": "^0.4.1", + "micromatch": "^3.1.10", + "mkdirp": "^0.5.1", + "neo-async": "^2.6.1", + "node-libs-browser": "^2.2.1", + "schema-utils": "^1.0.0", + "tapable": "^1.1.3", + "terser-webpack-plugin": "^1.4.3", + "watchpack": "^1.6.0", + "webpack-sources": "^1.4.1" + } + } + } + }, + "when": { + "version": "3.7.8", + "resolved": "https://registry.npmjs.org/when/-/when-3.7.8.tgz", + "integrity": "sha1-xxMLan6gRpPoQs3J56Hyqjmjn4I=" + }, + "whet.extend": { + "version": "0.9.9", + "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", + "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=" + }, + "which": { + "version": "1.3.1", + "resolved": "http://r.cnpmjs.org/which/download/which-1.3.1.tgz", + "integrity": "sha1-pFBD1U9YBTFtqNYvn1CRjT2nCwo=", + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" + }, + "wide-align": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", + "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", + "requires": { + "string-width": "^1.0.2 || 2" + } + }, + "window-size": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz", + "integrity": "sha1-tDFbtCFKPXBY6+7okuE/ok2YsHU=" + }, + "winston": { + "version": "3.2.1", + "resolved": "http://r.cnpmjs.org/winston/download/winston-3.2.1.tgz", + "integrity": "sha1-YwYTd5dsc1hAKL4kkKGEYFX3fwc=", + "requires": { + "async": "^2.6.1", + "diagnostics": "^1.1.1", + "is-stream": "^1.1.0", + "logform": "^2.1.1", + "one-time": "0.0.4", + "readable-stream": "^3.1.1", + "stack-trace": "0.0.x", + "triple-beam": "^1.3.0", + "winston-transport": "^4.3.0" + }, + "dependencies": { + "async": { + "version": "2.6.3", + "resolved": "http://r.cnpmjs.org/async/download/async-2.6.3.tgz", + "integrity": "sha1-1yYl4jRKNlbjo61Pp0n6gymdgv8=", + "requires": { + "lodash": "^4.17.14" + } + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "http://r.cnpmjs.org/readable-stream/download/readable-stream-3.6.0.tgz", + "integrity": "sha1-M3u9o63AcGvT4CRCaihtS0sskZg=", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "winston-transport": { + "version": "4.3.0", + "resolved": "http://r.cnpmjs.org/winston-transport/download/winston-transport-4.3.0.tgz", + "integrity": "sha1-32jAwgJILESNm0cxPAcwTC18LGY=", + "requires": { + "readable-stream": "^2.3.6", + "triple-beam": "^1.2.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "http://r.cnpmjs.org/word-wrap/download/word-wrap-1.2.3.tgz", + "integrity": "sha1-YQY29rH3A4kb00dxzLF/uTtHB5w=" + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" + }, + "worker-farm": { + "version": "1.7.0", + "resolved": "http://r.cnpmjs.org/worker-farm/download/worker-farm-1.7.0.tgz", + "integrity": "sha1-JqlMU5G7ypJhUgAvabhKS/dy5ag=", + "requires": { + "errno": "~0.1.7" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write": { + "version": "1.0.3", + "resolved": "http://r.cnpmjs.org/write/download/write-1.0.3.tgz", + "integrity": "sha1-CADhRSO5I6OH5BUSPIZWFqrg9cM=", + "requires": { + "mkdirp": "^0.5.1" + } + }, + "ws": { + "version": "6.1.4", + "resolved": "http://r.cnpmjs.org/ws/download/ws-6.1.4.tgz", + "integrity": "sha1-W1yIAK+rkl6UzLKdFTyNAsF3bvk=", + "requires": { + "async-limiter": "~1.0.0" + } + }, + "xhr": { + "version": "2.5.0", + "resolved": "http://r.cnpmjs.org/xhr/download/xhr-2.5.0.tgz", + "integrity": "sha1-vtjRZ21co2EIZnaSt0sxbEluSd0=", + "requires": { + "global": "~4.3.0", + "is-function": "^1.0.1", + "parse-headers": "^2.0.0", + "xtend": "^4.0.0" + } + }, + "xml-parse-from-string": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz", + "integrity": "sha1-qQKekp09vN7RafPG4oI42VpdWig=" + }, + "xml2js": { + "version": "0.4.23", + "resolved": "http://r.cnpmjs.org/xml2js/download/xml2js-0.4.23.tgz", + "integrity": "sha1-oMaVFnUkIesqx1juTUzPWIQ+rGY=", + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + } + }, + "xmlbuilder": { + "version": "11.0.1", + "resolved": "http://r.cnpmjs.org/xmlbuilder/download/xmlbuilder-11.0.1.tgz", + "integrity": "sha1-vpuuHIoEbnazESdyY0fQrXACvrM=" + }, + "xmldom": { + "version": "0.1.27", + "resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.27.tgz", + "integrity": "sha1-1QH5ezvbQDr4757MIFcxh6rawOk=" + }, + "xmlhttprequest-ssl": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", + "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=" + }, + "xpath": { + "version": "0.0.27", + "resolved": "http://r.cnpmjs.org/xpath/download/xpath-0.0.27.tgz", + "integrity": "sha1-3TQh+9zFZGrDLEhTG01+nQws+pI=" + }, + "xtend": { + "version": "4.0.2", + "resolved": "http://r.cnpmjs.org/xtend/download/xtend-4.0.2.tgz", + "integrity": "sha1-u3J3n1+kZRhrH0OPZ0+jR/2121Q=" + }, + "y18n": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz", + "integrity": "sha1-bRX7qITAhnnA136I53WegR4H+kE=" + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + }, + "yargs": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.4.0.tgz", + "integrity": "sha1-gW4ahm1VmMzzTlWW3c4i2S2kkNQ=", + "requires": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "window-size": "^0.2.0", + "y18n": "^3.2.1", + "yargs-parser": "^4.1.0" + } + }, + "yargs-parser": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", + "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", + "requires": { + "camelcase": "^3.0.0" + } + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "yazl": { + "version": "2.5.1", + "resolved": "http://r.cnpmjs.org/yazl/download/yazl-2.5.1.tgz", + "integrity": "sha1-o9ZdPdZZpbCTeFDoYJ8i//orXDU=", + "requires": { + "buffer-crc32": "~0.2.3" + } + }, + "yeast": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", + "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=" + } + } +} diff --git a/act_project/package.json b/act_project/package.json new file mode 100644 index 0000000..d0ed56b --- /dev/null +++ b/act_project/package.json @@ -0,0 +1,88 @@ +{ + "name": "tmt-workflow", + "version": "1.5.8", + "dependencies": { + "autoprefixer": "^6.3.3", + "babel-core": "^6.10.4", + "babel-loader": "^6.2.4", + "babel-preset-es2015": "^6.9.0", + "babel-preset-stage-2": "^6.11.0", + "browser-sync": "^2.26.7", + "cheerio": "^0.22.0", + "crypto-md5": "^1.0.0", + "del": "^2.2.0", + "eslint-friendly-formatter": "^4.0.1", + "gulp": "^4.0.0", + "gulp-babel": "^6.1.2", + "gulp-cssnano": "^2.1.1", + "gulp-ejs": "^2.1.1", + "gulp-eslint": "^5.0.0", + "gulp-ftp": "^1.1.0", + "gulp-if": "^2.0.0", + "gulp-lazyimagecss": "^2.0.0", + "gulp-less": "^3.0.5", + "gulp-postcss": "^6.0.1", + "gulp-posthtml": "^1.5.2", + "gulp-rename": "^1.2.2", + "gulp-replace": "^0.5.4", + "gulp-rev-all": "^1.0.0", + "gulp-rev-delete-original": "^0.1.0", + "gulp-sass": "^4.0.2", + "gulp-sftp": "^0.1.4", + "gulp-svg-inline": "^1.0.1", + "gulp-svg-sprite": "^1.3.6", + "gulp-svgmin": "^2.2.0", + "gulp-tmtsprite": "^0.0.23", + "gulp-uglify": "^1.5.3", + "gulp-usemin": "^0.3.23", + "gulp-util": "^3.0.7", + "gulp-webp": "^4.0.1", + "gulp-zip": "^3.2.0", + "http-proxy-middleware": "^0.19.1", + "imagemin-pngquant": "^8.0.0", + "lodash": "^4.17.15", + "node-sass": "^4.13.1", + "phantomjs-prebuilt": "^2.1.16", + "postcss-pxtorem": "^3.3.1", + "posthtml-px2rem": "^0.0.3", + "quick-local-ip": "^1.0.7", + "rc": "^1.1.6", + "rd": "^0.0.2", + "svg-to-png": "^4.0.0", + "through2": "^2.0.3", + "tmt-ejs-helper": "^0.0.1", + "vinyl": "^2.0.1", + "webpack": "^2.2.1", + "webpack-stream": "^5.2.1" + }, + "description": "A f2e project workflow based on Gulp", + "repository": { + "type": "git", + "url": "https://github.com/weixin/tmt-workflow" + }, + "keywords": [ + "Workflow", + "F2E", + "Less", + "CSS", + "Tencent", + "Wechat", + "WeiXin", + "Sprite", + "WebP", + "REM" + ], + "license": "MIT", + "bugs": { + "url": "https://github.com/weixin/tmt-workflow" + }, + "homepage": "https://github.com/weixin/tmt-workflow", + "readmeFilename": "README.md", + "browserslist": [ + "iOS >= 7", + "Android >= 4.1" + ], + "devDependencies": { + "gulp-imagemin": "^7.1.0" + } +} diff --git a/act_project/yarn.lock b/act_project/yarn.lock new file mode 100644 index 0000000..d436730 --- /dev/null +++ b/act_project/yarn.lock @@ -0,0 +1,8771 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +abbrev@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + +accepts@~1.3.4: + version "1.3.5" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.5.tgz#eb777df6011723a3b14e8a72c0805c8e86746bd2" + dependencies: + mime-types "~2.1.18" + negotiator "0.6.1" + +accord@^0.28.0: + version "0.28.0" + resolved "https://registry.yarnpkg.com/accord/-/accord-0.28.0.tgz#bec516a2f722e7d50f5f9f42f81b77f3b95448ba" + dependencies: + convert-source-map "^1.5.0" + glob "^7.0.5" + indx "^0.2.3" + lodash.clone "^4.3.2" + lodash.defaults "^4.0.1" + lodash.flatten "^4.2.0" + lodash.merge "^4.4.0" + lodash.partialright "^4.1.4" + lodash.pick "^4.2.1" + lodash.uniq "^4.3.0" + resolve "^1.5.0" + semver "^5.3.0" + uglify-js "^2.8.22" + when "^3.7.8" + +acorn-dynamic-import@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz#c752bd210bef679501b6c6cb7fc84f8f47158cc4" + dependencies: + acorn "^4.0.3" + +acorn@^3.0.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" + +acorn@^4.0.3: + version "4.0.13" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" + +acorn@^5.0.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.7.1.tgz#f095829297706a7c9776958c0afc8930a9b9d9d8" + +after@0.8.2: + version "0.8.2" + resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f" + +ajv-keywords@^1.1.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-1.5.1.tgz#314dd0a4b3368fad3dfcdc54ede6171b886daf3c" + +ajv@^4.7.0, ajv@^4.9.1: + version "4.11.8" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" + dependencies: + co "^4.6.0" + json-stable-stringify "^1.0.1" + +ajv@^5.1.0: + version "5.5.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" + dependencies: + co "^4.6.0" + fast-deep-equal "^1.0.0" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.3.0" + +align-text@^0.1.1, align-text@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" + dependencies: + kind-of "^3.0.2" + longest "^1.0.1" + repeat-string "^1.5.2" + +alphanum-sort@^1.0.1, alphanum-sort@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3" + +amdefine@>=0.0.4: + version "1.0.1" + resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + +ansi-colors@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-1.1.0.tgz#6374b4dd5d4718ff3ce27a671a3b1cad077132a9" + dependencies: + ansi-wrap "^0.1.0" + +ansi-cyan@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ansi-cyan/-/ansi-cyan-0.1.1.tgz#538ae528af8982f28ae30d86f2f17456d2609873" + dependencies: + ansi-wrap "0.1.0" + +ansi-gray@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ansi-gray/-/ansi-gray-0.1.1.tgz#2962cf54ec9792c48510a3deb524436861ef7251" + dependencies: + ansi-wrap "0.1.0" + +ansi-red@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ansi-red/-/ansi-red-0.1.1.tgz#8c638f9d1080800a353c9c28c8a81ca4705d946c" + dependencies: + ansi-wrap "0.1.0" + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + +ansi-styles@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + dependencies: + color-convert "^1.9.0" + +ansi-wrap@0.1.0, ansi-wrap@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf" + +anymatch@^1.3.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" + dependencies: + micromatch "^2.1.5" + normalize-path "^2.0.0" + +anymatch@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" + dependencies: + micromatch "^3.1.4" + normalize-path "^2.1.1" + +append-buffer@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/append-buffer/-/append-buffer-1.0.2.tgz#d8220cf466081525efea50614f3de6514dfa58f1" + dependencies: + buffer-equal "^1.0.0" + +aproba@^1.0.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + +archive-type@^3.0.0, archive-type@^3.0.1: + version "3.2.0" + resolved "https://registry.yarnpkg.com/archive-type/-/archive-type-3.2.0.tgz#9cd9c006957ebe95fadad5bd6098942a813737f6" + dependencies: + file-type "^3.1.0" + +archy@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" + +are-we-there-yet@~1.1.2: + version "1.1.5" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.5.tgz#4b35c2944f062a8bfcda66410760350fe9ddfc21" + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.6" + +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + dependencies: + sprintf-js "~1.0.2" + +arr-diff@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-1.1.0.tgz#687c32758163588fef7de7b36fabe495eb1a399a" + dependencies: + arr-flatten "^1.0.1" + array-slice "^0.2.3" + +arr-diff@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" + dependencies: + arr-flatten "^1.0.1" + +arr-diff@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" + +arr-filter@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/arr-filter/-/arr-filter-1.1.2.tgz#43fdddd091e8ef11aa4c45d9cdc18e2dff1711ee" + dependencies: + make-iterator "^1.0.0" + +arr-flatten@^1.0.1, arr-flatten@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + +arr-map@^2.0.0, arr-map@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/arr-map/-/arr-map-2.0.2.tgz#3a77345ffc1cf35e2a91825601f9e58f2e24cac4" + dependencies: + make-iterator "^1.0.0" + +arr-union@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-2.1.0.tgz#20f9eab5ec70f5c7d215b1077b1c39161d292c7d" + +arr-union@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" + +array-differ@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-differ/-/array-differ-1.0.0.tgz#eff52e3758249d33be402b8bb8e564bb2b5d4031" + +array-each@^1.0.0, array-each@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f" + +array-find-index@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" + +array-initial@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/array-initial/-/array-initial-1.1.0.tgz#2fa74b26739371c3947bd7a7adc73be334b3d795" + dependencies: + array-slice "^1.0.0" + is-number "^4.0.0" + +array-last@^1.1.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/array-last/-/array-last-1.3.0.tgz#7aa77073fec565ddab2493f5f88185f404a9d336" + dependencies: + is-number "^4.0.0" + +array-slice@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-0.2.3.tgz#dd3cfb80ed7973a75117cdac69b0b99ec86186f5" + +array-slice@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/array-slice/-/array-slice-1.1.0.tgz#e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4" + +array-sort@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-sort/-/array-sort-1.0.0.tgz#e4c05356453f56f53512a7d1d6123f2c54c0a88a" + dependencies: + default-compare "^1.0.0" + get-value "^2.0.6" + kind-of "^5.0.2" + +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + dependencies: + array-uniq "^1.0.1" + +array-uniq@^1.0.0, array-uniq@^1.0.1, array-uniq@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + +array-unique@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" + +array-unique@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" + +arraybuffer.slice@~0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz#3bbc4275dd584cc1b10809b89d4e8b63a69e7675" + +arrify@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + +asap@~2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + +asn1.js@^4.0.0: + version "4.10.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +asn1@0.1.11: + version "0.1.11" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.1.11.tgz#559be18376d08a4ec4dbe80877d27818639b2df7" + +asn1@0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.1.tgz#ecc73f75d31ea3c6ed9d47428db35fecc7b2c6dc" + +asn1@~0.2.3: + version "0.2.4" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.4.tgz#8d2475dfab553bb33e77b54e59e880bb8ce23136" + dependencies: + safer-buffer "~2.1.0" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + +assert-plus@^0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.1.5.tgz#ee74009413002d84cec7219c6ac811812e723160" + +assert-plus@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" + +assert@^1.1.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" + dependencies: + util "0.10.3" + +assign-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" + +async-done@^1.2.0, async-done@^1.2.2: + version "1.3.1" + resolved "https://registry.yarnpkg.com/async-done/-/async-done-1.3.1.tgz#14b7b73667b864c8f02b5b253fc9c6eddb777f3e" + dependencies: + end-of-stream "^1.1.0" + once "^1.3.2" + process-nextick-args "^1.0.7" + stream-exhaust "^1.0.1" + +async-each-series@0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/async-each-series/-/async-each-series-0.1.1.tgz#7617c1917401fd8ca4a28aadce3dbae98afeb432" + +async-each-series@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/async-each-series/-/async-each-series-1.1.0.tgz#f42fd8155d38f21a5b8ea07c28e063ed1700b138" + +async-each@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" + +async-each@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.2.tgz#8b8a7ca2a658f927e9f307d6d1a42f4199f0f735" + +async-foreach@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/async-foreach/-/async-foreach-0.1.3.tgz#36121f845c0578172de419a97dbeb1d16ec34542" + +async-limiter@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" + +async-settle@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/async-settle/-/async-settle-1.0.0.tgz#1d0a914bb02575bec8a8f3a74e5080f72b2c0c6b" + dependencies: + async-done "^1.2.2" + +async@1.5.2, async@^1.3.0, async@^1.5.0: + version "1.5.2" + resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + +async@^0.9.0, async@~0.9.0: + version "0.9.2" + resolved "https://registry.yarnpkg.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d" + +async@^2.1.2, async@^2.6.0, async@^2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.1.tgz#b245a23ca71930044ec53fa46aa00a3e87c6a610" + dependencies: + lodash "^4.17.10" + +async@~0.2.10, async@~0.2.6: + version "0.2.10" + resolved "https://registry.yarnpkg.com/async/-/async-0.2.10.tgz#b6bbe0b0674b9d719708ca38de8c237cb526c3d1" + +async@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/async/-/async-1.0.0.tgz#f8fc04ca3a13784ade9e1641af98578cfbd647a9" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + +atob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.1.tgz#ae2d5a729477f289d60dd7f96a6314a22dd6c22a" + +autoprefixer@^6.3.1, autoprefixer@^6.3.3: + version "6.7.7" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-6.7.7.tgz#1dbd1c835658e35ce3f9984099db00585c782014" + dependencies: + browserslist "^1.7.6" + caniuse-db "^1.0.30000634" + normalize-range "^0.1.2" + num2fraction "^1.2.2" + postcss "^5.2.16" + postcss-value-parser "^3.2.3" + +aws-sign2@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.5.0.tgz#c57103f7a17fc037f02d7c2e64b602ea223f7d63" + +aws-sign2@~0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + +aws4@^1.2.1, aws4@^1.6.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.7.0.tgz#d4d0e9b9dbfca77bf08eeb0a8a471550fe39e289" + +axios@0.17.1: + version "0.17.1" + resolved "https://registry.yarnpkg.com/axios/-/axios-0.17.1.tgz#2d8e3e5d0bdbd7327f91bc814f5c57660f81824d" + dependencies: + follow-redirects "^1.2.5" + is-buffer "^1.1.5" + +babel-code-frame@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" + dependencies: + chalk "^1.1.3" + esutils "^2.0.2" + js-tokens "^3.0.2" + +babel-core@^6.10.4, babel-core@^6.23.1, babel-core@^6.26.0: + version "6.26.3" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207" + dependencies: + babel-code-frame "^6.26.0" + babel-generator "^6.26.0" + babel-helpers "^6.24.1" + babel-messages "^6.23.0" + babel-register "^6.26.0" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + convert-source-map "^1.5.1" + debug "^2.6.9" + json5 "^0.5.1" + lodash "^4.17.4" + minimatch "^3.0.4" + path-is-absolute "^1.0.1" + private "^0.1.8" + slash "^1.0.0" + source-map "^0.5.7" + +babel-generator@^6.26.0: + version "6.26.1" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90" + dependencies: + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + detect-indent "^4.0.0" + jsesc "^1.3.0" + lodash "^4.17.4" + source-map "^0.5.7" + trim-right "^1.0.1" + +babel-helper-bindify-decorators@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-bindify-decorators/-/babel-helper-bindify-decorators-6.24.1.tgz#14c19e5f142d7b47f19a52431e52b1ccbc40a330" + dependencies: + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-builder-binary-assignment-operator-visitor@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz#cce4517ada356f4220bcae8a02c2b346f9a56664" + dependencies: + babel-helper-explode-assignable-expression "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-call-delegate@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d" + dependencies: + babel-helper-hoist-variables "^6.24.1" + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-define-map@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz#a5f56dab41a25f97ecb498c7ebaca9819f95be5f" + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-helper-explode-assignable-expression@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz#f25b82cf7dc10433c55f70592d5746400ac22caa" + dependencies: + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-explode-class@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-explode-class/-/babel-helper-explode-class-6.24.1.tgz#7dc2a3910dee007056e1e31d640ced3d54eaa9eb" + dependencies: + babel-helper-bindify-decorators "^6.24.1" + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-function-name@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" + dependencies: + babel-helper-get-function-arity "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-get-function-arity@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-hoist-variables@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-optimise-call-expression@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-regex@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz#325c59f902f82f24b74faceed0363954f6495e72" + dependencies: + babel-runtime "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-helper-remap-async-to-generator@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz#5ec581827ad723fecdd381f1c928390676e4551b" + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-replace-supers@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a" + dependencies: + babel-helper-optimise-call-expression "^6.24.1" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helpers@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-loader@^6.2.4: + version "6.4.1" + resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-6.4.1.tgz#0b34112d5b0748a8dcdbf51acf6f9bd42d50b8ca" + dependencies: + find-cache-dir "^0.1.1" + loader-utils "^0.2.16" + mkdirp "^0.5.1" + object-assign "^4.0.1" + +babel-messages@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-check-es2015-constants@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-syntax-async-functions@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" + +babel-plugin-syntax-async-generators@^6.5.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-generators/-/babel-plugin-syntax-async-generators-6.13.0.tgz#6bc963ebb16eccbae6b92b596eb7f35c342a8b9a" + +babel-plugin-syntax-class-properties@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz#d7eb23b79a317f8543962c505b827c7d6cac27de" + +babel-plugin-syntax-decorators@^6.13.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-decorators/-/babel-plugin-syntax-decorators-6.13.0.tgz#312563b4dbde3cc806cee3e416cceeaddd11ac0b" + +babel-plugin-syntax-dynamic-import@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-dynamic-import/-/babel-plugin-syntax-dynamic-import-6.18.0.tgz#8d6a26229c83745a9982a441051572caa179b1da" + +babel-plugin-syntax-exponentiation-operator@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz#9ee7e8337290da95288201a6a57f4170317830de" + +babel-plugin-syntax-object-rest-spread@^6.8.0: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5" + +babel-plugin-syntax-trailing-function-commas@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz#ba0360937f8d06e40180a43fe0d5616fff532cf3" + +babel-plugin-transform-async-generator-functions@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-generator-functions/-/babel-plugin-transform-async-generator-functions-6.24.1.tgz#f058900145fd3e9907a6ddf28da59f215258a5db" + dependencies: + babel-helper-remap-async-to-generator "^6.24.1" + babel-plugin-syntax-async-generators "^6.5.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-async-to-generator@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz#6536e378aff6cb1d5517ac0e40eb3e9fc8d08761" + dependencies: + babel-helper-remap-async-to-generator "^6.24.1" + babel-plugin-syntax-async-functions "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-class-properties@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz#6a79763ea61d33d36f37b611aa9def81a81b46ac" + dependencies: + babel-helper-function-name "^6.24.1" + babel-plugin-syntax-class-properties "^6.8.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-decorators@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-decorators/-/babel-plugin-transform-decorators-6.24.1.tgz#788013d8f8c6b5222bdf7b344390dfd77569e24d" + dependencies: + babel-helper-explode-class "^6.24.1" + babel-plugin-syntax-decorators "^6.13.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-arrow-functions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-block-scoping@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f" + dependencies: + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-plugin-transform-es2015-classes@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" + dependencies: + babel-helper-define-map "^6.24.1" + babel-helper-function-name "^6.24.1" + babel-helper-optimise-call-expression "^6.24.1" + babel-helper-replace-supers "^6.24.1" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-computed-properties@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-destructuring@^6.22.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-duplicate-keys@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-for-of@^6.22.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-function-name@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-literals@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-modules-amd@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154" + dependencies: + babel-plugin-transform-es2015-modules-commonjs "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-modules-commonjs@^6.24.1: + version "6.26.2" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz#58a793863a9e7ca870bdc5a881117ffac27db6f3" + dependencies: + babel-plugin-transform-strict-mode "^6.24.1" + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-types "^6.26.0" + +babel-plugin-transform-es2015-modules-systemjs@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" + dependencies: + babel-helper-hoist-variables "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-modules-umd@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" + dependencies: + babel-plugin-transform-es2015-modules-amd "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-object-super@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" + dependencies: + babel-helper-replace-supers "^6.24.1" + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-parameters@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" + dependencies: + babel-helper-call-delegate "^6.24.1" + babel-helper-get-function-arity "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-shorthand-properties@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-spread@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-sticky-regex@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" + dependencies: + babel-helper-regex "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-template-literals@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-typeof-symbol@^6.22.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-unicode-regex@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" + dependencies: + babel-helper-regex "^6.24.1" + babel-runtime "^6.22.0" + regexpu-core "^2.0.0" + +babel-plugin-transform-exponentiation-operator@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz#2ab0c9c7f3098fa48907772bb813fe41e8de3a0e" + dependencies: + babel-helper-builder-binary-assignment-operator-visitor "^6.24.1" + babel-plugin-syntax-exponentiation-operator "^6.8.0" + babel-runtime "^6.22.0" + +babel-plugin-transform-object-rest-spread@^6.22.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz#0f36692d50fef6b7e2d4b3ac1478137a963b7b06" + dependencies: + babel-plugin-syntax-object-rest-spread "^6.8.0" + babel-runtime "^6.26.0" + +babel-plugin-transform-regenerator@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f" + dependencies: + regenerator-transform "^0.10.0" + +babel-plugin-transform-strict-mode@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-preset-es2015@^6.9.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939" + dependencies: + babel-plugin-check-es2015-constants "^6.22.0" + babel-plugin-transform-es2015-arrow-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoped-functions "^6.22.0" + babel-plugin-transform-es2015-block-scoping "^6.24.1" + babel-plugin-transform-es2015-classes "^6.24.1" + babel-plugin-transform-es2015-computed-properties "^6.24.1" + babel-plugin-transform-es2015-destructuring "^6.22.0" + babel-plugin-transform-es2015-duplicate-keys "^6.24.1" + babel-plugin-transform-es2015-for-of "^6.22.0" + babel-plugin-transform-es2015-function-name "^6.24.1" + babel-plugin-transform-es2015-literals "^6.22.0" + babel-plugin-transform-es2015-modules-amd "^6.24.1" + babel-plugin-transform-es2015-modules-commonjs "^6.24.1" + babel-plugin-transform-es2015-modules-systemjs "^6.24.1" + babel-plugin-transform-es2015-modules-umd "^6.24.1" + babel-plugin-transform-es2015-object-super "^6.24.1" + babel-plugin-transform-es2015-parameters "^6.24.1" + babel-plugin-transform-es2015-shorthand-properties "^6.24.1" + babel-plugin-transform-es2015-spread "^6.22.0" + babel-plugin-transform-es2015-sticky-regex "^6.24.1" + babel-plugin-transform-es2015-template-literals "^6.22.0" + babel-plugin-transform-es2015-typeof-symbol "^6.22.0" + babel-plugin-transform-es2015-unicode-regex "^6.24.1" + babel-plugin-transform-regenerator "^6.24.1" + +babel-preset-stage-2@^6.11.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-stage-2/-/babel-preset-stage-2-6.24.1.tgz#d9e2960fb3d71187f0e64eec62bc07767219bdc1" + dependencies: + babel-plugin-syntax-dynamic-import "^6.18.0" + babel-plugin-transform-class-properties "^6.24.1" + babel-plugin-transform-decorators "^6.24.1" + babel-preset-stage-3 "^6.24.1" + +babel-preset-stage-3@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-stage-3/-/babel-preset-stage-3-6.24.1.tgz#836ada0a9e7a7fa37cb138fb9326f87934a48395" + dependencies: + babel-plugin-syntax-trailing-function-commas "^6.22.0" + babel-plugin-transform-async-generator-functions "^6.24.1" + babel-plugin-transform-async-to-generator "^6.24.1" + babel-plugin-transform-exponentiation-operator "^6.24.1" + babel-plugin-transform-object-rest-spread "^6.22.0" + +babel-register@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" + dependencies: + babel-core "^6.26.0" + babel-runtime "^6.26.0" + core-js "^2.5.0" + home-or-tmp "^2.0.0" + lodash "^4.17.4" + mkdirp "^0.5.1" + source-map-support "^0.4.15" + +babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + +babel-template@^6.24.1, babel-template@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" + dependencies: + babel-runtime "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + lodash "^4.17.4" + +babel-traverse@^6.24.1, babel-traverse@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" + dependencies: + babel-code-frame "^6.26.0" + babel-messages "^6.23.0" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + debug "^2.6.8" + globals "^9.18.0" + invariant "^2.2.2" + lodash "^4.17.4" + +babel-types@^6.19.0, babel-types@^6.24.1, babel-types@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" + dependencies: + babel-runtime "^6.26.0" + esutils "^2.0.2" + lodash "^4.17.4" + to-fast-properties "^1.0.3" + +babylon@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" + +bach@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/bach/-/bach-1.2.0.tgz#4b3ce96bf27134f79a1b414a51c14e34c3bd9880" + dependencies: + arr-filter "^1.1.1" + arr-flatten "^1.0.1" + arr-map "^2.0.0" + array-each "^1.0.0" + array-initial "^1.0.0" + array-last "^1.1.1" + async-done "^1.2.2" + async-settle "^1.0.0" + now-and-later "^2.0.0" + +backo2@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" + +balanced-match@^0.4.2: + version "0.4.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + +base64-arraybuffer@0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8" + +base64-js@^1.0.2: + version "1.3.0" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3" + +base64id@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/base64id/-/base64id-1.0.0.tgz#47688cb99bb6804f0e06d3e763b1c32e57d8e6b6" + +base@^0.11.1: + version "0.11.2" + resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" + dependencies: + cache-base "^1.0.1" + class-utils "^0.3.5" + component-emitter "^1.2.1" + define-property "^1.0.0" + isobject "^3.0.1" + mixin-deep "^1.2.0" + pascalcase "^0.1.1" + +batch@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16" + +bcrypt-pbkdf@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" + dependencies: + tweetnacl "^0.14.3" + +beeper@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/beeper/-/beeper-1.1.1.tgz#e6d5ea8c5dad001304a70b22638447f69cb2f809" + +better-assert@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522" + dependencies: + callsite "1.0.0" + +big.js@^3.1.3: + version "3.2.0" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" + +bignumber.js@^2.1.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-2.4.0.tgz#838a992da9f9d737e0f4b2db0be62bb09dd0c5e8" + +bin-build@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/bin-build/-/bin-build-2.2.0.tgz#11f8dd61f70ffcfa2bdcaa5b46f5e8fedd4221cc" + dependencies: + archive-type "^3.0.1" + decompress "^3.0.0" + download "^4.1.2" + exec-series "^1.0.0" + rimraf "^2.2.6" + tempfile "^1.0.0" + url-regex "^3.0.0" + +bin-check@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/bin-check/-/bin-check-2.0.0.tgz#86f8e6f4253893df60dc316957f5af02acb05930" + dependencies: + executable "^1.0.0" + +bin-pack@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/bin-pack/-/bin-pack-1.0.2.tgz#c2a014edbf0bed70a3292062ed46577b96120679" + +bin-version-check@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/bin-version-check/-/bin-version-check-2.1.0.tgz#e4e5df290b9069f7d111324031efc13fdd11a5b0" + dependencies: + bin-version "^1.0.0" + minimist "^1.1.0" + semver "^4.0.3" + semver-truncate "^1.0.0" + +bin-version@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/bin-version/-/bin-version-1.0.4.tgz#9eb498ee6fd76f7ab9a7c160436f89579435d78e" + dependencies: + find-versions "^1.0.0" + +bin-wrapper@^3.0.0, bin-wrapper@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/bin-wrapper/-/bin-wrapper-3.0.2.tgz#67d3306262e4b1a5f2f88ee23464f6a655677aeb" + dependencies: + bin-check "^2.0.0" + bin-version-check "^2.1.0" + download "^4.0.0" + each-async "^1.1.1" + lazy-req "^1.0.0" + os-filter-obj "^1.0.0" + +binary-extensions@^1.0.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205" + +binaryextensions@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-1.0.1.tgz#1e637488b35b58bda5f4774bf96a5212a8c90755" + +bl@^1.0.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.2.tgz#a160911717103c07410cef63ef51b397c025af9c" + dependencies: + readable-stream "^2.3.5" + safe-buffer "^5.1.1" + +blob@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.4.tgz#bcf13052ca54463f30f9fc7e95b9a47630a94921" + +block-stream@*: + version "0.0.9" + resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" + dependencies: + inherits "~2.0.0" + +bmp-js@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/bmp-js/-/bmp-js-0.0.3.tgz#64113e9c7cf1202b376ed607bf30626ebe57b18a" + +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0: + version "4.11.8" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" + +boolbase@^1.0.0, boolbase@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e" + +boom@0.4.x: + version "0.4.2" + resolved "https://registry.yarnpkg.com/boom/-/boom-0.4.2.tgz#7a636e9ded4efcefb19cef4947a3c67dfaee911b" + dependencies: + hoek "0.9.x" + +boom@2.x.x: + version "2.10.1" + resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" + dependencies: + hoek "2.x.x" + +brace-expansion@^1.0.0, brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^1.8.2: + version "1.8.5" + resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" + dependencies: + expand-range "^1.8.1" + preserve "^0.2.0" + repeat-element "^1.1.2" + +braces@^2.3.0, braces@^2.3.1, braces@^2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" + dependencies: + arr-flatten "^1.1.0" + array-unique "^0.3.2" + extend-shallow "^2.0.1" + fill-range "^4.0.0" + isobject "^3.0.1" + repeat-element "^1.1.2" + snapdragon "^0.8.1" + snapdragon-node "^2.0.1" + split-string "^3.0.2" + to-regex "^3.0.1" + +brorand@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + +browser-sync-ui@v1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/browser-sync-ui/-/browser-sync-ui-1.0.1.tgz#9740527b26d1d7ace259acc0c79e5b5e37d0fdf2" + dependencies: + async-each-series "0.1.1" + connect-history-api-fallback "^1.1.0" + immutable "^3.7.6" + server-destroy "1.0.1" + socket.io-client "2.0.4" + stream-throttle "^0.1.3" + +browser-sync@^2.11.1: + version "2.24.6" + resolved "https://registry.yarnpkg.com/browser-sync/-/browser-sync-2.24.6.tgz#dacb9b2d8f985cfc4e55b9ca881f5a5970617ee8" + dependencies: + browser-sync-ui v1.0.1 + bs-recipes "1.3.4" + chokidar "1.7.0" + connect "3.6.6" + connect-history-api-fallback "^1.5.0" + dev-ip "^1.0.1" + easy-extender "2.3.2" + eazy-logger "3.0.2" + etag "^1.8.1" + fresh "^0.5.2" + fs-extra "3.0.1" + http-proxy "1.15.2" + immutable "3.8.2" + localtunnel "1.9.0" + micromatch "2.3.11" + opn "4.0.2" + portscanner "2.1.1" + qs "6.2.3" + raw-body "^2.3.2" + resp-modifier "6.0.2" + rx "4.1.0" + serve-index "1.9.1" + serve-static "1.13.2" + server-destroy "1.0.1" + socket.io "2.1.1" + ua-parser-js "0.7.17" + yargs "6.4.0" + +browserify-aes@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-0.4.0.tgz#067149b668df31c4b58533e02d01e806d8608e2c" + dependencies: + inherits "^2.0.1" + +browserify-aes@^1.0.0, browserify-aes@^1.0.4: + version "1.2.0" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +browserify-cipher@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + safe-buffer "^5.1.2" + +browserify-rsa@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" + dependencies: + bn.js "^4.1.0" + randombytes "^2.0.1" + +browserify-sign@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" + dependencies: + bn.js "^4.1.1" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.2" + elliptic "^6.0.0" + inherits "^2.0.1" + parse-asn1 "^5.0.0" + +browserify-zlib@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.1.4.tgz#bb35f8a519f600e0fa6b8485241c979d0141fb2d" + dependencies: + pako "~0.2.0" + +browserify-zlib@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" + dependencies: + pako "~1.0.5" + +browserslist@^1.3.6, browserslist@^1.5.2, browserslist@^1.7.6: + version "1.7.7" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-1.7.7.tgz#0bd76704258be829b2398bb50e4b62d1a166b0b9" + dependencies: + caniuse-db "^1.0.30000639" + electron-to-chromium "^1.2.7" + +bs-recipes@1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/bs-recipes/-/bs-recipes-1.3.4.tgz#0d2d4d48a718c8c044769fdc4f89592dc8b69585" + +buffer-alloc-unsafe@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" + +buffer-alloc@^1.1.0, buffer-alloc@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" + dependencies: + buffer-alloc-unsafe "^1.1.0" + buffer-fill "^1.0.0" + +buffer-crc32@~0.2.3: + version "0.2.13" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + +buffer-equal@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-0.0.1.tgz#91bc74b11ea405bc916bc6aa908faafa5b4aac4b" + +buffer-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-1.0.0.tgz#59616b498304d556abd466966b22eeda3eca5fbe" + +buffer-fill@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" + +buffer-from@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" + +buffer-to-vinyl@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/buffer-to-vinyl/-/buffer-to-vinyl-1.1.0.tgz#00f15faee3ab7a1dda2cde6d9121bffdd07b2262" + dependencies: + file-type "^3.1.0" + readable-stream "^2.0.2" + uuid "^2.0.1" + vinyl "^1.0.0" + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + +buffer@^4.3.0, buffer@^4.9.0: + version "4.9.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +buffers@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/buffers/-/buffers-0.1.1.tgz#b24579c3bed4d6d396aeee6d9a8ae7f5482ab7bb" + +builtin-modules@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + +cache-base@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" + dependencies: + collection-visit "^1.0.0" + component-emitter "^1.2.1" + get-value "^2.0.6" + has-value "^1.0.0" + isobject "^3.0.1" + set-value "^2.0.0" + to-object-path "^0.3.0" + union-value "^1.0.0" + unset-value "^1.0.0" + +callsite@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20" + +camelcase-keys@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-1.0.0.tgz#bd1a11bf9b31a1ce493493a930de1a0baf4ad7ec" + dependencies: + camelcase "^1.0.1" + map-obj "^1.0.0" + +camelcase-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" + dependencies: + camelcase "^2.0.0" + map-obj "^1.0.0" + +camelcase@^1.0.1, camelcase@^1.0.2: + version "1.2.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" + +camelcase@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + +camelcase@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" + +camelcase@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + +caniuse-api@^1.5.2: + version "1.6.1" + resolved "https://registry.yarnpkg.com/caniuse-api/-/caniuse-api-1.6.1.tgz#b534e7c734c4f81ec5fbe8aca2ad24354b962c6c" + dependencies: + browserslist "^1.3.6" + caniuse-db "^1.0.30000529" + lodash.memoize "^4.1.2" + lodash.uniq "^4.5.0" + +caniuse-db@^1.0.30000529, caniuse-db@^1.0.30000634, caniuse-db@^1.0.30000639: + version "1.0.30000874" + resolved "https://registry.yarnpkg.com/caniuse-db/-/caniuse-db-1.0.30000874.tgz#49edc0262efdc6c49d4d962bb16d1f0c790fa44e" + +capture-stack-trace@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d" + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + +caw@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/caw/-/caw-1.2.0.tgz#ffb226fe7efc547288dc62ee3e97073c212d1034" + dependencies: + get-proxy "^1.0.1" + is-obj "^1.0.0" + object-assign "^3.0.0" + tunnel-agent "^0.4.0" + +center-align@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" + dependencies: + align-text "^0.1.3" + lazy-cache "^1.0.3" + +chalk@^1.0.0, chalk@^1.1.1, chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chalk@^2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.1.tgz#18c49ab16a037b6eb0152cc83e3471338215b66e" + dependencies: + ansi-styles "^3.2.1" + escape-string-regexp "^1.0.5" + supports-color "^5.3.0" + +cheerio@^0.22.0: + version "0.22.0" + resolved "https://registry.yarnpkg.com/cheerio/-/cheerio-0.22.0.tgz#a9baa860a3f9b595a6b81b1a86873121ed3a269e" + dependencies: + css-select "~1.2.0" + dom-serializer "~0.1.0" + entities "~1.1.1" + htmlparser2 "^3.9.1" + lodash.assignin "^4.0.9" + lodash.bind "^4.1.4" + lodash.defaults "^4.0.1" + lodash.filter "^4.4.0" + lodash.flatten "^4.2.0" + lodash.foreach "^4.3.0" + lodash.map "^4.4.0" + lodash.merge "^4.4.0" + lodash.pick "^4.2.1" + lodash.reduce "^4.4.0" + lodash.reject "^4.4.0" + lodash.some "^4.4.0" + +chokidar@1.7.0, chokidar@^1.0.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" + dependencies: + anymatch "^1.3.0" + async-each "^1.0.0" + glob-parent "^2.0.0" + inherits "^2.0.1" + is-binary-path "^1.0.0" + is-glob "^2.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.0.0" + optionalDependencies: + fsevents "^1.0.0" + +chokidar@^2.0.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.2.tgz#9c23ea40b01638439e0513864d362aeacc5ad058" + dependencies: + anymatch "^2.0.0" + async-each "^1.0.1" + braces "^2.3.2" + glob-parent "^3.1.0" + inherits "^2.0.3" + is-binary-path "^1.0.0" + is-glob "^4.0.0" + normalize-path "^3.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.2.1" + upath "^1.1.0" + optionalDependencies: + fsevents "^1.2.7" + +chokidar@^2.0.2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.0.4.tgz#356ff4e2b0e8e43e322d18a372460bbcf3accd26" + dependencies: + anymatch "^2.0.0" + async-each "^1.0.0" + braces "^2.3.0" + glob-parent "^3.1.0" + inherits "^2.0.1" + is-binary-path "^1.0.0" + is-glob "^4.0.0" + lodash.debounce "^4.0.8" + normalize-path "^2.1.1" + path-is-absolute "^1.0.0" + readdirp "^2.0.0" + upath "^1.0.5" + optionalDependencies: + fsevents "^1.2.2" + +chownr@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181" + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +clap@^1.0.9: + version "1.2.3" + resolved "https://registry.yarnpkg.com/clap/-/clap-1.2.3.tgz#4f36745b32008492557f46412d66d50cb99bce51" + dependencies: + chalk "^1.1.3" + +class-utils@^0.3.5: + version "0.3.6" + resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" + dependencies: + arr-union "^3.1.0" + define-property "^0.2.5" + isobject "^3.0.0" + static-extend "^0.1.1" + +cliui@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" + dependencies: + center-align "^0.1.1" + right-align "^0.1.1" + wordwrap "0.0.2" + +cliui@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + wrap-ansi "^2.0.0" + +cliui@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" + dependencies: + string-width "^2.1.1" + strip-ansi "^4.0.0" + wrap-ansi "^2.0.0" + +clone-buffer@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" + +clone-stats@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-0.0.1.tgz#b88f94a82cf38b8791d58046ea4029ad88ca99d1" + +clone-stats@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/clone-stats/-/clone-stats-1.0.0.tgz#b3782dff8bb5474e18b9b6bf0fdfe782f8777680" + +clone@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/clone/-/clone-0.2.0.tgz#c6126a90ad4f72dbf5acdb243cc37724fe93fc1f" + +clone@^1.0.0, clone@^1.0.2: + version "1.0.4" + resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" + +clone@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" + +cloneable-readable@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/cloneable-readable/-/cloneable-readable-1.1.2.tgz#d591dee4a8f8bc15da43ce97dceeba13d43e2a65" + dependencies: + inherits "^2.0.1" + process-nextick-args "^2.0.0" + readable-stream "^2.3.5" + +co@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/co/-/co-3.1.0.tgz#4ea54ea5a08938153185e15210c68d9092bc1b78" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + +coa@~1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/coa/-/coa-1.0.4.tgz#a9ef153660d6a86a8bdec0289a5c684d217432fd" + dependencies: + q "^1.1.2" + +coa@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/coa/-/coa-2.0.1.tgz#f3f8b0b15073e35d70263fb1042cb2c023db38af" + dependencies: + q "^1.1.2" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + +collection-map@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-map/-/collection-map-1.0.0.tgz#aea0f06f8d26c780c2b75494385544b2255af18c" + dependencies: + arr-map "^2.0.2" + for-own "^1.0.0" + make-iterator "^1.0.0" + +collection-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" + dependencies: + map-visit "^1.0.0" + object-visit "^1.0.0" + +color-convert@^1.3.0, color-convert@^1.9.0, color-convert@^1.9.1: + version "1.9.2" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.2.tgz#49881b8fba67df12a96bdf3f56c0aab9e7913147" + dependencies: + color-name "1.1.1" + +color-name@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.1.tgz#4b1415304cf50028ea81643643bd82ea05803689" + +color-name@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + +color-string@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-0.3.0.tgz#27d46fb67025c5c2fa25993bfbf579e47841b991" + dependencies: + color-name "^1.0.0" + +color-string@^1.5.2: + version "1.5.3" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc" + dependencies: + color-name "^1.0.0" + simple-swizzle "^0.2.2" + +color-support@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" + +color@^0.11.0: + version "0.11.4" + resolved "https://registry.yarnpkg.com/color/-/color-0.11.4.tgz#6d7b5c74fb65e841cd48792ad1ed5e07b904d764" + dependencies: + clone "^1.0.2" + color-convert "^1.3.0" + color-string "^0.3.0" + +color@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/color/-/color-3.0.0.tgz#d920b4328d534a3ac8295d68f7bd4ba6c427be9a" + dependencies: + color-convert "^1.9.1" + color-string "^1.5.2" + +colormin@^1.0.5: + version "1.1.2" + resolved "https://registry.yarnpkg.com/colormin/-/colormin-1.1.2.tgz#ea2f7420a72b96881a38aae59ec124a6f7298133" + dependencies: + color "^0.11.0" + css-color-names "0.0.4" + has "^1.0.1" + +colors@1.0.x: + version "1.0.3" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" + +colors@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.1.2.tgz#168a4701756b6a7f51a12ce0c97bfa28c084ed63" + +combined-stream@1.0.6, combined-stream@^1.0.5, combined-stream@~1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.6.tgz#723e7df6e801ac5613113a7e445a9b69cb632818" + dependencies: + delayed-stream "~1.0.0" + +combined-stream@~0.0.4: + version "0.0.7" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-0.0.7.tgz#0137e657baa5a7541c57ac37ac5fc07d73b4dc1f" + dependencies: + delayed-stream "0.0.5" + +commander@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-0.6.1.tgz#fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06" + +commander@2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.3.0.tgz#fd430e889832ec353b9acd1de217c11cb3eef873" + +commander@^2.2.0: + version "2.17.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.17.0.tgz#9d07b25e2a6f198b76d8b756a0e8a9604a6a1a60" + +commander@~2.8.1: + version "2.8.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.8.1.tgz#06be367febfda0c330aa1e2a072d3dc9762425d4" + dependencies: + graceful-readlink ">= 1.0.0" + +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + +component-bind@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1" + +component-emitter@1.2.1, component-emitter@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" + +component-inherit@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + +concat-stream@1.6.2, concat-stream@^1.4.6, concat-stream@^1.4.7, concat-stream@^1.6.0: + version "1.6.2" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34" + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +concat-with-sourcemaps@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz#d4ea93f05ae25790951b99e7b3b09e3908a4082e" + dependencies: + source-map "^0.6.1" + +connect-history-api-fallback@^1.1.0, connect-history-api-fallback@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz#b06873934bc5e344fef611a196a6faae0aee015a" + +connect@3.6.6: + version "3.6.6" + resolved "https://registry.yarnpkg.com/connect/-/connect-3.6.6.tgz#09eff6c55af7236e137135a72574858b6786f524" + dependencies: + debug "2.6.9" + finalhandler "1.1.0" + parseurl "~1.3.2" + utils-merge "1.0.1" + +console-browserify@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" + dependencies: + date-now "^0.1.4" + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + +console-stream@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/console-stream/-/console-stream-0.1.1.tgz#a095fe07b20465955f2fafd28b5d72bccd949d44" + +constants-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + +convert-source-map@^1.1.1, convert-source-map@^1.5.0, convert-source-map@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5" + +cookie@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" + +copy-descriptor@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" + +copy-props@^2.0.1: + version "2.0.4" + resolved "https://registry.yarnpkg.com/copy-props/-/copy-props-2.0.4.tgz#93bb1cadfafd31da5bb8a9d4b41f471ec3a72dfe" + dependencies: + each-props "^1.3.0" + is-plain-object "^2.0.1" + +core-js@^2.4.0, core-js@^2.5.0: + version "2.5.7" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.7.tgz#f972608ff0cead68b841a16a932d0b183791814e" + +core-util-is@1.0.2, core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + +cosmiconfig@^2.1.0, cosmiconfig@^2.1.1: + version "2.2.2" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-2.2.2.tgz#6173cebd56fac042c1f4390edf7af6c07c7cb892" + dependencies: + is-directory "^0.3.1" + js-yaml "^3.4.3" + minimist "^1.2.0" + object-assign "^4.1.0" + os-homedir "^1.0.1" + parse-json "^2.2.0" + require-from-string "^1.1.0" + +create-ecdh@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" + dependencies: + bn.js "^4.1.0" + elliptic "^6.0.0" + +create-error-class@^3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" + dependencies: + capture-stack-trace "^1.0.0" + +create-hash@^1.1.0, create-hash@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + md5.js "^1.3.4" + ripemd160 "^2.0.1" + sha.js "^2.4.0" + +create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: + version "1.1.7" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +cross-spawn@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-3.0.1.tgz#1256037ecb9f0c5f79e3d6ef135e30770184b982" + dependencies: + lru-cache "^4.0.1" + which "^1.2.9" + +cross-spawn@^5.0.1: + version "5.1.0" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + +cryptiles@0.2.x: + version "0.2.2" + resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-0.2.2.tgz#ed91ff1f17ad13d3748288594f8a48a0d26f325c" + dependencies: + boom "0.4.x" + +cryptiles@2.x.x: + version "2.0.5" + resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" + dependencies: + boom "2.x.x" + +crypto-browserify@3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.3.0.tgz#b9fc75bb4a0ed61dcf1cd5dae96eb30c9c3e506c" + dependencies: + browserify-aes "0.4.0" + pbkdf2-compat "2.0.1" + ripemd160 "0.2.0" + sha.js "2.2.6" + +crypto-browserify@^3.11.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + dependencies: + browserify-cipher "^1.0.0" + browserify-sign "^4.0.0" + create-ecdh "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.0" + diffie-hellman "^5.0.0" + inherits "^2.0.1" + pbkdf2 "^3.0.3" + public-encrypt "^4.0.0" + randombytes "^2.0.0" + randomfill "^1.0.3" + +crypto-md5@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/crypto-md5/-/crypto-md5-1.0.0.tgz#ccc8da750c753c7edcbabc542967472a384e86bb" + +css-color-names@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0" + +css-select-base-adapter@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.0.tgz#0102b3d14630df86c3eb9fa9f5456270106cf990" + +css-select@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" + dependencies: + boolbase "~1.0.0" + css-what "2.1" + domutils "1.5.1" + nth-check "~1.0.1" + +css-select@~1.3.0-rc0: + version "1.3.0-rc0" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.3.0-rc0.tgz#6f93196aaae737666ea1036a8cb14a8fcb7a9231" + dependencies: + boolbase "^1.0.0" + css-what "2.1" + domutils "1.5.1" + nth-check "^1.0.1" + +css-selector-parser@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/css-selector-parser/-/css-selector-parser-1.3.0.tgz#5f1ad43e2d8eefbfdc304fcd39a521664943e3eb" + +css-tree@1.0.0-alpha.29: + version "1.0.0-alpha.29" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.29.tgz#3fa9d4ef3142cbd1c301e7664c1f352bd82f5a39" + dependencies: + mdn-data "~1.1.0" + source-map "^0.5.3" + +css-tree@1.0.0-alpha25: + version "1.0.0-alpha25" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha25.tgz#1bbfabfbf6eeef4f01d9108ff2edd0be2fe35597" + dependencies: + mdn-data "^1.0.0" + source-map "^0.5.3" + +css-url-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/css-url-regex/-/css-url-regex-1.1.0.tgz#83834230cc9f74c457de59eebd1543feeb83b7ec" + +css-what@2.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.0.tgz#9467d032c38cfaefb9f2d79501253062f87fa1bd" + +css@^2.2.1: + version "2.2.3" + resolved "https://registry.yarnpkg.com/css/-/css-2.2.3.tgz#f861f4ba61e79bedc962aa548e5780fd95cbc6be" + dependencies: + inherits "^2.0.1" + source-map "^0.1.38" + source-map-resolve "^0.5.1" + urix "^0.1.0" + +cssmin@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/cssmin/-/cssmin-0.4.3.tgz#c9194077e0ebdacd691d5f59015b9d819f38d015" + +cssnano@^3.0.0: + version "3.10.0" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-3.10.0.tgz#4f38f6cea2b9b17fa01490f23f1dc68ea65c1c38" + dependencies: + autoprefixer "^6.3.1" + decamelize "^1.1.2" + defined "^1.0.0" + has "^1.0.1" + object-assign "^4.0.1" + postcss "^5.0.14" + postcss-calc "^5.2.0" + postcss-colormin "^2.1.8" + postcss-convert-values "^2.3.4" + postcss-discard-comments "^2.0.4" + postcss-discard-duplicates "^2.0.1" + postcss-discard-empty "^2.0.1" + postcss-discard-overridden "^0.1.1" + postcss-discard-unused "^2.2.1" + postcss-filter-plugins "^2.0.0" + postcss-merge-idents "^2.1.5" + postcss-merge-longhand "^2.0.1" + postcss-merge-rules "^2.0.3" + postcss-minify-font-values "^1.0.2" + postcss-minify-gradients "^1.0.1" + postcss-minify-params "^1.0.4" + postcss-minify-selectors "^2.0.4" + postcss-normalize-charset "^1.1.0" + postcss-normalize-url "^3.0.7" + postcss-ordered-values "^2.1.0" + postcss-reduce-idents "^2.2.2" + postcss-reduce-initial "^1.0.0" + postcss-reduce-transforms "^1.0.3" + postcss-svgo "^2.1.1" + postcss-unique-selectors "^2.0.2" + postcss-value-parser "^3.2.3" + postcss-zindex "^2.0.1" + +csso@^3.5.0: + version "3.5.1" + resolved "https://registry.yarnpkg.com/csso/-/csso-3.5.1.tgz#7b9eb8be61628973c1b261e169d2f024008e758b" + dependencies: + css-tree "1.0.0-alpha.29" + +csso@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/csso/-/csso-2.0.0.tgz#178b43a44621221c27756086f531e02f42900ee8" + dependencies: + clap "^1.0.9" + source-map "^0.5.3" + +csso@~2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/csso/-/csso-2.3.2.tgz#ddd52c587033f49e94b71fc55569f252e8ff5f85" + dependencies: + clap "^1.0.9" + source-map "^0.5.3" + +cssom@^0.3.2: + version "0.3.4" + resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.4.tgz#8cd52e8a3acfd68d3aed38ee0a640177d2f9d797" + +ctype@0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/ctype/-/ctype-0.5.3.tgz#82c18c2461f74114ef16c135224ad0b9144ca12f" + +currently-unhandled@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" + dependencies: + array-find-index "^1.0.1" + +cwebp-bin@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/cwebp-bin/-/cwebp-bin-3.2.0.tgz#ae02df453d8c15341b1d8d499a5226bcf3bf4a6f" + dependencies: + bin-build "^2.0.0" + bin-wrapper "^3.0.1" + logalot "^2.0.0" + +cycle@1.0.x: + version "1.0.3" + resolved "https://registry.yarnpkg.com/cycle/-/cycle-1.0.3.tgz#21e80b2be8580f98b468f379430662b046c34ad2" + +d@1: + version "1.0.0" + resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" + dependencies: + es5-ext "^0.10.9" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + dependencies: + assert-plus "^1.0.0" + +date-now@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" + +dateformat@^1.0.11: + version "1.0.12" + resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-1.0.12.tgz#9f124b67594c937ff706932e4a642cca8dbbfee9" + dependencies: + get-stdin "^4.0.1" + meow "^3.3.0" + +dateformat@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-2.2.0.tgz#4065e2013cf9fb916ddfd82efb506ad4c6769062" + +dateformat@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" + +deap@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/deap/-/deap-1.0.1.tgz#0646e9e1a095ffe8a9e404d68d1f76dcf57e66fb" + +debug@2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" + dependencies: + ms "0.7.1" + +debug@2.6.8: + version "2.6.8" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.8.tgz#e731531ca2ede27d188222427da17821d68ff4fc" + dependencies: + ms "2.0.0" + +debug@2.6.9, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9, debug@~2.6.4: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + dependencies: + ms "2.0.0" + +debug@^3.1.0, debug@~3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" + dependencies: + ms "2.0.0" + +decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + +decode-uri-component@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" + +decompress-tar@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/decompress-tar/-/decompress-tar-3.1.0.tgz#217c789f9b94450efaadc5c5e537978fc333c466" + dependencies: + is-tar "^1.0.0" + object-assign "^2.0.0" + strip-dirs "^1.0.0" + tar-stream "^1.1.1" + through2 "^0.6.1" + vinyl "^0.4.3" + +decompress-tarbz2@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/decompress-tarbz2/-/decompress-tarbz2-3.1.0.tgz#8b23935681355f9f189d87256a0f8bdd96d9666d" + dependencies: + is-bzip2 "^1.0.0" + object-assign "^2.0.0" + seek-bzip "^1.0.3" + strip-dirs "^1.0.0" + tar-stream "^1.1.1" + through2 "^0.6.1" + vinyl "^0.4.3" + +decompress-targz@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/decompress-targz/-/decompress-targz-3.1.0.tgz#b2c13df98166268991b715d6447f642e9696f5a0" + dependencies: + is-gzip "^1.0.0" + object-assign "^2.0.0" + strip-dirs "^1.0.0" + tar-stream "^1.1.1" + through2 "^0.6.1" + vinyl "^0.4.3" + +decompress-unzip@^3.0.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/decompress-unzip/-/decompress-unzip-3.4.0.tgz#61475b4152066bbe3fee12f9d629d15fe6478eeb" + dependencies: + is-zip "^1.0.0" + read-all-stream "^3.0.0" + stat-mode "^0.2.0" + strip-dirs "^1.0.0" + through2 "^2.0.0" + vinyl "^1.0.0" + yauzl "^2.2.1" + +decompress@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/decompress/-/decompress-3.0.0.tgz#af1dd50d06e3bfc432461d37de11b38c0d991bed" + dependencies: + buffer-to-vinyl "^1.0.0" + concat-stream "^1.4.6" + decompress-tar "^3.0.0" + decompress-tarbz2 "^3.0.0" + decompress-targz "^3.0.0" + decompress-unzip "^3.0.0" + stream-combiner2 "^1.1.1" + vinyl-assign "^1.0.1" + vinyl-fs "^2.2.0" + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + +default-compare@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/default-compare/-/default-compare-1.0.0.tgz#cb61131844ad84d84788fb68fd01681ca7781a2f" + dependencies: + kind-of "^5.0.2" + +default-resolution@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/default-resolution/-/default-resolution-2.0.0.tgz#bcb82baa72ad79b426a76732f1a81ad6df26d684" + +defaults@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.3.tgz#c656051e9817d9ff08ed881477f3fe4019f3ef7d" + dependencies: + clone "^1.0.2" + +define-properties@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" + dependencies: + foreach "^2.0.5" + object-keys "^1.0.8" + +define-property@^0.2.5: + version "0.2.5" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" + dependencies: + is-descriptor "^0.1.0" + +define-property@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" + dependencies: + is-descriptor "^1.0.0" + +define-property@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" + dependencies: + is-descriptor "^1.0.2" + isobject "^3.0.1" + +defined@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" + +del@^2.2.0: + version "2.2.2" + resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" + dependencies: + globby "^5.0.0" + is-path-cwd "^1.0.0" + is-path-in-cwd "^1.0.0" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + rimraf "^2.2.8" + +delayed-stream@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-0.0.5.tgz#d4b1f43a93e8296dfe02694f4680bc37a313c73f" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + +depd@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" + +des.js@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + +detect-file@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7" + +detect-indent@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" + dependencies: + repeating "^2.0.0" + +detect-libc@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + +dev-ip@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/dev-ip/-/dev-ip-1.0.1.tgz#a76a3ed1855be7a012bb8ac16cb80f3c00dc28f0" + +diff@1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-1.4.0.tgz#7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf" + +diffie-hellman@^5.0.0: + version "5.0.3" + resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +dom-serializer@0, dom-serializer@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.1.0.tgz#073c697546ce0780ce23be4a28e293e40bc30c82" + dependencies: + domelementtype "~1.1.1" + entities "~1.1.1" + +dom-walk@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018" + +domain-browser@^1.1.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" + +domelementtype@1, domelementtype@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.0.tgz#b17aed82e8ab59e52dd9c19b1756e0fc187204c2" + +domelementtype@~1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.1.3.tgz#bd28773e2642881aec51544924299c5cd822185b" + +domhandler@^2.3.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" + dependencies: + domelementtype "1" + +domutils@1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" + dependencies: + dom-serializer "0" + domelementtype "1" + +domutils@^1.5.1: + version "1.7.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" + dependencies: + dom-serializer "0" + domelementtype "1" + +download@^4.0.0, download@^4.1.2: + version "4.4.3" + resolved "https://registry.yarnpkg.com/download/-/download-4.4.3.tgz#aa55fdad392d95d4b68e8c2be03e0c2aa21ba9ac" + dependencies: + caw "^1.0.1" + concat-stream "^1.4.7" + each-async "^1.0.0" + filenamify "^1.0.1" + got "^5.0.0" + gulp-decompress "^1.2.0" + gulp-rename "^1.2.0" + is-url "^1.2.0" + object-assign "^4.0.1" + read-all-stream "^3.0.0" + readable-stream "^2.0.2" + stream-combiner2 "^1.1.1" + vinyl "^1.0.0" + vinyl-fs "^2.2.0" + ware "^1.2.0" + +duplexer2@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db" + dependencies: + readable-stream "~1.1.9" + +duplexer2@^0.1.4, duplexer2@~0.1.0: + version "0.1.4" + resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" + dependencies: + readable-stream "^2.0.2" + +duplexer@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" + +duplexify@^3.2.0, duplexify@^3.5.0, duplexify@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-3.6.0.tgz#592903f5d80b38d037220541264d69a198fb3410" + dependencies: + end-of-stream "^1.0.0" + inherits "^2.0.1" + readable-stream "^2.0.0" + stream-shift "^1.0.0" + +each-async@^1.0.0, each-async@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/each-async/-/each-async-1.1.1.tgz#dee5229bdf0ab6ba2012a395e1b869abf8813473" + dependencies: + onetime "^1.0.0" + set-immediate-shim "^1.0.0" + +each-props@^1.3.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/each-props/-/each-props-1.3.2.tgz#ea45a414d16dd5cfa419b1a81720d5ca06892333" + dependencies: + is-plain-object "^2.0.1" + object.defaults "^1.1.0" + +easy-extender@2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/easy-extender/-/easy-extender-2.3.2.tgz#3d3248febe2b159607316d8f9cf491c16648221d" + dependencies: + lodash "^3.10.1" + +eazy-logger@3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/eazy-logger/-/eazy-logger-3.0.2.tgz#a325aa5e53d13a2225889b2ac4113b2b9636f4fc" + dependencies: + tfunk "^3.0.1" + +ecc-jsbn@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" + dependencies: + jsbn "~0.1.0" + safer-buffer "^2.1.0" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + +ejs@2.5.5: + version "2.5.5" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.5.5.tgz#6ef4e954ea7dcf54f66aad2fe7aa421932d9ed77" + +ejs@^2.3.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.6.1.tgz#498ec0d495655abc6f23cd61868d926464071aa0" + +electron-to-chromium@^1.2.7: + version "1.3.55" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.55.tgz#f150e10b20b77d9d41afcca312efe0c3b1a7fdce" + +elliptic@^6.0.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df" + dependencies: + bn.js "^4.4.0" + brorand "^1.0.1" + hash.js "^1.0.0" + hmac-drbg "^1.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.0" + +emojis-list@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" + +encodeurl@~1.0.1, encodeurl@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + +end-of-stream@^1.0.0, end-of-stream@^1.1.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43" + dependencies: + once "^1.4.0" + +engine.io-client@~3.1.0: + version "3.1.6" + resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.1.6.tgz#5bdeb130f8b94a50ac5cbeb72583e7a4a063ddfd" + dependencies: + component-emitter "1.2.1" + component-inherit "0.0.3" + debug "~3.1.0" + engine.io-parser "~2.1.1" + has-cors "1.1.0" + indexof "0.0.1" + parseqs "0.0.5" + parseuri "0.0.5" + ws "~3.3.1" + xmlhttprequest-ssl "~1.5.4" + yeast "0.1.2" + +engine.io-client@~3.2.0: + version "3.2.1" + resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-3.2.1.tgz#6f54c0475de487158a1a7c77d10178708b6add36" + dependencies: + component-emitter "1.2.1" + component-inherit "0.0.3" + debug "~3.1.0" + engine.io-parser "~2.1.1" + has-cors "1.1.0" + indexof "0.0.1" + parseqs "0.0.5" + parseuri "0.0.5" + ws "~3.3.1" + xmlhttprequest-ssl "~1.5.4" + yeast "0.1.2" + +engine.io-parser@~2.1.0, engine.io-parser@~2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-2.1.2.tgz#4c0f4cff79aaeecbbdcfdea66a823c6085409196" + dependencies: + after "0.8.2" + arraybuffer.slice "~0.0.7" + base64-arraybuffer "0.1.5" + blob "0.0.4" + has-binary2 "~1.0.2" + +engine.io@~3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-3.2.0.tgz#54332506f42f2edc71690d2f2a42349359f3bf7d" + dependencies: + accepts "~1.3.4" + base64id "1.0.0" + cookie "0.3.1" + debug "~3.1.0" + engine.io-parser "~2.1.0" + ws "~3.3.1" + +enhanced-resolve@^3.3.0: + version "3.4.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz#0421e339fd71419b3da13d129b3979040230476e" + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.4.0" + object-assign "^4.0.1" + tapable "^0.2.7" + +enhanced-resolve@~0.9.0: + version "0.9.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz#4d6e689b3725f86090927ccc86cd9f1635b89e2e" + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.2.0" + tapable "^0.1.8" + +entities@^1.1.1, entities@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.1.tgz#6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0" + +errno@^0.1.1, errno@^0.1.3: + version "0.1.7" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" + dependencies: + prr "~1.0.1" + +error-ex@^1.2.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.5.1, es-abstract@^1.6.1: + version "1.12.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.12.0.tgz#9dbbdd27c6856f0001421ca18782d786bf8a6165" + dependencies: + es-to-primitive "^1.1.1" + function-bind "^1.1.1" + has "^1.0.1" + is-callable "^1.1.3" + is-regex "^1.0.4" + +es-to-primitive@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d" + dependencies: + is-callable "^1.1.1" + is-date-object "^1.0.1" + is-symbol "^1.0.1" + +es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14: + version "0.10.45" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.45.tgz#0bfdf7b473da5919d5adf3bd25ceb754fccc3653" + dependencies: + es6-iterator "~2.0.3" + es6-symbol "~3.1.1" + next-tick "1" + +es6-iterator@^2.0.1, es6-iterator@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + dependencies: + d "1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" + +es6-promise@^3.0.2: + version "3.3.1" + resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-3.3.1.tgz#a08cdde84ccdbf34d027a1451bc91d4bcd28a613" + +es6-promise@^4.0.3: + version "4.2.4" + resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.4.tgz#dc4221c2b16518760bd8c39a52d8f356fc00ed29" + +es6-symbol@^3.1.1, es6-symbol@~3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" + dependencies: + d "1" + es5-ext "~0.10.14" + +es6-weak-map@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f" + dependencies: + d "1" + es5-ext "^0.10.14" + es6-iterator "^2.0.1" + es6-symbol "^3.1.1" + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + +escape-string-regexp@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz#4dbc2fe674e71949caf3fb2695ce7f2dc1d9a8d1" + +escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.3, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + +esprima@^2.6.0: + version "2.7.3" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-2.7.3.tgz#96e3b70d5779f6ad49cd032673d1c312767ba581" + +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + +esutils@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + +etag@^1.8.1, etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + +eventemitter3@1.x.x: + version "1.2.0" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-1.2.0.tgz#1c86991d816ad1e504750e73874224ecf3bec508" + +events@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +exec-buffer@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/exec-buffer/-/exec-buffer-2.0.1.tgz#0028a31be0b1460b61d075f96af4583b9e335ea0" + dependencies: + rimraf "^2.2.6" + tempfile "^1.0.0" + +exec-series@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/exec-series/-/exec-series-1.0.3.tgz#6d257a9beac482a872c7783bc8615839fc77143a" + dependencies: + async-each-series "^1.1.0" + object-assign "^4.1.0" + +execa@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +executable@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/executable/-/executable-1.1.0.tgz#877980e9112f3391066da37265de7ad8434ab4d9" + dependencies: + meow "^3.1.0" + +exif-parser@^0.1.9: + version "0.1.12" + resolved "https://registry.yarnpkg.com/exif-parser/-/exif-parser-0.1.12.tgz#58a9d2d72c02c1f6f02a0ef4a9166272b7760922" + +expand-brackets@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" + dependencies: + is-posix-bracket "^0.1.0" + +expand-brackets@^2.1.4: + version "2.1.4" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" + dependencies: + debug "^2.3.3" + define-property "^0.2.5" + extend-shallow "^2.0.1" + posix-character-classes "^0.1.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +expand-range@^1.8.1: + version "1.8.2" + resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" + dependencies: + fill-range "^2.1.0" + +expand-tilde@^2.0.0, expand-tilde@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502" + dependencies: + homedir-polyfill "^1.0.1" + +extend-shallow@^1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-1.1.4.tgz#19d6bf94dfc09d76ba711f39b872d21ff4dd9071" + dependencies: + kind-of "^1.1.0" + +extend-shallow@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + dependencies: + is-extendable "^0.1.0" + +extend-shallow@^3.0.0, extend-shallow@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" + dependencies: + assign-symbols "^1.0.0" + is-extendable "^1.0.1" + +extend@^3.0.0, extend@~3.0.0, extend@~3.0.1: + version "3.0.2" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + +extend@~1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/extend/-/extend-1.2.1.tgz#a0f5fd6cfc83a5fe49ef698d60ec8a624dd4576c" + +extglob@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" + dependencies: + is-extglob "^1.0.0" + +extglob@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" + dependencies: + array-unique "^0.3.2" + define-property "^1.0.0" + expand-brackets "^2.1.4" + extend-shallow "^2.0.1" + fragment-cache "^0.2.1" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +extract-zip@^1.6.5: + version "1.6.7" + resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.6.7.tgz#a840b4b8af6403264c8db57f4f1a74333ef81fe9" + dependencies: + concat-stream "1.6.2" + debug "2.6.9" + mkdirp "0.5.1" + yauzl "2.4.1" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + +eyes@0.1.x: + version "0.1.8" + resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0" + +fancy-log@^1.0.0, fancy-log@^1.1.0, fancy-log@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/fancy-log/-/fancy-log-1.3.2.tgz#f41125e3d84f2e7d89a43d06d958c8f78be16be1" + dependencies: + ansi-gray "^0.1.1" + color-support "^1.1.3" + time-stamp "^1.0.0" + +fast-deep-equal@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614" + +fast-json-stable-stringify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" + +fd-slicer@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65" + dependencies: + pend "~1.2.0" + +fd-slicer@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" + dependencies: + pend "~1.2.0" + +figures@^1.3.5: + version "1.7.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e" + dependencies: + escape-string-regexp "^1.0.5" + object-assign "^4.1.0" + +file-type@^3.1.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9" + +filename-regex@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" + +filename-reserved-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/filename-reserved-regex/-/filename-reserved-regex-1.0.0.tgz#e61cf805f0de1c984567d0386dc5df50ee5af7e4" + +filenamify@^1.0.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/filenamify/-/filenamify-1.2.1.tgz#a9f2ffd11c503bed300015029272378f1f1365a5" + dependencies: + filename-reserved-regex "^1.0.0" + strip-outer "^1.0.0" + trim-repeated "^1.0.0" + +fill-range@^2.1.0: + version "2.2.4" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565" + dependencies: + is-number "^2.1.0" + isobject "^2.0.0" + randomatic "^3.0.0" + repeat-element "^1.1.2" + repeat-string "^1.5.2" + +fill-range@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" + dependencies: + extend-shallow "^2.0.1" + is-number "^3.0.0" + repeat-string "^1.6.1" + to-regex-range "^2.1.0" + +finalhandler@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.0.tgz#ce0b6855b45853e791b2fcc680046d88253dd7f5" + dependencies: + debug "2.6.9" + encodeurl "~1.0.1" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.2" + statuses "~1.3.1" + unpipe "~1.0.0" + +find-cache-dir@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9" + dependencies: + commondir "^1.0.1" + mkdirp "^0.5.1" + pkg-dir "^1.0.0" + +find-index@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/find-index/-/find-index-0.1.1.tgz#675d358b2ca3892d795a1ab47232f8b6e2e0dde4" + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + dependencies: + locate-path "^2.0.0" + +find-versions@^1.0.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-1.2.1.tgz#cbde9f12e38575a0af1be1b9a2c5d5fd8f186b62" + dependencies: + array-uniq "^1.0.0" + get-stdin "^4.0.1" + meow "^3.5.0" + semver-regex "^1.0.0" + +findup-sync@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/findup-sync/-/findup-sync-2.0.0.tgz#9326b1488c22d1a6088650a86901b2d9a90a2cbc" + dependencies: + detect-file "^1.0.0" + is-glob "^3.1.0" + micromatch "^3.0.4" + resolve-dir "^1.0.1" + +fined@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fined/-/fined-1.1.0.tgz#b37dc844b76a2f5e7081e884f7c0ae344f153476" + dependencies: + expand-tilde "^2.0.2" + is-plain-object "^2.0.3" + object.defaults "^1.1.0" + object.pick "^1.2.0" + parse-filepath "^1.0.1" + +first-chunk-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz#59bfb50cd905f60d7c394cd3d9acaab4e6ad934e" + +flagged-respawn@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.0.tgz#4e79ae9b2eb38bf86b3bb56bf3e0a56aa5fcabd7" + +flatten@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.2.tgz#dae46a9d78fbe25292258cc1e780a41d95c03782" + +flush-write-stream@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.0.3.tgz#c5d586ef38af6097650b49bc41b55fabb19f35bd" + dependencies: + inherits "^2.0.1" + readable-stream "^2.0.4" + +follow-redirects@^1.2.5: + version "1.5.2" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.2.tgz#5a9d80e0165957e5ef0c1210678fc5c4acb9fb03" + dependencies: + debug "^3.1.0" + +for-each@^0.3.2: + version "0.3.3" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" + dependencies: + is-callable "^1.1.3" + +for-in@^1.0.1, for-in@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + +for-own@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" + dependencies: + for-in "^1.0.1" + +for-own@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b" + dependencies: + for-in "^1.0.1" + +foreach@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" + +forever-agent@~0.5.0: + version "0.5.2" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.5.2.tgz#6d0e09c4921f94a27f63d3b49c5feff1ea4c5130" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + +fork-stream@^0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/fork-stream/-/fork-stream-0.0.4.tgz#db849fce77f6708a5f8f386ae533a0907b54ae70" + +form-data@~0.1.0: + version "0.1.4" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-0.1.4.tgz#91abd788aba9702b1aabfa8bc01031a2ac9e3b12" + dependencies: + async "~0.9.0" + combined-stream "~0.0.4" + mime "~1.2.11" + +form-data@~2.1.1: + version "2.1.4" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.5" + mime-types "^2.1.12" + +form-data@~2.3.1: + version "2.3.2" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.2.tgz#4970498be604c20c005d4f5c23aecd21d6b49099" + dependencies: + asynckit "^0.4.0" + combined-stream "1.0.6" + mime-types "^2.1.12" + +fragment-cache@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" + dependencies: + map-cache "^0.2.2" + +fresh@0.5.2, fresh@^0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + +fs-constants@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + +fs-extra@3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-3.0.1.tgz#3794f378c58b342ea7dbbb23095109c4b3b62291" + dependencies: + graceful-fs "^4.1.2" + jsonfile "^3.0.0" + universalify "^0.1.0" + +fs-extra@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-1.0.0.tgz#cd3ce5f7e7cb6145883fcae3191e9877f8587950" + dependencies: + graceful-fs "^4.1.2" + jsonfile "^2.1.0" + klaw "^1.0.0" + +fs-minipass@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.5.tgz#06c277218454ec288df77ada54a03b8702aacb9d" + dependencies: + minipass "^2.2.1" + +fs-mkdirp-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz#0b7815fc3201c6a69e14db98ce098c16935259eb" + dependencies: + graceful-fs "^4.1.11" + through2 "^2.0.3" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + +fsevents@^1.0.0, fsevents@^1.2.2: + version "1.2.4" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.4.tgz#f41dcb1af2582af3692da36fc55cbd8e1041c426" + dependencies: + nan "^2.9.2" + node-pre-gyp "^0.10.0" + +fsevents@^1.2.7: + version "1.2.7" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.2.7.tgz#4851b664a3783e52003b3c66eb0eee1074933aa4" + dependencies: + nan "^2.9.2" + node-pre-gyp "^0.10.0" + +fstream@^1.0.0, fstream@^1.0.2: + version "1.0.11" + resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" + dependencies: + graceful-fs "^4.1.2" + inherits "~2.0.0" + mkdirp ">=0.5 0" + rimraf "2" + +ftp-response-parser@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ftp-response-parser/-/ftp-response-parser-1.0.1.tgz#3b9d33f8edd5fb8e4700b8f778c462e5b1581f89" + dependencies: + readable-stream "^1.0.31" + +function-bind@^1.1.0, function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + +gauge@~2.7.3: + version "2.7.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" + +gaze@^0.5.1: + version "0.5.2" + resolved "https://registry.yarnpkg.com/gaze/-/gaze-0.5.2.tgz#40b709537d24d1d45767db5a908689dfe69ac44f" + dependencies: + globule "~0.1.0" + +gaze@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/gaze/-/gaze-1.1.3.tgz#c441733e13b927ac8c0ff0b4c3b033f28812924a" + dependencies: + globule "^1.0.0" + +get-caller-file@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" + +get-proxy@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/get-proxy/-/get-proxy-1.1.0.tgz#894854491bc591b0f147d7ae570f5c678b7256eb" + dependencies: + rc "^1.1.2" + +get-stdin@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-3.0.2.tgz#c1ced24b9039b38ded85bdf161e57713b6dd4abe" + +get-stdin@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + +get-value@^2.0.3, get-value@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + dependencies: + assert-plus "^1.0.0" + +gifsicle@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/gifsicle/-/gifsicle-3.0.4.tgz#f45cb5ed10165b665dc929e0e9328b6c821dfa3b" + dependencies: + bin-build "^2.0.0" + bin-wrapper "^3.0.0" + logalot "^2.0.0" + +glob-base@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" + dependencies: + glob-parent "^2.0.0" + is-glob "^2.0.0" + +glob-parent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" + dependencies: + is-glob "^2.0.0" + +glob-parent@^3.0.0, glob-parent@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" + dependencies: + is-glob "^3.1.0" + path-dirname "^1.0.0" + +glob-stream@^3.1.5: + version "3.1.18" + resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-3.1.18.tgz#9170a5f12b790306fdfe598f313f8f7954fd143b" + dependencies: + glob "^4.3.1" + glob2base "^0.0.12" + minimatch "^2.0.1" + ordered-read-streams "^0.1.0" + through2 "^0.6.1" + unique-stream "^1.0.0" + +glob-stream@^5.3.2: + version "5.3.5" + resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-5.3.5.tgz#a55665a9a8ccdc41915a87c701e32d4e016fad22" + dependencies: + extend "^3.0.0" + glob "^5.0.3" + glob-parent "^3.0.0" + micromatch "^2.3.7" + ordered-read-streams "^0.3.0" + through2 "^0.6.0" + to-absolute-glob "^0.1.1" + unique-stream "^2.0.2" + +glob-stream@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/glob-stream/-/glob-stream-6.1.0.tgz#7045c99413b3eb94888d83ab46d0b404cc7bdde4" + dependencies: + extend "^3.0.0" + glob "^7.1.1" + glob-parent "^3.1.0" + is-negated-glob "^1.0.0" + ordered-read-streams "^1.0.0" + pumpify "^1.3.5" + readable-stream "^2.1.5" + remove-trailing-separator "^1.0.1" + to-absolute-glob "^2.0.0" + unique-stream "^2.0.2" + +glob-watcher@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-0.0.6.tgz#b95b4a8df74b39c83298b0c05c978b4d9a3b710b" + dependencies: + gaze "^0.5.1" + +glob-watcher@^5.0.0: + version "5.0.3" + resolved "https://registry.yarnpkg.com/glob-watcher/-/glob-watcher-5.0.3.tgz#88a8abf1c4d131eb93928994bc4a593c2e5dd626" + dependencies: + anymatch "^2.0.0" + async-done "^1.2.0" + chokidar "^2.0.0" + is-negated-glob "^1.0.0" + just-debounce "^1.0.0" + object.defaults "^1.1.0" + +glob2base@^0.0.12: + version "0.0.12" + resolved "https://registry.yarnpkg.com/glob2base/-/glob2base-0.0.12.tgz#9d419b3e28f12e83a362164a277055922c9c0d56" + dependencies: + find-index "^0.1.1" + +glob@3.2.11: + version "3.2.11" + resolved "https://registry.yarnpkg.com/glob/-/glob-3.2.11.tgz#4a973f635b9190f715d10987d5c00fd2815ebe3d" + dependencies: + inherits "2" + minimatch "0.3" + +glob@^4.3.1: + version "4.5.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-4.5.3.tgz#c6cb73d3226c1efef04de3c56d012f03377ee15f" + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "^2.0.1" + once "^1.3.0" + +glob@^5.0.3: + version "5.0.15" + resolved "https://registry.yarnpkg.com/glob/-/glob-5.0.15.tgz#1bc936b9e02f4a603fcc222ecf7633d30b8b93b1" + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "2 || 3" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@~7.1.1: + version "7.1.2" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@~3.1.21: + version "3.1.21" + resolved "https://registry.yarnpkg.com/glob/-/glob-3.1.21.tgz#d29e0a055dea5138f4d07ed40e8982e83c2066cd" + dependencies: + graceful-fs "~1.2.0" + inherits "1" + minimatch "~0.2.11" + +global-modules@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea" + dependencies: + global-prefix "^1.0.1" + is-windows "^1.0.1" + resolve-dir "^1.0.0" + +global-prefix@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe" + dependencies: + expand-tilde "^2.0.2" + homedir-polyfill "^1.0.1" + ini "^1.3.4" + is-windows "^1.0.1" + which "^1.2.14" + +global@~4.3.0: + version "4.3.2" + resolved "https://registry.yarnpkg.com/global/-/global-4.3.2.tgz#e76989268a6c74c38908b1305b10fc0e394e9d0f" + dependencies: + min-document "^2.19.0" + process "~0.5.1" + +globals@^9.18.0: + version "9.18.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" + +globby@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" + dependencies: + array-union "^1.0.1" + arrify "^1.0.0" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +globule@^1.0.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/globule/-/globule-1.2.1.tgz#5dffb1b191f22d20797a9369b49eab4e9839696d" + dependencies: + glob "~7.1.1" + lodash "~4.17.10" + minimatch "~3.0.2" + +globule@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/globule/-/globule-0.1.0.tgz#d9c8edde1da79d125a151b79533b978676346ae5" + dependencies: + glob "~3.1.21" + lodash "~1.0.1" + minimatch "~0.2.11" + +glogg@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/glogg/-/glogg-1.0.1.tgz#dcf758e44789cc3f3d32c1f3562a3676e6a34810" + dependencies: + sparkles "^1.0.0" + +got@^5.0.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/got/-/got-5.7.1.tgz#5f81635a61e4a6589f180569ea4e381680a51f35" + dependencies: + create-error-class "^3.0.1" + duplexer2 "^0.1.4" + is-redirect "^1.0.0" + is-retry-allowed "^1.0.0" + is-stream "^1.0.0" + lowercase-keys "^1.0.0" + node-status-codes "^1.0.0" + object-assign "^4.0.1" + parse-json "^2.1.0" + pinkie-promise "^2.0.0" + read-all-stream "^3.0.0" + readable-stream "^2.0.5" + timed-out "^3.0.0" + unzip-response "^1.0.2" + url-parse-lax "^1.0.0" + +graceful-fs@^3.0.0: + version "3.0.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-3.0.11.tgz#7613c778a1afea62f25c630a086d7f3acbbdd818" + dependencies: + natives "^1.1.0" + +graceful-fs@^4.0.0, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9: + version "4.1.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" + +graceful-fs@~1.2.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-1.2.3.tgz#15a4806a57547cb2d2dbf27f42e89a8c3451b364" + +"graceful-readlink@>= 1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" + +growl@1.9.2: + version "1.9.2" + resolved "https://registry.yarnpkg.com/growl/-/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f" + +gulp-babel@^6.1.2: + version "6.1.3" + resolved "https://registry.yarnpkg.com/gulp-babel/-/gulp-babel-6.1.3.tgz#5aad8acb0db6b7f2f0be19eeee9528f2064df631" + dependencies: + babel-core "^6.23.1" + object-assign "^4.0.1" + plugin-error "^1.0.1" + replace-ext "0.0.1" + through2 "^2.0.0" + vinyl-sourcemaps-apply "^0.2.0" + +gulp-cli@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/gulp-cli/-/gulp-cli-2.0.1.tgz#7847e220cb3662f2be8a6d572bf14e17be5a994b" + dependencies: + ansi-colors "^1.0.1" + archy "^1.0.0" + array-sort "^1.0.0" + color-support "^1.1.3" + concat-stream "^1.6.0" + copy-props "^2.0.1" + fancy-log "^1.3.2" + gulplog "^1.0.0" + interpret "^1.1.0" + isobject "^3.0.1" + liftoff "^2.5.0" + matchdep "^2.0.0" + mute-stdout "^1.0.0" + pretty-hrtime "^1.0.0" + replace-homedir "^1.0.0" + semver-greatest-satisfied-range "^1.1.0" + v8flags "^3.0.1" + yargs "^7.1.0" + +gulp-concat@~2.6.1: + version "2.6.1" + resolved "https://registry.yarnpkg.com/gulp-concat/-/gulp-concat-2.6.1.tgz#633d16c95d88504628ad02665663cee5a4793353" + dependencies: + concat-with-sourcemaps "^1.0.0" + through2 "^2.0.0" + vinyl "^2.0.0" + +gulp-cssnano@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/gulp-cssnano/-/gulp-cssnano-2.1.3.tgz#02007e2817af09b3688482b430ad7db807aebf72" + dependencies: + buffer-from "^1.0.0" + cssnano "^3.0.0" + object-assign "^4.0.1" + plugin-error "^1.0.1" + vinyl-sourcemaps-apply "^0.2.1" + +gulp-decompress@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/gulp-decompress/-/gulp-decompress-1.2.0.tgz#8eeb65a5e015f8ed8532cafe28454960626f0dc7" + dependencies: + archive-type "^3.0.0" + decompress "^3.0.0" + gulp-util "^3.0.1" + readable-stream "^2.0.2" + +gulp-ejs@^2.1.1: + version "2.3.0" + resolved "https://registry.yarnpkg.com/gulp-ejs/-/gulp-ejs-2.3.0.tgz#648d7087b80c372e9586254665d10dfe300ba92f" + dependencies: + ejs "2.5.5" + gulp-util "3.0.7" + object-assign "^4.1.0" + through2 "2.0.3" + +gulp-ftp@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/gulp-ftp/-/gulp-ftp-1.1.0.tgz#114887c755d5554de08d4fd5ab81ab7cfbad7763" + dependencies: + chalk "^1.0.0" + gulp-util "^3.0.0" + jsftp "^1.3.0" + jsftp-mkdirp "^1.0.0" + object-assign "^4.0.1" + parents "^1.0.0" + plur "^2.1.0" + through2 "^2.0.0" + +gulp-if@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/gulp-if/-/gulp-if-2.0.2.tgz#a497b7e7573005041caa2bc8b7dda3c80444d629" + dependencies: + gulp-match "^1.0.3" + ternary-stream "^2.0.1" + through2 "^2.0.1" + +gulp-imagemin@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/gulp-imagemin/-/gulp-imagemin-2.4.0.tgz#f85948a77af532b4115dc9fbfac04af863a758ba" + dependencies: + chalk "^1.0.0" + gulp-util "^3.0.0" + imagemin "^4.0.0" + object-assign "^4.0.1" + plur "^2.0.0" + pretty-bytes "^2.0.1" + through2-concurrent "^1.1.0" + +gulp-lazyimagecss@^2.0.0: + version "2.0.8" + resolved "https://registry.yarnpkg.com/gulp-lazyimagecss/-/gulp-lazyimagecss-2.0.8.tgz#f9aaf508ccc9782a638af890eb971edc0e36c7f2" + dependencies: + async "^1.5.0" + css "^2.2.1" + lodash "^3.10.1" + through2 "^2.0.0" + vinyl "^1.1.0" + +gulp-less@^3.0.5: + version "3.5.0" + resolved "https://registry.yarnpkg.com/gulp-less/-/gulp-less-3.5.0.tgz#8014f469ddfc6544d7dda50098def0371bbb4f78" + dependencies: + accord "^0.28.0" + less "2.6.x || ^2.7.1" + object-assign "^4.0.1" + plugin-error "^0.1.2" + replace-ext "^1.0.0" + through2 "^2.0.0" + vinyl-sourcemaps-apply "^0.2.0" + +gulp-match@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/gulp-match/-/gulp-match-1.0.3.tgz#91c7c0d7f29becd6606d57d80a7f8776a87aba8e" + dependencies: + minimatch "^3.0.3" + +gulp-postcss@^6.0.1: + version "6.4.0" + resolved "https://registry.yarnpkg.com/gulp-postcss/-/gulp-postcss-6.4.0.tgz#78a32e3c87aa6cdcec5ae1c905e196d478e8c5d5" + dependencies: + gulp-util "^3.0.8" + postcss "^5.2.12" + postcss-load-config "^1.2.0" + vinyl-sourcemaps-apply "^0.2.1" + +gulp-posthtml@^1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/gulp-posthtml/-/gulp-posthtml-1.5.2.tgz#5e33b75bcfde51c39ce7d29e70679835592efe2d" + dependencies: + gulp-util "^3.0.6" + posthtml "^0.8.0" + through2 "^2.0.0" + +gulp-rename@^1.2.0, gulp-rename@^1.2.2: + version "1.4.0" + resolved "https://registry.yarnpkg.com/gulp-rename/-/gulp-rename-1.4.0.tgz#de1c718e7c4095ae861f7296ef4f3248648240bd" + +gulp-replace@^0.5.4: + version "0.5.4" + resolved "https://registry.yarnpkg.com/gulp-replace/-/gulp-replace-0.5.4.tgz#69a67914bbd13c562bff14f504a403796aa0daa9" + dependencies: + istextorbinary "1.0.2" + readable-stream "^2.0.1" + replacestream "^4.0.0" + +gulp-rev-all@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/gulp-rev-all/-/gulp-rev-all-1.0.0.tgz#365105b1ee7c3d1bf543bdafb4bf04e07d793045" + dependencies: + chalk "^2.4.1" + fancy-log "^1.3.2" + isbinaryfile "^3.0.2" + merge "^1.2.0" + plugin-error "^1.0.1" + through2 "^2.0.3" + vinyl "^2.1.0" + +gulp-rev-delete-original@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/gulp-rev-delete-original/-/gulp-rev-delete-original-0.1.0.tgz#84577ddd4d571384a73e21607eecd80f658c5647" + dependencies: + rimraf "^2.3.4" + through2 "^0.6.5" + +gulp-sass@^2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/gulp-sass/-/gulp-sass-2.3.2.tgz#82b7ab90fe902cdc34c04f180d92f2c34902dd52" + dependencies: + gulp-util "^3.0" + lodash.clonedeep "^4.3.2" + node-sass "^3.4.2" + through2 "^2.0.0" + vinyl-sourcemaps-apply "^0.2.0" + +gulp-sftp@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/gulp-sftp/-/gulp-sftp-0.1.5.tgz#57afec28b23823465d9ac44deba2f02de8dc5c70" + dependencies: + async "~0.9.0" + gulp-util "~3.0.0" + object-assign "~0.3.1" + parents "~1.0.0" + ssh2 "~0.3.3" + through2 "~0.4.2" + +gulp-sourcemaps@1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz#b86ff349d801ceb56e1d9e7dc7bbcb4b7dee600c" + dependencies: + convert-source-map "^1.1.1" + graceful-fs "^4.1.2" + strip-bom "^2.0.0" + through2 "^2.0.0" + vinyl "^1.0.0" + +gulp-svg-inline@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/gulp-svg-inline/-/gulp-svg-inline-1.0.1.tgz#8ac781c12287db457a982be3a159f31a8d12d24e" + dependencies: + async "~0.2.10" + buffers "~0.1.1" + extend "~1.2.1" + mime "~1.2.11" + request "~2.33.0" + through2 "~0.4.1" + +gulp-svg-sprite@^1.3.6: + version "1.4.0" + resolved "https://registry.yarnpkg.com/gulp-svg-sprite/-/gulp-svg-sprite-1.4.0.tgz#d942ba508b128050e3227f10be8f58c2ee0243bd" + dependencies: + plugin-error "^1.0.1" + svg-sprite "~1.4.0" + through2 "^2.0.3" + +gulp-svgmin@^1.2.3: + version "1.2.4" + resolved "https://registry.yarnpkg.com/gulp-svgmin/-/gulp-svgmin-1.2.4.tgz#a4aa9e2615cf1105ef555aea86e86296cc20e273" + dependencies: + gulp-util "^3.0.4" + svgo "^0.7.0" + +gulp-tmtsprite@^0.0.23: + version "0.0.23" + resolved "https://registry.yarnpkg.com/gulp-tmtsprite/-/gulp-tmtsprite-0.0.23.tgz#9909ebec94c418fb9e8b0ae056fdb257ac12f553" + dependencies: + async "^2.6.1" + color "^3.0.0" + jimp "^0.2.28" + layout "^2.2.0" + lodash "^4.17.10" + through2 "^2.0.3" + vinyl "^2.2.0" + +gulp-uglify@^1.5.3: + version "1.5.4" + resolved "https://registry.yarnpkg.com/gulp-uglify/-/gulp-uglify-1.5.4.tgz#524788d87666d09f9d0c21fb2177f90039a658c9" + dependencies: + deap "^1.0.0" + fancy-log "^1.0.0" + gulp-util "^3.0.0" + isobject "^2.0.0" + through2 "^2.0.0" + uglify-js "2.6.4" + uglify-save-license "^0.4.1" + vinyl-sourcemaps-apply "^0.2.0" + +gulp-usemin@^0.3.23: + version "0.3.29" + resolved "https://registry.yarnpkg.com/gulp-usemin/-/gulp-usemin-0.3.29.tgz#f6846dc2903ff094b813c9edcc84c6c01761802e" + dependencies: + glob "~7.1.1" + gulp-concat "~2.6.1" + plugin-error "~1.0.1" + through2 "~2.0.3" + vinyl "~2.1.0" + +gulp-util@3.0.7: + version "3.0.7" + resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.7.tgz#78925c4b8f8b49005ac01a011c557e6218941cbb" + dependencies: + array-differ "^1.0.0" + array-uniq "^1.0.2" + beeper "^1.0.0" + chalk "^1.0.0" + dateformat "^1.0.11" + fancy-log "^1.1.0" + gulplog "^1.0.0" + has-gulplog "^0.1.0" + lodash._reescape "^3.0.0" + lodash._reevaluate "^3.0.0" + lodash._reinterpolate "^3.0.0" + lodash.template "^3.0.0" + minimist "^1.1.0" + multipipe "^0.1.2" + object-assign "^3.0.0" + replace-ext "0.0.1" + through2 "^2.0.0" + vinyl "^0.5.0" + +gulp-util@^3.0, gulp-util@^3.0.0, gulp-util@^3.0.1, gulp-util@^3.0.4, gulp-util@^3.0.6, gulp-util@^3.0.7, gulp-util@^3.0.8, gulp-util@~3.0.0: + version "3.0.8" + resolved "https://registry.yarnpkg.com/gulp-util/-/gulp-util-3.0.8.tgz#0054e1e744502e27c04c187c3ecc505dd54bbb4f" + dependencies: + array-differ "^1.0.0" + array-uniq "^1.0.2" + beeper "^1.0.0" + chalk "^1.0.0" + dateformat "^2.0.0" + fancy-log "^1.1.0" + gulplog "^1.0.0" + has-gulplog "^0.1.0" + lodash._reescape "^3.0.0" + lodash._reevaluate "^3.0.0" + lodash._reinterpolate "^3.0.0" + lodash.template "^3.0.0" + minimist "^1.1.0" + multipipe "^0.1.2" + object-assign "^3.0.0" + replace-ext "0.0.1" + through2 "^2.0.0" + vinyl "^0.5.0" + +gulp-webp@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/gulp-webp/-/gulp-webp-2.3.0.tgz#c5137fa207525d19ed9cf5d0c4808996072c2ed1" + dependencies: + gulp-util "^3.0.0" + imagemin-webp "^3.0.1" + modify-error-event "^1.0.0" + +gulp-zip@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/gulp-zip/-/gulp-zip-3.2.0.tgz#ebd198dae6dc2d5f44d814569c8ec42118a93ef9" + dependencies: + chalk "^1.0.0" + concat-stream "^1.4.7" + gulp-util "^3.0.0" + through2 "^2.0.1" + yazl "^2.1.0" + +gulp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/gulp/-/gulp-4.0.0.tgz#95766c601dade4a77ed3e7b2b6dc03881b596366" + dependencies: + glob-watcher "^5.0.0" + gulp-cli "^2.0.0" + undertaker "^1.0.0" + vinyl-fs "^3.0.0" + +gulplog@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/gulplog/-/gulplog-1.0.0.tgz#e28c4d45d05ecbbed818363ce8f9c5926229ffe5" + dependencies: + glogg "^1.0.0" + +har-schema@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + +har-validator@~4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" + dependencies: + ajv "^4.9.1" + har-schema "^1.0.5" + +har-validator@~5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd" + dependencies: + ajv "^5.1.0" + har-schema "^2.0.0" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + dependencies: + ansi-regex "^2.0.0" + +has-binary2@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has-binary2/-/has-binary2-1.0.3.tgz#7776ac627f3ea77250cfc332dab7ddf5e4f5d11d" + dependencies: + isarray "2.0.1" + +has-cors@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39" + +has-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" + +has-flag@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + +has-gulplog@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/has-gulplog/-/has-gulplog-0.1.0.tgz#6414c82913697da51590397dafb12f22967811ce" + dependencies: + sparkles "^1.0.0" + +has-symbols@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.0.tgz#ba1a8f1af2a0fc39650f5c850367704122063b44" + +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + +has-value@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" + dependencies: + get-value "^2.0.3" + has-values "^0.1.4" + isobject "^2.0.0" + +has-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" + dependencies: + get-value "^2.0.6" + has-values "^1.0.0" + isobject "^3.0.0" + +has-values@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" + +has-values@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +has@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + dependencies: + function-bind "^1.1.1" + +hash-base@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.5" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.5.tgz#e38ab4b85dfb1e0c40fe9265c0e9b54854c23812" + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.1" + +hasha@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/hasha/-/hasha-2.2.0.tgz#78d7cbfc1e6d66303fe79837365984517b2f6ee1" + dependencies: + is-stream "^1.0.1" + pinkie-promise "^2.0.0" + +hawk@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/hawk/-/hawk-1.0.0.tgz#b90bb169807285411da7ffcb8dd2598502d3b52d" + dependencies: + boom "0.4.x" + cryptiles "0.2.x" + hoek "0.9.x" + sntp "0.2.x" + +hawk@~3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" + dependencies: + boom "2.x.x" + cryptiles "2.x.x" + hoek "2.x.x" + sntp "1.x.x" + +hmac-drbg@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +hoek@0.9.x: + version "0.9.1" + resolved "https://registry.yarnpkg.com/hoek/-/hoek-0.9.1.tgz#3d322462badf07716ea7eb85baf88079cddce505" + +hoek@2.x.x: + version "2.16.3" + resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" + +home-or-tmp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.1" + +homedir-polyfill@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc" + dependencies: + parse-passwd "^1.0.0" + +hosted-git-info@^2.1.4: + version "2.7.1" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.7.1.tgz#97f236977bd6e125408930ff6de3eec6281ec047" + +html-comment-regex@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.1.tgz#668b93776eaae55ebde8f3ad464b307a4963625e" + +htmlparser2@^3.8.3, htmlparser2@^3.9.1: + version "3.9.2" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.9.2.tgz#1bdf87acca0f3f9e53fa4fcceb0f4b4cbb00b338" + dependencies: + domelementtype "^1.3.0" + domhandler "^2.3.0" + domutils "^1.5.1" + entities "^1.1.1" + inherits "^2.0.1" + readable-stream "^2.0.2" + +http-errors@1.6.3, http-errors@~1.6.2: + version "1.6.3" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d" + dependencies: + depd "~1.1.2" + inherits "2.0.3" + setprototypeof "1.1.0" + statuses ">= 1.4.0 < 2" + +http-proxy@1.15.2: + version "1.15.2" + resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.15.2.tgz#642fdcaffe52d3448d2bda3b0079e9409064da31" + dependencies: + eventemitter3 "1.x.x" + requires-port "1.x.x" + +http-signature@~0.10.0: + version "0.10.1" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-0.10.1.tgz#4fbdac132559aa8323121e540779c0a012b27e66" + dependencies: + asn1 "0.1.11" + assert-plus "^0.1.5" + ctype "0.5.3" + +http-signature@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" + dependencies: + assert-plus "^0.2.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +https-browserify@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-0.0.1.tgz#3f91365cabe60b77ed0ebba24b454e3e09d95a82" + +https-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + +iconv-lite@0.4.23, iconv-lite@^0.4.4: + version "0.4.23" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.23.tgz#297871f63be507adcfbfca715d0cd0eed84e9a63" + dependencies: + safer-buffer ">= 2.1.2 < 3" + +ieee754@^1.1.4: + version "1.1.12" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.12.tgz#50bf24e5b9c8bb98af4964c941cdb0918da7b60b" + +ignore-walk@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.1.tgz#a83e62e7d272ac0e3b551aaa82831a19b69f82f8" + dependencies: + minimatch "^3.0.4" + +image-size@~0.5.0: + version "0.5.5" + resolved "https://registry.yarnpkg.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c" + +imagemin-gifsicle@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/imagemin-gifsicle/-/imagemin-gifsicle-4.2.0.tgz#0fef9bbad3476e6b76885736cc5b0b87a08757ca" + dependencies: + gifsicle "^3.0.0" + is-gif "^1.0.0" + through2 "^0.6.1" + +imagemin-jpegtran@^4.0.0: + version "4.3.2" + resolved "https://registry.yarnpkg.com/imagemin-jpegtran/-/imagemin-jpegtran-4.3.2.tgz#1bc6d1e2bd13fdb64d245526d635a7e5dfeb12fc" + dependencies: + is-jpg "^1.0.0" + jpegtran-bin "^3.0.0" + through2 "^2.0.0" + +imagemin-optipng@^4.0.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/imagemin-optipng/-/imagemin-optipng-4.3.0.tgz#7604663ab2ee315733274726fd1c374d2b44adb6" + dependencies: + exec-buffer "^2.0.0" + is-png "^1.0.0" + optipng-bin "^3.0.0" + through2 "^0.6.1" + +imagemin-pngquant@^4.0.0, imagemin-pngquant@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/imagemin-pngquant/-/imagemin-pngquant-4.2.2.tgz#2ccd853e7af9fba26f2b2dd252d35ee8e155c542" + dependencies: + is-png "^1.0.0" + pngquant-bin "^3.0.0" + through2 "^2.0.0" + +imagemin-svgo@^4.0.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/imagemin-svgo/-/imagemin-svgo-4.2.1.tgz#54f07dc56f47260462df6a61c54befb44b57be55" + dependencies: + is-svg "^1.0.0" + svgo "^0.6.0" + through2 "^2.0.0" + +imagemin-webp@^3.0.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/imagemin-webp/-/imagemin-webp-3.1.1.tgz#6b7a5fe06f0c786b9ac5754036c060c09f997ad7" + dependencies: + cwebp-bin "^3.1.0" + is-cwebp-readable "^1.0.0" + replace-ext "^0.0.1" + through2 "^2.0.0" + +imagemin@3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/imagemin/-/imagemin-3.1.0.tgz#6f3f094612e48be9139939dbd1968b116749e3d5" + dependencies: + concat-stream "^1.4.6" + get-stdin "^3.0.0" + meow "^2.0.0" + optional "^0.1.0" + stream-combiner "^0.2.1" + through2 "^0.6.1" + vinyl "^0.4.3" + vinyl-fs "^0.3.7" + optionalDependencies: + imagemin-gifsicle "^4.0.0" + imagemin-jpegtran "^4.0.0" + imagemin-optipng "^4.0.0" + imagemin-pngquant "^4.0.0" + imagemin-svgo "^4.0.0" + +imagemin@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/imagemin/-/imagemin-4.0.0.tgz#e90e7f0936836595f18fa15fe906f4fa259ea847" + dependencies: + buffer-to-vinyl "^1.0.0" + concat-stream "^1.4.6" + optional "^0.1.0" + readable-stream "^2.0.0" + stream-combiner2 "^1.1.1" + vinyl-fs "^2.1.1" + optionalDependencies: + imagemin-gifsicle "^4.0.0" + imagemin-jpegtran "^4.0.0" + imagemin-optipng "^4.0.0" + imagemin-svgo "^4.0.0" + +immutable@3.8.2, immutable@^3.7.6: + version "3.8.2" + resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.2.tgz#c2439951455bb39913daf281376f1530e104adf3" + +in-publish@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/in-publish/-/in-publish-2.0.0.tgz#e20ff5e3a2afc2690320b6dc552682a9c7fadf51" + +indent-string@^1.1.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-1.2.2.tgz#db99bcc583eb6abbb1e48dcbb1999a986041cb6b" + dependencies: + get-stdin "^4.0.1" + minimist "^1.1.0" + repeating "^1.1.0" + +indent-string@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" + dependencies: + repeating "^2.0.0" + +indexes-of@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" + +indexof@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" + +indx@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/indx/-/indx-0.2.3.tgz#15dcf56ee9cf65c0234c513c27fbd580e70fbc50" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-1.0.2.tgz#ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b" + +inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + +ini@^1.3.4, ini@~1.3.0: + version "1.3.5" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" + +interpret@^0.6.4: + version "0.6.6" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-0.6.6.tgz#fecd7a18e7ce5ca6abfb953e1f86213a49f1625b" + +interpret@^1.0.0, interpret@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614" + +invariant@^2.2.2: + version "2.2.4" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + dependencies: + loose-envify "^1.0.0" + +invert-kv@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + +ip-regex@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-1.0.3.tgz#dc589076f659f419c222039a33316f1c7387effd" + +irregular-plurals@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/irregular-plurals/-/irregular-plurals-1.4.0.tgz#2ca9b033651111855412f16be5d77c62a458a766" + +is-absolute-url@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6" + +is-absolute@^0.1.5: + version "0.1.7" + resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-0.1.7.tgz#847491119fccb5fb436217cc737f7faad50f603f" + dependencies: + is-relative "^0.1.0" + +is-absolute@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576" + dependencies: + is-relative "^1.0.0" + is-windows "^1.0.1" + +is-accessor-descriptor@^0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" + dependencies: + kind-of "^3.0.2" + +is-accessor-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" + dependencies: + kind-of "^6.0.0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + +is-arrayish@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + dependencies: + binary-extensions "^1.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + +is-builtin-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" + dependencies: + builtin-modules "^1.0.0" + +is-bzip2@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-bzip2/-/is-bzip2-1.0.0.tgz#5ee58eaa5a2e9c80e21407bedf23ae5ac091b3fc" + +is-callable@^1.1.1, is-callable@^1.1.3: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" + +is-cwebp-readable@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-cwebp-readable/-/is-cwebp-readable-1.0.3.tgz#9a8fde2bed77f3417ae9371258c58e2ec3285118" + dependencies: + file-type "^3.1.0" + +is-data-descriptor@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" + dependencies: + kind-of "^3.0.2" + +is-data-descriptor@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" + dependencies: + kind-of "^6.0.0" + +is-date-object@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" + +is-descriptor@^0.1.0: + version "0.1.6" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" + dependencies: + is-accessor-descriptor "^0.1.6" + is-data-descriptor "^0.1.4" + kind-of "^5.0.0" + +is-descriptor@^1.0.0, is-descriptor@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" + dependencies: + is-accessor-descriptor "^1.0.0" + is-data-descriptor "^1.0.0" + kind-of "^6.0.2" + +is-directory@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1" + +is-dotfile@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" + +is-equal-shallow@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" + dependencies: + is-primitive "^2.0.0" + +is-extendable@^0.1.0, is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + +is-extendable@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + +is-extglob@^2.1.0, is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + +is-finite@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + +is-function@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5" + +is-gif@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-gif/-/is-gif-1.0.0.tgz#a6d2ae98893007bffa97a1d8c01d63205832097e" + +is-glob@^2.0.0, is-glob@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" + dependencies: + is-extglob "^1.0.0" + +is-glob@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" + dependencies: + is-extglob "^2.1.0" + +is-glob@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.0.tgz#9521c76845cc2610a85203ddf080a958c2ffabc0" + dependencies: + is-extglob "^2.1.1" + +is-gzip@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-gzip/-/is-gzip-1.0.0.tgz#6ca8b07b99c77998025900e555ced8ed80879a83" + +is-jpg@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-jpg/-/is-jpg-1.0.1.tgz#296d57fdd99ce010434a7283e346ab9a1035e975" + +is-natural-number@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-natural-number/-/is-natural-number-2.1.1.tgz#7d4c5728377ef386c3e194a9911bf57c6dc335e7" + +is-negated-glob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2" + +is-number-like@^1.0.3: + version "1.0.8" + resolved "https://registry.yarnpkg.com/is-number-like/-/is-number-like-1.0.8.tgz#2e129620b50891042e44e9bbbb30593e75cfbbe3" + dependencies: + lodash.isfinite "^3.3.2" + +is-number@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" + dependencies: + kind-of "^3.0.2" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + dependencies: + kind-of "^3.0.2" + +is-number@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" + +is-obj@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" + +is-path-cwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" + +is-path-in-cwd@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52" + dependencies: + is-path-inside "^1.0.0" + +is-path-inside@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" + dependencies: + path-is-inside "^1.0.1" + +is-plain-obj@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" + +is-plain-object@^2.0.1, is-plain-object@^2.0.3, is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + dependencies: + isobject "^3.0.1" + +is-png@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-png/-/is-png-1.1.0.tgz#d574b12bf275c0350455570b0e5b57ab062077ce" + +is-posix-bracket@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" + +is-primitive@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" + +is-redirect@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" + +is-regex@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" + dependencies: + has "^1.0.1" + +is-relative@^0.1.0: + version "0.1.3" + resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-0.1.3.tgz#905fee8ae86f45b3ec614bc3c15c869df0876e82" + +is-relative@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d" + dependencies: + is-unc-path "^1.0.0" + +is-retry-allowed@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" + +is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + +is-svg@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-1.1.1.tgz#ac0efaafb653ac58473708b1f873636ca110e31b" + +is-svg@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-2.1.0.tgz#cf61090da0d9efbcab8722deba6f032208dbb0e9" + dependencies: + html-comment-regex "^1.1.0" + +is-symbol@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" + +is-tar@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-tar/-/is-tar-1.0.0.tgz#2f6b2e1792c1f5bb36519acaa9d65c0d26fe853d" + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + +is-unc-path@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d" + dependencies: + unc-path-regex "^0.1.2" + +is-url@^1.2.0: + version "1.2.4" + resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.4.tgz#04a4df46d28c4cff3d73d01ff06abeb318a1aa52" + +is-utf8@^0.2.0, is-utf8@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + +is-valid-glob@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-0.3.0.tgz#d4b55c69f51886f9b65c70d6c2622d37e29f48fe" + +is-valid-glob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-valid-glob/-/is-valid-glob-1.0.0.tgz#29bf3eff701be2d4d315dbacc39bc39fe8f601aa" + +is-windows@^1.0.1, is-windows@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" + +is-zip@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-zip/-/is-zip-1.0.0.tgz#47b0a8ff4d38a76431ccfd99a8e15a4c86ba2325" + +isarray@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" + +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + +isarray@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.1.tgz#a37d94ed9cda2d59865c9f76fe596ee1f338741e" + +isbinaryfile@^3.0.2: + version "3.0.3" + resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-3.0.3.tgz#5d6def3edebf6e8ca8cae9c30183a804b5f8be80" + dependencies: + buffer-alloc "^1.2.0" + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + dependencies: + isarray "1.0.0" + +isobject@^3.0.0, isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + +isstream@0.1.x, isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + +istextorbinary@1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/istextorbinary/-/istextorbinary-1.0.2.tgz#ace19354d1a9a0173efeb1084ce0f87b0ad7decf" + dependencies: + binaryextensions "~1.0.0" + textextensions "~1.0.0" + +jade@0.26.3: + version "0.26.3" + resolved "https://registry.yarnpkg.com/jade/-/jade-0.26.3.tgz#8f10d7977d8d79f2f6ff862a81b0513ccb25686c" + dependencies: + commander "0.6.1" + mkdirp "0.3.0" + +jimp@^0.2.28: + version "0.2.28" + resolved "https://registry.yarnpkg.com/jimp/-/jimp-0.2.28.tgz#dd529a937190f42957a7937d1acc3a7762996ea2" + dependencies: + bignumber.js "^2.1.0" + bmp-js "0.0.3" + es6-promise "^3.0.2" + exif-parser "^0.1.9" + file-type "^3.1.0" + jpeg-js "^0.2.0" + load-bmfont "^1.2.3" + mime "^1.3.4" + mkdirp "0.5.1" + pixelmatch "^4.0.0" + pngjs "^3.0.0" + read-chunk "^1.0.1" + request "^2.65.0" + stream-to-buffer "^0.1.0" + tinycolor2 "^1.1.2" + url-regex "^3.0.0" + +jpeg-js@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/jpeg-js/-/jpeg-js-0.2.0.tgz#53e448ec9d263e683266467e9442d2c5a2ef5482" + +jpegtran-bin@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/jpegtran-bin/-/jpegtran-bin-3.2.0.tgz#f60ecf4ae999c0bdad2e9fbcdf2b6f0981e7a29b" + dependencies: + bin-build "^2.0.0" + bin-wrapper "^3.0.0" + logalot "^2.0.0" + +js-base64@^2.1.8, js-base64@^2.1.9: + version "2.4.8" + resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-2.4.8.tgz#57a9b130888f956834aa40c5b165ba59c758f033" + +"js-tokens@^3.0.0 || ^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + +js-tokens@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" + +js-yaml@^3.11.0, js-yaml@^3.4.3: + version "3.12.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.12.0.tgz#eaed656ec8344f10f527c6bfa1b6e2244de167d1" + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +js-yaml@~3.10.0: + version "3.10.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.10.0.tgz#2e78441646bd4682e963f22b6e92823c309c62dc" + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +js-yaml@~3.6.0: + version "3.6.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.6.1.tgz#6e5fe67d8b205ce4d22fad05b7781e8dadcc4b30" + dependencies: + argparse "^1.0.7" + esprima "^2.6.0" + +js-yaml@~3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.7.0.tgz#5c967ddd837a9bfdca5f2de84253abe8a1c03b80" + dependencies: + argparse "^1.0.7" + esprima "^2.6.0" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + +jsesc@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + +jsftp-mkdirp@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/jsftp-mkdirp/-/jsftp-mkdirp-1.0.0.tgz#72142c137f980b2bc88cff30199ba2bd02df66f2" + dependencies: + parents "^1.0.0" + +jsftp@^1.3.0: + version "1.5.5" + resolved "https://registry.yarnpkg.com/jsftp/-/jsftp-1.5.5.tgz#3d034569a58221c8ffc67d088688f59d2e995cee" + dependencies: + debug "^2.2.0" + ftp-response-parser "^1.0.1" + once "^1.3.3" + parse-listing "^1.1.3" + stream-combiner "^0.2.2" + unorm "^1.4.1" + +json-loader@^0.5.4: + version "0.5.7" + resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.7.tgz#dca14a70235ff82f0ac9a3abeb60d337a365185d" + +json-schema-traverse@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + +json-stable-stringify@^1.0.0, json-stable-stringify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + dependencies: + jsonify "~0.0.0" + +json-stringify-safe@~5.0.0, json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + +json5@^0.5.0, json5@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + +jsonfile@^2.1.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" + optionalDependencies: + graceful-fs "^4.1.6" + +jsonfile@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-3.0.1.tgz#a5ecc6f65f53f662c4415c7675a0331d0992ec66" + optionalDependencies: + graceful-fs "^4.1.6" + +jsonify@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +just-debounce@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/just-debounce/-/just-debounce-1.0.0.tgz#87fccfaeffc0b68cd19d55f6722943f929ea35ea" + +kew@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/kew/-/kew-0.7.0.tgz#79d93d2d33363d6fdd2970b335d9141ad591d79b" + +kind-of@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-1.1.0.tgz#140a3d2d41a36d2efcfa9377b62c24f8495a5c44" + +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0, kind-of@^5.0.2: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + +kind-of@^6.0.0, kind-of@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" + +klaw@^1.0.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" + optionalDependencies: + graceful-fs "^4.1.9" + +last-run@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/last-run/-/last-run-1.1.1.tgz#45b96942c17b1c79c772198259ba943bebf8ca5b" + dependencies: + default-resolution "^2.0.0" + es6-weak-map "^2.0.1" + +layout@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/layout/-/layout-2.2.0.tgz#31e44bfc18dd1019b3ffb208e402a4bbfe2e6af4" + dependencies: + bin-pack "~1.0.1" + +lazy-cache@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" + +lazy-req@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/lazy-req/-/lazy-req-1.1.0.tgz#bdaebead30f8d824039ce0ce149d4daa07ba1fac" + +lazystream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" + dependencies: + readable-stream "^2.0.5" + +lcid@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + dependencies: + invert-kv "^1.0.0" + +lead@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lead/-/lead-1.0.0.tgz#6f14f99a37be3a9dd784f5495690e5903466ee42" + dependencies: + flush-write-stream "^1.0.2" + +"less@2.6.x || ^2.7.1": + version "2.7.3" + resolved "https://registry.yarnpkg.com/less/-/less-2.7.3.tgz#cc1260f51c900a9ec0d91fb6998139e02507b63b" + optionalDependencies: + errno "^0.1.1" + graceful-fs "^4.1.2" + image-size "~0.5.0" + mime "^1.2.11" + mkdirp "^0.5.0" + promise "^7.1.1" + request "2.81.0" + source-map "^0.5.3" + +liftoff@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/liftoff/-/liftoff-2.5.0.tgz#2009291bb31cea861bbf10a7c15a28caf75c31ec" + dependencies: + extend "^3.0.0" + findup-sync "^2.0.0" + fined "^1.0.1" + flagged-respawn "^1.0.0" + is-plain-object "^2.0.4" + object.map "^1.0.0" + rechoir "^0.6.2" + resolve "^1.1.7" + +limiter@^1.0.5: + version "1.1.3" + resolved "https://registry.yarnpkg.com/limiter/-/limiter-1.1.3.tgz#32e2eb55b2324076943e5d04c1185ffb387968ef" + +load-bmfont@^1.2.3: + version "1.3.0" + resolved "https://registry.yarnpkg.com/load-bmfont/-/load-bmfont-1.3.0.tgz#bb7e7c710de6bcafcb13cb3b8c81e0c0131ecbc9" + dependencies: + buffer-equal "0.0.1" + mime "^1.3.4" + parse-bmfont-ascii "^1.0.3" + parse-bmfont-binary "^1.0.5" + parse-bmfont-xml "^1.1.0" + xhr "^2.0.1" + xtend "^4.0.0" + +load-json-file@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + +loader-runner@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" + +loader-utils@^0.2.11, loader-utils@^0.2.16: + version "0.2.17" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348" + dependencies: + big.js "^3.1.3" + emojis-list "^2.0.0" + json5 "^0.5.0" + object-assign "^4.0.1" + +localtunnel@1.9.0: + version "1.9.0" + resolved "https://registry.yarnpkg.com/localtunnel/-/localtunnel-1.9.0.tgz#8ffecdcf8c8a14f62df1056cf9d54acbb0bb9a8f" + dependencies: + axios "0.17.1" + debug "2.6.8" + openurl "1.1.1" + yargs "6.6.0" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +lodash._arraymap@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._arraymap/-/lodash._arraymap-3.0.0.tgz#1a8fd0f4c0df4b61dea076d717cdc97f0a3c3e66" + +lodash._basecallback@^3.0.0: + version "3.3.1" + resolved "https://registry.yarnpkg.com/lodash._basecallback/-/lodash._basecallback-3.3.1.tgz#b7b2bb43dc2160424a21ccf26c57e443772a8e27" + dependencies: + lodash._baseisequal "^3.0.0" + lodash._bindcallback "^3.0.0" + lodash.isarray "^3.0.0" + lodash.pairs "^3.0.0" + +lodash._basecopy@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz#8da0e6a876cf344c0ad8a54882111dd3c5c7ca36" + +lodash._baseeach@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/lodash._baseeach/-/lodash._baseeach-3.0.4.tgz#cf8706572ca144e8d9d75227c990da982f932af3" + dependencies: + lodash.keys "^3.0.0" + +lodash._baseget@^3.0.0: + version "3.7.2" + resolved "https://registry.yarnpkg.com/lodash._baseget/-/lodash._baseget-3.7.2.tgz#1b6ae1d5facf3c25532350a13c1197cb8bb674f4" + +lodash._baseisequal@^3.0.0: + version "3.0.7" + resolved "https://registry.yarnpkg.com/lodash._baseisequal/-/lodash._baseisequal-3.0.7.tgz#d8025f76339d29342767dcc887ce5cb95a5b51f1" + dependencies: + lodash.isarray "^3.0.0" + lodash.istypedarray "^3.0.0" + lodash.keys "^3.0.0" + +lodash._basetostring@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz#d1861d877f824a52f669832dcaf3ee15566a07d5" + +lodash._basevalues@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz#5b775762802bde3d3297503e26300820fdf661b7" + +lodash._bindcallback@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz#e531c27644cf8b57a99e17ed95b35c748789392e" + +lodash._getnative@^3.0.0: + version "3.9.1" + resolved "https://registry.yarnpkg.com/lodash._getnative/-/lodash._getnative-3.9.1.tgz#570bc7dede46d61cdcde687d65d3eecbaa3aaff5" + +lodash._isiterateecall@^3.0.0: + version "3.0.9" + resolved "https://registry.yarnpkg.com/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz#5203ad7ba425fae842460e696db9cf3e6aac057c" + +lodash._reescape@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reescape/-/lodash._reescape-3.0.0.tgz#2b1d6f5dfe07c8a355753e5f27fac7f1cde1616a" + +lodash._reevaluate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz#58bc74c40664953ae0b124d806996daca431e2ed" + +lodash._reinterpolate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" + +lodash._root@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash._root/-/lodash._root-3.0.1.tgz#fba1c4524c19ee9a5f8136b4609f017cf4ded692" + +lodash._topath@^3.0.0: + version "3.8.1" + resolved "https://registry.yarnpkg.com/lodash._topath/-/lodash._topath-3.8.1.tgz#3ec5e2606014f4cb97f755fe6914edd8bfc00eac" + dependencies: + lodash.isarray "^3.0.0" + +lodash.assign@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.assign/-/lodash.assign-4.2.0.tgz#0d99f3ccd7a6d261d19bdaeb9245005d285808e7" + +lodash.assignin@^4.0.9: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.assignin/-/lodash.assignin-4.2.0.tgz#ba8df5fb841eb0a3e8044232b0e263a8dc6a28a2" + +lodash.bind@^4.1.4: + version "4.2.1" + resolved "https://registry.yarnpkg.com/lodash.bind/-/lodash.bind-4.2.1.tgz#7ae3017e939622ac31b7d7d7dcb1b34db1690d35" + +lodash.clone@^4.3.2: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.clone/-/lodash.clone-4.5.0.tgz#195870450f5a13192478df4bc3d23d2dea1907b6" + +lodash.clonedeep@^4.3.2: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" + +lodash.debounce@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" + +lodash.defaults@^4.0.1: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz#d09178716ffea4dde9e5fb7b37f6f0802274580c" + +lodash.escape@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lodash.escape/-/lodash.escape-3.2.0.tgz#995ee0dc18c1b48cc92effae71a10aab5b487698" + dependencies: + lodash._root "^3.0.0" + +lodash.filter@^4.4.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.filter/-/lodash.filter-4.6.0.tgz#668b1d4981603ae1cc5a6fa760143e480b4c4ace" + +lodash.flatten@^4.2.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" + +lodash.foreach@^4.3.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.foreach/-/lodash.foreach-4.5.0.tgz#1a6a35eace401280c7f06dddec35165ab27e3e53" + +lodash.isarguments@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" + +lodash.isarray@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" + +lodash.isequal@^4.0.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + +lodash.isfinite@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/lodash.isfinite/-/lodash.isfinite-3.3.2.tgz#fb89b65a9a80281833f0b7478b3a5104f898ebb3" + +lodash.istypedarray@^3.0.0: + version "3.0.6" + resolved "https://registry.yarnpkg.com/lodash.istypedarray/-/lodash.istypedarray-3.0.6.tgz#c9a477498607501d8e8494d283b87c39281cef62" + +lodash.keys@^3.0.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" + dependencies: + lodash._getnative "^3.0.0" + lodash.isarguments "^3.0.0" + lodash.isarray "^3.0.0" + +lodash.map@^3.0.0: + version "3.1.4" + resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-3.1.4.tgz#b483acd1b786c5c7b492c495f7b5266229bc00c2" + dependencies: + lodash._arraymap "^3.0.0" + lodash._basecallback "^3.0.0" + lodash._baseeach "^3.0.0" + lodash.isarray "^3.0.0" + lodash.keys "^3.0.0" + +lodash.map@^4.4.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3" + +lodash.memoize@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" + +lodash.merge@^4.4.0: + version "4.6.1" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.1.tgz#adc25d9cb99b9391c59624f379fbba60d7111d54" + +lodash.pairs@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash.pairs/-/lodash.pairs-3.0.1.tgz#bbe08d5786eeeaa09a15c91ebf0dcb7d2be326a9" + dependencies: + lodash.keys "^3.0.0" + +lodash.partialright@^4.1.4: + version "4.2.1" + resolved "https://registry.yarnpkg.com/lodash.partialright/-/lodash.partialright-4.2.1.tgz#0130d80e83363264d40074f329b8a3e7a8a1cc4b" + +lodash.pick@^4.2.1: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" + +lodash.pluck@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/lodash.pluck/-/lodash.pluck-3.1.2.tgz#b347f0374c0169f0eeb04d672d89cec8632c2231" + dependencies: + lodash._baseget "^3.0.0" + lodash._topath "^3.0.0" + lodash.isarray "^3.0.0" + lodash.map "^3.0.0" + +lodash.reduce@^4.4.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.reduce/-/lodash.reduce-4.6.0.tgz#f1ab6b839299ad48f784abbf476596f03b914d3b" + +lodash.reject@^4.4.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.reject/-/lodash.reject-4.6.0.tgz#80d6492dc1470864bbf583533b651f42a9f52415" + +lodash.restparam@^3.0.0: + version "3.6.1" + resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805" + +lodash.some@^4.2.2, lodash.some@^4.4.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/lodash.some/-/lodash.some-4.6.0.tgz#1bb9f314ef6b8baded13b549169b2a945eb68e4d" + +lodash.template@^3.0.0: + version "3.6.2" + resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-3.6.2.tgz#f8cdecc6169a255be9098ae8b0c53d378931d14f" + dependencies: + lodash._basecopy "^3.0.0" + lodash._basetostring "^3.0.0" + lodash._basevalues "^3.0.0" + lodash._isiterateecall "^3.0.0" + lodash._reinterpolate "^3.0.0" + lodash.escape "^3.0.0" + lodash.keys "^3.0.0" + lodash.restparam "^3.0.0" + lodash.templatesettings "^3.0.0" + +lodash.templatesettings@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz#fb307844753b66b9f1afa54e262c745307dba8e5" + dependencies: + lodash._reinterpolate "^3.0.0" + lodash.escape "^3.0.0" + +lodash.uniq@^4.3.0, lodash.uniq@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" + +lodash@^3.10.1, lodash@^3.5.0: + version "3.10.1" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" + +lodash@^4.0.0, lodash@^4.17.10, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.5.1, lodash@~4.17.10: + version "4.17.10" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.10.tgz#1b7793cf7259ea38fb3661d4d38b3260af8ae4e7" + +lodash@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-1.0.2.tgz#8f57560c83b59fc270bd3d561b690043430e2551" + +logalot@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/logalot/-/logalot-2.1.0.tgz#5f8e8c90d304edf12530951a5554abb8c5e3f552" + dependencies: + figures "^1.3.5" + squeak "^1.0.0" + +longest@^1.0.0, longest@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" + +loose-envify@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + dependencies: + js-tokens "^3.0.0 || ^4.0.0" + +loud-rejection@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" + dependencies: + currently-unhandled "^0.4.1" + signal-exit "^3.0.0" + +lowercase-keys@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" + +lpad-align@^1.0.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/lpad-align/-/lpad-align-1.1.2.tgz#21f600ac1c3095c3c6e497ee67271ee08481fe9e" + dependencies: + get-stdin "^4.0.1" + indent-string "^2.1.0" + longest "^1.0.0" + meow "^3.3.0" + +lru-cache@2: + version "2.7.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952" + +lru-cache@^4.0.1: + version "4.1.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.3.tgz#a1175cf3496dfc8436c156c334b4955992bce69c" + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +make-iterator@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/make-iterator/-/make-iterator-1.0.1.tgz#29b33f312aa8f547c4a5e490f56afcec99133ad6" + dependencies: + kind-of "^6.0.2" + +map-cache@^0.2.0, map-cache@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" + +map-obj@^1.0.0, map-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + +map-visit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" + dependencies: + object-visit "^1.0.0" + +matchdep@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/matchdep/-/matchdep-2.0.0.tgz#c6f34834a0d8dbc3b37c27ee8bbcb27c7775582e" + dependencies: + findup-sync "^2.0.0" + micromatch "^3.0.4" + resolve "^1.4.0" + stack-trace "0.0.10" + +math-expression-evaluator@^1.2.14: + version "1.2.17" + resolved "https://registry.yarnpkg.com/math-expression-evaluator/-/math-expression-evaluator-1.2.17.tgz#de819fdbcd84dccd8fae59c6aeb79615b9d266ac" + +math-random@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/math-random/-/math-random-1.0.1.tgz#8b3aac588b8a66e4975e3cdea67f7bb329601fac" + +md5.js@^1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.4.tgz#e9bdbde94a20a5ac18b04340fc5764d5b09d901d" + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +mdn-data@^1.0.0, mdn-data@~1.1.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-1.1.4.tgz#50b5d4ffc4575276573c4eedb8780812a8419f01" + +mem@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" + dependencies: + mimic-fn "^1.0.0" + +memory-fs@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.2.0.tgz#f2bb25368bc121e391c2520de92969caee0a0290" + +memory-fs@^0.3.0, memory-fs@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.3.0.tgz#7bcc6b629e3a43e871d7e29aca6ae8a7f15cbb20" + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +memory-fs@^0.4.0, memory-fs@~0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +meow@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-2.1.0.tgz#3a63f77977c150c16fd84484d0cef677c4182799" + dependencies: + camelcase-keys "^1.0.0" + indent-string "^1.1.0" + minimist "^1.1.0" + object-assign "^2.0.0" + +meow@^3.1.0, meow@^3.3.0, meow@^3.5.0, meow@^3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" + dependencies: + camelcase-keys "^2.0.0" + decamelize "^1.1.2" + loud-rejection "^1.0.0" + map-obj "^1.0.1" + minimist "^1.1.3" + normalize-package-data "^2.3.4" + object-assign "^4.0.1" + read-pkg-up "^1.0.1" + redent "^1.0.0" + trim-newlines "^1.0.0" + +merge-stream@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1" + dependencies: + readable-stream "^2.0.1" + +merge@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/merge/-/merge-1.2.0.tgz#7531e39d4949c281a66b8c5a6e0265e8b05894da" + +micromatch@2.3.11, micromatch@^2.1.5, micromatch@^2.3.7: + version "2.3.11" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" + dependencies: + arr-diff "^2.0.0" + array-unique "^0.2.1" + braces "^1.8.2" + expand-brackets "^0.1.4" + extglob "^0.3.1" + filename-regex "^2.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.1" + kind-of "^3.0.2" + normalize-path "^2.0.1" + object.omit "^2.0.0" + parse-glob "^3.0.4" + regex-cache "^0.4.2" + +micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4: + version "3.1.10" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + braces "^2.3.1" + define-property "^2.0.2" + extend-shallow "^3.0.2" + extglob "^2.0.4" + fragment-cache "^0.2.1" + kind-of "^6.0.2" + nanomatch "^1.2.9" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.2" + +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +mime-db@~1.35.0: + version "1.35.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.35.0.tgz#0569d657466491283709663ad379a99b90d9ab47" + +mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.18, mime-types@~2.1.7: + version "2.1.19" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.19.tgz#71e464537a7ef81c15f2db9d97e913fc0ff606f0" + dependencies: + mime-db "~1.35.0" + +mime@1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" + +mime@^1.2.11, mime@^1.3.4: + version "1.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + +mime@~1.2.11, mime@~1.2.9: + version "1.2.11" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.2.11.tgz#58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10" + +mimic-fn@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022" + +min-document@^2.19.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" + dependencies: + dom-walk "^0.1.0" + +minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" + +minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + +minimatch@0.3: + version "0.3.0" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.3.0.tgz#275d8edaac4f1bb3326472089e7949c8394699dd" + dependencies: + lru-cache "2" + sigmund "~1.0.0" + +"minimatch@2 || 3", minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@~3.0.2: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + dependencies: + brace-expansion "^1.1.7" + +minimatch@^2.0.1: + version "2.0.10" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz#8d087c39c6b38c001b97fca7ce6d0e1e80afbac7" + dependencies: + brace-expansion "^1.0.0" + +minimatch@~0.2.11: + version "0.2.14" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.2.14.tgz#c74e780574f63c6f9a090e90efbe6ef53a6a756a" + dependencies: + lru-cache "2" + sigmund "~1.0.0" + +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + +minimist@^1.1.0, minimist@^1.1.3, minimist@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + +minimist@~0.0.1: + version "0.0.10" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.10.tgz#de3f98543dbf96082be48ad1a0c7cda836301dcf" + +minipass@^2.2.1, minipass@^2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.3.3.tgz#a7dcc8b7b833f5d368759cce544dccb55f50f233" + dependencies: + safe-buffer "^5.1.2" + yallist "^3.0.0" + +minizlib@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.1.0.tgz#11e13658ce46bc3a70a267aac58359d1e0c29ceb" + dependencies: + minipass "^2.2.1" + +mixin-deep@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.1.tgz#a49e7268dce1a0d9698e45326c5626df3543d0fe" + dependencies: + for-in "^1.0.2" + is-extendable "^1.0.1" + +mkdirp@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.0.tgz#1bbf5ab1ba827af23575143490426455f481fe1e" + +mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkdirp@~0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + dependencies: + minimist "0.0.8" + +mocha@^2.3.3: + version "2.5.3" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-2.5.3.tgz#161be5bdeb496771eb9b35745050b622b5aefc58" + dependencies: + commander "2.3.0" + debug "2.2.0" + diff "1.4.0" + escape-string-regexp "1.0.2" + glob "3.2.11" + growl "1.9.2" + jade "0.26.3" + mkdirp "0.5.1" + supports-color "1.2.0" + to-iso-string "0.0.2" + +modify-error-event@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/modify-error-event/-/modify-error-event-1.0.0.tgz#3677c76a77164b9d81502180d5f5f9db262f1c7e" + dependencies: + modify-event "^1.0.0" + +modify-event@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/modify-event/-/modify-event-1.0.1.tgz#ea1314e13ff6e79389f20ad74192f621de658ad6" + +ms@0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + +multipipe@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/multipipe/-/multipipe-0.1.2.tgz#2a8f2ddf70eed564dff2d57f1e1a137d9f05078b" + dependencies: + duplexer2 "0.0.2" + +mustache@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/mustache/-/mustache-2.3.0.tgz#4028f7778b17708a489930a6e52ac3bca0da41d0" + +mute-stdout@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/mute-stdout/-/mute-stdout-1.0.0.tgz#5b32ea07eb43c9ded6130434cf926f46b2a7fd4d" + +nan@^2.3.2, nan@^2.9.2: + version "2.10.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.10.0.tgz#96d0cd610ebd58d4b4de9cc0c6828cda99c7548f" + +nanomatch@^1.2.9: + version "1.2.13" + resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" + dependencies: + arr-diff "^4.0.0" + array-unique "^0.3.2" + define-property "^2.0.2" + extend-shallow "^3.0.2" + fragment-cache "^0.2.1" + is-windows "^1.0.2" + kind-of "^6.0.2" + object.pick "^1.3.0" + regex-not "^1.0.0" + snapdragon "^0.8.1" + to-regex "^3.0.1" + +natives@^1.1.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/natives/-/natives-1.1.4.tgz#2f0f224fc9a7dd53407c7667c84cf8dbe773de58" + +needle@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/needle/-/needle-2.2.1.tgz#b5e325bd3aae8c2678902fa296f729455d1d3a7d" + dependencies: + debug "^2.1.2" + iconv-lite "^0.4.4" + sax "^1.2.4" + +negotiator@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" + +neo-async@^2.5.0: + version "2.5.1" + resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.5.1.tgz#acb909e327b1e87ec9ef15f41b8a269512ad41ee" + +next-tick@1: + version "1.0.0" + resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.0.0.tgz#ca86d1fe8828169b0120208e3dc8424b9db8342c" + +node-gyp@^3.3.1: + version "3.7.0" + resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-3.7.0.tgz#789478e8f6c45e277aa014f3e28f958f286f9203" + dependencies: + fstream "^1.0.0" + glob "^7.0.3" + graceful-fs "^4.1.2" + mkdirp "^0.5.0" + nopt "2 || 3" + npmlog "0 || 1 || 2 || 3 || 4" + osenv "0" + request ">=2.9.0 <2.82.0" + rimraf "2" + semver "~5.3.0" + tar "^2.0.0" + which "1" + +node-libs-browser@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-0.7.0.tgz#3e272c0819e308935e26674408d7af0e1491b83b" + dependencies: + assert "^1.1.1" + browserify-zlib "^0.1.4" + buffer "^4.9.0" + console-browserify "^1.1.0" + constants-browserify "^1.0.0" + crypto-browserify "3.3.0" + domain-browser "^1.1.1" + events "^1.0.0" + https-browserify "0.0.1" + os-browserify "^0.2.0" + path-browserify "0.0.0" + process "^0.11.0" + punycode "^1.2.4" + querystring-es3 "^0.2.0" + readable-stream "^2.0.5" + stream-browserify "^2.0.1" + stream-http "^2.3.1" + string_decoder "^0.10.25" + timers-browserify "^2.0.2" + tty-browserify "0.0.0" + url "^0.11.0" + util "^0.10.3" + vm-browserify "0.0.4" + +node-libs-browser@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.1.0.tgz#5f94263d404f6e44767d726901fff05478d600df" + dependencies: + assert "^1.1.1" + browserify-zlib "^0.2.0" + buffer "^4.3.0" + console-browserify "^1.1.0" + constants-browserify "^1.0.0" + crypto-browserify "^3.11.0" + domain-browser "^1.1.1" + events "^1.0.0" + https-browserify "^1.0.0" + os-browserify "^0.3.0" + path-browserify "0.0.0" + process "^0.11.10" + punycode "^1.2.4" + querystring-es3 "^0.2.0" + readable-stream "^2.3.3" + stream-browserify "^2.0.1" + stream-http "^2.7.2" + string_decoder "^1.0.0" + timers-browserify "^2.0.4" + tty-browserify "0.0.0" + url "^0.11.0" + util "^0.10.3" + vm-browserify "0.0.4" + +node-pre-gyp@^0.10.0: + version "0.10.3" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.10.3.tgz#3070040716afdc778747b61b6887bf78880b80fc" + dependencies: + detect-libc "^1.0.2" + mkdirp "^0.5.1" + needle "^2.2.1" + nopt "^4.0.1" + npm-packlist "^1.1.6" + npmlog "^4.0.2" + rc "^1.2.7" + rimraf "^2.6.1" + semver "^5.3.0" + tar "^4" + +node-sass@^3.4.2: + version "3.13.1" + resolved "https://registry.yarnpkg.com/node-sass/-/node-sass-3.13.1.tgz#7240fbbff2396304b4223527ed3020589c004fc2" + dependencies: + async-foreach "^0.1.3" + chalk "^1.1.1" + cross-spawn "^3.0.0" + gaze "^1.0.0" + get-stdin "^4.0.1" + glob "^7.0.3" + in-publish "^2.0.0" + lodash.assign "^4.2.0" + lodash.clonedeep "^4.3.2" + meow "^3.7.0" + mkdirp "^0.5.1" + nan "^2.3.2" + node-gyp "^3.3.1" + npmlog "^4.0.0" + request "^2.61.0" + sass-graph "^2.1.1" + +node-status-codes@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/node-status-codes/-/node-status-codes-1.0.0.tgz#5ae5541d024645d32a58fcddc9ceecea7ae3ac2f" + +node-uuid@~1.4.0: + version "1.4.8" + resolved "https://registry.yarnpkg.com/node-uuid/-/node-uuid-1.4.8.tgz#b040eb0923968afabf8d32fb1f17f1167fdab907" + +"nopt@2 || 3": + version "3.0.6" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-3.0.6.tgz#c6465dbf08abcd4db359317f79ac68a646b28ff9" + dependencies: + abbrev "1" + +nopt@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" + dependencies: + abbrev "1" + osenv "^0.1.4" + +normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: + version "2.4.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" + dependencies: + hosted-git-info "^2.1.4" + is-builtin-module "^1.0.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.0.0, normalize-path@^2.0.1, normalize-path@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + dependencies: + remove-trailing-separator "^1.0.1" + +normalize-path@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + +normalize-url@^1.4.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-1.9.1.tgz#2cc0d66b31ea23036458436e3620d85954c66c3c" + dependencies: + object-assign "^4.0.1" + prepend-http "^1.0.0" + query-string "^4.1.0" + sort-keys "^1.0.0" + +now-and-later@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/now-and-later/-/now-and-later-2.0.0.tgz#bc61cbb456d79cb32207ce47ca05136ff2e7d6ee" + dependencies: + once "^1.3.2" + +npm-bundled@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.0.3.tgz#7e71703d973af3370a9591bafe3a63aca0be2308" + +npm-packlist@^1.1.6: + version "1.1.11" + resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-1.1.11.tgz#84e8c683cbe7867d34b1d357d893ce29e28a02de" + dependencies: + ignore-walk "^3.0.1" + npm-bundled "^1.0.1" + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + dependencies: + path-key "^2.0.0" + +"npmlog@0 || 1 || 2 || 3 || 4", npmlog@^4.0.0, npmlog@^4.0.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.3" + set-blocking "~2.0.0" + +nth-check@^1.0.1, nth-check@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.1.tgz#9929acdf628fc2c41098deab82ac580cf149aae4" + dependencies: + boolbase "~1.0.0" + +num2fraction@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + +oauth-sign@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.3.0.tgz#cb540f93bb2b22a7d5941691a288d60e8ea9386e" + +oauth-sign@~0.8.1, oauth-sign@~0.8.2: + version "0.8.2" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" + +object-assign@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-2.1.1.tgz#43c36e5d569ff8e4816c4efa8be02d26967c18aa" + +object-assign@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2" + +object-assign@^4.0.0, object-assign@^4.0.1, object-assign@^4.1.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + +object-assign@~0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-0.3.1.tgz#060e2a2a27d7c0d77ec77b78f11aa47fd88008d2" + +object-component@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291" + +object-copy@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" + dependencies: + copy-descriptor "^0.1.0" + define-property "^0.2.5" + kind-of "^3.0.3" + +object-keys@^1.0.11, object-keys@^1.0.8: + version "1.0.12" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.12.tgz#09c53855377575310cca62f55bb334abff7b3ed2" + +object-keys@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-0.4.0.tgz#28a6aae7428dd2c3a92f3d95f21335dd204e0336" + +object-path@^0.9.0: + version "0.9.2" + resolved "https://registry.yarnpkg.com/object-path/-/object-path-0.9.2.tgz#0fd9a74fc5fad1ae3968b586bda5c632bd6c05a5" + +object-visit@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" + dependencies: + isobject "^3.0.0" + +object.assign@^4.0.4: + version "4.1.0" + resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" + dependencies: + define-properties "^1.1.2" + function-bind "^1.1.1" + has-symbols "^1.0.0" + object-keys "^1.0.11" + +object.defaults@^1.0.0, object.defaults@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/object.defaults/-/object.defaults-1.1.0.tgz#3a7f868334b407dea06da16d88d5cd29e435fecf" + dependencies: + array-each "^1.0.1" + array-slice "^1.0.0" + for-own "^1.0.0" + isobject "^3.0.0" + +object.getownpropertydescriptors@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.0.3.tgz#8758c846f5b407adab0f236e0986f14b051caa16" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.5.1" + +object.map@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object.map/-/object.map-1.0.1.tgz#cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37" + dependencies: + for-own "^1.0.0" + make-iterator "^1.0.0" + +object.omit@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" + dependencies: + for-own "^0.1.4" + is-extendable "^0.1.1" + +object.pick@^1.2.0, object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + dependencies: + isobject "^3.0.1" + +object.reduce@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/object.reduce/-/object.reduce-1.0.1.tgz#6fe348f2ac7fa0f95ca621226599096825bb03ad" + dependencies: + for-own "^1.0.0" + make-iterator "^1.0.0" + +object.values@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.0.4.tgz#e524da09b4f66ff05df457546ec72ac99f13069a" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.6.1" + function-bind "^1.1.0" + has "^1.0.1" + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + dependencies: + ee-first "1.1.1" + +once@^1.3.0, once@^1.3.1, once@^1.3.2, once@^1.3.3, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + dependencies: + wrappy "1" + +onetime@^1.0.0: + version "1.1.0" + resolved "http://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz#a1f7838f8314c516f05ecefcbc4ccfe04b4ed789" + +openurl@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/openurl/-/openurl-1.1.1.tgz#3875b4b0ef7a52c156f0db41d4609dbb0f94b387" + +opn@4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/opn/-/opn-4.0.2.tgz#7abc22e644dff63b0a96d5ab7f2790c0f01abc95" + dependencies: + object-assign "^4.0.1" + pinkie-promise "^2.0.0" + +optimist@~0.6.0: + version "0.6.1" + resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.6.1.tgz#da3ea74686fa21a19a111c326e90eb15a0196686" + dependencies: + minimist "~0.0.1" + wordwrap "~0.0.2" + +optional@^0.1.0: + version "0.1.4" + resolved "https://registry.yarnpkg.com/optional/-/optional-0.1.4.tgz#cdb1a9bedc737d2025f690ceeb50e049444fd5b3" + +optipng-bin@^3.0.0: + version "3.1.4" + resolved "https://registry.yarnpkg.com/optipng-bin/-/optipng-bin-3.1.4.tgz#95d34f2c488704f6fd70606bfea0c659f1d95d84" + dependencies: + bin-build "^2.0.0" + bin-wrapper "^3.0.0" + logalot "^2.0.0" + +ordered-read-streams@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz#fd565a9af8eb4473ba69b6ed8a34352cb552f126" + +ordered-read-streams@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz#7137e69b3298bb342247a1bbee3881c80e2fd78b" + dependencies: + is-stream "^1.0.1" + readable-stream "^2.0.1" + +ordered-read-streams@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz#77c0cb37c41525d64166d990ffad7ec6a0e1363e" + dependencies: + readable-stream "^2.0.1" + +os-browserify@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.2.1.tgz#63fc4ccee5d2d7763d26bbf8601078e6c2e0044f" + +os-browserify@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" + +os-filter-obj@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/os-filter-obj/-/os-filter-obj-1.0.3.tgz#5915330d90eced557d2d938a31c6dd214d9c63ad" + +os-homedir@^1.0.0, os-homedir@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + +os-locale@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-1.4.0.tgz#20f9f17ae29ed345e8bde583b13d2009803c14d9" + dependencies: + lcid "^1.0.0" + +os-locale@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" + dependencies: + execa "^0.7.0" + lcid "^1.0.0" + mem "^1.1.0" + +os-tmpdir@^1.0.0, os-tmpdir@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + +osenv@0, osenv@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.0" + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + +p-limit@^1.1.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + dependencies: + p-try "^1.0.0" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + dependencies: + p-limit "^1.1.0" + +p-try@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + +pako@~0.2.0: + version "0.2.9" + resolved "https://registry.yarnpkg.com/pako/-/pako-0.2.9.tgz#f3f7522f4ef782348da8161bad9ecfd51bf83a75" + +pako@~1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.6.tgz#0101211baa70c4bca4a0f63f2206e97b7dfaf258" + +parents@^1.0.0, parents@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parents/-/parents-1.0.1.tgz#fedd4d2bf193a77745fe71e371d73c3307d9c751" + dependencies: + path-platform "~0.11.15" + +parse-asn1@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.1.tgz#f6bf293818332bd0dab54efb16087724745e6ca8" + dependencies: + asn1.js "^4.0.0" + browserify-aes "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.0" + pbkdf2 "^3.0.3" + +parse-bmfont-ascii@^1.0.3: + version "1.0.6" + resolved "https://registry.yarnpkg.com/parse-bmfont-ascii/-/parse-bmfont-ascii-1.0.6.tgz#11ac3c3ff58f7c2020ab22769079108d4dfa0285" + +parse-bmfont-binary@^1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/parse-bmfont-binary/-/parse-bmfont-binary-1.0.6.tgz#d038b476d3e9dd9db1e11a0b0e53a22792b69006" + +parse-bmfont-xml@^1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/parse-bmfont-xml/-/parse-bmfont-xml-1.1.3.tgz#d6b66a371afd39c5007d9f0eeb262a4f2cce7b7c" + dependencies: + xml-parse-from-string "^1.0.0" + xml2js "^0.4.5" + +parse-filepath@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891" + dependencies: + is-absolute "^1.0.0" + map-cache "^0.2.0" + path-root "^0.1.1" + +parse-glob@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" + dependencies: + glob-base "^0.3.0" + is-dotfile "^1.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.0" + +parse-headers@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.1.tgz#6ae83a7aa25a9d9b700acc28698cd1f1ed7e9536" + dependencies: + for-each "^0.3.2" + trim "0.0.1" + +parse-json@^2.1.0, parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + dependencies: + error-ex "^1.2.0" + +parse-listing@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/parse-listing/-/parse-listing-1.1.3.tgz#aa546f57fdc129cfbf9945cd4b757b14b06182dd" + +parse-passwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" + +parseqs@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d" + dependencies: + better-assert "~1.0.0" + +parseuri@0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.5.tgz#80204a50d4dbb779bfdc6ebe2778d90e4bce320a" + dependencies: + better-assert "~1.0.0" + +parseurl@~1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" + +pascalcase@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" + +path-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" + +path-dirname@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + dependencies: + pinkie-promise "^2.0.0" + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + +path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + +path-is-inside@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + +path-key@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + +path-parse@^1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" + +path-platform@~0.11.15: + version "0.11.15" + resolved "https://registry.yarnpkg.com/path-platform/-/path-platform-0.11.15.tgz#e864217f74c36850f0852b78dc7bf7d4a5721bf2" + +path-root-regex@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d" + +path-root@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7" + dependencies: + path-root-regex "^0.1.0" + +path-type@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + dependencies: + graceful-fs "^4.1.2" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +pbkdf2-compat@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pbkdf2-compat/-/pbkdf2-compat-2.0.1.tgz#b6e0c8fa99494d94e0511575802a59a5c142f288" + +pbkdf2@^3.0.3: + version "3.0.16" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.16.tgz#7404208ec6b01b62d85bf83853a8064f8d9c2a5c" + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +pend@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + +performance-now@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + +phantomjs-prebuilt@^2.1.16, phantomjs-prebuilt@^2.1.7: + version "2.1.16" + resolved "https://registry.yarnpkg.com/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz#efd212a4a3966d3647684ea8ba788549be2aefef" + dependencies: + es6-promise "^4.0.3" + extract-zip "^1.6.5" + fs-extra "^1.0.0" + hasha "^2.2.0" + kew "^0.7.0" + progress "^1.1.8" + request "^2.81.0" + request-progress "^2.0.1" + which "^1.2.10" + +pify@^2.0.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + +pixelmatch@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/pixelmatch/-/pixelmatch-4.0.2.tgz#8f47dcec5011b477b67db03c243bc1f3085e8854" + dependencies: + pngjs "^3.0.0" + +pkg-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" + dependencies: + find-up "^1.0.0" + +plugin-error@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/plugin-error/-/plugin-error-0.1.2.tgz#3b9bb3335ccf00f425e07437e19276967da47ace" + dependencies: + ansi-cyan "^0.1.1" + ansi-red "^0.1.1" + arr-diff "^1.0.1" + arr-union "^2.0.1" + extend-shallow "^1.1.2" + +plugin-error@^1.0.1, plugin-error@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/plugin-error/-/plugin-error-1.0.1.tgz#77016bd8919d0ac377fdcdd0322328953ca5781c" + dependencies: + ansi-colors "^1.0.1" + arr-diff "^4.0.0" + arr-union "^3.1.0" + extend-shallow "^3.0.2" + +plur@^2.0.0, plur@^2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/plur/-/plur-2.1.2.tgz#7482452c1a0f508e3e344eaec312c91c29dc655a" + dependencies: + irregular-plurals "^1.0.0" + +pngjs@^3.0.0: + version "3.3.3" + resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.3.3.tgz#85173703bde3edac8998757b96e5821d0966a21b" + +pngquant-bin@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/pngquant-bin/-/pngquant-bin-3.1.1.tgz#d124d98a75a9487f40c1640b4dbfcbb2bd5a1fd1" + dependencies: + bin-build "^2.0.0" + bin-wrapper "^3.0.0" + logalot "^2.0.0" + +portscanner@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/portscanner/-/portscanner-2.1.1.tgz#eabb409e4de24950f5a2a516d35ae769343fbb96" + dependencies: + async "1.5.2" + is-number-like "^1.0.3" + +posix-character-classes@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" + +postcss-calc@^5.2.0: + version "5.3.1" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-5.3.1.tgz#77bae7ca928ad85716e2fda42f261bf7c1d65b5e" + dependencies: + postcss "^5.0.2" + postcss-message-helpers "^2.0.0" + reduce-css-calc "^1.2.6" + +postcss-colormin@^2.1.8: + version "2.2.2" + resolved "https://registry.yarnpkg.com/postcss-colormin/-/postcss-colormin-2.2.2.tgz#6631417d5f0e909a3d7ec26b24c8a8d1e4f96e4b" + dependencies: + colormin "^1.0.5" + postcss "^5.0.13" + postcss-value-parser "^3.2.3" + +postcss-convert-values@^2.3.4: + version "2.6.1" + resolved "https://registry.yarnpkg.com/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz#bbd8593c5c1fd2e3d1c322bb925dcae8dae4d62d" + dependencies: + postcss "^5.0.11" + postcss-value-parser "^3.1.2" + +postcss-discard-comments@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz#befe89fafd5b3dace5ccce51b76b81514be00e3d" + dependencies: + postcss "^5.0.14" + +postcss-discard-duplicates@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz#b9abf27b88ac188158a5eb12abcae20263b91932" + dependencies: + postcss "^5.0.4" + +postcss-discard-empty@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz#d2b4bd9d5ced5ebd8dcade7640c7d7cd7f4f92b5" + dependencies: + postcss "^5.0.14" + +postcss-discard-overridden@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz#8b1eaf554f686fb288cd874c55667b0aa3668d58" + dependencies: + postcss "^5.0.16" + +postcss-discard-unused@^2.2.1: + version "2.2.3" + resolved "https://registry.yarnpkg.com/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz#bce30b2cc591ffc634322b5fb3464b6d934f4433" + dependencies: + postcss "^5.0.14" + uniqs "^2.0.0" + +postcss-filter-plugins@^2.0.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/postcss-filter-plugins/-/postcss-filter-plugins-2.0.3.tgz#82245fdf82337041645e477114d8e593aa18b8ec" + dependencies: + postcss "^5.0.4" + +postcss-load-config@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-1.2.0.tgz#539e9afc9ddc8620121ebf9d8c3673e0ce50d28a" + dependencies: + cosmiconfig "^2.1.0" + object-assign "^4.1.0" + postcss-load-options "^1.2.0" + postcss-load-plugins "^2.3.0" + +postcss-load-options@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/postcss-load-options/-/postcss-load-options-1.2.0.tgz#b098b1559ddac2df04bc0bb375f99a5cfe2b6d8c" + dependencies: + cosmiconfig "^2.1.0" + object-assign "^4.1.0" + +postcss-load-plugins@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz#745768116599aca2f009fad426b00175049d8d92" + dependencies: + cosmiconfig "^2.1.1" + object-assign "^4.1.0" + +postcss-merge-idents@^2.1.5: + version "2.1.7" + resolved "https://registry.yarnpkg.com/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz#4c5530313c08e1d5b3bbf3d2bbc747e278eea270" + dependencies: + has "^1.0.1" + postcss "^5.0.10" + postcss-value-parser "^3.1.1" + +postcss-merge-longhand@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz#23d90cd127b0a77994915332739034a1a4f3d658" + dependencies: + postcss "^5.0.4" + +postcss-merge-rules@^2.0.3: + version "2.1.2" + resolved "https://registry.yarnpkg.com/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz#d1df5dfaa7b1acc3be553f0e9e10e87c61b5f721" + dependencies: + browserslist "^1.5.2" + caniuse-api "^1.5.2" + postcss "^5.0.4" + postcss-selector-parser "^2.2.2" + vendors "^1.0.0" + +postcss-message-helpers@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz#a4f2f4fab6e4fe002f0aed000478cdf52f9ba60e" + +postcss-minify-font-values@^1.0.2: + version "1.0.5" + resolved "https://registry.yarnpkg.com/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz#4b58edb56641eba7c8474ab3526cafd7bbdecb69" + dependencies: + object-assign "^4.0.1" + postcss "^5.0.4" + postcss-value-parser "^3.0.2" + +postcss-minify-gradients@^1.0.1: + version "1.0.5" + resolved "https://registry.yarnpkg.com/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz#5dbda11373703f83cfb4a3ea3881d8d75ff5e6e1" + dependencies: + postcss "^5.0.12" + postcss-value-parser "^3.3.0" + +postcss-minify-params@^1.0.4: + version "1.2.2" + resolved "https://registry.yarnpkg.com/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz#ad2ce071373b943b3d930a3fa59a358c28d6f1f3" + dependencies: + alphanum-sort "^1.0.1" + postcss "^5.0.2" + postcss-value-parser "^3.0.2" + uniqs "^2.0.0" + +postcss-minify-selectors@^2.0.4: + version "2.1.1" + resolved "https://registry.yarnpkg.com/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz#b2c6a98c0072cf91b932d1a496508114311735bf" + dependencies: + alphanum-sort "^1.0.2" + has "^1.0.1" + postcss "^5.0.14" + postcss-selector-parser "^2.0.0" + +postcss-normalize-charset@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz#ef9ee71212d7fe759c78ed162f61ed62b5cb93f1" + dependencies: + postcss "^5.0.5" + +postcss-normalize-url@^3.0.7: + version "3.0.8" + resolved "https://registry.yarnpkg.com/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz#108f74b3f2fcdaf891a2ffa3ea4592279fc78222" + dependencies: + is-absolute-url "^2.0.0" + normalize-url "^1.4.0" + postcss "^5.0.14" + postcss-value-parser "^3.2.3" + +postcss-ordered-values@^2.1.0: + version "2.2.3" + resolved "https://registry.yarnpkg.com/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz#eec6c2a67b6c412a8db2042e77fe8da43f95c11d" + dependencies: + postcss "^5.0.4" + postcss-value-parser "^3.0.1" + +postcss-pxtorem@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/postcss-pxtorem/-/postcss-pxtorem-3.3.1.tgz#0da39bf983b3c849ae0e3c74eca7269b13ad2044" + dependencies: + object-assign "^4.0.1" + postcss "^5.0.2" + +postcss-reduce-idents@^2.2.2: + version "2.4.0" + resolved "https://registry.yarnpkg.com/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz#c2c6d20cc958284f6abfbe63f7609bf409059ad3" + dependencies: + postcss "^5.0.4" + postcss-value-parser "^3.0.2" + +postcss-reduce-initial@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz#68f80695f045d08263a879ad240df8dd64f644ea" + dependencies: + postcss "^5.0.4" + +postcss-reduce-transforms@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz#ff76f4d8212437b31c298a42d2e1444025771ae1" + dependencies: + has "^1.0.1" + postcss "^5.0.8" + postcss-value-parser "^3.0.1" + +postcss-selector-parser@^2.0.0, postcss-selector-parser@^2.2.2: + version "2.2.3" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz#f9437788606c3c9acee16ffe8d8b16297f27bb90" + dependencies: + flatten "^1.0.2" + indexes-of "^1.0.1" + uniq "^1.0.1" + +postcss-svgo@^2.1.1: + version "2.1.6" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-2.1.6.tgz#b6df18aa613b666e133f08adb5219c2684ac108d" + dependencies: + is-svg "^2.0.0" + postcss "^5.0.14" + postcss-value-parser "^3.2.3" + svgo "^0.7.0" + +postcss-unique-selectors@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz#981d57d29ddcb33e7b1dfe1fd43b8649f933ca1d" + dependencies: + alphanum-sort "^1.0.1" + postcss "^5.0.4" + uniqs "^2.0.0" + +postcss-value-parser@^3.0.1, postcss-value-parser@^3.0.2, postcss-value-parser@^3.1.1, postcss-value-parser@^3.1.2, postcss-value-parser@^3.2.3, postcss-value-parser@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-3.3.0.tgz#87f38f9f18f774a4ab4c8a232f5c5ce8872a9d15" + +postcss-zindex@^2.0.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/postcss-zindex/-/postcss-zindex-2.2.0.tgz#d2109ddc055b91af67fc4cb3b025946639d2af22" + dependencies: + has "^1.0.1" + postcss "^5.0.4" + uniqs "^2.0.0" + +postcss@^5.0.10, postcss@^5.0.11, postcss@^5.0.12, postcss@^5.0.13, postcss@^5.0.14, postcss@^5.0.16, postcss@^5.0.2, postcss@^5.0.4, postcss@^5.0.5, postcss@^5.0.8, postcss@^5.2.12, postcss@^5.2.16: + version "5.2.18" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-5.2.18.tgz#badfa1497d46244f6390f58b319830d9107853c5" + dependencies: + chalk "^1.1.3" + js-base64 "^2.1.9" + source-map "^0.5.6" + supports-color "^3.2.3" + +posthtml-attrs-parser@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/posthtml-attrs-parser/-/posthtml-attrs-parser-0.1.1.tgz#cc33e00155fb99ba96f67e25e330461f05742ac8" + dependencies: + object-assign "^4.0.1" + +posthtml-parser@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/posthtml-parser/-/posthtml-parser-0.1.3.tgz#43251f575ba34e361032f79a11e0fc93ab232b24" + dependencies: + htmlparser2 "^3.8.3" + +posthtml-px2rem@^0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/posthtml-px2rem/-/posthtml-px2rem-0.0.3.tgz#0c98d8db5f1358802ef10189596f87f2f5f432a2" + dependencies: + lodash "^3.10.1" + posthtml-attrs-parser "^0.1.0" + +posthtml-render@^1.0.5: + version "1.1.4" + resolved "https://registry.yarnpkg.com/posthtml-render/-/posthtml-render-1.1.4.tgz#95dac09892f4f183fad5ac823f08f42c0256551e" + +posthtml@^0.8.0: + version "0.8.7" + resolved "https://registry.yarnpkg.com/posthtml/-/posthtml-0.8.7.tgz#aba6124c6cf87b4ceea6bab5f7e50268f2c2006d" + dependencies: + posthtml-parser "^0.1.3" + posthtml-render "^1.0.5" + +prepend-http@^1.0.0, prepend-http@^1.0.1: + version "1.0.4" + resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" + +preserve@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" + +pretty-bytes@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-2.0.1.tgz#155ec4d0036f41391e7045d6dbe4963d525d264f" + dependencies: + get-stdin "^4.0.1" + meow "^3.1.0" + number-is-nan "^1.0.0" + +pretty-hrtime@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1" + +prettysize@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/prettysize/-/prettysize-1.1.0.tgz#c6c52f87161ff172ea435f375f99831dd9a97bb0" + +private@^0.1.6, private@^0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" + +process-nextick-args@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" + +process-nextick-args@^2.0.0, process-nextick-args@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.0.tgz#a37d732f4271b4ab1ad070d35508e8290788ffaa" + +process@^0.11.0, process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + +process@~0.5.1: + version "0.5.2" + resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf" + +progress@^1.1.8: + version "1.1.8" + resolved "https://registry.yarnpkg.com/progress/-/progress-1.1.8.tgz#e260c78f6161cdd9b0e56cc3e0a85de17c7a57be" + +promise@^7.1.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" + dependencies: + asap "~2.0.3" + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + +psl@^1.1.24: + version "1.1.29" + resolved "https://registry.yarnpkg.com/psl/-/psl-1.1.29.tgz#60f580d360170bb722a797cc704411e6da850c67" + +public-encrypt@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.2.tgz#46eb9107206bf73489f8b85b69d91334c6610994" + dependencies: + bn.js "^4.1.0" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + parse-asn1 "^5.0.0" + randombytes "^2.0.1" + +pump@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909" + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +pumpify@^1.3.5: + version "1.5.1" + resolved "https://registry.yarnpkg.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce" + dependencies: + duplexify "^3.6.0" + inherits "^2.0.3" + pump "^2.0.0" + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + +punycode@^1.2.4, punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + +q@^1.1.2: + version "1.5.1" + resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7" + +qs@6.2.3: + version "6.2.3" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.2.3.tgz#1cfcb25c10a9b2b483053ff39f5dfc9233908cfe" + +qs@~0.6.0: + version "0.6.6" + resolved "https://registry.yarnpkg.com/qs/-/qs-0.6.6.tgz#6e015098ff51968b8a3c819001d5f2c89bc4b107" + +qs@~6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" + +qs@~6.5.1: + version "6.5.2" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" + +query-string@^4.1.0: + version "4.3.4" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb" + dependencies: + object-assign "^4.1.0" + strict-uri-encode "^1.0.0" + +querystring-es3@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + +quick-local-ip@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/quick-local-ip/-/quick-local-ip-1.0.7.tgz#4bda1029e5e6da218db702df72c24adde14aa4c7" + dependencies: + mocha "^2.3.3" + +randomatic@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-3.0.0.tgz#d35490030eb4f7578de292ce6dfb04a91a128923" + dependencies: + is-number "^4.0.0" + kind-of "^6.0.0" + math-random "^1.0.1" + +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: + version "2.0.6" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.6.tgz#d302c522948588848a8d300c932b44c24231da80" + dependencies: + safe-buffer "^5.1.0" + +randomfill@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + +range-parser@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" + +raw-body@^2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.3.tgz#1b324ece6b5706e153855bc1148c65bb7f6ea0c3" + dependencies: + bytes "3.0.0" + http-errors "1.6.3" + iconv-lite "0.4.23" + unpipe "1.0.0" + +rc@^1.1.2, rc@^1.1.6, rc@^1.2.7: + version "1.2.8" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +rd@^0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/rd/-/rd-0.0.2.tgz#883ab18b8f4f8dcbbff4dc7b6fbb4373f505196a" + +read-all-stream@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/read-all-stream/-/read-all-stream-3.1.0.tgz#35c3e177f2078ef789ee4bfafa4373074eaef4fa" + dependencies: + pinkie-promise "^2.0.0" + readable-stream "^2.0.0" + +read-chunk@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/read-chunk/-/read-chunk-1.0.1.tgz#5f68cab307e663f19993527d9b589cace4661194" + +read-pkg-up@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + dependencies: + find-up "^1.0.0" + read-pkg "^1.0.0" + +read-pkg@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + dependencies: + load-json-file "^1.0.0" + normalize-package-data "^2.3.2" + path-type "^1.0.0" + +readable-stream@1.0.27-1: + version "1.0.27-1" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.27-1.tgz#6b67983c20357cefd07f0165001a16d710d91078" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +"readable-stream@>=1.0.33-1 <1.1.0-0", readable-stream@~1.0.17: + version "1.0.34" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readable-stream@^1.0.31, readable-stream@~1.1.9: + version "1.1.14" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.1" + isarray "0.0.1" + string_decoder "~0.10.x" + +readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.4, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.0, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6: + version "2.3.6" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.6.tgz#b11c27d88b8ff1fbe070643cf94b0c79ae1b0aaf" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~2.0.0" + safe-buffer "~5.1.1" + string_decoder "~1.1.1" + util-deprecate "~1.0.1" + +readdirp@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" + dependencies: + graceful-fs "^4.1.2" + minimatch "^3.0.2" + readable-stream "^2.0.2" + set-immediate-shim "^1.0.1" + +readdirp@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525" + dependencies: + graceful-fs "^4.1.11" + micromatch "^3.1.10" + readable-stream "^2.0.2" + +rechoir@^0.6.2: + version "0.6.2" + resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" + dependencies: + resolve "^1.1.6" + +redent@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" + dependencies: + indent-string "^2.1.0" + strip-indent "^1.0.1" + +reduce-css-calc@^1.2.6: + version "1.3.0" + resolved "https://registry.yarnpkg.com/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz#747c914e049614a4c9cfbba629871ad1d2927716" + dependencies: + balanced-match "^0.4.2" + math-expression-evaluator "^1.2.14" + reduce-function-call "^1.0.1" + +reduce-function-call@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/reduce-function-call/-/reduce-function-call-1.0.2.tgz#5a200bf92e0e37751752fe45b0ab330fd4b6be99" + dependencies: + balanced-match "^0.4.2" + +regenerate@^1.2.1: + version "1.4.0" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" + +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + +regenerator-transform@^0.10.0: + version "0.10.1" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd" + dependencies: + babel-runtime "^6.18.0" + babel-types "^6.19.0" + private "^0.1.6" + +regex-cache@^0.4.2: + version "0.4.4" + resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" + dependencies: + is-equal-shallow "^0.1.3" + +regex-not@^1.0.0, regex-not@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" + dependencies: + extend-shallow "^3.0.2" + safe-regex "^1.1.0" + +regexpu-core@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" + dependencies: + regenerate "^1.2.1" + regjsgen "^0.2.0" + regjsparser "^0.1.4" + +regjsgen@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" + +regjsparser@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" + dependencies: + jsesc "~0.5.0" + +remove-bom-buffer@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz#c2bf1e377520d324f623892e33c10cac2c252b53" + dependencies: + is-buffer "^1.1.5" + is-utf8 "^0.2.1" + +remove-bom-stream@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz#05f1a593f16e42e1fb90ebf59de8e569525f9523" + dependencies: + remove-bom-buffer "^3.0.0" + safe-buffer "^5.1.0" + through2 "^2.0.3" + +remove-trailing-separator@^1.0.1, remove-trailing-separator@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + +repeat-element@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" + +repeat-string@^1.5.2, repeat-string@^1.6.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + +repeating@^1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/repeating/-/repeating-1.1.3.tgz#3d4114218877537494f97f77f9785fab810fa4ac" + dependencies: + is-finite "^1.0.0" + +repeating@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + dependencies: + is-finite "^1.0.0" + +replace-ext@0.0.1, replace-ext@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-0.0.1.tgz#29bbd92078a739f0bcce2b4ee41e837953522924" + +replace-ext@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/replace-ext/-/replace-ext-1.0.0.tgz#de63128373fcbf7c3ccfa4de5a480c45a67958eb" + +replace-homedir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/replace-homedir/-/replace-homedir-1.0.0.tgz#e87f6d513b928dde808260c12be7fec6ff6e798c" + dependencies: + homedir-polyfill "^1.0.1" + is-absolute "^1.0.0" + remove-trailing-separator "^1.1.0" + +replacestream@^4.0.0: + version "4.0.3" + resolved "https://registry.yarnpkg.com/replacestream/-/replacestream-4.0.3.tgz#3ee5798092be364b1cdb1484308492cb3dff2f36" + dependencies: + escape-string-regexp "^1.0.3" + object-assign "^4.0.1" + readable-stream "^2.0.2" + +request-progress@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/request-progress/-/request-progress-2.0.1.tgz#5d36bb57961c673aa5b788dbc8141fdf23b44e08" + dependencies: + throttleit "^1.0.0" + +request@2.81.0, "request@>=2.9.0 <2.82.0": + version "2.81.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" + dependencies: + aws-sign2 "~0.6.0" + aws4 "^1.2.1" + caseless "~0.12.0" + combined-stream "~1.0.5" + extend "~3.0.0" + forever-agent "~0.6.1" + form-data "~2.1.1" + har-validator "~4.2.1" + hawk "~3.1.3" + http-signature "~1.1.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.7" + oauth-sign "~0.8.1" + performance-now "^0.2.0" + qs "~6.4.0" + safe-buffer "^5.0.1" + stringstream "~0.0.4" + tough-cookie "~2.3.0" + tunnel-agent "^0.6.0" + uuid "^3.0.0" + +request@^2.61.0, request@^2.65.0, request@^2.81.0: + version "2.87.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.87.0.tgz#32f00235cd08d482b4d0d68db93a829c0ed5756e" + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.6.0" + caseless "~0.12.0" + combined-stream "~1.0.5" + extend "~3.0.1" + forever-agent "~0.6.1" + form-data "~2.3.1" + har-validator "~5.0.3" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.17" + oauth-sign "~0.8.2" + performance-now "^2.1.0" + qs "~6.5.1" + safe-buffer "^5.1.1" + tough-cookie "~2.3.3" + tunnel-agent "^0.6.0" + uuid "^3.1.0" + +request@~2.33.0: + version "2.33.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.33.0.tgz#5167878131726070ec633752ea230a2379dc65ff" + dependencies: + forever-agent "~0.5.0" + json-stringify-safe "~5.0.0" + mime "~1.2.9" + node-uuid "~1.4.0" + qs "~0.6.0" + optionalDependencies: + aws-sign2 "~0.5.0" + form-data "~0.1.0" + hawk "~1.0.0" + http-signature "~0.10.0" + oauth-sign "~0.3.0" + tough-cookie ">=0.12.0" + tunnel-agent "~0.3.0" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + +require-from-string@^1.1.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-1.2.1.tgz#529c9ccef27380adfec9a2f965b649bbee636418" + +require-main-filename@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + +requires-port@1.x.x: + version "1.0.0" + resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" + +resolve-dir@^1.0.0, resolve-dir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43" + dependencies: + expand-tilde "^2.0.0" + global-modules "^1.0.0" + +resolve-options@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/resolve-options/-/resolve-options-1.1.0.tgz#32bb9e39c06d67338dc9378c0d6d6074566ad131" + dependencies: + value-or-function "^3.0.0" + +resolve-url@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" + +resolve@^1.1.6, resolve@^1.1.7, resolve@^1.4.0, resolve@^1.5.0: + version "1.8.1" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.8.1.tgz#82f1ec19a423ac1fbd080b0bab06ba36e84a7a26" + dependencies: + path-parse "^1.0.5" + +resp-modifier@6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/resp-modifier/-/resp-modifier-6.0.2.tgz#b124de5c4fbafcba541f48ffa73970f4aa456b4f" + dependencies: + debug "^2.2.0" + minimatch "^3.0.2" + +ret@~0.1.10: + version "0.1.15" + resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" + +right-align@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" + dependencies: + align-text "^0.1.1" + +rimraf@2, rimraf@^2.2.6, rimraf@^2.2.8, rimraf@^2.3.4, rimraf@^2.6.1: + version "2.6.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" + dependencies: + glob "^7.0.5" + +ripemd160@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-0.2.0.tgz#2bf198bde167cacfa51c0a928e84b68bbe171fce" + +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +rx@4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/rx/-/rx-4.1.0.tgz#a5f13ff79ef3b740fe30aa803fb09f98805d4782" + +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + +safe-regex@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" + dependencies: + ret "~0.1.10" + +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + +sass-graph@^2.1.1: + version "2.2.4" + resolved "https://registry.yarnpkg.com/sass-graph/-/sass-graph-2.2.4.tgz#13fbd63cd1caf0908b9fd93476ad43a51d1e0b49" + dependencies: + glob "^7.0.0" + lodash "^4.0.0" + scss-tokenizer "^0.2.3" + yargs "^7.0.0" + +sax@>=0.6.0, sax@^1.2.4, sax@~1.2.1, sax@~1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" + +scss-tokenizer@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/scss-tokenizer/-/scss-tokenizer-0.2.3.tgz#8eb06db9a9723333824d3f5530641149847ce5d1" + dependencies: + js-base64 "^2.1.8" + source-map "^0.4.2" + +seek-bzip@^1.0.3: + version "1.0.5" + resolved "https://registry.yarnpkg.com/seek-bzip/-/seek-bzip-1.0.5.tgz#cfe917cb3d274bcffac792758af53173eb1fabdc" + dependencies: + commander "~2.8.1" + +semver-greatest-satisfied-range@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz#13e8c2658ab9691cb0cd71093240280d36f77a5b" + dependencies: + sver-compat "^1.5.0" + +semver-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-1.0.0.tgz#92a4969065f9c70c694753d55248fc68f8f652c9" + +semver-truncate@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/semver-truncate/-/semver-truncate-1.1.2.tgz#57f41de69707a62709a7e0104ba2117109ea47e8" + dependencies: + semver "^5.3.0" + +"semver@2 || 3 || 4 || 5", semver@^5.3.0: + version "5.5.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.5.0.tgz#dc4bbc7a6ca9d916dee5d43516f0092b58f7b8ab" + +semver@^4.0.3: + version "4.3.6" + resolved "https://registry.yarnpkg.com/semver/-/semver-4.3.6.tgz#300bc6e0e86374f7ba61068b5b1ecd57fc6532da" + +semver@~5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + +send@0.16.2: + version "0.16.2" + resolved "https://registry.yarnpkg.com/send/-/send-0.16.2.tgz#6ecca1e0f8c156d141597559848df64730a6bbc1" + dependencies: + debug "2.6.9" + depd "~1.1.2" + destroy "~1.0.4" + encodeurl "~1.0.2" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "~1.6.2" + mime "1.4.1" + ms "2.0.0" + on-finished "~2.3.0" + range-parser "~1.2.0" + statuses "~1.4.0" + +serve-index@1.9.1: + version "1.9.1" + resolved "https://registry.yarnpkg.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239" + dependencies: + accepts "~1.3.4" + batch "0.6.1" + debug "2.6.9" + escape-html "~1.0.3" + http-errors "~1.6.2" + mime-types "~2.1.17" + parseurl "~1.3.2" + +serve-static@1.13.2: + version "1.13.2" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.2.tgz#095e8472fd5b46237db50ce486a43f4b86c6cec1" + dependencies: + encodeurl "~1.0.2" + escape-html "~1.0.3" + parseurl "~1.3.2" + send "0.16.2" + +server-destroy@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/server-destroy/-/server-destroy-1.0.1.tgz#f13bf928e42b9c3e79383e61cc3998b5d14e6cdd" + +set-blocking@^2.0.0, set-blocking@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + +set-immediate-shim@^1.0.0, set-immediate-shim@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" + +set-value@^0.4.3: + version "0.4.3" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-0.4.3.tgz#7db08f9d3d22dc7f78e53af3c3bf4666ecdfccf1" + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.1" + to-object-path "^0.3.0" + +set-value@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.0.tgz#71ae4a88f0feefbbf52d1ea604f3fb315ebb6274" + dependencies: + extend-shallow "^2.0.1" + is-extendable "^0.1.1" + is-plain-object "^2.0.3" + split-string "^3.0.1" + +setimmediate@^1.0.4: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + +sha.js@2.2.6: + version "2.2.6" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.2.6.tgz#17ddeddc5f722fb66501658895461977867315ba" + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.11" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + dependencies: + shebang-regex "^1.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + +sigmund@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" + +signal-exit@^3.0.0: + version "3.0.2" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + +simple-swizzle@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" + dependencies: + is-arrayish "^0.3.1" + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + +snapdragon-node@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" + dependencies: + define-property "^1.0.0" + isobject "^3.0.0" + snapdragon-util "^3.0.1" + +snapdragon-util@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" + dependencies: + kind-of "^3.2.0" + +snapdragon@^0.8.1: + version "0.8.2" + resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" + dependencies: + base "^0.11.1" + debug "^2.2.0" + define-property "^0.2.5" + extend-shallow "^2.0.1" + map-cache "^0.2.2" + source-map "^0.5.6" + source-map-resolve "^0.5.0" + use "^3.1.0" + +sntp@0.2.x: + version "0.2.4" + resolved "https://registry.yarnpkg.com/sntp/-/sntp-0.2.4.tgz#fb885f18b0f3aad189f824862536bceeec750900" + dependencies: + hoek "0.9.x" + +sntp@1.x.x: + version "1.0.9" + resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" + dependencies: + hoek "2.x.x" + +socket.io-adapter@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz#2a805e8a14d6372124dd9159ad4502f8cb07f06b" + +socket.io-client@2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.0.4.tgz#0918a552406dc5e540b380dcd97afc4a64332f8e" + dependencies: + backo2 "1.0.2" + base64-arraybuffer "0.1.5" + component-bind "1.0.0" + component-emitter "1.2.1" + debug "~2.6.4" + engine.io-client "~3.1.0" + has-cors "1.1.0" + indexof "0.0.1" + object-component "0.0.3" + parseqs "0.0.5" + parseuri "0.0.5" + socket.io-parser "~3.1.1" + to-array "0.1.4" + +socket.io-client@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-2.1.1.tgz#dcb38103436ab4578ddb026638ae2f21b623671f" + dependencies: + backo2 "1.0.2" + base64-arraybuffer "0.1.5" + component-bind "1.0.0" + component-emitter "1.2.1" + debug "~3.1.0" + engine.io-client "~3.2.0" + has-binary2 "~1.0.2" + has-cors "1.1.0" + indexof "0.0.1" + object-component "0.0.3" + parseqs "0.0.5" + parseuri "0.0.5" + socket.io-parser "~3.2.0" + to-array "0.1.4" + +socket.io-parser@~3.1.1: + version "3.1.3" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.1.3.tgz#ed2da5ee79f10955036e3da413bfd7f1e4d86c8e" + dependencies: + component-emitter "1.2.1" + debug "~3.1.0" + has-binary2 "~1.0.2" + isarray "2.0.1" + +socket.io-parser@~3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-3.2.0.tgz#e7c6228b6aa1f814e6148aea325b51aa9499e077" + dependencies: + component-emitter "1.2.1" + debug "~3.1.0" + isarray "2.0.1" + +socket.io@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-2.1.1.tgz#a069c5feabee3e6b214a75b40ce0652e1cfb9980" + dependencies: + debug "~3.1.0" + engine.io "~3.2.0" + has-binary2 "~1.0.2" + socket.io-adapter "~1.1.0" + socket.io-client "2.1.1" + socket.io-parser "~3.2.0" + +sort-keys@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/sort-keys/-/sort-keys-1.1.2.tgz#441b6d4d346798f1b4e49e8920adfba0e543f9ad" + dependencies: + is-plain-obj "^1.0.0" + +source-list-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.0.tgz#aaa47403f7b245a92fbc97ea08f250d6087ed085" + +source-list-map@~0.1.7: + version "0.1.8" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-0.1.8.tgz#c550b2ab5427f6b3f21f5afead88c4f5587b2106" + +source-map-resolve@^0.5.0, source-map-resolve@^0.5.1: + version "0.5.2" + resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.2.tgz#72e2cc34095543e43b2c62b2c4c10d4a9054f259" + dependencies: + atob "^2.1.1" + decode-uri-component "^0.2.0" + resolve-url "^0.2.1" + source-map-url "^0.4.0" + urix "^0.1.0" + +source-map-support@^0.4.15: + version "0.4.18" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" + dependencies: + source-map "^0.5.6" + +source-map-url@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" + +source-map@^0.1.38: + version "0.1.43" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346" + dependencies: + amdefine ">=0.0.4" + +source-map@^0.4.2, source-map@~0.4.1: + version "0.4.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" + dependencies: + amdefine ">=0.0.4" + +source-map@^0.5.1, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7, source-map@~0.5.1: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + +source-map@^0.6.1, source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + +sparkles@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sparkles/-/sparkles-1.0.1.tgz#008db65edce6c50eec0c5e228e1945061dd0437c" + +spdx-correct@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.0.0.tgz#05a5b4d7153a195bc92c3c425b69f3b2a9524c82" + dependencies: + spdx-expression-parse "^3.0.0" + spdx-license-ids "^3.0.0" + +spdx-exceptions@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz#2c7ae61056c714a5b9b9b2b2af7d311ef5c78fe9" + +spdx-expression-parse@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz#99e119b7a5da00e05491c9fa338b7904823b41d0" + dependencies: + spdx-exceptions "^2.1.0" + spdx-license-ids "^3.0.0" + +spdx-license-ids@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.0.tgz#7a7cd28470cc6d3a1cfe6d66886f6bc430d3ac87" + +split-string@^3.0.1, split-string@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" + dependencies: + extend-shallow "^3.0.0" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + +squeak@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/squeak/-/squeak-1.3.0.tgz#33045037b64388b567674b84322a6521073916c3" + dependencies: + chalk "^1.0.0" + console-stream "^0.1.1" + lpad-align "^1.0.1" + +ssh2@~0.3.3: + version "0.3.6" + resolved "https://registry.yarnpkg.com/ssh2/-/ssh2-0.3.6.tgz#49034434aee3821ee5fc22b952081e7801ff92ed" + dependencies: + asn1 "0.2.1" + readable-stream "1.0.27-1" + streamsearch "0.1.2" + +sshpk@^1.7.0: + version "1.14.2" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.14.2.tgz#c6fc61648a3d9c4e764fd3fcdf4ea105e492ba98" + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + dashdash "^1.12.0" + getpass "^0.1.1" + safer-buffer "^2.0.2" + optionalDependencies: + bcrypt-pbkdf "^1.0.0" + ecc-jsbn "~0.1.1" + jsbn "~0.1.0" + tweetnacl "~0.14.0" + +stable@~0.1.6: + version "0.1.8" + resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf" + +stack-trace@0.0.10, stack-trace@0.0.x: + version "0.0.10" + resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" + +stat-mode@^0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/stat-mode/-/stat-mode-0.2.2.tgz#e6c80b623123d7d80cf132ce538f346289072502" + +static-extend@^0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" + dependencies: + define-property "^0.2.5" + object-copy "^0.1.0" + +"statuses@>= 1.4.0 < 2": + version "1.5.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" + +statuses@~1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" + +statuses@~1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" + +stream-browserify@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" + dependencies: + inherits "~2.0.1" + readable-stream "^2.0.2" + +stream-combiner2@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/stream-combiner2/-/stream-combiner2-1.1.1.tgz#fb4d8a1420ea362764e21ad4780397bebcb41cbe" + dependencies: + duplexer2 "~0.1.0" + readable-stream "^2.0.2" + +stream-combiner@^0.2.1, stream-combiner@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.2.2.tgz#aec8cbac177b56b6f4fa479ced8c1912cee52858" + dependencies: + duplexer "~0.1.1" + through "~2.3.4" + +stream-exhaust@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/stream-exhaust/-/stream-exhaust-1.0.2.tgz#acdac8da59ef2bc1e17a2c0ccf6c320d120e555d" + +stream-http@^2.3.1, stream-http@^2.7.2: + version "2.8.3" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.1" + readable-stream "^2.3.6" + to-arraybuffer "^1.0.0" + xtend "^4.0.0" + +stream-shift@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.0.tgz#d5c752825e5367e786f78e18e445ea223a155952" + +stream-throttle@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/stream-throttle/-/stream-throttle-0.1.3.tgz#add57c8d7cc73a81630d31cd55d3961cfafba9c3" + dependencies: + commander "^2.2.0" + limiter "^1.0.5" + +stream-to-buffer@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/stream-to-buffer/-/stream-to-buffer-0.1.0.tgz#26799d903ab2025c9bd550ac47171b00f8dd80a9" + dependencies: + stream-to "~0.2.0" + +stream-to@~0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/stream-to/-/stream-to-0.2.2.tgz#84306098d85fdb990b9fa300b1b3ccf55e8ef01d" + +streamsearch@0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-0.1.2.tgz#808b9d0e56fc273d809ba57338e929919a1a9f1a" + +strict-uri-encode@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + +string-width@^1.0.1, string-width@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +"string-width@^1.0.2 || 2", string-width@^2.0.0, string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string_decoder@^0.10.25, string_decoder@~0.10.x: + version "0.10.31" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" + +string_decoder@^1.0.0, string_decoder@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" + dependencies: + safe-buffer "~5.1.0" + +stringstream@~0.0.4: + version "0.0.6" + resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.6.tgz#7880225b0d4ad10e30927d167a1d6f2fd3b33a72" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + dependencies: + ansi-regex "^3.0.0" + +strip-bom-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz#e7144398577d51a6bed0fa1994fa05f43fd988ee" + dependencies: + first-chunk-stream "^1.0.0" + strip-bom "^2.0.0" + +strip-bom@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-1.0.0.tgz#85b8862f3844b5a6d5ec8467a93598173a36f794" + dependencies: + first-chunk-stream "^1.0.0" + is-utf8 "^0.2.0" + +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + dependencies: + is-utf8 "^0.2.0" + +strip-dirs@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/strip-dirs/-/strip-dirs-1.1.1.tgz#960bbd1287844f3975a4558aa103a8255e2456a0" + dependencies: + chalk "^1.0.0" + get-stdin "^4.0.1" + is-absolute "^0.1.5" + is-natural-number "^2.0.0" + minimist "^1.1.0" + sum-up "^1.0.1" + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + +strip-indent@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" + dependencies: + get-stdin "^4.0.1" + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + +strip-outer@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/strip-outer/-/strip-outer-1.0.1.tgz#b2fd2abf6604b9d1e6013057195df836b8a9d631" + dependencies: + escape-string-regexp "^1.0.2" + +sum-up@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sum-up/-/sum-up-1.0.3.tgz#1c661f667057f63bcb7875aa1438bc162525156e" + dependencies: + chalk "^1.0.0" + +supports-color@1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-1.2.0.tgz#ff1ed1e61169d06b3cf2d588e188b18d8847e17e" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + +supports-color@^3.1.0, supports-color@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" + dependencies: + has-flag "^1.0.0" + +supports-color@^5.3.0: + version "5.4.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" + dependencies: + has-flag "^3.0.0" + +sver-compat@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/sver-compat/-/sver-compat-1.5.0.tgz#3cf87dfeb4d07b4a3f14827bc186b3fd0c645cd8" + dependencies: + es6-iterator "^2.0.1" + es6-symbol "^3.1.1" + +svg-sprite@~1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/svg-sprite/-/svg-sprite-1.4.0.tgz#583bddc86950ca3d5d8ac249b6f1cae2c41ff557" + dependencies: + async "^2.6.0" + css-selector-parser "^1.3.0" + cssmin "^0.4.3" + cssom "^0.3.2" + dateformat "^3.0.3" + glob "^7.1.2" + js-yaml "^3.11.0" + lodash "^4.17.5" + lodash.pluck "^3.1.2" + mkdirp "^0.5.1" + mustache "^2.3.0" + phantomjs-prebuilt "^2.1.16" + prettysize "^1.1.0" + svgo "^1.0.5" + vinyl "^2.1.0" + winston "^2.4.1" + xmldom "0.1.27" + xpath "^0.0.27" + yargs "^11.0.0" + +svg-to-png@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/svg-to-png/-/svg-to-png-3.1.2.tgz#1bd22321ff951778c7314f5d208beb0d31605401" + dependencies: + phantomjs-prebuilt "^2.1.7" + optionalDependencies: + imagemin "3.1.0" + +svgo@^0.6.0: + version "0.6.6" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.6.6.tgz#b340889036f20f9b447543077d0f5573ed044c08" + dependencies: + coa "~1.0.1" + colors "~1.1.2" + csso "~2.0.0" + js-yaml "~3.6.0" + mkdirp "~0.5.1" + sax "~1.2.1" + whet.extend "~0.9.9" + +svgo@^0.7.0: + version "0.7.2" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-0.7.2.tgz#9f5772413952135c6fefbf40afe6a4faa88b4bb5" + dependencies: + coa "~1.0.1" + colors "~1.1.2" + csso "~2.3.1" + js-yaml "~3.7.0" + mkdirp "~0.5.1" + sax "~1.2.1" + whet.extend "~0.9.9" + +svgo@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/svgo/-/svgo-1.0.5.tgz#7040364c062a0538abacff4401cea6a26a7a389a" + dependencies: + coa "~2.0.1" + colors "~1.1.2" + css-select "~1.3.0-rc0" + css-select-base-adapter "~0.1.0" + css-tree "1.0.0-alpha25" + css-url-regex "^1.1.0" + csso "^3.5.0" + js-yaml "~3.10.0" + mkdirp "~0.5.1" + object.values "^1.0.4" + sax "~1.2.4" + stable "~0.1.6" + unquote "~1.1.1" + util.promisify "~1.0.0" + +tapable@^0.1.8, tapable@~0.1.8: + version "0.1.10" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.1.10.tgz#29c35707c2b70e50d07482b5d202e8ed446dafd4" + +tapable@^0.2.7, tapable@~0.2.5: + version "0.2.8" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.8.tgz#99372a5c999bf2df160afc0d74bed4f47948cd22" + +tar-stream@^1.1.1: + version "1.6.1" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.1.tgz#f84ef1696269d6223ca48f6e1eeede3f7e81f395" + dependencies: + bl "^1.0.0" + buffer-alloc "^1.1.0" + end-of-stream "^1.0.0" + fs-constants "^1.0.0" + readable-stream "^2.3.0" + to-buffer "^1.1.0" + xtend "^4.0.0" + +tar@^2.0.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" + dependencies: + block-stream "*" + fstream "^1.0.2" + inherits "2" + +tar@^4: + version "4.4.6" + resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.6.tgz#63110f09c00b4e60ac8bcfe1bf3c8660235fbc9b" + dependencies: + chownr "^1.0.1" + fs-minipass "^1.2.5" + minipass "^2.3.3" + minizlib "^1.1.0" + mkdirp "^0.5.0" + safe-buffer "^5.1.2" + yallist "^3.0.2" + +tempfile@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/tempfile/-/tempfile-1.1.1.tgz#5bcc4eaecc4ab2c707d8bc11d99ccc9a2cb287f2" + dependencies: + os-tmpdir "^1.0.0" + uuid "^2.0.1" + +ternary-stream@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/ternary-stream/-/ternary-stream-2.0.1.tgz#064e489b4b5bf60ba6a6b7bc7f2f5c274ecf8269" + dependencies: + duplexify "^3.5.0" + fork-stream "^0.0.4" + merge-stream "^1.0.0" + through2 "^2.0.1" + +textextensions@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/textextensions/-/textextensions-1.0.2.tgz#65486393ee1f2bb039a60cbba05b0b68bd9501d2" + +tfunk@^3.0.1: + version "3.1.0" + resolved "https://registry.yarnpkg.com/tfunk/-/tfunk-3.1.0.tgz#38e4414fc64977d87afdaa72facb6d29f82f7b5b" + dependencies: + chalk "^1.1.1" + object-path "^0.9.0" + +throttleit@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/throttleit/-/throttleit-1.0.0.tgz#9e785836daf46743145a5984b6268d828528ac6c" + +through2-concurrent@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/through2-concurrent/-/through2-concurrent-1.1.1.tgz#11cb4ea4c9e31bca6e4c1e6dba48d1c728c3524b" + dependencies: + through2 "^2.0.0" + +through2-filter@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-2.0.0.tgz#60bc55a0dacb76085db1f9dae99ab43f83d622ec" + dependencies: + through2 "~2.0.0" + xtend "~4.0.0" + +through2@2.0.3, through2@^2.0.0, through2@^2.0.1, through2@^2.0.3, through2@~2.0.0, through2@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" + dependencies: + readable-stream "^2.1.5" + xtend "~4.0.1" + +through2@^0.6.0, through2@^0.6.1, through2@^0.6.5: + version "0.6.5" + resolved "https://registry.yarnpkg.com/through2/-/through2-0.6.5.tgz#41ab9c67b29d57209071410e1d7a7a968cd3ad48" + dependencies: + readable-stream ">=1.0.33-1 <1.1.0-0" + xtend ">=4.0.0 <4.1.0-0" + +through2@~0.4.1, through2@~0.4.2: + version "0.4.2" + resolved "https://registry.yarnpkg.com/through2/-/through2-0.4.2.tgz#dbf5866031151ec8352bb6c4db64a2292a840b9b" + dependencies: + readable-stream "~1.0.17" + xtend "~2.1.1" + +through@^2.3.8, through@~2.3.4: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + +time-stamp@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" + +timed-out@^3.0.0: + version "3.1.3" + resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-3.1.3.tgz#95860bfcc5c76c277f8f8326fd0f5b2e20eba217" + +timers-browserify@^2.0.2, timers-browserify@^2.0.4: + version "2.0.10" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.10.tgz#1d28e3d2aadf1d5a5996c4e9f95601cd053480ae" + dependencies: + setimmediate "^1.0.4" + +tinycolor2@^1.1.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.4.1.tgz#f4fad333447bc0b07d4dc8e9209d8f39a8ac77e8" + +tmt-ejs-helper@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/tmt-ejs-helper/-/tmt-ejs-helper-0.0.1.tgz#2c8e0acc6f3087edee03b2f1d307accfbfbcc63a" + dependencies: + ejs "^2.3.1" + lodash "^3.5.0" + +to-absolute-glob@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz#1cdfa472a9ef50c239ee66999b662ca0eb39937f" + dependencies: + extend-shallow "^2.0.1" + +to-absolute-glob@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz#1865f43d9e74b0822db9f145b78cff7d0f7c849b" + dependencies: + is-absolute "^1.0.0" + is-negated-glob "^1.0.0" + +to-array@0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890" + +to-arraybuffer@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + +to-buffer@^1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80" + +to-fast-properties@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" + +to-iso-string@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/to-iso-string/-/to-iso-string-0.0.2.tgz#4dc19e664dfccbe25bd8db508b00c6da158255d1" + +to-object-path@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" + dependencies: + kind-of "^3.0.2" + +to-regex-range@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" + dependencies: + is-number "^3.0.0" + repeat-string "^1.6.1" + +to-regex@^3.0.1, to-regex@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" + dependencies: + define-property "^2.0.2" + extend-shallow "^3.0.2" + regex-not "^1.0.2" + safe-regex "^1.1.0" + +to-through@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/to-through/-/to-through-2.0.0.tgz#fc92adaba072647bc0b67d6b03664aa195093af6" + dependencies: + through2 "^2.0.3" + +tough-cookie@>=0.12.0: + version "2.4.3" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.4.3.tgz#53f36da3f47783b0925afa06ff9f3b165280f781" + dependencies: + psl "^1.1.24" + punycode "^1.4.1" + +tough-cookie@~2.3.0, tough-cookie@~2.3.3: + version "2.3.4" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.4.tgz#ec60cee38ac675063ffc97a5c18970578ee83655" + dependencies: + punycode "^1.4.1" + +trim-newlines@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" + +trim-repeated@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/trim-repeated/-/trim-repeated-1.0.0.tgz#e3646a2ea4e891312bf7eace6cfb05380bc01c21" + dependencies: + escape-string-regexp "^1.0.2" + +trim-right@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" + +trim@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd" + +tty-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + +tunnel-agent@^0.4.0: + version "0.4.3" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.4.3.tgz#6373db76909fe570e08d73583365ed828a74eeeb" + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + dependencies: + safe-buffer "^5.0.1" + +tunnel-agent@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.3.0.tgz#ad681b68f5321ad2827c4cfb1b7d5df2cfe942ee" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + +ua-parser-js@0.7.17: + version "0.7.17" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.17.tgz#e9ec5f9498b9ec910e7ae3ac626a805c4d09ecac" + +uglify-js@2.6.4: + version "2.6.4" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.6.4.tgz#65ea2fb3059c9394692f15fed87c2b36c16b9adf" + dependencies: + async "~0.2.6" + source-map "~0.5.1" + uglify-to-browserify "~1.0.0" + yargs "~3.10.0" + +uglify-js@^2.8.22, uglify-js@^2.8.27: + version "2.8.29" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" + dependencies: + source-map "~0.5.1" + yargs "~3.10.0" + optionalDependencies: + uglify-to-browserify "~1.0.0" + +uglify-js@~2.7.3: + version "2.7.5" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.7.5.tgz#4612c0c7baaee2ba7c487de4904ae122079f2ca8" + dependencies: + async "~0.2.6" + source-map "~0.5.1" + uglify-to-browserify "~1.0.0" + yargs "~3.10.0" + +uglify-save-license@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/uglify-save-license/-/uglify-save-license-0.4.1.tgz#95726c17cc6fd171c3617e3bf4d8d82aa8c4cce1" + +uglify-to-browserify@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" + +ultron@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" + +unc-path-regex@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa" + +undertaker-registry@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/undertaker-registry/-/undertaker-registry-1.0.1.tgz#5e4bda308e4a8a2ae584f9b9a4359a499825cc50" + +undertaker@^1.0.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/undertaker/-/undertaker-1.2.0.tgz#339da4646252d082dc378e708067299750e11b49" + dependencies: + arr-flatten "^1.0.1" + arr-map "^2.0.0" + bach "^1.0.0" + collection-map "^1.0.0" + es6-weak-map "^2.0.1" + last-run "^1.1.0" + object.defaults "^1.0.0" + object.reduce "^1.0.0" + undertaker-registry "^1.0.0" + +union-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.0.tgz#5c71c34cb5bad5dcebe3ea0cd08207ba5aa1aea4" + dependencies: + arr-union "^3.1.0" + get-value "^2.0.6" + is-extendable "^0.1.1" + set-value "^0.4.3" + +uniq@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" + +uniqs@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02" + +unique-stream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-1.0.0.tgz#d59a4a75427447d9aa6c91e70263f8d26a4b104b" + +unique-stream@^2.0.2: + version "2.2.1" + resolved "https://registry.yarnpkg.com/unique-stream/-/unique-stream-2.2.1.tgz#5aa003cfbe94c5ff866c4e7d668bb1c4dbadb369" + dependencies: + json-stable-stringify "^1.0.0" + through2-filter "^2.0.0" + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + +unorm@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/unorm/-/unorm-1.4.1.tgz#364200d5f13646ca8bcd44490271335614792300" + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + +unquote@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544" + +unset-value@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" + dependencies: + has-value "^0.3.1" + isobject "^3.0.0" + +unzip-response@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-1.0.2.tgz#b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe" + +upath@^1.0.5: + version "1.1.0" + resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.0.tgz#35256597e46a581db4793d0ce47fa9aebfc9fabd" + +upath@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/upath/-/upath-1.1.2.tgz#3db658600edaeeccbe6db5e684d67ee8c2acd068" + +urix@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" + +url-parse-lax@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" + dependencies: + prepend-http "^1.0.1" + +url-regex@^3.0.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/url-regex/-/url-regex-3.2.0.tgz#dbad1e0c9e29e105dd0b1f09f6862f7fdb482724" + dependencies: + ip-regex "^1.0.1" + +url@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +use@^3.1.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + +util.promisify@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" + dependencies: + define-properties "^1.1.2" + object.getownpropertydescriptors "^2.0.3" + +util@0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + dependencies: + inherits "2.0.1" + +util@^0.10.3: + version "0.10.4" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.4.tgz#3aa0125bfe668a4672de58857d3ace27ecb76901" + dependencies: + inherits "2.0.3" + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + +uuid@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" + +uuid@^3.0.0, uuid@^3.1.0: + version "3.3.2" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" + +v8flags@^3.0.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-3.1.1.tgz#42259a1461c08397e37fe1d4f1cfb59cad85a053" + dependencies: + homedir-polyfill "^1.0.1" + +vali-date@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/vali-date/-/vali-date-1.0.0.tgz#1b904a59609fb328ef078138420934f6b86709a6" + +validate-npm-package-license@^3.0.1: + version "3.0.4" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + dependencies: + spdx-correct "^3.0.0" + spdx-expression-parse "^3.0.0" + +value-or-function@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/value-or-function/-/value-or-function-3.0.0.tgz#1c243a50b595c1be54a754bfece8563b9ff8d813" + +vendors@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/vendors/-/vendors-1.0.2.tgz#7fcb5eef9f5623b156bcea89ec37d63676f21801" + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +vinyl-assign@^1.0.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/vinyl-assign/-/vinyl-assign-1.2.1.tgz#4d198891b5515911d771a8cd9c5480a46a074a45" + dependencies: + object-assign "^4.0.1" + readable-stream "^2.0.0" + +vinyl-fs@^0.3.7: + version "0.3.14" + resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-0.3.14.tgz#9a6851ce1cac1c1cea5fe86c0931d620c2cfa9e6" + dependencies: + defaults "^1.0.0" + glob-stream "^3.1.5" + glob-watcher "^0.0.6" + graceful-fs "^3.0.0" + mkdirp "^0.5.0" + strip-bom "^1.0.0" + through2 "^0.6.1" + vinyl "^0.4.0" + +vinyl-fs@^2.1.1, vinyl-fs@^2.2.0: + version "2.4.4" + resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-2.4.4.tgz#be6ff3270cb55dfd7d3063640de81f25d7532239" + dependencies: + duplexify "^3.2.0" + glob-stream "^5.3.2" + graceful-fs "^4.0.0" + gulp-sourcemaps "1.6.0" + is-valid-glob "^0.3.0" + lazystream "^1.0.0" + lodash.isequal "^4.0.0" + merge-stream "^1.0.0" + mkdirp "^0.5.0" + object-assign "^4.0.0" + readable-stream "^2.0.4" + strip-bom "^2.0.0" + strip-bom-stream "^1.0.0" + through2 "^2.0.0" + through2-filter "^2.0.0" + vali-date "^1.0.0" + vinyl "^1.0.0" + +vinyl-fs@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/vinyl-fs/-/vinyl-fs-3.0.3.tgz#c85849405f67428feabbbd5c5dbdd64f47d31bc7" + dependencies: + fs-mkdirp-stream "^1.0.0" + glob-stream "^6.1.0" + graceful-fs "^4.0.0" + is-valid-glob "^1.0.0" + lazystream "^1.0.0" + lead "^1.0.0" + object.assign "^4.0.4" + pumpify "^1.3.5" + readable-stream "^2.3.3" + remove-bom-buffer "^3.0.0" + remove-bom-stream "^1.2.0" + resolve-options "^1.1.0" + through2 "^2.0.0" + to-through "^2.0.0" + value-or-function "^3.0.0" + vinyl "^2.0.0" + vinyl-sourcemap "^1.1.0" + +vinyl-sourcemap@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz#92a800593a38703a8cdb11d8b300ad4be63b3e16" + dependencies: + append-buffer "^1.0.2" + convert-source-map "^1.5.0" + graceful-fs "^4.1.6" + normalize-path "^2.1.1" + now-and-later "^2.0.0" + remove-bom-buffer "^3.0.0" + vinyl "^2.0.0" + +vinyl-sourcemaps-apply@^0.2.0, vinyl-sourcemaps-apply@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz#ab6549d61d172c2b1b87be5c508d239c8ef87705" + dependencies: + source-map "^0.5.1" + +vinyl@^0.4.0, vinyl@^0.4.3: + version "0.4.6" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.4.6.tgz#2f356c87a550a255461f36bbeb2a5ba8bf784847" + dependencies: + clone "^0.2.0" + clone-stats "^0.0.1" + +vinyl@^0.5.0: + version "0.5.3" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-0.5.3.tgz#b0455b38fc5e0cf30d4325132e461970c2091cde" + dependencies: + clone "^1.0.0" + clone-stats "^0.0.1" + replace-ext "0.0.1" + +vinyl@^1.0.0, vinyl@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-1.2.0.tgz#5c88036cf565e5df05558bfc911f8656df218884" + dependencies: + clone "^1.0.0" + clone-stats "^0.0.1" + replace-ext "0.0.1" + +vinyl@^2.0.0, vinyl@^2.0.1, vinyl@^2.1.0, vinyl@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.2.0.tgz#d85b07da96e458d25b2ffe19fece9f2caa13ed86" + dependencies: + clone "^2.1.1" + clone-buffer "^1.0.0" + clone-stats "^1.0.0" + cloneable-readable "^1.0.0" + remove-trailing-separator "^1.0.1" + replace-ext "^1.0.0" + +vinyl@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/vinyl/-/vinyl-2.1.0.tgz#021f9c2cf951d6b939943c89eb5ee5add4fd924c" + dependencies: + clone "^2.1.1" + clone-buffer "^1.0.0" + clone-stats "^1.0.0" + cloneable-readable "^1.0.0" + remove-trailing-separator "^1.0.1" + replace-ext "^1.0.0" + +vm-browserify@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" + dependencies: + indexof "0.0.1" + +ware@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/ware/-/ware-1.3.0.tgz#d1b14f39d2e2cb4ab8c4098f756fe4b164e473d4" + dependencies: + wrap-fn "^0.1.0" + +watchpack@^0.2.1: + version "0.2.9" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-0.2.9.tgz#62eaa4ab5e5ba35fdfc018275626e3c0f5e3fb0b" + dependencies: + async "^0.9.0" + chokidar "^1.0.0" + graceful-fs "^4.1.2" + +watchpack@^1.3.1: + version "1.6.0" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.6.0.tgz#4bc12c2ebe8aa277a71f1d3f14d685c7b446cd00" + dependencies: + chokidar "^2.0.2" + graceful-fs "^4.1.2" + neo-async "^2.5.0" + +webpack-core@~0.6.9: + version "0.6.9" + resolved "https://registry.yarnpkg.com/webpack-core/-/webpack-core-0.6.9.tgz#fc571588c8558da77be9efb6debdc5a3b172bdc2" + dependencies: + source-list-map "~0.1.7" + source-map "~0.4.1" + +webpack-sources@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.1.0.tgz#a101ebae59d6507354d71d8013950a3a8b7a5a54" + dependencies: + source-list-map "^2.0.0" + source-map "~0.6.1" + +webpack-stream@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/webpack-stream/-/webpack-stream-3.2.0.tgz#3a1d160fb11d41727b7ce6f32f722464f98b2186" + dependencies: + gulp-util "^3.0.7" + lodash.clone "^4.3.2" + lodash.some "^4.2.2" + memory-fs "^0.3.0" + through "^2.3.8" + vinyl "^1.1.0" + webpack "^1.12.9" + +webpack@^1.12.9: + version "1.15.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-1.15.0.tgz#4ff31f53db03339e55164a9d468ee0324968fe98" + dependencies: + acorn "^3.0.0" + async "^1.3.0" + clone "^1.0.2" + enhanced-resolve "~0.9.0" + interpret "^0.6.4" + loader-utils "^0.2.11" + memory-fs "~0.3.0" + mkdirp "~0.5.0" + node-libs-browser "^0.7.0" + optimist "~0.6.0" + supports-color "^3.1.0" + tapable "~0.1.8" + uglify-js "~2.7.3" + watchpack "^0.2.1" + webpack-core "~0.6.9" + +webpack@^2.2.1: + version "2.7.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-2.7.0.tgz#b2a1226804373ffd3d03ea9c6bd525067034f6b1" + dependencies: + acorn "^5.0.0" + acorn-dynamic-import "^2.0.0" + ajv "^4.7.0" + ajv-keywords "^1.1.1" + async "^2.1.2" + enhanced-resolve "^3.3.0" + interpret "^1.0.0" + json-loader "^0.5.4" + json5 "^0.5.1" + loader-runner "^2.3.0" + loader-utils "^0.2.16" + memory-fs "~0.4.1" + mkdirp "~0.5.0" + node-libs-browser "^2.0.0" + source-map "^0.5.3" + supports-color "^3.1.0" + tapable "~0.2.5" + uglify-js "^2.8.27" + watchpack "^1.3.1" + webpack-sources "^1.0.1" + yargs "^6.0.0" + +when@^3.7.8: + version "3.7.8" + resolved "https://registry.yarnpkg.com/when/-/when-3.7.8.tgz#c7130b6a7ea04693e842cdc9e7a1f2aa39a39f82" + +whet.extend@~0.9.9: + version "0.9.9" + resolved "https://registry.yarnpkg.com/whet.extend/-/whet.extend-0.9.9.tgz#f877d5bf648c97e5aa542fadc16d6a259b9c11a1" + +which-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-1.0.0.tgz#bba63ca861948994ff307736089e3b96026c2a4f" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + +which@1, which@^1.2.10, which@^1.2.14, which@^1.2.9: + version "1.3.1" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + dependencies: + isexe "^2.0.0" + +wide-align@^1.1.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457" + dependencies: + string-width "^1.0.2 || 2" + +window-size@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" + +window-size@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075" + +winston@^2.4.1: + version "2.4.3" + resolved "https://registry.yarnpkg.com/winston/-/winston-2.4.3.tgz#7a9fdab371b6d3d9b63a592947846d856948c517" + dependencies: + async "~1.0.0" + colors "1.0.x" + cycle "1.0.x" + eyes "0.1.x" + isstream "0.1.x" + stack-trace "0.0.x" + +wordwrap@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" + +wordwrap@~0.0.2: + version "0.0.3" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" + +wrap-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + +wrap-fn@^0.1.0: + version "0.1.5" + resolved "https://registry.yarnpkg.com/wrap-fn/-/wrap-fn-0.1.5.tgz#f21b6e41016ff4a7e31720dbc63a09016bdf9845" + dependencies: + co "3.1.0" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + +ws@~3.3.1: + version "3.3.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" + dependencies: + async-limiter "~1.0.0" + safe-buffer "~5.1.0" + ultron "~1.1.0" + +xhr@^2.0.1: + version "2.5.0" + resolved "https://registry.yarnpkg.com/xhr/-/xhr-2.5.0.tgz#bed8d1676d5ca36108667692b74b316c496e49dd" + dependencies: + global "~4.3.0" + is-function "^1.0.1" + parse-headers "^2.0.0" + xtend "^4.0.0" + +xml-parse-from-string@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz#a9029e929d3dbcded169f3c6e28238d95a5d5a28" + +xml2js@^0.4.5: + version "0.4.19" + resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7" + dependencies: + sax ">=0.6.0" + xmlbuilder "~9.0.1" + +xmlbuilder@~9.0.1: + version "9.0.7" + resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" + +xmldom@0.1.27: + version "0.1.27" + resolved "https://registry.yarnpkg.com/xmldom/-/xmldom-0.1.27.tgz#d501f97b3bdb403af8ef9ecc20573187aadac0e9" + +xmlhttprequest-ssl@~1.5.4: + version "1.5.5" + resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz#c2876b06168aadc40e57d97e81191ac8f4398b3e" + +xpath@^0.0.27: + version "0.0.27" + resolved "https://registry.yarnpkg.com/xpath/-/xpath-0.0.27.tgz#dd3421fbdcc5646ac32c48531b4d7e9d0c2cfa92" + +"xtend@>=4.0.0 <4.1.0-0", xtend@^4.0.0, xtend@~4.0.0, xtend@~4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + +xtend@~2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-2.1.2.tgz#6efecc2a4dad8e6962c4901b337ce7ba87b5d28b" + dependencies: + object-keys "~0.4.0" + +y18n@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + +yallist@^3.0.0, yallist@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.0.2.tgz#8452b4bb7e83c7c188d8041c1a837c773d6d8bb9" + +yargs-parser@^4.1.0, yargs-parser@^4.2.0: + version "4.2.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c" + dependencies: + camelcase "^3.0.0" + +yargs-parser@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-5.0.0.tgz#275ecf0d7ffe05c77e64e7c86e4cd94bf0e1228a" + dependencies: + camelcase "^3.0.0" + +yargs-parser@^9.0.2: + version "9.0.2" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-9.0.2.tgz#9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077" + dependencies: + camelcase "^4.1.0" + +yargs@6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.4.0.tgz#816e1a866d5598ccf34e5596ddce22d92da490d4" + dependencies: + camelcase "^3.0.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^1.4.0" + read-pkg-up "^1.0.1" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^1.0.2" + which-module "^1.0.0" + window-size "^0.2.0" + y18n "^3.2.1" + yargs-parser "^4.1.0" + +yargs@6.6.0, yargs@^6.0.0: + version "6.6.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" + dependencies: + camelcase "^3.0.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^1.4.0" + read-pkg-up "^1.0.1" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^1.0.2" + which-module "^1.0.0" + y18n "^3.2.1" + yargs-parser "^4.2.0" + +yargs@^11.0.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-11.1.0.tgz#90b869934ed6e871115ea2ff58b03f4724ed2d77" + dependencies: + cliui "^4.0.0" + decamelize "^1.1.1" + find-up "^2.1.0" + get-caller-file "^1.0.1" + os-locale "^2.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1" + yargs-parser "^9.0.2" + +yargs@^7.0.0, yargs@^7.1.0: + version "7.1.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-7.1.0.tgz#6ba318eb16961727f5d284f8ea003e8d6154d0c8" + dependencies: + camelcase "^3.0.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^1.4.0" + read-pkg-up "^1.0.1" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^1.0.2" + which-module "^1.0.0" + y18n "^3.2.1" + yargs-parser "^5.0.0" + +yargs@~3.10.0: + version "3.10.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" + dependencies: + camelcase "^1.0.2" + cliui "^2.1.0" + decamelize "^1.0.0" + window-size "0.1.0" + +yauzl@2.4.1: + version "2.4.1" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.4.1.tgz#9528f442dab1b2284e58b4379bb194e22e0c4005" + dependencies: + fd-slicer "~1.0.1" + +yauzl@^2.2.1: + version "2.10.0" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" + dependencies: + buffer-crc32 "~0.2.3" + fd-slicer "~1.1.0" + +yazl@^2.1.0: + version "2.4.3" + resolved "https://registry.yarnpkg.com/yazl/-/yazl-2.4.3.tgz#ec26e5cc87d5601b9df8432dbdd3cd2e5173a071" + dependencies: + buffer-crc32 "~0.2.3" + +yeast@0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419" diff --git a/activity/carnival11/carnival.html b/activity/carnival11/carnival.html new file mode 100644 index 0000000..13167d4 --- /dev/null +++ b/activity/carnival11/carnival.html @@ -0,0 +1,263 @@ + + + + + + 春游记 + + + + + + + + +
                                  +
                                  + +
                                    +
                                  • 春暖花开
                                  • +
                                  • 满园春色
                                  • +
                                  +
                                  +
                                  + +
                                  +
                                  +
                                    +
                                  • 春暖花开
                                  • +
                                  • 满园春色
                                  • +
                                  +
                                  + + +
                                  +
                                  + +
                                  + +
                                  +
                                  + +
                                  +
                                  +
                                  +
                                  + + +
                                  + +
                                  + +
                                  +
                                  +
                                  + +
                                  + 我的门票: 0张 + + +
                                  + + + +
                                  +
                                • +

                                  1次

                                  +

                                  -

                                  +
                                • +
                                • +

                                  10次

                                  +

                                  -

                                  +
                                • +
                                • +

                                  100次

                                  +

                                  -

                                  +
                                • +
                                  + +
                                  +
                                  + + 暴击×5 + +
                                  +
                                  +
                                  +
                                  +
                                  + 0 + / + 0 +
                                  +
                                  + 暴走值 +
                                  +
                                  + +
                                  +
                                  +
                                  +
                                  +
                                  + +
                                  +
                                  本轮获得
                                  +
                                  · 可前往个人背包查看 ·
                                  +
                                    + +
                                    知道了
                                    +
                                    + +
                                    + +
                                    +

                                    +
                                    +
                                    + +
                                    + +
                                    +
                                    +
                                  • 捧场王
                                  • +
                                  • 万人迷
                                  • +
                                    +

                                    我是你爸爸

                                    +
                                      + +
                                      +
                                      +

                                      +

                                      +

                                      + + +

                                      +

                                      + + +

                                      +
                                      +
                                      + +
                                      + +
                                      +
                                    • +

                                      时间

                                      +

                                      +
                                    • +
                                    • +

                                      价值

                                      +

                                      +
                                    • +
                                      +
                                      +
                                      + +
                                      +
                                      加载中...
                                      +
                                      展示您最近300次中奖纪录
                                      +
                                      + +
                                      + +
                                      暴走状态随机礼物5倍获得概率。1转盘次数=1暴走值,暴走值每小时清零
                                      +
                                      +
                                      + + + + + + + + + + + + + diff --git a/activity/carnival11/css/carnival.4a421a03.css b/activity/carnival11/css/carnival.4a421a03.css new file mode 100644 index 0000000..16c6c03 --- /dev/null +++ b/activity/carnival11/css/carnival.4a421a03.css @@ -0,0 +1 @@ +.mask{z-index:120;position:fixed;width:100%;left:0;bottom:0;display:-webkit-box;display:-webkit-flex;display:flex;height:60px;-webkit-box-align:center;-webkit-align-items:center;align-items:center;background:rgba(0,0,0,.5);-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;padding:0 8px;box-sizing:border-box;display:none}.mask .logo{width:40px}.mask .logo img{width:100%}#download,.mask .slogan{color:#fff}#download{border:1px solid #fff;width:80px;text-align:center;border-radius:15px;line-height:30px}#download a{color:#fff}.max{margin:0 auto;position:relative}.max,.max:before{width:100%;background-color:#180734}.max:before{content:"";display:block;height:100%;position:fixed;left:0;top:0;z-index:-1}.max .topNav1{display:-webkit-flex;display:-webkit-box;display:flex;display:-moz-box;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-justify-content:flex-start;justify-content:flex-start;-webkit-box-align:center;-webkit-align-items:center;-ms-align-items:center;align-items:center;width:100%;position:relative;height:1.453333rem;border-bottom:1px solid #301d4e}.max .topNav1 .help{width:.506667rem;height:.506667rem;margin-left:.56rem}.max .topNav1 .help img{width:100%}.max .topNav1 .feedback{width:.986667rem;height:.533333rem;margin:0 1.04rem 0 .413333rem}.max .topNav1 .feedback img{width:100%;height:100%}.max .topNav1 ul{display:-webkit-flex;display:-webkit-box;display:flex;display:-moz-box;-webkit-box-pack:center;-webkit-justify-content:center;-ms-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-align-items:center;align-items:center}.max .topNav1 ul li{margin:0 .266667rem;height:100%;line-height:1.453333rem;position:relative;color:#8b8399;font-size:.373333rem}.max .topNav1 ul li.active{color:#fff;font-size:.426667rem}.max .topNav1 ul li.active:after{content:"";display:block;width:.26667rem;height:.06667rem;background-color:#fff;opacity:.6;border-radius:.666667rem;position:absolute;bottom:.2rem;left:50%;margin-left:-.133333rem}.max .topNav2{display:-webkit-flex;display:-webkit-box;display:flex;display:-moz-box;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-justify-content:flex-start;justify-content:flex-start;-webkit-box-align:center;-webkit-align-items:center;-ms-align-items:center;align-items:center;display:none;width:100%;position:relative;height:1.453333rem;border-bottom:1px solid hsla(0,0%,100%,.1)}.max .topNav2 .help{width:.506667rem;height:.506667rem;position:absolute;top:.466667rem;left:.413333rem}.max .topNav2 .help img{width:100%}.max .topNav2 ul{display:-webkit-flex;display:-webkit-box;display:flex;display:-moz-box;-webkit-box-pack:center;-webkit-justify-content:center;-ms-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-align-items:center;align-items:center}.max .topNav2 ul li{margin:0 .266667rem;height:100%;line-height:1.45333rem;position:relative;color:#8b8399;font-size:.373333rem}.max .topNav2 ul li.active{color:#fff;font-size:.426667rem}.max .topNav2 ul li.active:after{content:"";display:block;width:.266667rem;height:.066667rem;background-color:#fff;opacity:.6;border-radius:25px;position:absolute;bottom:.2rem;left:50%;margin-left:-.133333rem}.max .scrollMask{width:6.66667rem;height:30px;margin:0 auto;margin-top:.13333rem;overflow:hidden;position:relative}.max .scrollMask .container{width:100%;height:auto;position:absolute;top:0;left:0;display:none}.max .scrollMask .container li{width:100%;height:30px;text-align:center;line-height:30px;color:#fff;font-size:12px;overflow:hidden}.max .scrollMask .container li span{color:#ffec6f;margin:0 .06667rem}.max .rank-btn{width:1.2rem;height:1.04rem;position:absolute;right:.2rem;top:2.026667rem;z-index:200}.max .rank-btn img{width:100%}.max .record-btn{width:1.2rem;height:1.04rem;position:absolute;right:.2rem;top:3.653333rem;z-index:200}.max .record-btn img{width:100%}.max .canvas{width:100%;height:7.33333rem;margin-top:.4rem;position:relative}.max .canvas .canvas-container{width:200%;height:200%;-webkit-transform:scale(.5);transform:scale(.5);position:absolute;left:0;top:0;margin-left:-50%;margin-top:-3.66667rem}.max .canvas .canvas-container .turntable{width:13.70667rem;height:13.70667rem;margin:0 auto;position:absolute;left:50%;top:50%;margin-left:-6.85333rem;margin-top:-6.85333rem}.max .canvas .canvas-container .turntable .container1{width:100%;height:100%;position:relative}.max .canvas .canvas-container .turntable .container1.first{background:url(../img/carnival/turntable.28782fe4.png) no-repeat 0 0/100% 100%}.max .canvas .canvas-container .turntable .container1.second{background:url(../img/carnival/turntable-2.7e46cbe5.png) no-repeat 0 0/100% 100%}.max .canvas .canvas-container .turntable #table,.max .canvas .canvas-container .turntable #table2{position:absolute;width:11.41333rem;height:11.41333rem;left:50%;top:50%;margin-left:-5.70667rem;margin-top:-5.70667rem;z-index:4}.max .canvas .canvas-container .turntable #table2{display:none}.max .canvas .canvas-container .turntable .pointer{width:1.26667rem;height:2.36rem;position:absolute;left:50%;-webkit-transform:translate(-50%,0);transform:translate(-50%,0);top:-.53333rem;z-index:10}.max .canvas .canvas-container .turntable .pointer img{width:100%;height:100%}.max .canvas .canvas-container .turntable .btn{width:4.69333rem;height:4.69333rem;position:absolute;left:50%;top:50%;margin:0;margin-left:-2.34667rem;margin-top:-2.34667rem;z-index:130;border:none;outline:none;background:none;padding:0}.max .canvas .canvas-container .turntable .btn img{width:4.69333rem;height:4.69333rem}.max .canvas .canvas-container .turntable .btn:disabled{color:hsla(0,0%,100%,0)}.max .info{display:-webkit-flex;display:-webkit-box;display:flex;display:-moz-box;-webkit-box-pack:center;-webkit-justify-content:center;-ms-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-align-items:center;align-items:center;width:100%;text-align:center;margin-top:.13333rem}.max .info span{font-size:13px;color:#ceccd1}.max .info span small{color:#ffec6f;margin:0 .13333rem}.max .info span:last-child{width:1.48rem;height:.58667rem;margin-left:.26667rem}.max .info span:last-child a{display:block;width:100%;height:100%}.max .info span:last-child a img{width:100%}.max .turnNum{-webkit-box-align:center;-webkit-align-items:center;-ms-align-items:center;align-items:center;width:100%;margin-top:.46667rem;margin-bottom:.66667rem}.max .turnNum,.max .turnNum li{display:-webkit-flex;display:-webkit-box;display:flex;display:-moz-box;-webkit-box-pack:center;-webkit-justify-content:center;-ms-justify-content:center;justify-content:center}.max .turnNum li{-webkit-box-align:start;-webkit-align-items:flex-start;-ms-align-items:flex-start;align-items:flex-start;-webkit-box-orient:vertical;-webkit-flex-direction:column;flex-direction:column;width:3rem;height:1.2rem;border-radius:20px 60px 20px 20px;overflow:hidden;position:relative;margin:0 .10667rem}.max .turnNum li p{font-size:13px;color:#fff;color:#cfcdd3;margin-left:.26667rem;z-index:2}.max .turnNum li p:last-child{font-size:12px}.max .turnNum li:before{content:"";display:block;position:absolute;width:100%;height:100%;left:0;top:0;background-color:#fff;border-radius:20px 60px 20px 20px;opacity:.08;z-index:0}.max .turnNum li.active p{color:#fff}.max .turnNum li.active.ball:before{background:-webkit-linear-gradient(227deg,#ffc3a0,#ffafbd);background:linear-gradient(223deg,#ffc3a0,#ffafbd)}.max .turnNum li.active.ball:before,.max .turnNum li.active.joy:before{opacity:1;box-shadow:0 11px 10px 0 rgba(255,242,173,.36),0 -1px 5px 0 rgba(255,250,171,.88),0 -6px 10px 0 #000}.max .turnNum li.active.joy:before{background:-webkit-linear-gradient(227deg,#00ffe4,#00a8ff);background:linear-gradient(223deg,#00ffe4,#00a8ff)}.max .experience{width:auto;height:auto;position:absolute;left:10px;top:2.66667rem;display:none}.max .experience .giftBox{width:1.33333rem;height:1.33333rem;position:relative;opacity:1}.max .experience .giftBox img{width:100%;height:100%}.max .experience .giftBox.hide{opacity:0}.max .experience .giftBox span{position:absolute;left:1.2rem}.max .experience .giftBox span.crit{width:1.26667rem;background:url(../img/carnival/exp-2.bea8dcf4.png) no-repeat 0 0/100% 100%;top:.06667rem;padding-right:.06667rem;color:#2b1c03}.max .experience .giftBox span.crit,.max .experience .giftBox span.times{height:.53333rem;text-align:right;line-height:.53333rem;z-index:1;font-size:12px}.max .experience .giftBox span.times{width:1.2rem;padding-right:.13333rem;background:url(../img/carnival/exp-1.cf8b91ef.png) no-repeat 0 0/100% 100%;top:.73333rem;color:#fff044}.max .experience .exp-container{width:.34667rem;height:4.88rem;margin-left:.24rem;margin-top:.2rem;border-radius:25px;position:relative;overflow:hidden}.max .experience .exp-container.exp-container1{background:url(../img/carnival/bg1.1d08859e.png) no-repeat 0 0/100% 100%}.max .experience .exp-container.exp-container2{background:url(../img/carnival/bg2.d7e09087.png) no-repeat 0 0/100% 100%}.max .experience .exp-container .strip{width:.34667rem;height:0;position:absolute;left:0;bottom:0}.max .experience .exp-container .strip.exp-1{background:url(../img/carnival/exp1.0bfad8f4.png) no-repeat 0 0/100% 100%}.max .experience .exp-container .strip.exp-2{background:url(../img/carnival/exp2.04e4ba14.png) no-repeat 0 0/100% 100%}.max .experience .exp-num{margin-left:.06667rem;color:#fff044;font-size:14px;margin-top:.13333rem}.max .experience .tips{font-size:13px;color:#fff}.max .experience .tips span{display:inline-block}.max .experience .tips span:last-child{width:.33333rem;height:.33333rem;margin-left:.10667rem}.max .experience .tips span:last-child img{width:100%;height:100%}.max .status-mask{width:8.21333rem;height:5.72rem;border-radius:.32rem;position:fixed;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);z-index:10003;background:url(../img/carnival/pop-bg.8385b4b0.png) no-repeat 0 0/100% 100%;display:none}.max .status-mask .title{width:100%;margin:.93333rem 0;text-align:center;font-size:.48rem;color:#fea43c;font-weight:700}.max .status-mask .tips{width:100%;text-align:center;font-size:.373333rem;color:#5f82a3;margin-top:.93333rem}.max .status-mask .btn{width:4.45333rem;height:1.44rem;background:url(../img/index/btn.553d8357.png) no-repeat 0 0/100% 100%;font-size:.48rem;color:#fff;font-weight:700;display:-webkit-flex;display:-webkit-box;display:flex;display:-moz-box;-webkit-box-pack:center;-webkit-justify-content:center;-ms-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-align-items:center;align-items:center;margin:.8rem auto 0;padding-bottom:.13333rem;box-sizing:border-box}.max .gather-mask{width:8.21333rem;height:auto;position:fixed;top:3.33333rem;left:50%;margin-left:-3.73333rem;border-radius:8px;background:url(../img/index/buy-bg.2e11f9ae.png) no-repeat 0 0/100% 100%;z-index:10003;display:none}.max .gather-mask .title{width:100%;font-size:.53333rem;font-weight:700;color:#fea43c;text-align:center;margin-top:.46667rem}.max .gather-mask .tips{width:100%;text-align:center;color:#5f82a3;font-size:13px;opacity:.8;margin-top:.21333rem}.max .gather-mask ul{display:-webkit-flex;display:-webkit-box;display:flex;display:-moz-box;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-justify-content:flex-start;justify-content:flex-start;-webkit-box-align:center;-webkit-align-items:center;-ms-align-items:center;align-items:center;-webkit-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-line:multiple;width:5.92rem;height:auto;margin:0 auto;margin-top:.52rem}.max .gather-mask ul li{width:1.22667rem;margin:.10667rem}.max .gather-mask ul li p:first-child{width:100%;height:1.22667rem}.max .gather-mask ul li p:first-child img{width:100%}.max .gather-mask ul li p:last-child{font-size:12px;color:#999;text-align:center;margin-top:.10667rem}.max .gather-mask .btn{width:4.37333rem;height:1.33333rem;background:url(../img/index/btn.553d8357.png) no-repeat 0 0/100% 100%;font-size:.48rem;font-weight:700;color:#fff;display:-webkit-flex;display:-webkit-box;display:flex;display:-moz-box;-webkit-box-pack:center;-webkit-justify-content:center;-ms-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-align-items:center;align-items:center;margin:.52rem auto;padding-bottom:.13333rem;box-sizing:border-box}.max .rule-mask{width:100%;height:100%;position:absolute;left:0;top:-1000px;z-index:20000;background-color:#180734}.max .rule-mask .nav{width:100%;height:50px;border-bottom:1px solid #37234f;overflow:hidden;position:relative}.max .rule-mask .nav .back{width:.4rem;height:.37333rem;margin:.53333rem}.max .rule-mask .nav .back img{width:100%}.max .rule-mask .nav .title{font-size:16px;color:#fff;opacity:.7;width:2rem;height:.69333rem;position:absolute;top:50%;text-align:center;line-height:.69333rem;left:50%;margin-left:-1rem;margin-top:-.34667rem}.max .rule-mask .content{width:80%;height:78%;margin:0 auto;margin-top:8%;overflow:auto}.max .rule-mask .content::-webkit-scrollbar{display:none}.max .rule-mask .content img{width:100%}.max .rule-mask .content:after{content:"";display:block;width:100%;height:20px}.max .rank-mask{width:100%;height:100%;position:fixed;left:0;top:-1000px;z-index:20000;background-color:#180734}.max .rank-mask .nav{width:100%;height:1.45333rem;border-bottom:1px solid #37234f;position:relative;overflow:hidden}.max .rank-mask .nav .back{width:.4rem;height:.37333rem;margin:.53333rem}.max .rank-mask .nav .back img{width:100%;height:100%}.max .rank-mask .nav .title{font-size:16px;color:#fff;opacity:.7;width:2rem;height:.69333rem;position:absolute;top:50%;text-align:center;line-height:.69333rem;left:50%;margin-left:-1rem;margin-top:-.34667rem}.max .rank-mask .content{width:100%;height:80%;margin:0 auto;margin-top:.4rem;overflow:auto}.max .rank-mask .content .tab{display:-webkit-flex;display:-webkit-box;display:flex;display:-moz-box;-webkit-box-pack:center;-webkit-justify-content:center;-ms-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-align-items:center;align-items:center;width:4rem;height:.53333rem;margin:0 auto}.max .rank-mask .content .tab li{width:50%;height:100%;position:relative;font-size:14px;color:#fff;opacity:.7;text-align:center}.max .rank-mask .content .tab li.active{font-size:16px;opacity:1}.max .rank-mask .content .tab li.active:after{content:"";display:block;width:.18667rem;height:.08rem;background-color:#fff;opacity:.7;position:absolute;left:50%;bottom:-.24rem;margin-left:-.10667rem;border-radius:3px}.max .rank-mask .content .tips{display:-webkit-flex;display:-webkit-box;display:flex;display:-moz-box;-webkit-box-pack:center;-webkit-justify-content:center;-ms-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-align-items:center;align-items:center;width:100%;margin-top:.53333rem}.max .rank-mask .content .tips p{padding:5px 15px;font-size:12px;background-color:#2b1b48;color:#cfcff4;border-radius:25px;width:auto;height:auto;margin:0 auto}.max .rank-mask .content .rank-container{width:100%;height:65%;margin-top:.4rem;overflow:hidden;overflow-y:scroll;display:none}.max .rank-mask .content .rank-container:-webkit-scrollbar{display:none}.max .rank-mask .content .rank-container li{display:-webkit-flex;display:-webkit-box;display:flex;display:-moz-box;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-justify-content:flex-start;justify-content:flex-start;-webkit-box-align:center;-webkit-align-items:center;-ms-align-items:center;align-items:center;width:100%;height:1.73333rem;position:relative}.max .rank-mask .content .rank-container li:last-child{margin-bottom:.4rem}.max .rank-mask .content .rank-container li p:first-child{width:.8rem;height:.8rem;font-size:20px;color:#dedce0;text-align:center;line-height:.8rem;margin-left:.36rem}.max .rank-mask .content .rank-container li p:first-child img{width:100%}.max .rank-mask .content .rank-container li p.avatar{width:1.2rem;height:1.2rem;border-radius:50%;overflow:hidden;margin-left:.38667rem}.max .rank-mask .content .rank-container li p.avatar img{width:100%}.max .rank-mask .content .rank-container li p.info{display:-webkit-flex;display:-webkit-box;display:flex;display:-moz-box;-webkit-box-pack:center;-webkit-justify-content:center;-ms-justify-content:center;justify-content:center;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-align-items:flex-start;align-items:flex-start;-webkit-box-orient:vertical;-webkit-flex-direction:column;flex-direction:column;margin-left:.21333rem;width:auto;height:100%}.max .rank-mask .content .rank-container li p.info span{display:block;width:auto;color:#fff;font-size:15px;margin-top:.06667rem}.max .rank-mask .content .rank-container li p.info span:last-child{opacity:.7;font-size:13px;margin-left:0}.max .rank-mask .content .rank-container li p.score{font-size:16px;height:100%;width:auto;color:#e1ad0d;position:absolute;right:.64rem;top:0;text-align:right}.max .rank-mask .content .rank-container li p.score span{display:-webkit-flex;display:-webkit-box;display:flex;display:-moz-box;-webkit-box-pack:center;-webkit-justify-content:center;-ms-justify-content:center;justify-content:center;-webkit-box-align:end;-webkit-align-items:flex-end;-ms-align-items:flex-end;align-items:flex-end;-webkit-box-orient:vertical;-webkit-flex-direction:column;flex-direction:column}.max .rank-mask .content .rank-container li p.score span small{font-size:12px}.max .rank-mask .content .rank-container li p.score span small:first-child{font-size:16px}.max .rank-mask .content .rank-container li p.score span.align-center{-webkit-box-pack:center;-webkit-justify-content:center;-ms-justify-content:center;justify-content:center;height:100%}.max .rank-mask .content .rank-container li p.score span.align-center,.max .rank-mask .mine{display:-webkit-flex;display:-webkit-box;display:flex;display:-moz-box;-webkit-box-align:center;-webkit-align-items:center;-ms-align-items:center;align-items:center}.max .rank-mask .mine{-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-justify-content:flex-start;justify-content:flex-start;position:absolute;left:0;bottom:0;width:100%;height:1.73333rem;background-color:#2c1749;-webkit-animation:mine_show linear .5s 1s forwards;animation:mine_show linear .5s 1s forwards;opacity:0}.max .rank-mask .mine p.rank-num{width:.93333rem;font-size:20px;color:#fff;margin-left:.30667rem;text-align:center}.max .rank-mask .mine p.rank-num.not-up{width:1.2rem;font-size:12px}.max .rank-mask .mine p.avatar{width:1.2rem;height:1.2rem;border-radius:50%;overflow:hidden;margin-left:.29333rem}.max .rank-mask .mine p.avatar img{width:100%}.max .rank-mask .mine p.info{display:-webkit-flex;display:-webkit-box;display:flex;display:-moz-box;-webkit-box-pack:center;-webkit-justify-content:center;-ms-justify-content:center;justify-content:center;-webkit-box-align:start;-webkit-align-items:flex-start;-ms-align-items:flex-start;align-items:flex-start;-webkit-box-orient:vertical;-webkit-flex-direction:column;flex-direction:column;margin-left:.21333rem;width:auto}.max .rank-mask .mine p.info span{font-size:15px;color:#fff;opacity:.8}.max .rank-mask .mine p.info span:last-child{font-size:12px;margin-left:0;width:auto}.max .rank-mask .mine p.info span:last-child small{opacity:.8}.max .rank-mask .mine p.info span:last-child small:first-child{opacity:.5}.max .rank-mask .mine p.rank-info{position:absolute;right:.64rem;height:.93333rem;top:50%;margin-top:-.46667rem}.max .rank-mask .mine p.rank-info span{font-size:16px;color:#e0ad12;display:block;text-align:right}.max .rank-mask .mine p.rank-info span:last-child{font-size:12px}@-webkit-keyframes mine_show{to{opacity:1}}@keyframes mine_show{to{opacity:1}}.max .record-mask{width:100%;height:100%;position:fixed;left:0;top:0;background-color:#180734;top:-1000px;z-index:2000}.max .record-mask .nav{width:100%;height:1.45333rem;border-bottom:1px solid #37234f;position:relative;overflow:hidden}.max .record-mask .nav .back{width:.4rem;height:.37333rem;margin:.53333rem}.max .record-mask .nav .back img{width:100%;height:100%}.max .record-mask .nav .title{font-size:16px;color:#fff;opacity:.7;width:2rem;height:.69333rem;position:absolute;top:50%;text-align:center;line-height:.69333rem;left:50%;margin-left:-1rem;margin-top:-.34667rem}.max .record-mask .tab{display:-webkit-flex;display:-webkit-box;display:flex;display:-moz-box;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;-ms-align-items:center;align-items:center;width:3.08rem;height:.61333rem;margin:0 auto;margin-top:.26667rem}.max .record-mask .tab li{height:100%;width:auto;position:relative}.max .record-mask .tab li p{font-size:14px;color:#fff;opacity:.7}.max .record-mask .tab li.active p{opacity:1;font-size:16px}.max .record-mask .tab li.active p:last-child{width:.18667rem;height:.08rem;border-radius:3px;position:absolute;left:50%;margin-left:-.09333rem;bottom:-.10667rem;background-color:#fff}.max .record-mask .content{width:85%;height:60%;margin:0 auto;margin-top:.53333rem;overflow:auto}.max .record-mask .content::-webkit-scrollbar{display:none}.max .record-mask .content .record-container{width:100%;height:auto;display:none}.max .record-mask .content .record-container li{display:-webkit-flex;display:-webkit-box;display:flex;display:-moz-box;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-justify-content:flex-start;justify-content:flex-start;-webkit-box-align:center;-webkit-align-items:center;-ms-align-items:center;align-items:center;width:100%;height:1.6rem;position:relative}.max .record-mask .content .record-container li p:first-child{width:1.22667rem;height:1.22667rem}.max .record-mask .content .record-container li p:first-child img{width:100%;height:100%}.max .record-mask .content .record-container li p:nth-child(2){margin-left:.2rem;height:100%;line-height:1.6rem;font-size:15px;opacity:.8;color:#fff}.max .record-mask .content .record-container li p:last-child{position:absolute;right:0;height:100%;width:auto}.max .record-mask .content .record-container li p:last-child span{display:-webkit-flex;display:-webkit-box;display:flex;display:-moz-box;-webkit-box-pack:center;-webkit-justify-content:center;-ms-justify-content:center;justify-content:center;-webkit-box-align:end;-webkit-align-items:flex-end;-ms-align-items:flex-end;align-items:flex-end;-webkit-box-orient:vertical;-webkit-flex-direction:column;flex-direction:column;font-size:12px;color:#fff;opacity:.8;height:100%}.max .record-mask .content .record-container li p:last-child span small{display:block;text-align:right;font-size:12px;color:#fff;opacity:.8}.max .record-mask .content .record-container li p:last-child span.num{font-size:15px;color:#ffc600;opacity:.8}.max .record-mask .loading{width:100%;text-align:center;margin-top:15px;color:#fff;opacity:.8;font-size:15px;display:none}.max .record-mask .tips{width:5.2rem;height:.69333rem;border-radius:25px;text-align:center;line-height:.69333rem;background-color:#2d1845;color:#fff;font-size:12px;margin:0 auto;margin-top:.4rem}.max .shade{width:100%;height:100%;left:0;top:0;background-color:#000;opacity:.7}.max .exp-toast,.max .shade{position:fixed;z-index:10000;display:none}.max .exp-toast{width:5.33333rem;height:2.33333rem;color:#fff;font-size:12px;left:50%;top:50%;margin-left:-3.06667rem;margin-top:-.8rem;text-align:center;line-height:.8rem;padding:5px 20px;border-radius:5px}.max .exp-toast:after{content:"";display:block;position:absolute;left:0;top:0;background-color:#000;opacity:.6;z-index:-1;width:100%;height:100%}.toast{width:8rem;height:1.06667rem;line-height:1.06667rem;text-align:center;color:#fff;font-size:12px;position:fixed;left:50%;top:50%;margin-left:-4rem;margin-top:-.53333rem;background-color:#000;border-radius:5px;display:none;z-index:1002} \ No newline at end of file diff --git a/activity/carnival11/css/index.86ecd265.css b/activity/carnival11/css/index.86ecd265.css new file mode 100644 index 0000000..1abd35c --- /dev/null +++ b/activity/carnival11/css/index.86ecd265.css @@ -0,0 +1 @@ +.mask{z-index:120;position:fixed;width:100%;left:0;bottom:0;display:-webkit-box;display:-webkit-flex;display:flex;height:60px;-webkit-box-align:center;-webkit-align-items:center;align-items:center;background:rgba(0,0,0,.5);-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between;padding:0 8px;box-sizing:border-box;display:none}.mask .logo{width:40px}.mask .logo img{width:100%}#download,.mask .slogan{color:#fff}#download{border:1px solid #fff;width:80px;text-align:center;border-radius:15px;line-height:30px}#download a{color:#fff}*{-webkit-overflow-scrolling:touch;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent}body{font-family:PingFang SC;background:#2b3137;z-index:-1}body .max{margin:0 auto}body .max,body .max .title-one{width:100%}body .max .title-one img{width:100%;height:100%}body .max .rule-btn{width:1.33333rem;height:.8rem;position:absolute;left:.4rem;top:.26667rem}body .max .rule-btn img{width:100%;height:100%}body .max .cloth-box{width:100%;padding-bottom:2.4rem;margin:-2.2rem auto 0}body .max .cloth-box li{width:8.53333rem;height:5.6rem;position:relative;margin:.13333rem auto 0;display:-webkit-flex;display:-webkit-box;display:flex;display:-moz-box;-webkit-box-pack:center;-webkit-justify-content:center;-ms-justify-content:center;justify-content:center;background:url(../img/index/li-card.bc705a9b.png) no-repeat 0 0/100% 100%}body .max .cloth-box li .h-title{position:absolute;margin:.4rem auto 0;letter-spacing:.053333rem;font-size:.37333rem;font-weight:700;color:#fea53c;line-height:.66667rem}body .max .cloth-box li .gift-img{width:1.94667rem;height:1.73333rem;position:absolute;box-sizing:border-box;left:1.16rem;top:1.65333rem;display:-webkit-flex;display:-webkit-box;display:flex;display:-moz-box;-webkit-box-align:center;-webkit-align-items:center;-ms-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-justify-content:center;justify-content:center}body .max .cloth-box li .gift-img img{box-sizing:border-box;padding:.13333rem;width:100%;height:100%;object-fit:cover}body .max .cloth-box li .gift-text{position:absolute;left:4.02667rem;top:1.53333rem}body .max .cloth-box li .gift-text p:first-child{font-size:.45333rem;font-weight:700;color:#00cf9e;line-height:.56rem;letter-spacing:.026667rem}body .max .cloth-box li .gift-text p:nth-child(2){font-size:.37333rem;font-weight:700;color:#ffa530;line-height:.56rem}body .max .cloth-box li .gift-text p:nth-child(3){text-decoration:line-through}body .max .cloth-box li .gift-text p:last-child,body .max .cloth-box li .gift-text p:nth-child(3){font-size:.34667rem;font-weight:500;color:#9c9c9c;line-height:.62667rem;opacity:.8}body .max .cloth-box li .buy-btn{width:4rem;height:1.09333rem;position:absolute;bottom:.37333rem;display:-webkit-flex;display:-webkit-box;display:flex;display:-moz-box;-webkit-box-pack:center;-webkit-justify-content:center;-ms-justify-content:center;justify-content:center;background:url(../img/index/buy.fb8a087b.png) no-repeat 0 0/100% 100%}body .max .cloth-box li .buy-btn.gray{background:url(../img/index/buy-gray.5e29de62.png) no-repeat 0 0/100% 100%}body .max .buy-mask{width:8.21333rem;height:7.94667rem;position:fixed;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);background:url(../img/index/buy-bg.2e11f9ae.png) no-repeat 0 0/100% 100%;z-index:1001;display:none}body .max .buy-mask .b-box{padding:0 .693333rem;margin-top:.93333rem}body .max .buy-mask .b-box .b-title{color:#fea43c;line-height:.6rem;text-align:center;font-size:.48rem;font-weight:700;letter-spacing:.013333rem}body .max .buy-mask .b-box .b-title .giftName{font-size:.48rem;font-weight:700}body .max .buy-mask .b-box .b-number{padding:0 .906667rem;margin-top:.773333rem;display:-webkit-flex;display:-webkit-box;display:flex;display:-moz-box}body .max .buy-mask .b-box .b-number .input-box{margin-top:-.066667rem}body .max .buy-mask .b-box .b-number .input-box,body .max .buy-mask .b-box .b-number .input-box .remove-btn{display:-webkit-flex;display:-webkit-box;display:flex;display:-moz-box;-webkit-box-align:center;-webkit-align-items:center;-ms-align-items:center;align-items:center;height:.64rem}body .max .buy-mask .b-box .b-number .input-box .remove-btn{width:.64rem;-webkit-box-pack:center;-webkit-justify-content:center;-ms-justify-content:center;justify-content:center;border-radius:.32rem 0 0 .32rem;background:rgba(212,244,255,.6)}body .max .buy-mask .b-box .b-number .input-box .remove-btn .remove-icon{opacity:.6;display:block;width:.26667rem;height:.05333rem;background:url(../img/index/remove-icon.7ad43850.png) no-repeat 0 0/100% 100%;background-size:100% 100%}body .max .buy-mask .b-box .b-number .input-box .b-input{width:1.173333rem;height:.64rem;background:#d4f4ff;text-align:center;font-size:.346667rem;font-weight:500;color:#8fa4b8;margin:0 .106667rem;border:0;outline:none}body .max .buy-mask .b-box .b-number .input-box .add-btn{width:.64rem;height:.64rem;display:-webkit-flex;display:-webkit-box;display:flex;display:-moz-box;-webkit-box-pack:center;-webkit-justify-content:center;-ms-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-align-items:center;align-items:center;border-radius:0 .32rem .32rem 0;background:rgba(212,244,255,.6)}body .max .buy-mask .b-box .b-number .input-box .add-btn .add-icon{display:block;width:.26667rem;height:.26667rem;background:url(../img/index/add-icon.af2aba68.png) no-repeat;background-size:100% 100%}body .max .buy-mask .b-box .b-text{white-space:nowrap;font-size:.4rem;font-weight:500;color:#8ea4b7;line-height:.48rem;margin-bottom:.62667rem}body .max .buy-mask .b-box .b-text span:first-child{margin-right:.4rem}body .max .buy-mask .b-box .b-day{padding:0 .906667rem}body .max .buy-mask .b-box .b-day span:last-child,body .max .buy-mask .b-box .b-day span:nth-child(2){color:#00cf9e;letter-spacing:.013333rem}body .max .buy-mask .b-box .b-price{padding:0 .906667rem}body .max .buy-mask .b-box .b-price span:last-child,body .max .buy-mask .b-box .b-price span:nth-child(2){color:#ffa530;letter-spacing:.013333rem}body .max .buy-mask .b-box .b-btns{display:-webkit-flex;display:-webkit-box;display:flex;display:-moz-box;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-justify-content:space-between;justify-content:space-between;margin-top:.73333rem}body .max .buy-mask .b-box .b-btns .close-btn{width:3.34667rem;height:1.16rem;background:url(../img/index/btn-cancel.63023828.png) no-repeat 0 0/100% 100%}body .max .buy-mask .b-box .b-btns .close-btn,body .max .buy-mask .b-box .b-btns .confirm-btn{display:-webkit-flex;display:-webkit-box;display:flex;display:-moz-box;-webkit-box-pack:center;-webkit-justify-content:center;-ms-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-align-items:center;align-items:center}body .max .buy-mask .b-box .b-btns .confirm-btn{width:3.48rem;height:1.42667rem;background:url(../img/index/btn-confirm.b38d785e.png) no-repeat 0 0/100% 100%;margin-top:-.02667rem}body .max .rule-mask{width:8.93333rem;height:8.66667rem;position:fixed;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);z-index:1001;background:url(../img/index/buy-bg.2e11f9ae.png) no-repeat 0 0/100% 100%;border-radius:.213333rem;display:none}body .max .rule-mask .title{width:100%;text-align:center;font-size:.53333rem;color:#fea43c;margin-top:.93333rem;font-weight:700}body .max .rule-mask .content{width:6.98667rem;height:5.66667rem;margin:0 auto;margin-top:.4rem;overflow:auto}body .max .rule-mask .content::-webkit-scrollbar{display:none}body .max .rule-mask .content p{width:100%;height:13.333333rem}body .max .rule-mask .content p img{width:100%}body .max .rule-mask .cancel{width:.93333rem;height:.93333rem;position:absolute;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);bottom:-1.46667rem}body .max .rule-mask .cancel img{width:100%;height:100%}body .max .statusMask{width:8.21333rem;height:6.8rem;border-radius:.213333rem;background:url(../img/index/buy-bg.2e11f9ae.png) no-repeat 0 0/100% 100%;position:fixed;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);z-index:1001;display:none}body .max .statusMask .cancel{width:.93333rem;height:.93333rem;position:absolute;left:50%;-webkit-transform:translate(-50%,0);transform:translate(-50%,0);bottom:-1.06667rem}body .max .statusMask .cancel img{width:100%;height:100%}body .max .statusMask .title{width:100%;text-align:center;font-size:.48rem;color:#fea43c;font-weight:700;margin-top:.786667rem}body .max .statusMask .avatar{width:1.86667rem;height:1.86667rem;margin:0 auto;margin-top:.666667rem}body .max .statusMask .avatar img{width:100%;height:100%}body .max .statusMask .tip{width:100%;text-align:center;font-size:.373333rem;color:#5f82a3}body .max .statusMask .in-btn,body .max .statusMask .recharge{display:-webkit-flex;display:-webkit-box;display:flex;display:-moz-box;-webkit-box-align:center;-webkit-align-items:center;-ms-align-items:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-justify-content:space-between;justify-content:space-between;display:block;width:4rem;height:1.2rem;background:url(../img/index/btn.553d8357.png) no-repeat 0 0/100% 100%;background-size:100% 100%;font-size:.48rem;line-height:1.22667rem;text-align:center;margin:.533333rem auto 0;font-weight:700;padding-bottom:.13333rem;color:#fff}body .max .shade{width:100%;position:fixed;z-index:1000;left:0;top:0;height:100%;background:rgba(0,0,0,.7);display:none}body .max .mine{display:-webkit-flex;display:-webkit-box;display:flex;display:-moz-box;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-justify-content:space-between;justify-content:space-between;-webkit-box-align:center;-webkit-align-items:center;-ms-align-items:center;align-items:center;width:100%;height:1.866667rem;position:fixed;left:0;bottom:0;background:-webkit-linear-gradient(bottom,#74a497,#3a5782);background:linear-gradient(0deg,#74a497,#3a5782);z-index:100}body .max .mine li{margin:0 .533333rem}body .max .mine li img{width:100%}body .max .mine li:first-child{display:-webkit-flex;display:-webkit-box;display:flex;display:-moz-box;-webkit-box-pack:start;-webkit-justify-content:flex-start;-ms-justify-content:flex-start;justify-content:flex-start;-webkit-box-align:center;-webkit-align-items:center;-ms-align-items:center;align-items:center}body .max .mine li:first-child p:first-child{width:1.066667rem;height:1.066667rem;border-radius:50%;overflow:hidden;font-weight:500}body .max .mine li:first-child p:last-child{margin-left:.266667rem}body .max .mine li:first-child p:last-child span{display:block}body .max .mine li:first-child p:last-child span:first-child{line-height:.56rem;font-size:.4rem;color:#fff;font-weight:700}body .max .mine li:first-child p:last-child span:last-child{font-size:.32rem;font-weight:500;color:#8babc9}body .max .mine li:first-child p:last-child span:last-child b{color:#fff}body .max .mine li:last-child{width:2.68rem;height:1.18667rem}body .ajaxtiptext{position:fixed;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);text-align:center;color:#fff;padding:.2rem .4rem;border-radius:.333333rem;letter-spacing:.013333rem;background:rgba(0,0,0,.8);-webkit-animation:ajaxani .3s forwards;animation:ajaxani .3s forwards;z-index:9999;white-space:nowrap} \ No newline at end of file diff --git a/activity/carnival11/img/carnival/back-btn.775f57bd.png b/activity/carnival11/img/carnival/back-btn.775f57bd.png new file mode 100644 index 0000000..fc75bde Binary files /dev/null and b/activity/carnival11/img/carnival/back-btn.775f57bd.png differ diff --git a/activity/carnival11/img/carnival/bg1.1d08859e.png b/activity/carnival11/img/carnival/bg1.1d08859e.png new file mode 100644 index 0000000..74f6dd3 Binary files /dev/null and b/activity/carnival11/img/carnival/bg1.1d08859e.png differ diff --git a/activity/carnival11/img/carnival/bg2.d7e09087.png b/activity/carnival11/img/carnival/bg2.d7e09087.png new file mode 100644 index 0000000..0225fbe Binary files /dev/null and b/activity/carnival11/img/carnival/bg2.d7e09087.png differ diff --git a/activity/carnival11/img/carnival/draw-btn-2.c20df273.png b/activity/carnival11/img/carnival/draw-btn-2.c20df273.png new file mode 100644 index 0000000..27f26cc Binary files /dev/null and b/activity/carnival11/img/carnival/draw-btn-2.c20df273.png differ diff --git a/activity/carnival11/img/carnival/draw-btn.bab34522.png b/activity/carnival11/img/carnival/draw-btn.bab34522.png new file mode 100644 index 0000000..34c8a02 Binary files /dev/null and b/activity/carnival11/img/carnival/draw-btn.bab34522.png differ diff --git a/activity/carnival11/img/carnival/exp-1.cf8b91ef.png b/activity/carnival11/img/carnival/exp-1.cf8b91ef.png new file mode 100644 index 0000000..700333c Binary files /dev/null and b/activity/carnival11/img/carnival/exp-1.cf8b91ef.png differ diff --git a/activity/carnival11/img/carnival/exp-2.bea8dcf4.png b/activity/carnival11/img/carnival/exp-2.bea8dcf4.png new file mode 100644 index 0000000..806e9a7 Binary files /dev/null and b/activity/carnival11/img/carnival/exp-2.bea8dcf4.png differ diff --git a/activity/carnival11/img/carnival/exp1.0bfad8f4.png b/activity/carnival11/img/carnival/exp1.0bfad8f4.png new file mode 100644 index 0000000..a76bd30 Binary files /dev/null and b/activity/carnival11/img/carnival/exp1.0bfad8f4.png differ diff --git a/activity/carnival11/img/carnival/exp2.04e4ba14.png b/activity/carnival11/img/carnival/exp2.04e4ba14.png new file mode 100644 index 0000000..91844ed Binary files /dev/null and b/activity/carnival11/img/carnival/exp2.04e4ba14.png differ diff --git a/activity/carnival11/img/carnival/feedback.f82bea0e.png b/activity/carnival11/img/carnival/feedback.f82bea0e.png new file mode 100644 index 0000000..953ca63 Binary files /dev/null and b/activity/carnival11/img/carnival/feedback.f82bea0e.png differ diff --git a/activity/carnival11/img/carnival/gather-btn.b6de5efc.png b/activity/carnival11/img/carnival/gather-btn.b6de5efc.png new file mode 100644 index 0000000..d10371d Binary files /dev/null and b/activity/carnival11/img/carnival/gather-btn.b6de5efc.png differ diff --git a/activity/carnival11/img/carnival/point-2.84a01c8c.png b/activity/carnival11/img/carnival/point-2.84a01c8c.png new file mode 100644 index 0000000..402e2d1 Binary files /dev/null and b/activity/carnival11/img/carnival/point-2.84a01c8c.png differ diff --git a/activity/carnival11/img/carnival/point.5bff5b55.png b/activity/carnival11/img/carnival/point.5bff5b55.png new file mode 100644 index 0000000..ef0db94 Binary files /dev/null and b/activity/carnival11/img/carnival/point.5bff5b55.png differ diff --git a/activity/carnival11/img/carnival/pop-bg.8385b4b0.png b/activity/carnival11/img/carnival/pop-bg.8385b4b0.png new file mode 100644 index 0000000..f56ebab Binary files /dev/null and b/activity/carnival11/img/carnival/pop-bg.8385b4b0.png differ diff --git a/activity/carnival11/img/carnival/rank-1.194d1ad3.png b/activity/carnival11/img/carnival/rank-1.194d1ad3.png new file mode 100644 index 0000000..10b3d5b Binary files /dev/null and b/activity/carnival11/img/carnival/rank-1.194d1ad3.png differ diff --git a/activity/carnival11/img/carnival/rank-2.574716cc.png b/activity/carnival11/img/carnival/rank-2.574716cc.png new file mode 100644 index 0000000..4e44680 Binary files /dev/null and b/activity/carnival11/img/carnival/rank-2.574716cc.png differ diff --git a/activity/carnival11/img/carnival/rank-3.34be3227.png b/activity/carnival11/img/carnival/rank-3.34be3227.png new file mode 100644 index 0000000..506a7f6 Binary files /dev/null and b/activity/carnival11/img/carnival/rank-3.34be3227.png differ diff --git a/activity/carnival11/img/carnival/rank-btn.144d4f90.png b/activity/carnival11/img/carnival/rank-btn.144d4f90.png new file mode 100644 index 0000000..ed0dc84 Binary files /dev/null and b/activity/carnival11/img/carnival/rank-btn.144d4f90.png differ diff --git a/activity/carnival11/img/carnival/record-btn.dc96db2d.png b/activity/carnival11/img/carnival/record-btn.dc96db2d.png new file mode 100644 index 0000000..4b6fc63 Binary files /dev/null and b/activity/carnival11/img/carnival/record-btn.dc96db2d.png differ diff --git a/activity/carnival11/img/carnival/rule-btn.e437de88.png b/activity/carnival11/img/carnival/rule-btn.e437de88.png new file mode 100644 index 0000000..5be349b Binary files /dev/null and b/activity/carnival11/img/carnival/rule-btn.e437de88.png differ diff --git a/activity/carnival11/img/carnival/rule-text.bce1ce0a.png b/activity/carnival11/img/carnival/rule-text.bce1ce0a.png new file mode 100644 index 0000000..fef8f78 Binary files /dev/null and b/activity/carnival11/img/carnival/rule-text.bce1ce0a.png differ diff --git a/activity/carnival11/img/carnival/turntable-2.7e46cbe5.png b/activity/carnival11/img/carnival/turntable-2.7e46cbe5.png new file mode 100644 index 0000000..4e8fa58 Binary files /dev/null and b/activity/carnival11/img/carnival/turntable-2.7e46cbe5.png differ diff --git a/activity/carnival11/img/carnival/turntable.28782fe4.png b/activity/carnival11/img/carnival/turntable.28782fe4.png new file mode 100644 index 0000000..c13a200 Binary files /dev/null and b/activity/carnival11/img/carnival/turntable.28782fe4.png differ diff --git a/activity/carnival11/img/common/cancel.ca72b9d3.png b/activity/carnival11/img/common/cancel.ca72b9d3.png new file mode 100644 index 0000000..6df376b Binary files /dev/null and b/activity/carnival11/img/common/cancel.ca72b9d3.png differ diff --git a/activity/carnival11/img/common/cancel1.b389adb6.png b/activity/carnival11/img/common/cancel1.b389adb6.png new file mode 100644 index 0000000..ab86f0a Binary files /dev/null and b/activity/carnival11/img/common/cancel1.b389adb6.png differ diff --git a/activity/carnival11/img/common/enough-icon.198f31da.png b/activity/carnival11/img/common/enough-icon.198f31da.png new file mode 100644 index 0000000..78c5706 Binary files /dev/null and b/activity/carnival11/img/common/enough-icon.198f31da.png differ diff --git a/activity/carnival11/img/common/success-icon.ea4f2804.png b/activity/carnival11/img/common/success-icon.ea4f2804.png new file mode 100644 index 0000000..25e01c6 Binary files /dev/null and b/activity/carnival11/img/common/success-icon.ea4f2804.png differ diff --git a/activity/carnival11/img/gift/gift1.686e6f4d.png b/activity/carnival11/img/gift/gift1.686e6f4d.png new file mode 100644 index 0000000..62c1470 Binary files /dev/null and b/activity/carnival11/img/gift/gift1.686e6f4d.png differ diff --git a/activity/carnival11/img/gift/gift10.e0717de3.png b/activity/carnival11/img/gift/gift10.e0717de3.png new file mode 100644 index 0000000..2a243d3 Binary files /dev/null and b/activity/carnival11/img/gift/gift10.e0717de3.png differ diff --git a/activity/carnival11/img/gift/gift11.b88e55ef.png b/activity/carnival11/img/gift/gift11.b88e55ef.png new file mode 100644 index 0000000..dda03da Binary files /dev/null and b/activity/carnival11/img/gift/gift11.b88e55ef.png differ diff --git a/activity/carnival11/img/gift/gift12.28ccd153.png b/activity/carnival11/img/gift/gift12.28ccd153.png new file mode 100644 index 0000000..424abf1 Binary files /dev/null and b/activity/carnival11/img/gift/gift12.28ccd153.png differ diff --git a/activity/carnival11/img/gift/gift13.a3d9f629.png b/activity/carnival11/img/gift/gift13.a3d9f629.png new file mode 100644 index 0000000..4a18213 Binary files /dev/null and b/activity/carnival11/img/gift/gift13.a3d9f629.png differ diff --git a/activity/carnival11/img/gift/gift14.ad1e0977.png b/activity/carnival11/img/gift/gift14.ad1e0977.png new file mode 100644 index 0000000..3af0e40 Binary files /dev/null and b/activity/carnival11/img/gift/gift14.ad1e0977.png differ diff --git a/activity/carnival11/img/gift/gift15.4a9ec019.png b/activity/carnival11/img/gift/gift15.4a9ec019.png new file mode 100644 index 0000000..befafbe Binary files /dev/null and b/activity/carnival11/img/gift/gift15.4a9ec019.png differ diff --git a/activity/carnival11/img/gift/gift2.4e803a7e.png b/activity/carnival11/img/gift/gift2.4e803a7e.png new file mode 100644 index 0000000..eb2fad0 Binary files /dev/null and b/activity/carnival11/img/gift/gift2.4e803a7e.png differ diff --git a/activity/carnival11/img/gift/gift3.767ecd69.png b/activity/carnival11/img/gift/gift3.767ecd69.png new file mode 100644 index 0000000..dcf0de1 Binary files /dev/null and b/activity/carnival11/img/gift/gift3.767ecd69.png differ diff --git a/activity/carnival11/img/gift/gift4.803656b4.png b/activity/carnival11/img/gift/gift4.803656b4.png new file mode 100644 index 0000000..4c0ec71 Binary files /dev/null and b/activity/carnival11/img/gift/gift4.803656b4.png differ diff --git a/activity/carnival11/img/gift/gift5.c6e97a2a.png b/activity/carnival11/img/gift/gift5.c6e97a2a.png new file mode 100644 index 0000000..fc5fc1e Binary files /dev/null and b/activity/carnival11/img/gift/gift5.c6e97a2a.png differ diff --git a/activity/carnival11/img/gift/gift6.ada0b6d6.png b/activity/carnival11/img/gift/gift6.ada0b6d6.png new file mode 100644 index 0000000..b58ead2 Binary files /dev/null and b/activity/carnival11/img/gift/gift6.ada0b6d6.png differ diff --git a/activity/carnival11/img/gift/gift7.1ae4cc6c.png b/activity/carnival11/img/gift/gift7.1ae4cc6c.png new file mode 100644 index 0000000..2e6023e Binary files /dev/null and b/activity/carnival11/img/gift/gift7.1ae4cc6c.png differ diff --git a/activity/carnival11/img/gift/gift8.01624fee.png b/activity/carnival11/img/gift/gift8.01624fee.png new file mode 100644 index 0000000..b5e1cca Binary files /dev/null and b/activity/carnival11/img/gift/gift8.01624fee.png differ diff --git a/activity/carnival11/img/gift/gift9.a81aa907.png b/activity/carnival11/img/gift/gift9.a81aa907.png new file mode 100644 index 0000000..09729c3 Binary files /dev/null and b/activity/carnival11/img/gift/gift9.a81aa907.png differ diff --git a/activity/carnival11/img/index/add-icon.af2aba68.png b/activity/carnival11/img/index/add-icon.af2aba68.png new file mode 100644 index 0000000..071dcd0 Binary files /dev/null and b/activity/carnival11/img/index/add-icon.af2aba68.png differ diff --git a/activity/carnival11/img/index/btn-cancel.63023828.png b/activity/carnival11/img/index/btn-cancel.63023828.png new file mode 100644 index 0000000..4299d5c Binary files /dev/null and b/activity/carnival11/img/index/btn-cancel.63023828.png differ diff --git a/activity/carnival11/img/index/btn-confirm.b38d785e.png b/activity/carnival11/img/index/btn-confirm.b38d785e.png new file mode 100644 index 0000000..3becb05 Binary files /dev/null and b/activity/carnival11/img/index/btn-confirm.b38d785e.png differ diff --git a/activity/carnival11/img/index/btn.553d8357.png b/activity/carnival11/img/index/btn.553d8357.png new file mode 100644 index 0000000..739a7e8 Binary files /dev/null and b/activity/carnival11/img/index/btn.553d8357.png differ diff --git a/activity/carnival11/img/index/buy-bg.2e11f9ae.png b/activity/carnival11/img/index/buy-bg.2e11f9ae.png new file mode 100644 index 0000000..9c6b0e6 Binary files /dev/null and b/activity/carnival11/img/index/buy-bg.2e11f9ae.png differ diff --git a/activity/carnival11/img/index/buy-gray.5e29de62.png b/activity/carnival11/img/index/buy-gray.5e29de62.png new file mode 100644 index 0000000..e03bfc7 Binary files /dev/null and b/activity/carnival11/img/index/buy-gray.5e29de62.png differ diff --git a/activity/carnival11/img/index/buy.fb8a087b.png b/activity/carnival11/img/index/buy.fb8a087b.png new file mode 100644 index 0000000..be9aa86 Binary files /dev/null and b/activity/carnival11/img/index/buy.fb8a087b.png differ diff --git a/activity/carnival11/img/index/cancel.5448cac0.png b/activity/carnival11/img/index/cancel.5448cac0.png new file mode 100644 index 0000000..bf30340 Binary files /dev/null and b/activity/carnival11/img/index/cancel.5448cac0.png differ diff --git a/activity/carnival11/img/index/in-btn.d2fb033c.png b/activity/carnival11/img/index/in-btn.d2fb033c.png new file mode 100644 index 0000000..5d85588 Binary files /dev/null and b/activity/carnival11/img/index/in-btn.d2fb033c.png differ diff --git a/activity/carnival11/img/index/li-card.bc705a9b.png b/activity/carnival11/img/index/li-card.bc705a9b.png new file mode 100644 index 0000000..4e80eb7 Binary files /dev/null and b/activity/carnival11/img/index/li-card.bc705a9b.png differ diff --git a/activity/carnival11/img/index/remove-icon.7ad43850.png b/activity/carnival11/img/index/remove-icon.7ad43850.png new file mode 100644 index 0000000..b0493e7 Binary files /dev/null and b/activity/carnival11/img/index/remove-icon.7ad43850.png differ diff --git a/activity/carnival11/img/index/rule-btn.1b975e22.png b/activity/carnival11/img/index/rule-btn.1b975e22.png new file mode 100644 index 0000000..88de51e Binary files /dev/null and b/activity/carnival11/img/index/rule-btn.1b975e22.png differ diff --git a/activity/carnival11/img/index/rule-text.6c7b2c6f.png b/activity/carnival11/img/index/rule-text.6c7b2c6f.png new file mode 100644 index 0000000..c8aefc0 Binary files /dev/null and b/activity/carnival11/img/index/rule-text.6c7b2c6f.png differ diff --git a/activity/carnival11/img/index/title.06941e29.png b/activity/carnival11/img/index/title.06941e29.png new file mode 100644 index 0000000..d364254 Binary files /dev/null and b/activity/carnival11/img/index/title.06941e29.png differ diff --git a/activity/carnival11/index.html b/activity/carnival11/index.html new file mode 100644 index 0000000..98c81c0 --- /dev/null +++ b/activity/carnival11/index.html @@ -0,0 +1,90 @@ + + + + + + 春游记 + + + + + + + +
                                      +
                                      +
                                      +
                                        +
                                        +
                                      • +

                                        +

                                        + - + 我的门票: +

                                        +
                                      • +
                                      • +
                                        + +
                                        +
                                        +

                                        购买

                                        +
                                        +

                                        数量:

                                        +
                                        +
                                        + +
                                        +
                                        +
                                        +

                                        天数:1天

                                        +

                                        金额:金币

                                        +
                                        +
                                        +
                                        +
                                        +
                                        +
                                        +
                                        +
                                        + +
                                        +
                                        玩法介绍
                                        +
                                        +

                                        +
                                        +
                                        +
                                        +
                                        + +
                                        +
                                        购买成功
                                        +
                                        余额不足
                                        +
                                        +
                                        +
                                        + 进入会场 +
                                        去充值
                                        +
                                        知道了
                                        +
                                        +
                                        + +
                                        + + + + + + + + + + + + \ No newline at end of file diff --git a/activity/carnival11/js/carnival.c37f1f27.js b/activity/carnival11/js/carnival.c37f1f27.js new file mode 100644 index 0000000..8a83bbd --- /dev/null +++ b/activity/carnival11/js/carnival.c37f1f27.js @@ -0,0 +1 @@ +"use strict";function getMessage(e,t){info[e]=t}function getScrollTip(){$(".container").hide(),$.ajax({type:"GET",url:api+"/act/queryPrizeMsg",success:function(e){if(200===e.code){for(var t in e.data)e.data[t].nick.length>4&&(e.data[t].nick=e.data[t].nick.substring(0,4)+"..."),1===e.data[t].drawType?e.data[t].table="春暖花开":e.data[t].table="满园春色";e.data.push(e.data[0]);var a={scrollMaskList:e.data};$(".container").html(template("scrollTmp",a)),$(".container").show(),animateScroll()}}})}function getGiftInfo(){turntable[clickTab].prizeIndex=[],giftIntro.giftIdArr=[],$.ajax({type:"GET",url:api+"/act/queryPrizeInfo",timeout:15e3,data:{drawType:0===clickTab?"turntable1":"turntable2"},success:function(e){if(200===e.code){for(var t in e.data)turntable[clickTab].prizeIndex.push(e.data[t].prizeId),giftIntro.giftIdArr.push(e.data[t].prizeId);console.log("giftIntro",giftIntro),info.clickStatu=!0}else $(".toast").html(e.message||"获取礼物信息出错了!").fadeIn(30).fadeOut(2e3)},error:function(e){$(".toast").html("哎呀太挤了,请稍等").fadeIn(30).fadeOut(2e3)}})}function animateScroll(){var e=$(".scrollMask").find(".container").height(),t=0;clearInterval(scrollTimer),scrollTimer=setInterval(function(){e+t>30?t-=30:($(".scrollMask").find(".container").css({top:0}),t=0),$(".scrollMask").find(".container").stop(!0,!0).animate({top:t})},2e3)}function getticketChooseShow(){var e={0:"turntable1",1:"turntable2"};$.ajax({type:"GET",url:api+"/act/queryTicketRule",data:{drawType:e[clickTab]},success:function(e){200===e.code&&($(".turnNum").find(".ticket").eq(0).html("消耗"+e.data.one+"门票"),$(".turnNum").find(".ticket").eq(1).html("消耗"+e.data.ten+"门票"),$(".turnNum").find(".ticket").eq(2).html("消耗"+e.data.hundred+"门票"))}})}function configTurnNumClass(){0===clickTab?$(".turnNum").find("li").removeClass("joy").addClass("ball"):$(".turnNum").find("li").removeClass("ball").addClass("joy")}function openSocket(){var e=null,t=0;if("undefined"==typeof WebSocket)alert("暂不支持转盘socket");else{var a=window.location.href.match("apibeta")||window.location.href.match("local")?"http://apibeta.qxjiaoyou.com:8081":"https://api.qxjiaoyou.com:8081";window.location.href.match("preview")&&(a="https://preview.qxjiaoyou.com:8081");var i=a+"/websocket/activity/"+info.roomUid;i=i.replace("https","wss").replace("http","ws"),null!==e&&(e.close(),e=null),e=new WebSocket(i),e.onopen=function(){clearInterval(tabTimer),tabTimer=setInterval(function(){t!==clickTab&&(t=clickTab)},10)},e.onmessage=function(e){var t=JSON.parse(e.data);t.data&&renderExp(t.data)},e.onclose=function(){e=null,clearTimeout(openSocketTimer),openSocketTimer=setTimeout(function(){openSocket()},5e3)},e.onerror=function(){console.log("socket错误")}}}function getExp(){$.ajax({type:"GET",url:api+"/activities/draw/getRunawayData",data:{drawType:0===clickTab?"turntable1":"turntable2",roomUid:info.roomUid},success:function(e){200===e.code&&renderExp(e.data)}})}function renderExp(e){if(tableFlag="turntable1"===e.drawType?0:1,e.runawaySwitch&&$(".experience").show(),tableFlag===clickTab){var t,a=$(".exp-container").height(),i=e.curValue/e.runawayConfigValue;t=a*i,$(".strip").stop(!0).animate({height:t},200),$(".experience").find(".maxNum").html(e.runawayConfigValue),$(".experience").find(".num").html(e.curValue)}"{}"!==JSON.stringify(e.poolPrize)?e.poolTime>0&&tableFlag===clickTab&&renderTime(e):$(".giftBox").addClass("hide")}function renderTime(e){times=e.poolTime,$(".giftBox").find("img").attr("src",e.poolPrize.prizeImgUrl),$(".giftBox").removeClass("hide"),$(".experience").find(".times").html(times+"秒"),clearInterval(timeTimer),timeTimer=setInterval(function(){times--,0===times&&(clearInterval(timeTimer),$(".giftBox").addClass("hide")),$(".experience").find(".times").html(times+"秒")},1e3)}function getTicketNum(){$.ajax({type:"GET",url:api+"/act/queryTicketNum",data:{uid:info.uid},success:function(e){200===e.code&&$(".info").find(".ticketNum").html(e.data.num)}})}function preloadImg(e){var t={imageArr:turntable[e].prizeImg,doneFunc:function(){clearInterval(imgTimer),imgTimer=setTimeout(function(){getCanvas(e)},50)}};preloadImage(t)}function getCanvas(e){var t;0===e?($("#table").show(),$("#table2").hide()):($("#table").hide(),$("#table2").show());for(var a in turntable[e].prizeImg)t=new Image,t.src=turntable[e].prizeImg[a],turntable[e].prizeImgArr.push(t);var i=turntable[e].prizeImg.length;t.onload=function(){var t=2*Math.PI/i,a=0===e?document.getElementById("table"):document.getElementById("table2"),n=a.getContext("2d");clearTimeout(canvasTimer),canvasTimer=setTimeout(function(){for(var i=0;i5&&(a.data.rankVoList[i].nick=a.data.rankVoList[i].nick.substring(0,5)+"..."),i>0){var n=a.data.rankVoList[i-1].value-a.data.rankVoList[i].value;n>1e4?a.data.rankVoList[i].distance=(n/1e4).toFixed(1)+"万":a.data.rankVoList[i].distance=n}if(e){var r={rankList:a.data.rankVoList};$(".rank-container").fadeOut(500,function(){$(".rank-container").html(template("rankListTmp",r))}).fadeIn(500)}else $(".rank-mask").animate({top:0},500,function(){var e={rankList:a.data.rankVoList};$(".rank-container").html(template("rankListTmp",e)).fadeIn(500)});a.data.myRank.nick.length>5&&(a.data.myRank.nick=a.data.myRank.nick.substring(0,5)+"..."),a.data.myRank.value>1e4&&(a.data.myRank.value=(a.data.myRank.value/1e4).toFixed(1)+"万"),$(".mine").find(".rank-num").html(a.data.myRank.rank),$(".mine").find(".avatar img").attr("src",a.data.myRank.avatar),$(".mine").find(".nick").html(a.data.myRank.nick),0===rankTabIndex?$(".mine").find(".score").html("我的捧场值:"+a.data.myRank.value):$(".mine").find(".score").html("我的迷人值:"+a.data.myRank.value),a.data.myRank.rank<21?a.data.myRank.rank>10&&a.data.myRank.rank<21?($(".mine").find(".num").html(a.data.myRank.diffValue),$(".mine").find(".distance").html("距上榜")):a.data.myRank.rank<11&&a.data.myRank.rank>1?($(".mine").find(".num").html(a.data.myRank.diffValue),$(".mine").find(".distance").html("距上名")):$(".mine").find(".num").html(a.data.myRank.diffValue):($(".mine").find(".num").html(a.data.myRank.diffValue),$(".mine").find(".distance").html("未上榜")),$(".rank-container").on("click",".avatar",function(){var e=$(this).attr("data-uid");tools.nativeUtils.jumpAppointPage("PERSON_PAGE",e)})}}})}function renderRecord(e){var t={0:"time",1:"worth"};$.ajax({type:"GET",url:api+"/act/drawRecord",data:{uid:info.uid,sortType:t[recordTabIndex],page:recordPageNum,pageSize:10},success:function(t){if(200===t.code){if(0===t.data.length)return;if(0===recordTabIndex)for(var a in t.data){var i=new Date(t.data[a].createTime),n=i.getFullYear(),r=i.getMonth()+1,o=i.getDate(),c=i.getHours(),s=i.getMinutes(),l=i.getSeconds();t.data[a].ymd=n+"-"+r+"-"+o,t.data[a].hms=c+":"+s+":"+l}if(scrollFlag){if(t.data.length>0)for(var d in t.data)recordCache.push(t.data[d]);else $(".loading").html("暂无更多数据");var m={recordList:recordCache,worth:1===recordTabIndex};return $(".loading").show(),clearTimeout(recordTimer),void(recordTimer=setTimeout(function(){$(".loading").hide(),$(".record-container").html(template("recordTmp",m)),scrollFlag=!scrollFlag},2e3))}if(e){recordCache=[],recordCache=t.data;var u={recordList:recordCache,worth:1===recordTabIndex};$(".record-container").fadeOut(500,function(){$(".record-container").html(template("recordTmp",u))}).fadeIn(500)}else recordCache=[],$(".record-mask").animate({top:0},500,function(){recordCache=t.data;var e={recordList:recordCache,worth:1===recordTabIndex};$(".record-container").html(template("recordTmp",e)).fadeIn(500)})}}})}var _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},info={},browser=checkVersion(),api="/api",env=EnvCheck(),queryParam=getQueryString();info.uid=queryParam.uid||0,info.roomUid=queryParam.roomUid||0;var shareUrl=location.origin+"/activity",share={title:"",link:shareUrl,imgUrl:"https://img.erbanyy.com/new-logo.png",desc:""};wx.ready(function(){wx.onMenuShareTimeline({title:share.title,link:share.link,imgUrl:share.imgUrl,desc:share.desc}),wx.onMenuShareAppMessage({title:share.title,desc:share.desc,link:share.link,imgUrl:share.imgUrl,type:"link",dataUrl:""}),wx.onMenuShareQQ({title:share.title,desc:share.desc,link:share.link,imgUrl:share.imgUrl})}),erbanMask("activity-name","activity-name"),initNav({type:2,data:{msg:"wewawa",link:share.link,title:share.title,showUrl:share.link,imgUrl:share.imgUrl,desc:share.desc}}),browser.weixin&&wxConfig();var requestScrollTimer,toastTimer,openSocketTimer,imgTimer,canvasTimer,rotateTimer,rotateTimer2,giftTimer;clearInterval(requestScrollTimer),requestScrollTimer=setInterval(function(){getScrollTip()},6e4);var clickTab=0,clickTabFlag=!1,clickNumIndex=0,turntable={0:{rotateBol:!1,fontColor:[],colors:["#542339","#341C27"],prizeName:[],prizeImg:["img/gift/gift1.686e6f4d.png","img/gift/gift2.4e803a7e.png","img/gift/gift3.767ecd69.png","img/gift/gift4.803656b4.png","img/gift/gift5.c6e97a2a.png","img/gift/gift6.ada0b6d6.png","img/gift/gift7.1ae4cc6c.png","img/gift/gift8.01624fee.png"],prizeImgArr:[],prizeIndex:[]},1:{rotateBol:!1,fontColor:[],colors:["#1A5B6B","#004453"],prizeName:[],prizeImg:["img/gift/gift1.686e6f4d.png","img/gift/gift9.a81aa907.png","img/gift/gift10.e0717de3.png","img/gift/gift11.b88e55ef.png","img/gift/gift12.28ccd153.png","img/gift/gift13.a3d9f629.png","img/gift/gift14.ad1e0977.png","img/gift/gift15.4a9ec019.png"],prizeImgArr:[],prizeIndex:[]}},giftIntro={};$(function(){"test"==env&&new VConsole;var e={init:function(){var e=this;$("#toIndexBox").html(template("toIndexTpl",info)),setTimeout(function(){e.getData(),info.appVersion>="1.3.6"&&info.appVersion?$(".topNav1").show().siblings(".topNav2").hide():($(".feedback,.topNav1").hide(),$(".topNav2").show())},100),this.eventRegister()},getMsgFromDevice:function(){browser.app?(browser.ios?(window.webkit.messageHandlers.getDeviceId.postMessage(null),window.webkit.messageHandlers.getRoomUid.postMessage(null)):browser.android&&androidJsObj&&"object"===("undefined"==typeof androidJsObj?"undefined":_typeof(androidJsObj))&&(info.deviceId=window.androidJsObj.getDeviceId(),info.roomUid=window.androidJsObj.getRoomUid()),info.uid=tools.nativeUtils.getUid(),info.ticket=tools.nativeUtils.getTicket(),info.appVersion=tools.nativeUtils.getAppVersion()):(info.uid=906709,info.roomUid=906709,info.deviceId="8d9d6247-63a4-3acc-a164-01a6b1a3c098",info.ticket="eyJhbGciOiJIUzI1NiJ9.eyJ0aWNrZXRfdHlwZSI6bnVsbCwidWlkIjo5MDYyMzgsInRpY2tldF9pZCI6IjdiZWQ2NzcwLWJmMjktNGRiYi04MzZmLTc0NzBmY2RiMDZjYSIsImV4cCI6MzYwMCwiY2xpZW50X2lkIjoiZXJiYW4tY2xpZW50In0.ye2Zv8nyZkqiT_bIWq-50qcS6_SCWmRpBjxxLX7mQvs")},eventRegister:function(){$(".topNav .tab").on("click",function(){clickTabFlag||($(this).addClass("active").siblings().removeClass("active"),clickTab=$(this).index(),0===clickTab?($(".exp-container").find(".strip").removeClass("exp-2").addClass("exp-1"),$(".exp-container").removeClass("exp-container2").addClass("exp-container1"),$(".canvas").find(".container1").removeClass("second").addClass("first"),$(".canvas .pointer img").attr("src","img/carnival/point.5bff5b55.png"),$(".canvas .btn img").attr("src","img/carnival/draw-btn.bab34522.png"),preloadImg(clickTab)):($(".exp-container").find(".strip").removeClass("exp-1").addClass("exp-2"),$(".exp-container").removeClass("exp-container1").addClass("exp-container2"),$(".canvas").find(".container1").removeClass("first").addClass("second"),$(".canvas .pointer img").attr("src","img/carnival/point-2.84a01c8c.png"),$(".canvas .btn img").attr("src","img/carnival/draw-btn-2.c20df273.png"),preloadImg(clickTab)),info.clickStatu=!1,getGiftInfo(),getticketChooseShow(),configTurnNumClass())}),$(".turnNum").on("click","li",function(){$(this).addClass("active").siblings().removeClass("active"),clickNumIndex=$(this).index()}),$(".experience").on("click",".tips",function(){$(".exp-toast").fadeIn(300,function(){clearTimeout(toastTimer),toastTimer=setTimeout(function(){$(".exp-toast").hide()},8e3)})}),$(".canvas").on("click",".btn",function(){if(!turntable[clickTab].rotateBol){turntable[clickTab].rotateBol=!0,clickTabFlag=!0;var e={0:"one",1:"ten",2:"hundred"};$.ajax({headers:{pub_ticket:info.ticket},type:"post",url:api+"/act/doLottery",data:{uid:info.uid,roomUid:info.roomUid,sendMessage:!0,ruleType:e[clickNumIndex],drawType:0===clickTab?"turntable1":"turntable2",deviceId:"abc"},success:function(e){if(200===e.code){var t,a,i=0;for(var n in e.data.prizeItemList)e.data.prizeItemList[n].platformValue>i&&(i=e.data.prizeItemList[n].platformValue,t=e.data.prizeItemList[n].prizeId,a=turntable[clickTab].prizeIndex.indexOf(t),a==-1&&(a=0)),console.log(a);$.ajax({headers:{pub_ticket:info.ticket},type:"POST",url:api+"/act/saveLog",data:{ticket:info.ticket,uid:info.uid,prizeids:JSON.stringify(e.data.prizeIdList),prizeIndex:a,createdTime:e.data.prizeItemList[0].createTime,prizeIdList:JSON.stringify(turntable[clickTab].prizeIndex)},success:function(e){200!==e.code&&console.log(e.message)},error:function(e){console.log("报错了:",e)}}),$(".info").find(".ticketNum").html(e.data.remainTicketNum),rotateFunc(a,8,e.data.prizeItemList,e.data.prizeIdList,clickTab),clearTimeout(rotateTimer),rotateTimer=setTimeout(function(){clickTabFlag=!1,clearTimeout(rotateTimer)},3e3),clearTimeout(rotateTimer2),rotateTimer2=setTimeout(function(){turntable[clickTab].rotateBol=!1},1e3)}else 1e4===e.code?($(".status-mask").find(".title").html("游玩失败"),$(".status-mask").find(".tips").html("亲,门票不足了哦~"),$(".status-mask").find(".btn").addClass("toGather").html("去收集"),$(".shade,.status-mask").show(),clickTabFlag=!1,turntable[clickTab].rotateBol=!1):21111===e.code?($(".status-mask").find(".title").html("本日游玩限制"),$(".status-mask").find(".tips").html("今日游玩次数已达上限哦~"),$(".status-mask").find(".btn").removeClass("toGather").html("知道了"),$(".shade,.status-mask").show(),clickTabFlag=!1):(turntable[clickTab].rotateBol=!1,clickTabFlag=!1,$(".toast").html(e.message).fadeIn(30).fadeOut(3e3))}})}}),$(".status-mask").on("click",".btn",function(){$(this).hasClass("toGather")?($(".status-mask").hide(),$(".shade").hide(),window.location.href="./index.html"):($(".status-mask").hide(),$(".shade").hide())}),$(".shade").on("click",function(){$(".status-mask").hide(),$(".gather-mask").hide(),$(".shade").hide()}),$(".help").on("click",function(){$(".rule-mask").animate({top:0},500)}),$(".rule-mask").on("click",".back",function(){$(".rule-mask").animate({top:-1e3},500)}),$(".rank-btn").on("click",function(){renderRank(!1)}),$(".rank-mask .tab").on("click","li",function(){rankTabIndex=$(this).index(),$(this).addClass("active").siblings().removeClass("active"),renderRank(!0)}),$(".rank-mask").on("click",".back",function(){$(".rank-mask").animate({top:-1e3},500)}),$(".status-mask").on("click",".btn",function(){$(".shade").hide(),$(".status-mask").hide()}),$(".record-btn").on("click",function(){renderRecord(!1)}),$(".record-mask .tab").on("click","li",function(){recordTabIndex=$(this).index(),recordPageNum=1,scrollFlag=!1,$(".record-mask").find(".content").scrollTop(0),$(this).addClass("active").siblings().removeClass("active"),renderRecord(!0)}),$(".record-mask").on("click",".back",function(){$(".record-mask").animate({top:-1e3},500)}),$(".record-mask .content").scroll(function(){var e=$(this).scrollTop(),t=$(".record-container").height(),a=$(this).height();if(Math.ceil(a+e)>=t){if(scrollFlag)return;scrollFlag=!scrollFlag,recordPageNum++,renderRecord(!0)}}),$(".feedback").on("click",function(){tools.nativeUtils.jumpAppointPage("FEEDPACK_PAGE","DRAW")})},getData:function(){getScrollTip(),getticketChooseShow(),configTurnNumClass(),openSocket(),getTicketNum(),preloadImg(clickTab),getGiftInfo()}};e.init()});var scrollTimer,tabTimer,times,timeTimer,rankTabIndex=0,recordTabIndex=0,recordPageNum=1,tableFlag,recordCache=[],scrollFlag=!1,recordTimer; \ No newline at end of file diff --git a/activity/carnival11/js/index.bc261b11.js b/activity/carnival11/js/index.bc261b11.js new file mode 100644 index 0000000..8292b02 --- /dev/null +++ b/activity/carnival11/js/index.bc261b11.js @@ -0,0 +1 @@ +"use strict";function getMessage(t,e){info[t]=e}function renderTicket(){$.ajax({type:"GET",url:api+"/act/queryTicketNum",data:{uid:info.uid},success:function(t){return 200!==t.code?void ajaxTip(t.message):(t.data.nick.length>10&&(t.data.nick=t.data.nick.substring(0,10)+"..."),$(".mine").find(".avatar img").attr("src",t.data.avatar),$(".mine").find(".nick").html(t.data.nick),$(".mine").find(".score").html(t.data.num),void 0)}})}function renderGift(){$.ajax({headers:{pub_ticket:info.ticket},type:"POST",url:api+"/act/getPackStore",data:{uid:info.uid},success:function(t){if(200!=t.code)return void ajaxTip(t.message);var e="",a="";t.data.forEach(function(t,i){200==t.sellingPrice?a="7-10":1e3==t.sellingPrice?a="30-50":2e3==t.sellingPrice?a="70-100":1e4==t.sellingPrice?a="300-500":2e4==t.sellingPrice&&(a="600-1000"),e+='
                                      • 限定装扮'+NoToChinese(i+1)+'

                                        '+t.name+'

                                        '+t.sellingPrice+"金币/天

                                        "+t.originalPrice+"金币/天

                                        随机赠送门票"+a+'张

                                      • '}),$(".cloth-box").html(e),renderBuyStatus(),$(".cloth-box").on("click",".buy-btn",function(){var t=$(this).attr("data-gid"),e=$(this).siblings(".gift-text").find("p:first").text(),a=$(this).siblings(".gift-text").find(".price").attr("data-money");$(".buy-mask .day").text(1),$(".buy-mask .b-input").val(1),$(".buy-mask .giftName").html(e),$(".buy-mask .totalprice").html(a),$(".buy-mask .confirm-btn").attr("data-pid",t),$(".buy-mask .b-input").attr("data-price",a),$(".shade,.buy-mask").fadeIn(300)})}})}function renderBuyStatus(){$.ajax({type:"GET",url:api+"/act/getDate",data:{},success:function(t){if(200!=t.code)return void ajaxTip(t.message);var e=(new Date).getTime(),a=browser.ios?t.data.start:t.data.start,i=browser.ios?t.data.end:t.data.end;a"+t+"

                                        ";a.setAttribute("class","ajaxtiplayer"),a.innerHTML=i,a.style.display="block",e.appendChild(a),setTimeout(function(){e.removeChild(a)},2e3)}function NoToChinese(t){if(!/^\d*(\.\d*)?$/.test(t))return alert("Number is wrong!"),"Number is wrong!";for(var e=new Array("零","一","二","三","四","五","六","七","八","九"),a=new Array("","十","百","千","万","亿","点",""),i=(""+t).replace(/(^0*)/g,"").split("."),n=0,s="",r=i[0].length-1;r>=0;r--){switch(n){case 0:s=a[7]+s;break;case 4:new RegExp("0{4}\\d{"+(i[0].length-r-1)+"}$").test(i[0])||(s=a[4]+s);break;case 8:s=a[5]+s,a[7]=a[5],n=0}n%4==2&&0!=i[0].charAt(r+2)&&0==i[0].charAt(r+1)&&(s=e[0]+s),0!=i[0].charAt(r)&&(s=e[i[0].charAt(r)]+a[n%4]+s),n++}if(i.length>1){s+=a[6];for(var r=0;r=1e8&&t.val(1e8),totalPrice=parseInt(t.val())*parseInt(t.attr("data-price")),$(".day").text(t.val())),$(".totalprice").html(totalPrice)}),$(".add-btn").on("click",function(){var t=parseInt($(".b-input").val()),e=parseInt($(".b-input").attr("data-price"));t+=1,totalPrice=t*e,$(".day").text(t),$(".b-input").val(t),$(".totalprice").html(totalPrice)}),$(".remove-btn").on("click",function(){var t=parseInt($(".b-input").val()),e=parseInt($(".b-input").attr("data-price"));t>1?t-=1:t=1,totalPrice=t*e,$(".day").text(t),$(".b-input").val(t),$(".totalprice").html(totalPrice)}),$(".confirm-btn").on("click",function(){var t=$(".b-input").val(),e=$(this).attr("data-pid");return 0==t?void ajaxTip("最少购买一个哦~"):void $.ajax({headers:{pub_ticket:info.ticket},type:"get",url:api+"/act/buy/pack",data:{uid:info.uid,packId:e,packNum:t},success:function(t){if(t)if(200==t.code)$(".buy-mask").hide().siblings(".statusMask").fadeIn(300),$(".success").show(),$(".fail").hide(),$(".statusMask .tip").html("获赠门票×"+t.data),renderTicket();else{if(2103!=t.code)return void ajaxTip(t.message);$(".buy-mask").hide().siblings(".statusMask").fadeIn(300),$(".buy-mask,.success").hide(),$(".fail").show(),$(".statusMask .tip").html("亲,余额不足~"),browser.ios?$(".android").hide():browser.android&&$(".ios").hide()}}})}),$(".recharge").on("click",function(){browser.ios?$(".statusMask,.shade").fadeOut(300):tools.nativeUtils.jumpAppointPage("RECHARGE_PAGE")})},getData:function(){renderTicket(),renderGift()}};t.init()}); \ No newline at end of file diff --git a/common/css/animate.min.css b/common/css/animate.min.css new file mode 100644 index 0000000..9c8b335 --- /dev/null +++ b/common/css/animate.min.css @@ -0,0 +1,6 @@ +@charset "UTF-8";/*! +Animate.css - http://daneden.me/animate +Licensed under the MIT license - http://opensource.org/licenses/MIT + +Copyright (c) 2015 Daniel Eden +*/.animated{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.animated.infinite{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.animated.hinge{-webkit-animation-duration:2s;animation-duration:2s}@-webkit-keyframes bounce{0%,100%,20%,53%,80%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-transition-timing-function:cubic-bezier(0.755,.050,.855,.060);transition-timing-function:cubic-bezier(0.755,.050,.855,.060);-webkit-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-transition-timing-function:cubic-bezier(0.755,.050,.855,.060);transition-timing-function:cubic-bezier(0.755,.050,.855,.060);-webkit-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}@keyframes bounce{0%,100%,20%,53%,80%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1);-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}40%,43%{-webkit-transition-timing-function:cubic-bezier(0.755,.050,.855,.060);transition-timing-function:cubic-bezier(0.755,.050,.855,.060);-webkit-transform:translate3d(0,-30px,0);-ms-transform:translate3d(0,-30px,0);transform:translate3d(0,-30px,0)}70%{-webkit-transition-timing-function:cubic-bezier(0.755,.050,.855,.060);transition-timing-function:cubic-bezier(0.755,.050,.855,.060);-webkit-transform:translate3d(0,-15px,0);-ms-transform:translate3d(0,-15px,0);transform:translate3d(0,-15px,0)}90%{-webkit-transform:translate3d(0,-4px,0);-ms-transform:translate3d(0,-4px,0);transform:translate3d(0,-4px,0)}}.bounce{-webkit-animation-name:bounce;animation-name:bounce;-webkit-transform-origin:center bottom;-ms-transform-origin:center bottom;transform-origin:center bottom}@-webkit-keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}@keyframes flash{0%,100%,50%{opacity:1}25%,75%{opacity:0}}.flash{-webkit-animation-name:flash;animation-name:flash}@-webkit-keyframes pulse{0%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes pulse{0%{-webkit-transform:scale3d(1,1,1);-ms-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}50%{-webkit-transform:scale3d(1.05,1.05,1.05);-ms-transform:scale3d(1.05,1.05,1.05);transform:scale3d(1.05,1.05,1.05)}100%{-webkit-transform:scale3d(1,1,1);-ms-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.pulse{-webkit-animation-name:pulse;animation-name:pulse}@-webkit-keyframes rubberBand{0%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(0.75,1.25,1);transform:scale3d(0.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes rubberBand{0%{-webkit-transform:scale3d(1,1,1);-ms-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}30%{-webkit-transform:scale3d(1.25,.75,1);-ms-transform:scale3d(1.25,.75,1);transform:scale3d(1.25,.75,1)}40%{-webkit-transform:scale3d(0.75,1.25,1);-ms-transform:scale3d(0.75,1.25,1);transform:scale3d(0.75,1.25,1)}50%{-webkit-transform:scale3d(1.15,.85,1);-ms-transform:scale3d(1.15,.85,1);transform:scale3d(1.15,.85,1)}65%{-webkit-transform:scale3d(.95,1.05,1);-ms-transform:scale3d(.95,1.05,1);transform:scale3d(.95,1.05,1)}75%{-webkit-transform:scale3d(1.05,.95,1);-ms-transform:scale3d(1.05,.95,1);transform:scale3d(1.05,.95,1)}100%{-webkit-transform:scale3d(1,1,1);-ms-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.rubberBand{-webkit-animation-name:rubberBand;animation-name:rubberBand}@-webkit-keyframes shake{0%,100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}@keyframes shake{0%,100%{-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}10%,30%,50%,70%,90%{-webkit-transform:translate3d(-10px,0,0);-ms-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}20%,40%,60%,80%{-webkit-transform:translate3d(10px,0,0);-ms-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}}.shake{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}100%{-webkit-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}}@keyframes swing{20%{-webkit-transform:rotate3d(0,0,1,15deg);-ms-transform:rotate3d(0,0,1,15deg);transform:rotate3d(0,0,1,15deg)}40%{-webkit-transform:rotate3d(0,0,1,-10deg);-ms-transform:rotate3d(0,0,1,-10deg);transform:rotate3d(0,0,1,-10deg)}60%{-webkit-transform:rotate3d(0,0,1,5deg);-ms-transform:rotate3d(0,0,1,5deg);transform:rotate3d(0,0,1,5deg)}80%{-webkit-transform:rotate3d(0,0,1,-5deg);-ms-transform:rotate3d(0,0,1,-5deg);transform:rotate3d(0,0,1,-5deg)}100%{-webkit-transform:rotate3d(0,0,1,0deg);-ms-transform:rotate3d(0,0,1,0deg);transform:rotate3d(0,0,1,0deg)}}.swing{-webkit-transform-origin:top center;-ms-transform-origin:top center;transform-origin:top center;-webkit-animation-name:swing;animation-name:swing}@-webkit-keyframes tada{0%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}100%{-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes tada{0%{-webkit-transform:scale3d(1,1,1);-ms-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}10%,20%{-webkit-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);-ms-transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg);transform:scale3d(.9,.9,.9) rotate3d(0,0,1,-3deg)}30%,50%,70%,90%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);-ms-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,3deg)}40%,60%,80%{-webkit-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);-ms-transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg);transform:scale3d(1.1,1.1,1.1) rotate3d(0,0,1,-3deg)}100%{-webkit-transform:scale3d(1,1,1);-ms-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.tada{-webkit-animation-name:tada;animation-name:tada}@-webkit-keyframes wobble{0%{-webkit-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}100%{-webkit-transform:none;transform:none}}@keyframes wobble{0%{-webkit-transform:none;-ms-transform:none;transform:none}15%{-webkit-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);-ms-transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg);transform:translate3d(-25%,0,0) rotate3d(0,0,1,-5deg)}30%{-webkit-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);-ms-transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg);transform:translate3d(20%,0,0) rotate3d(0,0,1,3deg)}45%{-webkit-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);-ms-transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg);transform:translate3d(-15%,0,0) rotate3d(0,0,1,-3deg)}60%{-webkit-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);-ms-transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg);transform:translate3d(10%,0,0) rotate3d(0,0,1,2deg)}75%{-webkit-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);-ms-transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg);transform:translate3d(-5%,0,0) rotate3d(0,0,1,-1deg)}100%{-webkit-transform:none;-ms-transform:none;transform:none}}.wobble{-webkit-animation-name:wobble;animation-name:wobble}@-webkit-keyframes bounceIn{0%,100%,20%,40%,60%,80%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}@keyframes bounceIn{0%,100%,20%,40%,60%,80%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);-ms-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}20%{-webkit-transform:scale3d(1.1,1.1,1.1);-ms-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}40%{-webkit-transform:scale3d(.9,.9,.9);-ms-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}60%{opacity:1;-webkit-transform:scale3d(1.03,1.03,1.03);-ms-transform:scale3d(1.03,1.03,1.03);transform:scale3d(1.03,1.03,1.03)}80%{-webkit-transform:scale3d(.97,.97,.97);-ms-transform:scale3d(.97,.97,.97);transform:scale3d(.97,.97,.97)}100%{opacity:1;-webkit-transform:scale3d(1,1,1);-ms-transform:scale3d(1,1,1);transform:scale3d(1,1,1)}}.bounceIn{-webkit-animation-name:bounceIn;animation-name:bounceIn;-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes bounceInDown{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInDown{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,-3000px,0);-ms-transform:translate3d(0,-3000px,0);transform:translate3d(0,-3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,25px,0);-ms-transform:translate3d(0,25px,0);transform:translate3d(0,25px,0)}75%{-webkit-transform:translate3d(0,-10px,0);-ms-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}90%{-webkit-transform:translate3d(0,5px,0);-ms-transform:translate3d(0,5px,0);transform:translate3d(0,5px,0)}100%{-webkit-transform:none;-ms-transform:none;transform:none}}.bounceInDown{-webkit-animation-name:bounceInDown;animation-name:bounceInDown}@-webkit-keyframes bounceInLeft{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInLeft{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(-3000px,0,0);-ms-transform:translate3d(-3000px,0,0);transform:translate3d(-3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(25px,0,0);-ms-transform:translate3d(25px,0,0);transform:translate3d(25px,0,0)}75%{-webkit-transform:translate3d(-10px,0,0);-ms-transform:translate3d(-10px,0,0);transform:translate3d(-10px,0,0)}90%{-webkit-transform:translate3d(5px,0,0);-ms-transform:translate3d(5px,0,0);transform:translate3d(5px,0,0)}100%{-webkit-transform:none;-ms-transform:none;transform:none}}.bounceInLeft{-webkit-animation-name:bounceInLeft;animation-name:bounceInLeft}@-webkit-keyframes bounceInRight{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}100%{-webkit-transform:none;transform:none}}@keyframes bounceInRight{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(3000px,0,0);-ms-transform:translate3d(3000px,0,0);transform:translate3d(3000px,0,0)}60%{opacity:1;-webkit-transform:translate3d(-25px,0,0);-ms-transform:translate3d(-25px,0,0);transform:translate3d(-25px,0,0)}75%{-webkit-transform:translate3d(10px,0,0);-ms-transform:translate3d(10px,0,0);transform:translate3d(10px,0,0)}90%{-webkit-transform:translate3d(-5px,0,0);-ms-transform:translate3d(-5px,0,0);transform:translate3d(-5px,0,0)}100%{-webkit-transform:none;-ms-transform:none;transform:none}}.bounceInRight{-webkit-animation-name:bounceInRight;animation-name:bounceInRight}@-webkit-keyframes bounceInUp{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}@keyframes bounceInUp{0%,100%,60%,75%,90%{-webkit-transition-timing-function:cubic-bezier(0.215,.61,.355,1);transition-timing-function:cubic-bezier(0.215,.61,.355,1)}0%{opacity:0;-webkit-transform:translate3d(0,3000px,0);-ms-transform:translate3d(0,3000px,0);transform:translate3d(0,3000px,0)}60%{opacity:1;-webkit-transform:translate3d(0,-20px,0);-ms-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}75%{-webkit-transform:translate3d(0,10px,0);-ms-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}90%{-webkit-transform:translate3d(0,-5px,0);-ms-transform:translate3d(0,-5px,0);transform:translate3d(0,-5px,0)}100%{-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.bounceInUp{-webkit-animation-name:bounceInUp;animation-name:bounceInUp}@-webkit-keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}100%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}@keyframes bounceOut{20%{-webkit-transform:scale3d(.9,.9,.9);-ms-transform:scale3d(.9,.9,.9);transform:scale3d(.9,.9,.9)}50%,55%{opacity:1;-webkit-transform:scale3d(1.1,1.1,1.1);-ms-transform:scale3d(1.1,1.1,1.1);transform:scale3d(1.1,1.1,1.1)}100%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);-ms-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}}.bounceOut{-webkit-animation-name:bounceOut;animation-name:bounceOut;-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes bounceOutDown{20%{-webkit-transform:translate3d(0,10px,0);-ms-transform:translate3d(0,10px,0);transform:translate3d(0,10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,-20px,0);-ms-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);-ms-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.bounceOutDown{-webkit-animation-name:bounceOutDown;animation-name:bounceOutDown}@-webkit-keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes bounceOutLeft{20%{opacity:1;-webkit-transform:translate3d(20px,0,0);-ms-transform:translate3d(20px,0,0);transform:translate3d(20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);-ms-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.bounceOutLeft{-webkit-animation-name:bounceOutLeft;animation-name:bounceOutLeft}@-webkit-keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes bounceOutRight{20%{opacity:1;-webkit-transform:translate3d(-20px,0,0);-ms-transform:translate3d(-20px,0,0);transform:translate3d(-20px,0,0)}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);-ms-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.bounceOutRight{-webkit-animation-name:bounceOutRight;animation-name:bounceOutRight}@-webkit-keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes bounceOutUp{20%{-webkit-transform:translate3d(0,-10px,0);-ms-transform:translate3d(0,-10px,0);transform:translate3d(0,-10px,0)}40%,45%{opacity:1;-webkit-transform:translate3d(0,20px,0);-ms-transform:translate3d(0,20px,0);transform:translate3d(0,20px,0)}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);-ms-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.bounceOutUp{-webkit-animation-name:bounceOutUp;animation-name:bounceOutUp}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.fadeIn{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);-ms-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}}.fadeInDown{-webkit-animation-name:fadeInDown;animation-name:fadeInDown}@-webkit-keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInDownBig{0%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);-ms-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}}.fadeInDownBig{-webkit-animation-name:fadeInDownBig;animation-name:fadeInDownBig}@-webkit-keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0);-ms-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}}.fadeInLeft{-webkit-animation-name:fadeInLeft;animation-name:fadeInLeft}@-webkit-keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInLeftBig{0%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);-ms-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}}.fadeInLeftBig{-webkit-animation-name:fadeInLeftBig;animation-name:fadeInLeftBig}@-webkit-keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRight{0%{opacity:0;-webkit-transform:translate3d(100%,0,0);-ms-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}}.fadeInRight{-webkit-animation-name:fadeInRight;animation-name:fadeInRight}@-webkit-keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInRightBig{0%{opacity:0;-webkit-transform:translate3d(2000px,0,0);-ms-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}}.fadeInRightBig{-webkit-animation-name:fadeInRightBig;animation-name:fadeInRightBig}@-webkit-keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);-ms-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}}.fadeInUp{-webkit-animation-name:fadeInUp;animation-name:fadeInUp}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translate3d(0,2000px,0);-ms-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}}.fadeInUpBig{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes fadeOut{0%{opacity:1}100%{opacity:0}}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.fadeOut{-webkit-animation-name:fadeOut;animation-name:fadeOut}@-webkit-keyframes fadeOutDown{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes fadeOutDown{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,100%,0);-ms-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}.fadeOutDown{-webkit-animation-name:fadeOutDown;animation-name:fadeOutDown}@-webkit-keyframes fadeOutDownBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}@keyframes fadeOutDownBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,2000px,0);-ms-transform:translate3d(0,2000px,0);transform:translate3d(0,2000px,0)}}.fadeOutDownBig{-webkit-animation-name:fadeOutDownBig;animation-name:fadeOutDownBig}@-webkit-keyframes fadeOutLeft{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}@keyframes fadeOutLeft{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-100%,0,0);-ms-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}}.fadeOutLeft{-webkit-animation-name:fadeOutLeft;animation-name:fadeOutLeft}@-webkit-keyframes fadeOutLeftBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}@keyframes fadeOutLeftBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(-2000px,0,0);-ms-transform:translate3d(-2000px,0,0);transform:translate3d(-2000px,0,0)}}.fadeOutLeftBig{-webkit-animation-name:fadeOutLeftBig;animation-name:fadeOutLeftBig}@-webkit-keyframes fadeOutRight{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}@keyframes fadeOutRight{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%,0,0);-ms-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}}.fadeOutRight{-webkit-animation-name:fadeOutRight;animation-name:fadeOutRight}@-webkit-keyframes fadeOutRightBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}@keyframes fadeOutRightBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(2000px,0,0);-ms-transform:translate3d(2000px,0,0);transform:translate3d(2000px,0,0)}}.fadeOutRightBig{-webkit-animation-name:fadeOutRightBig;animation-name:fadeOutRightBig}@-webkit-keyframes fadeOutUp{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes fadeOutUp{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-100%,0);-ms-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}.fadeOutUp{-webkit-animation-name:fadeOutUp;animation-name:fadeOutUp}@-webkit-keyframes fadeOutUpBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}@keyframes fadeOutUpBig{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(0,-2000px,0);-ms-transform:translate3d(0,-2000px,0);transform:translate3d(0,-2000px,0)}}.fadeOutUpBig{-webkit-animation-name:fadeOutUpBig;animation-name:fadeOutUpBig}@-webkit-keyframes flip{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-360deg);transform:perspective(400px) rotate3d(0,1,0,-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}@keyframes flip{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-360deg);-ms-transform:perspective(400px) rotate3d(0,1,0,-360deg);transform:perspective(400px) rotate3d(0,1,0,-360deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}40%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);-ms-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-190deg);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}50%{-webkit-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);-ms-transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);transform:perspective(400px) translate3d(0,0,150px) rotate3d(0,1,0,-170deg);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}80%{-webkit-transform:perspective(400px) scale3d(.95,.95,.95);-ms-transform:perspective(400px) scale3d(.95,.95,.95);transform:perspective(400px) scale3d(.95,.95,.95);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}100%{-webkit-transform:perspective(400px);-ms-transform:perspective(400px);transform:perspective(400px);-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}}.animated.flip{-webkit-backface-visibility:visible;-ms-backface-visibility:visible;backface-visibility:visible;-webkit-animation-name:flip;animation-name:flip}@-webkit-keyframes flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);-ms-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);-ms-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);-ms-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);-ms-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}100%{-webkit-transform:perspective(400px);-ms-transform:perspective(400px);transform:perspective(400px)}}.flipInX{-webkit-backface-visibility:visible!important;-ms-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInX;animation-name:flipInX}@-webkit-keyframes flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}100%{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes flipInY{0%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);-ms-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in;opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-20deg);-ms-transform:perspective(400px) rotate3d(0,1,0,-20deg);transform:perspective(400px) rotate3d(0,1,0,-20deg);-webkit-transition-timing-function:ease-in;transition-timing-function:ease-in}60%{-webkit-transform:perspective(400px) rotate3d(0,1,0,10deg);-ms-transform:perspective(400px) rotate3d(0,1,0,10deg);transform:perspective(400px) rotate3d(0,1,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-5deg);-ms-transform:perspective(400px) rotate3d(0,1,0,-5deg);transform:perspective(400px) rotate3d(0,1,0,-5deg)}100%{-webkit-transform:perspective(400px);-ms-transform:perspective(400px);transform:perspective(400px)}}.flipInY{-webkit-backface-visibility:visible!important;-ms-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipInY;animation-name:flipInY}@-webkit-keyframes flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}@keyframes flipOutX{0%{-webkit-transform:perspective(400px);-ms-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);-ms-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);-ms-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}.flipOutX{-webkit-animation-name:flipOutX;animation-name:flipOutX;-webkit-animation-duration:.75s;animation-duration:.75s;-webkit-backface-visibility:visible!important;-ms-backface-visibility:visible!important;backface-visibility:visible!important}@-webkit-keyframes flipOutY{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}@keyframes flipOutY{0%{-webkit-transform:perspective(400px);-ms-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(0,1,0,-15deg);-ms-transform:perspective(400px) rotate3d(0,1,0,-15deg);transform:perspective(400px) rotate3d(0,1,0,-15deg);opacity:1}100%{-webkit-transform:perspective(400px) rotate3d(0,1,0,90deg);-ms-transform:perspective(400px) rotate3d(0,1,0,90deg);transform:perspective(400px) rotate3d(0,1,0,90deg);opacity:0}}.flipOutY{-webkit-backface-visibility:visible!important;-ms-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation-name:flipOutY;animation-name:flipOutY;-webkit-animation-duration:.75s;animation-duration:.75s}@-webkit-keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}100%{-webkit-transform:none;transform:none;opacity:1}}@keyframes lightSpeedIn{0%{-webkit-transform:translate3d(100%,0,0) skewX(-30deg);-ms-transform:translate3d(100%,0,0) skewX(-30deg);transform:translate3d(100%,0,0) skewX(-30deg);opacity:0}60%{-webkit-transform:skewX(20deg);-ms-transform:skewX(20deg);transform:skewX(20deg);opacity:1}80%{-webkit-transform:skewX(-5deg);-ms-transform:skewX(-5deg);transform:skewX(-5deg);opacity:1}100%{-webkit-transform:none;-ms-transform:none;transform:none;opacity:1}}.lightSpeedIn{-webkit-animation-name:lightSpeedIn;animation-name:lightSpeedIn;-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}@-webkit-keyframes lightSpeedOut{0%{opacity:1}100%{-webkit-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}@keyframes lightSpeedOut{0%{opacity:1}100%{-webkit-transform:translate3d(100%,0,0) skewX(30deg);-ms-transform:translate3d(100%,0,0) skewX(30deg);transform:translate3d(100%,0,0) skewX(30deg);opacity:0}}.lightSpeedOut{-webkit-animation-name:lightSpeedOut;animation-name:lightSpeedOut;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in}@-webkit-keyframes rotateIn{0%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateIn{0%{-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,-200deg);-ms-transform:rotate3d(0,0,1,-200deg);transform:rotate3d(0,0,1,-200deg);opacity:0}100%{-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-transform:none;-ms-transform:none;transform:none;opacity:1}}.rotateIn{-webkit-animation-name:rotateIn;animation-name:rotateIn}@-webkit-keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownLeft{0%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);-ms-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}100%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;-ms-transform:none;transform:none;opacity:1}}.rotateInDownLeft{-webkit-animation-name:rotateInDownLeft;animation-name:rotateInDownLeft}@-webkit-keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInDownRight{0%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,45deg);-ms-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}100%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;-ms-transform:none;transform:none;opacity:1}}.rotateInDownRight{-webkit-animation-name:rotateInDownRight;animation-name:rotateInDownRight}@-webkit-keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpLeft{0%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);-ms-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}100%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:none;-ms-transform:none;transform:none;opacity:1}}.rotateInUpLeft{-webkit-animation-name:rotateInUpLeft;animation-name:rotateInUpLeft}@-webkit-keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;transform:none;opacity:1}}@keyframes rotateInUpRight{0%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-90deg);-ms-transform:rotate3d(0,0,1,-90deg);transform:rotate3d(0,0,1,-90deg);opacity:0}100%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:none;-ms-transform:none;transform:none;opacity:1}}.rotateInUpRight{-webkit-animation-name:rotateInUpRight;animation-name:rotateInUpRight}@-webkit-keyframes rotateOut{0%{-webkit-transform-origin:center;transform-origin:center;opacity:1}100%{-webkit-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}@keyframes rotateOut{0%{-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;opacity:1}100%{-webkit-transform-origin:center;-ms-transform-origin:center;transform-origin:center;-webkit-transform:rotate3d(0,0,1,200deg);-ms-transform:rotate3d(0,0,1,200deg);transform:rotate3d(0,0,1,200deg);opacity:0}}.rotateOut{-webkit-animation-name:rotateOut;animation-name:rotateOut}@-webkit-keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}}@keyframes rotateOutDownLeft{0%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,45deg);-ms-transform:rotate3d(0,0,1,45deg);transform:rotate3d(0,0,1,45deg);opacity:0}}.rotateOutDownLeft{-webkit-animation-name:rotateOutDownLeft;animation-name:rotateOutDownLeft}@-webkit-keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}@keyframes rotateOutDownRight{0%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,-45deg);-ms-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}.rotateOutDownRight{-webkit-animation-name:rotateOutDownRight;animation-name:rotateOutDownRight}@-webkit-keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}@keyframes rotateOutUpLeft{0%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;opacity:1}100%{-webkit-transform-origin:left bottom;-ms-transform-origin:left bottom;transform-origin:left bottom;-webkit-transform:rotate3d(0,0,1,-45deg);-ms-transform:rotate3d(0,0,1,-45deg);transform:rotate3d(0,0,1,-45deg);opacity:0}}.rotateOutUpLeft{-webkit-animation-name:rotateOutUpLeft;animation-name:rotateOutUpLeft}@-webkit-keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,90deg);transform:rotate3d(0,0,1,90deg);opacity:0}}@keyframes rotateOutUpRight{0%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;opacity:1}100%{-webkit-transform-origin:right bottom;-ms-transform-origin:right bottom;transform-origin:right bottom;-webkit-transform:rotate3d(0,0,1,90deg);-ms-transform:rotate3d(0,0,1,90deg);transform:rotate3d(0,0,1,90deg);opacity:0}}.rotateOutUpRight{-webkit-animation-name:rotateOutUpRight;animation-name:rotateOutUpRight}@-webkit-keyframes hinge{0%{-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0,0,1,80deg);transform:rotate3d(0,0,1,80deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0,0,1,60deg);transform:rotate3d(0,0,1,60deg);-webkit-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}100%{-webkit-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}@keyframes hinge{0%{-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}20%,60%{-webkit-transform:rotate3d(0,0,1,80deg);-ms-transform:rotate3d(0,0,1,80deg);transform:rotate3d(0,0,1,80deg);-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}40%,80%{-webkit-transform:rotate3d(0,0,1,60deg);-ms-transform:rotate3d(0,0,1,60deg);transform:rotate3d(0,0,1,60deg);-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left;-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out;opacity:1}100%{-webkit-transform:translate3d(0,700px,0);-ms-transform:translate3d(0,700px,0);transform:translate3d(0,700px,0);opacity:0}}.hinge{-webkit-animation-name:hinge;animation-name:hinge}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}100%{opacity:1;-webkit-transform:none;transform:none}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);-ms-transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg);transform:translate3d(-100%,0,0) rotate3d(0,0,1,-120deg)}100%{opacity:1;-webkit-transform:none;-ms-transform:none;transform:none}}.rollIn{-webkit-animation-name:rollIn;animation-name:rollIn}@-webkit-keyframes rollOut{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}@keyframes rollOut{0%{opacity:1}100%{opacity:0;-webkit-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);-ms-transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg);transform:translate3d(100%,0,0) rotate3d(0,0,1,120deg)}}.rollOut{-webkit-animation-name:rollOut;animation-name:rollOut}@-webkit-keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes zoomIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);-ms-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}50%{opacity:1}}.zoomIn{-webkit-animation-name:zoomIn;animation-name:zoomIn}@-webkit-keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-ms-transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-1000px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-ms-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomInDown{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-ms-transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(-1000px,0,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-ms-transform:scale3d(.475,.475,.475) translate3d(10px,0,0);transform:scale3d(.475,.475,.475) translate3d(10px,0,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomInLeft{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomInRight{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-ms-transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);transform:scale3d(.1,.1,.1) translate3d(1000px,0,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-ms-transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);transform:scale3d(.475,.475,.475) translate3d(-10px,0,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomInRight{-webkit-animation-name:zoomInRight;animation-name:zoomInRight}@-webkit-keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomInUp{0%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-ms-transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);transform:scale3d(.1,.1,.1) translate3d(0,1000px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}60%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-ms-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomInUp{-webkit-animation-name:zoomInUp;animation-name:zoomInUp}@-webkit-keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}100%{opacity:0}}@keyframes zoomOut{0%{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);-ms-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}100%{opacity:0}}.zoomOut{-webkit-animation-name:zoomOut;animation-name:zoomOut}@-webkit-keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}100%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomOutDown{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-ms-transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);transform:scale3d(.475,.475,.475) translate3d(0,-60px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}100%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-ms-transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,2000px,0);-webkit-transform-origin:center bottom;-ms-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomOutDown{-webkit-animation-name:zoomOutDown;animation-name:zoomOutDown}@-webkit-keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}100%{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;transform-origin:left center}}@keyframes zoomOutLeft{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);-ms-transform:scale3d(.475,.475,.475) translate3d(42px,0,0);transform:scale3d(.475,.475,.475) translate3d(42px,0,0)}100%{opacity:0;-webkit-transform:scale(.1) translate3d(-2000px,0,0);-ms-transform:scale(.1) translate3d(-2000px,0,0);transform:scale(.1) translate3d(-2000px,0,0);-webkit-transform-origin:left center;-ms-transform-origin:left center;transform-origin:left center}}.zoomOutLeft{-webkit-animation-name:zoomOutLeft;animation-name:zoomOutLeft}@-webkit-keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}100%{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;transform-origin:right center}}@keyframes zoomOutRight{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);-ms-transform:scale3d(.475,.475,.475) translate3d(-42px,0,0);transform:scale3d(.475,.475,.475) translate3d(-42px,0,0)}100%{opacity:0;-webkit-transform:scale(.1) translate3d(2000px,0,0);-ms-transform:scale(.1) translate3d(2000px,0,0);transform:scale(.1) translate3d(2000px,0,0);-webkit-transform-origin:right center;-ms-transform-origin:right center;transform-origin:right center}}.zoomOutRight{-webkit-animation-name:zoomOutRight;animation-name:zoomOutRight}@-webkit-keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}100%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}@keyframes zoomOutUp{40%{opacity:1;-webkit-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-ms-transform:scale3d(.475,.475,.475) translate3d(0,60px,0);transform:scale3d(.475,.475,.475) translate3d(0,60px,0);-webkit-animation-timing-function:cubic-bezier(0.55,.055,.675,.19);animation-timing-function:cubic-bezier(0.55,.055,.675,.19)}100%{opacity:0;-webkit-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-ms-transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);transform:scale3d(.1,.1,.1) translate3d(0,-2000px,0);-webkit-transform-origin:center bottom;-ms-transform-origin:center bottom;transform-origin:center bottom;-webkit-animation-timing-function:cubic-bezier(0.175,.885,.32,1);animation-timing-function:cubic-bezier(0.175,.885,.32,1)}}.zoomOutUp{-webkit-animation-name:zoomOutUp;animation-name:zoomOutUp}@-webkit-keyframes slideInDown{0%{-webkit-transform:translateY(-100%);transform:translateY(-100%);visibility:visible}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideInDown{0%{-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%);visibility:visible}100%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.slideInDown{-webkit-animation-name:slideInDown;animation-name:slideInDown}@-webkit-keyframes slideInLeft{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%);visibility:visible}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInLeft{0%{-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%);visibility:visible}100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.slideInLeft{-webkit-animation-name:slideInLeft;animation-name:slideInLeft}@-webkit-keyframes slideInRight{0%{-webkit-transform:translateX(100%);transform:translateX(100%);visibility:visible}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInRight{0%{-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%);visibility:visible}100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}}.slideInRight{-webkit-animation-name:slideInRight;animation-name:slideInRight}@-webkit-keyframes slideInUp{0%{-webkit-transform:translateY(100%);transform:translateY(100%);visibility:visible}100%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes slideInUp{0%{-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%);visibility:visible}100%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.slideInUp{-webkit-animation-name:slideInUp;animation-name:slideInUp}@-webkit-keyframes slideOutDown{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{visibility:hidden;-webkit-transform:translateY(100%);transform:translateY(100%)}}@keyframes slideOutDown{0%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}100%{visibility:hidden;-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%)}}.slideOutDown{-webkit-animation-name:slideOutDown;animation-name:slideOutDown}@-webkit-keyframes slideOutLeft{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{visibility:hidden;-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes slideOutLeft{0%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}100%{visibility:hidden;-webkit-transform:translateX(-100%);-ms-transform:translateX(-100%);transform:translateX(-100%)}}.slideOutLeft{-webkit-animation-name:slideOutLeft;animation-name:slideOutLeft}@-webkit-keyframes slideOutRight{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{visibility:hidden;-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes slideOutRight{0%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}100%{visibility:hidden;-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%)}}.slideOutRight{-webkit-animation-name:slideOutRight;animation-name:slideOutRight}@-webkit-keyframes slideOutUp{0%{-webkit-transform:translateY(0);transform:translateY(0)}100%{visibility:hidden;-webkit-transform:translateY(-100%);transform:translateY(-100%)}}@keyframes slideOutUp{0%{-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}100%{visibility:hidden;-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%)}}.slideOutUp{-webkit-animation-name:slideOutUp;animation-name:slideOutUp} diff --git a/common/css/bootstrap-datetimepicker.min.css b/common/css/bootstrap-datetimepicker.min.css new file mode 100644 index 0000000..d0f3dff --- /dev/null +++ b/common/css/bootstrap-datetimepicker.min.css @@ -0,0 +1,9 @@ +/*! + * Datetimepicker for Bootstrap + * + * Copyright 2012 Stefan Petre + * Improvements by Andrew Rowls + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + */.datetimepicker{padding:4px;margin-top:1px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;direction:ltr}.datetimepicker-inline{width:220px}.datetimepicker.datetimepicker-rtl{direction:rtl}.datetimepicker.datetimepicker-rtl table tr td span{float:right}.datetimepicker-dropdown,.datetimepicker-dropdown-left{top:0;left:0}[class*=" datetimepicker-dropdown"]:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0,0,0,0.2);position:absolute}[class*=" datetimepicker-dropdown"]:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #fff;position:absolute}[class*=" datetimepicker-dropdown-top"]:before{content:'';display:inline-block;border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #ccc;border-top-color:rgba(0,0,0,0.2);border-bottom:0}[class*=" datetimepicker-dropdown-top"]:after{content:'';display:inline-block;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #fff;border-bottom:0}.datetimepicker-dropdown-bottom-left:before{top:-7px;right:6px}.datetimepicker-dropdown-bottom-left:after{top:-6px;right:7px}.datetimepicker-dropdown-bottom-right:before{top:-7px;left:6px}.datetimepicker-dropdown-bottom-right:after{top:-6px;left:7px}.datetimepicker-dropdown-top-left:before{bottom:-7px;right:6px}.datetimepicker-dropdown-top-left:after{bottom:-6px;right:7px}.datetimepicker-dropdown-top-right:before{bottom:-7px;left:6px}.datetimepicker-dropdown-top-right:after{bottom:-6px;left:7px}.datetimepicker>div{display:none}.datetimepicker.minutes div.datetimepicker-minutes{display:block}.datetimepicker.hours div.datetimepicker-hours{display:block}.datetimepicker.days div.datetimepicker-days{display:block}.datetimepicker.months div.datetimepicker-months{display:block}.datetimepicker.years div.datetimepicker-years{display:block}.datetimepicker table{margin:0}.datetimepicker td,.datetimepicker th{text-align:center;width:20px;height:20px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;border:0}.table-striped .datetimepicker table tr td,.table-striped .datetimepicker table tr th{background-color:transparent}.datetimepicker table tr td.minute:hover{background:#eee;cursor:pointer}.datetimepicker table tr td.hour:hover{background:#eee;cursor:pointer}.datetimepicker table tr td.day:hover{background:#eee;cursor:pointer}.datetimepicker table tr td.old,.datetimepicker table tr td.new{color:#999}.datetimepicker table tr td.disabled,.datetimepicker table tr td.disabled:hover{background:0;color:#999;cursor:default}.datetimepicker table tr td.today,.datetimepicker table tr td.today:hover,.datetimepicker table tr td.today.disabled,.datetimepicker table tr td.today.disabled:hover{background-color:#fde19a;background-image:-moz-linear-gradient(top,#fdd49a,#fdf59a);background-image:-ms-linear-gradient(top,#fdd49a,#fdf59a);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fdd49a),to(#fdf59a));background-image:-webkit-linear-gradient(top,#fdd49a,#fdf59a);background-image:-o-linear-gradient(top,#fdd49a,#fdf59a);background-image:linear-gradient(top,#fdd49a,#fdf59a);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a',endColorstr='#fdf59a',GradientType=0);border-color:#fdf59a #fdf59a #fbed50;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.datetimepicker table tr td.today:hover,.datetimepicker table tr td.today:hover:hover,.datetimepicker table tr td.today.disabled:hover,.datetimepicker table tr td.today.disabled:hover:hover,.datetimepicker table tr td.today:active,.datetimepicker table tr td.today:hover:active,.datetimepicker table tr td.today.disabled:active,.datetimepicker table tr td.today.disabled:hover:active,.datetimepicker table tr td.today.active,.datetimepicker table tr td.today:hover.active,.datetimepicker table tr td.today.disabled.active,.datetimepicker table tr td.today.disabled:hover.active,.datetimepicker table tr td.today.disabled,.datetimepicker table tr td.today:hover.disabled,.datetimepicker table tr td.today.disabled.disabled,.datetimepicker table tr td.today.disabled:hover.disabled,.datetimepicker table tr td.today[disabled],.datetimepicker table tr td.today:hover[disabled],.datetimepicker table tr td.today.disabled[disabled],.datetimepicker table tr td.today.disabled:hover[disabled]{background-color:#fdf59a}.datetimepicker table tr td.today:active,.datetimepicker table tr td.today:hover:active,.datetimepicker table tr td.today.disabled:active,.datetimepicker table tr td.today.disabled:hover:active,.datetimepicker table tr td.today.active,.datetimepicker table tr td.today:hover.active,.datetimepicker table tr td.today.disabled.active,.datetimepicker table tr td.today.disabled:hover.active{background-color:#fbf069}.datetimepicker table tr td.active,.datetimepicker table tr td.active:hover,.datetimepicker table tr td.active.disabled,.datetimepicker table tr td.active.disabled:hover{background-color:#006dcc;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-ms-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(top,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc',endColorstr='#0044cc',GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.datetimepicker table tr td.active:hover,.datetimepicker table tr td.active:hover:hover,.datetimepicker table tr td.active.disabled:hover,.datetimepicker table tr td.active.disabled:hover:hover,.datetimepicker table tr td.active:active,.datetimepicker table tr td.active:hover:active,.datetimepicker table tr td.active.disabled:active,.datetimepicker table tr td.active.disabled:hover:active,.datetimepicker table tr td.active.active,.datetimepicker table tr td.active:hover.active,.datetimepicker table tr td.active.disabled.active,.datetimepicker table tr td.active.disabled:hover.active,.datetimepicker table tr td.active.disabled,.datetimepicker table tr td.active:hover.disabled,.datetimepicker table tr td.active.disabled.disabled,.datetimepicker table tr td.active.disabled:hover.disabled,.datetimepicker table tr td.active[disabled],.datetimepicker table tr td.active:hover[disabled],.datetimepicker table tr td.active.disabled[disabled],.datetimepicker table tr td.active.disabled:hover[disabled]{background-color:#04c}.datetimepicker table tr td.active:active,.datetimepicker table tr td.active:hover:active,.datetimepicker table tr td.active.disabled:active,.datetimepicker table tr td.active.disabled:hover:active,.datetimepicker table tr td.active.active,.datetimepicker table tr td.active:hover.active,.datetimepicker table tr td.active.disabled.active,.datetimepicker table tr td.active.disabled:hover.active{background-color:#039}.datetimepicker table tr td span{display:block;width:23%;height:54px;line-height:54px;float:left;margin:1%;cursor:pointer;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.datetimepicker .datetimepicker-hours span{height:26px;line-height:26px}.datetimepicker .datetimepicker-hours table tr td span.hour_am,.datetimepicker .datetimepicker-hours table tr td span.hour_pm{width:14.6%}.datetimepicker .datetimepicker-hours fieldset legend,.datetimepicker .datetimepicker-minutes fieldset legend{margin-bottom:inherit;line-height:30px}.datetimepicker .datetimepicker-minutes span{height:26px;line-height:26px}.datetimepicker table tr td span:hover{background:#eee}.datetimepicker table tr td span.disabled,.datetimepicker table tr td span.disabled:hover{background:0;color:#999;cursor:default}.datetimepicker table tr td span.active,.datetimepicker table tr td span.active:hover,.datetimepicker table tr td span.active.disabled,.datetimepicker table tr td span.active.disabled:hover{background-color:#006dcc;background-image:-moz-linear-gradient(top,#08c,#04c);background-image:-ms-linear-gradient(top,#08c,#04c);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#04c));background-image:-webkit-linear-gradient(top,#08c,#04c);background-image:-o-linear-gradient(top,#08c,#04c);background-image:linear-gradient(top,#08c,#04c);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc',endColorstr='#0044cc',GradientType=0);border-color:#04c #04c #002a80;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.datetimepicker table tr td span.active:hover,.datetimepicker table tr td span.active:hover:hover,.datetimepicker table tr td span.active.disabled:hover,.datetimepicker table tr td span.active.disabled:hover:hover,.datetimepicker table tr td span.active:active,.datetimepicker table tr td span.active:hover:active,.datetimepicker table tr td span.active.disabled:active,.datetimepicker table tr td span.active.disabled:hover:active,.datetimepicker table tr td span.active.active,.datetimepicker table tr td span.active:hover.active,.datetimepicker table tr td span.active.disabled.active,.datetimepicker table tr td span.active.disabled:hover.active,.datetimepicker table tr td span.active.disabled,.datetimepicker table tr td span.active:hover.disabled,.datetimepicker table tr td span.active.disabled.disabled,.datetimepicker table tr td span.active.disabled:hover.disabled,.datetimepicker table tr td span.active[disabled],.datetimepicker table tr td span.active:hover[disabled],.datetimepicker table tr td span.active.disabled[disabled],.datetimepicker table tr td span.active.disabled:hover[disabled]{background-color:#04c}.datetimepicker table tr td span.active:active,.datetimepicker table tr td span.active:hover:active,.datetimepicker table tr td span.active.disabled:active,.datetimepicker table tr td span.active.disabled:hover:active,.datetimepicker table tr td span.active.active,.datetimepicker table tr td span.active:hover.active,.datetimepicker table tr td span.active.disabled.active,.datetimepicker table tr td span.active.disabled:hover.active{background-color:#039}.datetimepicker table tr td span.old{color:#999}.datetimepicker th.switch{width:145px}.datetimepicker th span.glyphicon{pointer-events:none}.datetimepicker thead tr:first-child th,.datetimepicker tfoot th{cursor:pointer}.datetimepicker thead tr:first-child th:hover,.datetimepicker tfoot th:hover{background:#eee}.input-append.date .add-on i,.input-prepend.date .add-on i,.input-group.date .input-group-addon span{cursor:pointer;width:14px;height:14px} \ No newline at end of file diff --git a/common/css/bootstrap-table.min.css b/common/css/bootstrap-table.min.css new file mode 100644 index 0000000..770b672 --- /dev/null +++ b/common/css/bootstrap-table.min.css @@ -0,0 +1 @@ +.fixed-table-container .bs-checkbox,.fixed-table-container .no-records-found{text-align:center}.fixed-table-body thead th .th-inner,.table td,.table th{box-sizing:border-box}.bootstrap-table .table{margin-bottom:0!important;border-bottom:1px solid #ddd;border-collapse:collapse!important;border-radius:1px}.bootstrap-table .table:not(.table-condensed),.bootstrap-table .table:not(.table-condensed)>tbody>tr>td,.bootstrap-table .table:not(.table-condensed)>tbody>tr>th,.bootstrap-table .table:not(.table-condensed)>tfoot>tr>td,.bootstrap-table .table:not(.table-condensed)>tfoot>tr>th,.bootstrap-table .table:not(.table-condensed)>thead>tr>td{padding:8px}.bootstrap-table .table.table-no-bordered>tbody>tr>td,.bootstrap-table .table.table-no-bordered>thead>tr>th{border-right:2px solid transparent}.bootstrap-table .table.table-no-bordered>tbody>tr>td:last-child{border-right:none}.fixed-table-container{position:relative;clear:both;border:1px solid #ddd;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px}.fixed-table-container.table-no-bordered{border:1px solid transparent}.fixed-table-footer,.fixed-table-header{overflow:hidden}.fixed-table-footer{border-top:1px solid #ddd}.fixed-table-body{overflow-x:auto;overflow-y:auto;height:100%}.fixed-table-container table{width:100%}.fixed-table-container thead th{height:0;padding:0;margin:0;border-left:1px solid #ddd}.fixed-table-container thead th:focus{outline:transparent solid 0}.fixed-table-container thead th:first-child:not([data-not-first-th]){border-left:none;border-top-left-radius:4px;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px}.fixed-table-container tbody td .th-inner,.fixed-table-container thead th .th-inner{padding:8px;line-height:24px;vertical-align:top;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fixed-table-container thead th .sortable{cursor:pointer;background-position:right;background-repeat:no-repeat;padding-right:30px}.fixed-table-container thead th .both{background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAkElEQVQoz7X QMQ5AQBCF4dWQSJxC5wwax1Cq1e7BAdxD5SL+Tq/QCM1oNiJidwox0355mXnG/DrEtIQ6azioNZQxI0ykPhTQIwhCR+BmBYtlK7kLJYwWCcJA9M4qdrZrd8pPjZWPtOqdRQy320YSV17OatFC4euts6z39GYMKRPCTKY9UnPQ6P+GtMRfGtPnBCiqhAeJPmkqAAAAAElFTkSuQmCC')}.fixed-table-container thead th .asc{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZ0lEQVQ4y2NgGLKgquEuFxBPAGI2ahhWCsS/gDibUoO0gPgxEP8H4ttArEyuQYxAPBdqEAxPBImTY5gjEL9DM+wTENuQahAvEO9DMwiGdwAxOymGJQLxTyD+jgWDxCMZRsEoGAVoAADeemwtPcZI2wAAAABJRU5ErkJggg==)}.fixed-table-container thead th .desc{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZUlEQVQ4y2NgGAWjYBSggaqGu5FA/BOIv2PBIPFEUgxjB+IdQPwfC94HxLykus4GiD+hGfQOiB3J8SojEE9EM2wuSJzcsFMG4ttQgx4DsRalkZENxL+AuJQaMcsGxBOAmGvopk8AVz1sLZgg0bsAAAAASUVORK5CYII=)}.fixed-table-container th.detail{width:30px}.fixed-table-container tbody td{border-left:1px solid #ddd}.fixed-table-container tbody tr:first-child td{border-top:none}.fixed-table-container tbody td:first-child{border-left:none}.fixed-table-container tbody .selected td{background-color:#f5f5f5}.fixed-table-container input[type=radio],.fixed-table-container input[type=checkbox]{margin:0 auto!important}.fixed-table-pagination .pagination-detail,.fixed-table-pagination div.pagination{margin-top:10px;margin-bottom:10px}.fixed-table-pagination div.pagination .pagination{margin:0}.fixed-table-pagination .pagination a{padding:6px 12px;line-height:1.428571429}.fixed-table-pagination .pagination-info{line-height:34px;margin-right:5px}.fixed-table-pagination .btn-group{position:relative;display:inline-block;vertical-align:middle}.fixed-table-pagination .dropup .dropdown-menu{margin-bottom:0}.fixed-table-pagination .page-list{display:inline-block}.fixed-table-toolbar .columns-left{margin-right:5px}.fixed-table-toolbar .columns-right{margin-left:5px}.fixed-table-toolbar .columns label{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.428571429}.fixed-table-toolbar .bs-bars,.fixed-table-toolbar .columns,.fixed-table-toolbar .search{position:relative;margin-top:10px;margin-bottom:10px;line-height:34px}.fixed-table-pagination li.disabled a{pointer-events:none;cursor:default}.fixed-table-loading{display:none;position:absolute;top:42px;right:0;bottom:0;left:0;z-index:99;background-color:#fff;text-align:center}.fixed-table-body .card-view .title{font-weight:700;display:inline-block;min-width:30%;text-align:left!important}.table td,.table th{vertical-align:middle}.fixed-table-toolbar .dropdown-menu{text-align:left;max-height:300px;overflow:auto}.fixed-table-toolbar .btn-group>.btn-group{display:inline-block;margin-left:-1px!important}.fixed-table-toolbar .btn-group>.btn-group>.btn{border-radius:0}.fixed-table-toolbar .btn-group>.btn-group:first-child>.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.fixed-table-toolbar .btn-group>.btn-group:last-child>.btn{border-top-right-radius:4px;border-bottom-right-radius:4px}.bootstrap-table .table>thead>tr>th{vertical-align:bottom;border-bottom:1px solid #ddd}.bootstrap-table .table thead>tr>th{padding:0;margin:0}.bootstrap-table .fixed-table-footer tbody>tr>td{padding:0!important}.bootstrap-table .fixed-table-footer .table{border-bottom:none;border-radius:0;padding:0!important}.bootstrap-table .pull-right .dropdown-menu{right:0;left:auto}p.fixed-table-scroll-inner{width:100%;height:200px}div.fixed-table-scroll-outer{top:0;left:0;visibility:hidden;width:200px;height:150px;overflow:hidden}.fixed-table-pagination:after,.fixed-table-toolbar:after{content:"";display:block;clear:both}.fullscreen{position:fixed;top:0;left:0;z-index:1050;width:100%!important;background:#FFF} \ No newline at end of file diff --git a/common/css/bootstrap.min.css b/common/css/bootstrap.min.css new file mode 100644 index 0000000..ed3905e --- /dev/null +++ b/common/css/bootstrap.min.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap v3.3.7 (http://getbootstrap.com) + * Copyright 2011-2016 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,h3{margin-top:20px;margin-bottom:10px}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small{font-size:65%}.h4,.h5,.h6,h4,h5,h6{margin-top:10px;margin-bottom:10px}.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-size:75%}.h1,h1{font-size:36px}.h2,h2{font-size:30px}.h3,h3{font-size:24px}.h4,h4{font-size:18px}.h5,h5{font-size:14px}.h6,h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=time],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron .h1,.jumbotron h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-bar-striped,.progress-striped .progress-bar{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.list-group-item-success.active:hover{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.list-group-item-danger.active:hover{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;filter:alpha(opacity=0);opacity:0;line-break:auto}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);line-break:auto}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}td.visible-xs,th.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}td.visible-sm,th.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}td.visible-md,th.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}td.visible-lg,th.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/common/css/datetime.min.css b/common/css/datetime.min.css new file mode 100644 index 0000000..48bc451 --- /dev/null +++ b/common/css/datetime.min.css @@ -0,0 +1 @@ +*{padding:0;margin:0}body{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;color:#000;font-size:14px;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow-y:auto}.ui-datetime{width:100%;background:#fff}.ui-datetime .ui-datetime-item ul{list-style:none;margin:0;padding:0;text-align:center;min-height:120px;width:80px;overflow:hidden}.ui-datetime .ui-datetime-item ul li{height:40px;line-height:40px;color:#898c90;font-size:15px}.ui-datetime .ui-datetime-item ul li.selected{color:#292a2b;font-size:17px}.ui-datetime .ui-datetime-line{top:40%}.ui-datetime,.ui-load{width:100%}.ui-datetime .ui-datetime-wrap{width:100%;height:120px;background:#fff;position:relative;text-align:center}.ui-datetime .ui-datetime-line,.ui-datetime-wrap .ui-datetime-line{height:40px;border-top:1px solid #D6DDE7;border-bottom:1px solid #D6DDE7;width:100%;position:absolute}.ui-datetime .ui-datetime-item{margin:0;padding:0 3%;display:inline-block;vertical-align:top;text-align:center;height:120px;overflow:hidden} \ No newline at end of file diff --git a/common/css/flex.css b/common/css/flex.css new file mode 100644 index 0000000..edd6310 --- /dev/null +++ b/common/css/flex.css @@ -0,0 +1,3 @@ + + +/*# sourceMappingURL=flex.css.map */ diff --git a/common/css/flex.scss b/common/css/flex.scss new file mode 100644 index 0000000..391f539 --- /dev/null +++ b/common/css/flex.scss @@ -0,0 +1,107 @@ +@mixin flex() { + display: -webkit-flex; + display: flex; + // display: -webkit-box; + display: -moz-box; + // display: -ms-flexbox; +} + +@mixin flexv() { + -webkit-box-orient: vertical; + -webkit-flex-direction: column; + -ms-flex-direction: column; + flex-direction: column; +} + +@mixin flex-1 { + -webkit-box-flex: 1; + -webkit-flex: 1; + -ms-flex: 1; + flex: 1; +} + +@mixin flex-wrap { + -webkit-flex-wrap: wrap; + -moz-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-line: multiple; +} + +@mixin flex-justify-start { + -webkit-box-pack: start; + -webkit-justify-content: flex-start; + -ms-justify-content: flex-start; + justify-content: flex-start; +} + +@mixin flex-justify-end { + -webkit-box-pack: end; + -webkit-justify-content: flex-end; + -ms-justify-content: flex-end; + justify-content: flex-end; +} + +@mixin flex-justify-between { + -webkit-box-pack: justify; + -webkit-justify-content: space-between; + -ms-justify-content: space-between; + justify-content: space-between; +} + +@mixin flex-justify-around { + -webkit-box-pack: justify; + -webkit-justify-content: space-around; + -ms-justify-content: space-around; + justify-content: space-around; +} + +@mixin flex-justify-center { + -webkit-box-pack: center; + -webkit-justify-content: center; + -ms-justify-content: center; + justify-content: center; +} + +@mixin flex-align-start { + -webkit-box-align: start; + -webkit-align-items: flex-start; + -ms-align-items: flex-start; + align-items: flex-start; +} + +@mixin flex-align-end { + -webkit-box-align: end; + -webkit-align-items: flex-end; + -ms-align-items: flex-end; + align-items: flex-end; +} + +@mixin flex-align-baseline { + -webkit-box-align: baseline; + -webkit-align-items: baseline; + -ms-align-items: baseline; + align-items: baseline; +} + +@mixin flex-align-stretch { + -webkit-box-align: stretch; + -webkit-align-items: stretch; + -ms-align-items: stretch; + align-items: stretch; +} + +@mixin flex-align-center { + -webkit-box-align: center; + -webkit-align-items: center; + -ms-align-items: center; + align-items: center; +} + +@mixin flex-order($num) { + box-order: $num; + -webkit-box-order: $num; + -moz-box-order: $num; + order: $num; + -webkit-order: $num; +} + diff --git a/common/css/mescroll.min.css b/common/css/mescroll.min.css new file mode 100644 index 0000000..cbd43a4 --- /dev/null +++ b/common/css/mescroll.min.css @@ -0,0 +1,16 @@ +/* + * mescroll -- 精致的下拉刷新和上拉加载js框架 ( a great JS framework for pull-refresh and pull-up-loading ) + * version 1.3.2 + * 2018-01-01 + * author: wenju < mescroll@qq.com > 文举 + * + * 官网: http://www.mescroll.com + * 文档: https://github.com/mescroll/mescroll.git + * 动态: https://github.com/mescroll/mescroll-versions + * 问答:http://www.mescroll.com/qa.html + * issues: https://github.com/mescroll/mescroll/issues + * QQ交流群: 633126761 + * + * 温馨提示: mescroll唯一的全局样式: html,body{height:100%},用于固定body的高度满屏; 如果影响到您原本的项目样式,可自行删除 + */ +html,body{height:100%}body{-webkit-overflow-scrolling:touch}.mescroll{width:100%;height:100%;overflow-y:scroll}.mescroll-hardware{-webkit-transform:translateZ(0);-webkit-transform-style:preserve-3d;-webkit-backface-visibility:hidden;-webkit-perspective:1000}.mescroll-downwarp{position:relative;width:100%;height:0;overflow:hidden;text-align:center}.mescroll-downwarp-reset{-webkit-transition:height 300ms;transition:height 300ms}.mescroll-downwarp .downwarp-content{position:absolute;left:0;bottom:0;width:100%;min-height:30px;padding:10px 0}.mescroll-upwarp{min-height:30px;padding:15px 0;text-align:center;visibility:hidden}.mescroll-downwarp .downwarp-tip,.mescroll-upwarp .upwarp-tip,.mescroll-upwarp .upwarp-nodata{display:inline-block;font-size:12px;color:gray;vertical-align:middle}.mescroll-downwarp .downwarp-progress,.mescroll-upwarp .upwarp-progress{display:inline-block;width:16px;height:16px;border-radius:50%;border:1px solid gray;margin-right:8px;border-bottom-color:transparent;vertical-align:middle}.mescroll-rotate{-webkit-animation:mescrollRotate .6s linear infinite;animation:mescrollRotate .6s linear infinite}@-webkit-keyframes mescrollRotate{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes mescrollRotate{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.mescroll-empty{width:100%;padding-top:20px;text-align:center}.mescroll-empty .empty-icon{width:45%}.mescroll-empty .empty-tip{margin-top:6px;font-size:14px;color:gray}.mescroll-empty .empty-btn{max-width:50%;margin:20px auto;padding:10px;border:1px solid #65aadd;border-radius:6px;background-color:white;color:#65aadd}.mescroll-empty .empty-btn:active{opacity:.75}.mescroll-totop{z-index:9990;position:fixed;right:10px;bottom:30px;width:36px;height:36px;border-radius:50%;opacity:0}.mescroll-fade-in{-webkit-animation:mescrollFadeIn .5s linear forwards;animation:mescrollFadeIn .5s linear forwards}@-webkit-keyframes mescrollFadeIn{0%{opacity:0}100%{opacity:1}}@keyframes mescrollFadeIn{0%{opacity:0}100%{opacity:1}}.mescroll-fade-out{pointer-events:none;-webkit-animation:mescrollFadeOut .5s linear forwards;animation:mescrollFadeOut .5s linear forwards}@-webkit-keyframes mescrollFadeOut{0%{opacity:1}100%{opacity:0}}@keyframes mescrollFadeOut{0%{opacity:1}100%{opacity:0}}.mescroll-bar::-webkit-scrollbar-track{background-color:transparent}.mescroll-bar::-webkit-scrollbar{width:6px}.mescroll-bar::-webkit-scrollbar-thumb{border-radius:6px;background-color:#ccc}.mescroll-bar::-webkit-scrollbar-thumb:hover{background-color:#aaa} diff --git a/common/css/normalize.css b/common/css/normalize.css new file mode 100644 index 0000000..57f93c8 --- /dev/null +++ b/common/css/normalize.css @@ -0,0 +1,447 @@ +/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */ + +/* Document + ========================================================================== */ + +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in + * IE on Windows Phone and in iOS. + */ + +html { + line-height: 1.15; /* 1 */ + -ms-text-size-adjust: 100%; /* 2 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/* Sections + ========================================================================== */ + +/** + * Remove the margin in all browsers (opinionated). + */ + +body { + margin: 0; +} + +/** + * Add the correct display in IE 9-. + */ + +article, +aside, +footer, +header, +nav, +section { + display: block; +} + +/** + * Correct the font size and margin on `h1` elements within `section` and + * `article` contexts in Chrome, Firefox, and Safari. + */ + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +/* Grouping content + ========================================================================== */ + +/** + * Add the correct display in IE 9-. + * 1. Add the correct display in IE. + */ + +figcaption, +figure, +main { /* 1 */ + display: block; +} + +/** + * Add the correct margin in IE 8. + */ + +figure { + margin: 1em 40px; +} + +/** + * 1. Add the correct box sizing in Firefox. + * 2. Show the overflow in Edge and IE. + */ + +hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +pre { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/* Text-level semantics + ========================================================================== */ + +/** + * 1. Remove the gray background on active links in IE 10. + * 2. Remove gaps in links underline in iOS 8+ and Safari 8+. + */ + +a { + background-color: transparent; /* 1 */ + -webkit-text-decoration-skip: objects; /* 2 */ +} + +/** + * 1. Remove the bottom border in Chrome 57- and Firefox 39-. + * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. + */ + +abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + text-decoration: underline dotted; /* 2 */ +} + +/** + * Prevent the duplicate application of `bolder` by the next rule in Safari 6. + */ + +b, +strong { + font-weight: inherit; +} + +/** + * Add the correct font weight in Chrome, Edge, and Safari. + */ + +b, +strong { + font-weight: bolder; +} + +/** + * 1. Correct the inheritance and scaling of font size in all browsers. + * 2. Correct the odd `em` font sizing in all browsers. + */ + +code, +kbd, +samp { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} + +/** + * Add the correct font style in Android 4.3-. + */ + +dfn { + font-style: italic; +} + +/** + * Add the correct background and color in IE 9-. + */ + +mark { + background-color: #ff0; + color: #000; +} + +/** + * Add the correct font size in all browsers. + */ + +small { + font-size: 80%; +} + +/** + * Prevent `sub` and `sup` elements from affecting the line height in + * all browsers. + */ + +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* Embedded content + ========================================================================== */ + +/** + * Add the correct display in IE 9-. + */ + +audio, +video { + display: inline-block; +} + +/** + * Add the correct display in iOS 4-7. + */ + +audio:not([controls]) { + display: none; + height: 0; +} + +/** + * Remove the border on images inside links in IE 10-. + */ + +img { + border-style: none; +} + +/** + * Hide the overflow in IE. + */ + +svg:not(:root) { + overflow: hidden; +} + +/* Forms + ========================================================================== */ + +/** + * 1. Change the font styles in all browsers (opinionated). + * 2. Remove the margin in Firefox and Safari. + */ + +button, +input, +optgroup, +select, +textarea { + font-family: sans-serif; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ +} + +/** + * Show the overflow in IE. + * 1. Show the overflow in Edge. + */ + +button, +input { /* 1 */ + overflow: visible; +} + +/** + * Remove the inheritance of text transform in Edge, Firefox, and IE. + * 1. Remove the inheritance of text transform in Firefox. + */ + +button, +select { /* 1 */ + text-transform: none; +} + +/** + * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` + * controls in Android 4. + * 2. Correct the inability to style clickable types in iOS and Safari. + */ + +button, +html [type="button"], /* 1 */ +[type="reset"], +[type="submit"] { + -webkit-appearance: button; /* 2 */ +} + +/** + * Remove the inner border and padding in Firefox. + */ + +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} + +/** + * Restore the focus styles unset by the previous rule. + */ + +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** + * Correct the padding in Firefox. + */ + +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +/** + * 1. Correct the text wrapping in Edge and IE. + * 2. Correct the color inheritance from `fieldset` elements in IE. + * 3. Remove the padding so developers are not caught out when they zero out + * `fieldset` elements in all browsers. + */ + +legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ +} + +/** + * 1. Add the correct display in IE 9-. + * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera. + */ + +progress { + display: inline-block; /* 1 */ + vertical-align: baseline; /* 2 */ +} + +/** + * Remove the default vertical scrollbar in IE. + */ + +textarea { + overflow: auto; +} + +/** + * 1. Add the correct box sizing in IE 10-. + * 2. Remove the padding in IE 10-. + */ + +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** + * Correct the cursor style of increment and decrement buttons in Chrome. + */ + +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} + +/** + * 1. Correct the odd appearance in Chrome and Safari. + * 2. Correct the outline style in Safari. + */ + +[type="search"] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ +} + +/** + * Remove the inner padding and cancel buttons in Chrome and Safari on macOS. + */ + +[type="search"]::-webkit-search-cancel-button, +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** + * 1. Correct the inability to style clickable types in iOS and Safari. + * 2. Change font properties to `inherit` in Safari. + */ + +::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ +} + +/* Interactive + ========================================================================== */ + +/* + * Add the correct display in IE 9-. + * 1. Add the correct display in Edge, IE, and Firefox. + */ + +details, /* 1 */ +menu { + display: block; +} + +/* + * Add the correct display in all browsers. + */ + +summary { + display: list-item; +} + +/* Scripting + ========================================================================== */ + +/** + * Add the correct display in IE 9-. + */ + +canvas { + display: inline-block; +} + +/** + * Add the correct display in IE. + */ + +template { + display: none; +} + +/* Hidden + ========================================================================== */ + +/** + * Add the correct display in IE 10-. + */ + +[hidden] { + display: none; +} \ No newline at end of file diff --git a/common/css/reset.css b/common/css/reset.css new file mode 100644 index 0000000..184f684 --- /dev/null +++ b/common/css/reset.css @@ -0,0 +1,159 @@ +/** + * Eric Meyer's Reset CSS v2.0 (http://meyerweb.com/eric/tools/css/reset/) + * http://cssreset.com + */ +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td, +article, aside, canvas, details, embed, +figure, figcaption, footer, header, +menu, nav, output, ruby, section, summary, +time, mark, audio, video, input { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font-weight: normal; + vertical-align: baseline; +} + +/* HTML5 display-role reset for older browsers */ +article, aside, details, figcaption, figure, +footer, header, menu, nav, section { + display: block; +} + +/* body { + line-height: 1; +} */ + +blockquote, q { + quotes: none; +} + +blockquote:before, blockquote:after, +q:before, q:after { + content: none; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} + +/* custom */ +a { + color: #7e8c8d; + text-decoration: none; + -webkit-backface-visibility: hidden; +} + +li { + list-style: none; +} + +::-webkit-scrollbar { + width: 5px; + height: 5px; +} + +::-webkit-scrollbar-track-piece { + background-color: rgba(0, 0, 0, 0.2); + -webkit-border-radius: 6px; +} + +::-webkit-scrollbar-thumb:vertical { + height: 5px; + background-color: rgba(125, 125, 125, 0.7); + -webkit-border-radius: 6px; +} + +::-webkit-scrollbar-thumb:horizontal { + width: 5px; + background-color: rgba(125, 125, 125, 0.7); + -webkit-border-radius: 6px; +} + +html, body { + width: 100%; +} + +body { + -webkit-text-size-adjust: none; + /* -webkit-tap-highlight-color: rgba(0, 0, 0, 0); */ +} +input, textarea, button { + outline: 0; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +textarea { + overflow: auto; + resize: none; +} + +/*清除浮动*/ +.clearfix:after { + content: " "; + display: block; + clear: both; + height: 0; +} +.clearfix, .clear { + zoom: 1; +} +.clear::after, .clear::before{ + content: ' '; + display: table; + clear: both; + overflow: hidden; +} + +.ws-n { + white-space: nowrap; /* 强制不换行 */ +} +.ddd { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + min-width: 0; +} +.ddd2, .ddd3, .ddd4, .ddd5, .ddd6 { + display: -webkit-box; + overflow: hidden; + text-overflow: ellipsis; + -webkit-box-orient: vertical; +} + +.ddd2 { + -webkit-line-clamp: 2; +} + +.ddd3 { + -webkit-line-clamp: 3; +} +.ddd4 { + -webkit-line-clamp: 4; +} +.ddd5 { + -webkit-line-clamp: 5; +} +.ddd6 { + -webkit-line-clamp: 6; +} + +.none-scroll { + -webkit-overflow-scrolling: touch; + overflow: -moz-scrollbars-none; +} +.none-scroll::-webkit-scrollbar { + display: none; +} diff --git a/common/css/swiper.min.css b/common/css/swiper.min.css new file mode 100644 index 0000000..b222bea --- /dev/null +++ b/common/css/swiper.min.css @@ -0,0 +1,15 @@ +/** + * Swiper 3.4.2 + * Most modern mobile touch slider and framework with hardware accelerated transitions + * + * http://www.idangero.us/swiper/ + * + * Copyright 2017, Vladimir Kharlampidi + * The iDangero.us + * http://www.idangero.us/ + * + * Licensed under MIT + * + * Released on: March 10, 2017 + */ +.swiper-container{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;z-index:1}.swiper-container-no-flexbox .swiper-slide{float:left}.swiper-container-vertical>.swiper-wrapper{-webkit-box-orient:vertical;-moz-box-orient:vertical;-ms-flex-direction:column;-webkit-flex-direction:column;flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-transition-property:-webkit-transform;-moz-transition-property:-moz-transform;-o-transition-property:-o-transform;-ms-transition-property:-ms-transform;transition-property:transform;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-o-transform:translate(0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.swiper-container-multirow>.swiper-wrapper{-webkit-box-lines:multiple;-moz-box-lines:multiple;-ms-flex-wrap:wrap;-webkit-flex-wrap:wrap;flex-wrap:wrap}.swiper-container-free-mode>.swiper-wrapper{-webkit-transition-timing-function:ease-out;-moz-transition-timing-function:ease-out;-ms-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out;margin:0 auto}.swiper-slide{-webkit-flex-shrink:0;-ms-flex:0 0 auto;flex-shrink:0;width:100%;height:100%;position:relative}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{-webkit-box-align:start;-ms-flex-align:start;-webkit-align-items:flex-start;align-items:flex-start;-webkit-transition-property:-webkit-transform,height;-moz-transition-property:-moz-transform;-o-transition-property:-o-transform;-ms-transition-property:-ms-transform;transition-property:transform,height}.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-wp8-horizontal{-ms-touch-action:pan-y;touch-action:pan-y}.swiper-wp8-vertical{-ms-touch-action:pan-x;touch-action:pan-x}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:27px;height:44px;margin-top:-22px;z-index:10;cursor:pointer;-moz-background-size:27px 44px;-webkit-background-size:27px 44px;background-size:27px 44px;background-position:center;background-repeat:no-repeat}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");left:10px;right:auto}.swiper-button-prev.swiper-button-black,.swiper-container-rtl .swiper-button-next.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}.swiper-button-prev.swiper-button-white,.swiper-container-rtl .swiper-button-next.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23007aff'%2F%3E%3C%2Fsvg%3E");right:10px;left:auto}.swiper-button-next.swiper-button-black,.swiper-container-rtl .swiper-button-prev.swiper-button-black{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23000000'%2F%3E%3C%2Fsvg%3E")}.swiper-button-next.swiper-button-white,.swiper-container-rtl .swiper-button-prev.swiper-button-white{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E")}.swiper-pagination{position:absolute;text-align:center;-webkit-transition:.3s;-moz-transition:.3s;-o-transition:.3s;transition:.3s;-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-container-horizontal>.swiper-pagination-bullets,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:10px;left:0;width:100%}.swiper-pagination-bullet{width:8px;height:8px;display:inline-block;border-radius:100%;background:#000;opacity:.2}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-moz-appearance:none;-ms-appearance:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-white .swiper-pagination-bullet{background:#fff}.swiper-pagination-bullet-active{opacity:1;background:#007aff}.swiper-pagination-white .swiper-pagination-bullet-active{background:#fff}.swiper-pagination-black .swiper-pagination-bullet-active{background:#000}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;-webkit-transform:translate3d(0,-50%,0);-moz-transform:translate3d(0,-50%,0);-o-transform:translate(0,-50%);-ms-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:5px 0;display:block}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 5px}.swiper-pagination-progress{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progress .swiper-pagination-progressbar{background:#007aff;position:absolute;left:0;top:0;width:100%;height:100%;-webkit-transform:scale(0);-ms-transform:scale(0);-o-transform:scale(0);transform:scale(0);-webkit-transform-origin:left top;-moz-transform-origin:left top;-ms-transform-origin:left top;-o-transform-origin:left top;transform-origin:left top}.swiper-container-rtl .swiper-pagination-progress .swiper-pagination-progressbar{-webkit-transform-origin:right top;-moz-transform-origin:right top;-ms-transform-origin:right top;-o-transform-origin:right top;transform-origin:right top}.swiper-container-horizontal>.swiper-pagination-progress{width:100%;height:4px;left:0;top:0}.swiper-container-vertical>.swiper-pagination-progress{width:4px;height:100%;left:0;top:0}.swiper-pagination-progress.swiper-pagination-white{background:rgba(255,255,255,.5)}.swiper-pagination-progress.swiper-pagination-white .swiper-pagination-progressbar{background:#fff}.swiper-pagination-progress.swiper-pagination-black .swiper-pagination-progressbar{background:#000}.swiper-container-3d{-webkit-perspective:1200px;-moz-perspective:1200px;-o-perspective:1200px;perspective:1200px}.swiper-container-3d .swiper-cube-shadow,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-wrapper{-webkit-transform-style:preserve-3d;-moz-transform-style:preserve-3d;-ms-transform-style:preserve-3d;transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-container-3d .swiper-slide-shadow-left{background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(right,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-moz-linear-gradient(right,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-o-linear-gradient(right,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-right{background-image:-webkit-gradient(linear,right top,left top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-moz-linear-gradient(left,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-o-linear-gradient(left,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-top{background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(bottom,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-moz-linear-gradient(bottom,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-o-linear-gradient(bottom,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:-webkit-gradient(linear,left bottom,left top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,0)));background-image:-webkit-linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-moz-linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:-o-linear-gradient(top,rgba(0,0,0,.5),rgba(0,0,0,0));background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-coverflow .swiper-wrapper,.swiper-container-flip .swiper-wrapper{-ms-perspective:1200px}.swiper-container-cube,.swiper-container-flip{overflow:visible}.swiper-container-cube .swiper-slide,.swiper-container-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-container-cube .swiper-slide .swiper-slide,.swiper-container-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active,.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right,.swiper-container-cube .swiper-slide-shadow-top,.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right,.swiper-container-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-slide{visibility:hidden;-webkit-transform-origin:0 0;-moz-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0;width:100%;height:100%}.swiper-container-cube.swiper-container-rtl .swiper-slide{-webkit-transform-origin:100% 0;-moz-transform-origin:100% 0;-ms-transform-origin:100% 0;transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-next+.swiper-slide,.swiper-container-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0;width:100%;height:100%;background:#000;opacity:.6;-webkit-filter:blur(50px);filter:blur(50px);z-index:0}.swiper-container-fade.swiper-container-free-mode .swiper-slide{-webkit-transition-timing-function:ease-out;-moz-transition-timing-function:ease-out;-ms-transition-timing-function:ease-out;-o-transition-timing-function:ease-out;transition-timing-function:ease-out}.swiper-container-fade .swiper-slide{pointer-events:none;-webkit-transition-property:opacity;-moz-transition-property:opacity;-o-transition-property:opacity;transition-property:opacity}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-zoom-container{width:100%;height:100%;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-webkit-flex;display:flex;-webkit-box-pack:center;-moz-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-moz-box-align:center;-ms-flex-align:center;-webkit-align-items:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-container-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-container-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;-webkit-transform-origin:50%;-moz-transform-origin:50%;transform-origin:50%;-webkit-animation:swiper-preloader-spin 1s steps(12,end) infinite;-moz-animation:swiper-preloader-spin 1s steps(12,end) infinite;animation:swiper-preloader-spin 1s steps(12,end) infinite}.swiper-lazy-preloader:after{display:block;content:"";width:100%;height:100%;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%236c6c6c'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");background-position:50%;-webkit-background-size:100%;background-size:100%;background-repeat:no-repeat}.swiper-lazy-preloader-white:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg%20viewBox%3D'0%200%20120%20120'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20xmlns%3Axlink%3D'http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink'%3E%3Cdefs%3E%3Cline%20id%3D'l'%20x1%3D'60'%20x2%3D'60'%20y1%3D'7'%20y2%3D'27'%20stroke%3D'%23fff'%20stroke-width%3D'11'%20stroke-linecap%3D'round'%2F%3E%3C%2Fdefs%3E%3Cg%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(30%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(60%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(90%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(120%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.27'%20transform%3D'rotate(150%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.37'%20transform%3D'rotate(180%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.46'%20transform%3D'rotate(210%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.56'%20transform%3D'rotate(240%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.66'%20transform%3D'rotate(270%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.75'%20transform%3D'rotate(300%2060%2C60)'%2F%3E%3Cuse%20xlink%3Ahref%3D'%23l'%20opacity%3D'.85'%20transform%3D'rotate(330%2060%2C60)'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E")}@-webkit-keyframes swiper-preloader-spin{100%{-webkit-transform:rotate(360deg)}}@keyframes swiper-preloader-spin{100%{transform:rotate(360deg)}} \ No newline at end of file diff --git a/common/fonts/DINCond-Medium.ttf b/common/fonts/DINCond-Medium.ttf new file mode 100644 index 0000000..99cd7b4 Binary files /dev/null and b/common/fonts/DINCond-Medium.ttf differ diff --git a/common/fonts/PingFang Bold.ttf b/common/fonts/PingFang Bold.ttf new file mode 100644 index 0000000..7479ce1 Binary files /dev/null and b/common/fonts/PingFang Bold.ttf differ diff --git a/common/fonts/PingFang ExtraLight.ttf b/common/fonts/PingFang ExtraLight.ttf new file mode 100644 index 0000000..8ed9367 Binary files /dev/null and b/common/fonts/PingFang ExtraLight.ttf differ diff --git a/common/fonts/PingFang Heavy.ttf b/common/fonts/PingFang Heavy.ttf new file mode 100644 index 0000000..591ca52 Binary files /dev/null and b/common/fonts/PingFang Heavy.ttf differ diff --git a/common/fonts/PingFang Light.ttf b/common/fonts/PingFang Light.ttf new file mode 100644 index 0000000..ba7d757 Binary files /dev/null and b/common/fonts/PingFang Light.ttf differ diff --git a/common/fonts/PingFang Medium.ttf b/common/fonts/PingFang Medium.ttf new file mode 100644 index 0000000..90791d1 Binary files /dev/null and b/common/fonts/PingFang Medium.ttf differ diff --git a/common/fonts/PingFang Regular.ttf b/common/fonts/PingFang Regular.ttf new file mode 100644 index 0000000..f0e81ae Binary files /dev/null and b/common/fonts/PingFang Regular.ttf differ diff --git a/common/fonts/SF-UI-Display-Black.ttf b/common/fonts/SF-UI-Display-Black.ttf new file mode 100644 index 0000000..b7a8822 Binary files /dev/null and b/common/fonts/SF-UI-Display-Black.ttf differ diff --git a/common/fonts/SF-UI-Display-Bold.ttf b/common/fonts/SF-UI-Display-Bold.ttf new file mode 100644 index 0000000..12020a3 Binary files /dev/null and b/common/fonts/SF-UI-Display-Bold.ttf differ diff --git a/common/fonts/SF-UI-Display-Heavy.ttf b/common/fonts/SF-UI-Display-Heavy.ttf new file mode 100644 index 0000000..227795d Binary files /dev/null and b/common/fonts/SF-UI-Display-Heavy.ttf differ diff --git a/common/fonts/SF-UI-Display-Light.ttf b/common/fonts/SF-UI-Display-Light.ttf new file mode 100644 index 0000000..6bfc86c Binary files /dev/null and b/common/fonts/SF-UI-Display-Light.ttf differ diff --git a/common/fonts/SF-UI-Display-Medium.ttf b/common/fonts/SF-UI-Display-Medium.ttf new file mode 100644 index 0000000..252c323 Binary files /dev/null and b/common/fonts/SF-UI-Display-Medium.ttf differ diff --git a/common/fonts/SF-UI-Display-Regular.ttf b/common/fonts/SF-UI-Display-Regular.ttf new file mode 100644 index 0000000..1745972 Binary files /dev/null and b/common/fonts/SF-UI-Display-Regular.ttf differ diff --git a/common/fonts/SF-UI-Display-Semibold.ttf b/common/fonts/SF-UI-Display-Semibold.ttf new file mode 100644 index 0000000..ffee101 Binary files /dev/null and b/common/fonts/SF-UI-Display-Semibold.ttf differ diff --git a/common/fonts/SF-UI-Display-Ultralight.ttf b/common/fonts/SF-UI-Display-Ultralight.ttf new file mode 100644 index 0000000..17453de Binary files /dev/null and b/common/fonts/SF-UI-Display-Ultralight.ttf differ diff --git a/common/fonts/glyphicons-halflings-regular.eot b/common/fonts/glyphicons-halflings-regular.eot new file mode 100644 index 0000000..b93a495 Binary files /dev/null and b/common/fonts/glyphicons-halflings-regular.eot differ diff --git a/common/fonts/glyphicons-halflings-regular.svg b/common/fonts/glyphicons-halflings-regular.svg new file mode 100644 index 0000000..94fb549 --- /dev/null +++ b/common/fonts/glyphicons-halflings-regular.svg @@ -0,0 +1,288 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/common/fonts/glyphicons-halflings-regular.ttf b/common/fonts/glyphicons-halflings-regular.ttf new file mode 100644 index 0000000..1413fc6 Binary files /dev/null and b/common/fonts/glyphicons-halflings-regular.ttf differ diff --git a/common/fonts/glyphicons-halflings-regular.woff b/common/fonts/glyphicons-halflings-regular.woff new file mode 100644 index 0000000..9e61285 Binary files /dev/null and b/common/fonts/glyphicons-halflings-regular.woff differ diff --git a/common/fonts/glyphicons-halflings-regular.woff2 b/common/fonts/glyphicons-halflings-regular.woff2 new file mode 100644 index 0000000..64539b5 Binary files /dev/null and b/common/fonts/glyphicons-halflings-regular.woff2 differ diff --git a/common/js/JQuery.datetime.js b/common/js/JQuery.datetime.js new file mode 100644 index 0000000..c588175 --- /dev/null +++ b/common/js/JQuery.datetime.js @@ -0,0 +1,2862 @@ +/*! iScroll v5.2.0 ~ (c) 2008-2016 Matteo Spinelli ~ http://cubiq.org/license */ +(function (window, document, Math) { +var rAF = window.requestAnimationFrame || + window.webkitRequestAnimationFrame || + window.mozRequestAnimationFrame || + window.oRequestAnimationFrame || + window.msRequestAnimationFrame || + function (callback) { window.setTimeout(callback, 1000 / 60); }; + +var utils = (function () { + var me = {}; + + var _elementStyle = document.createElement('div').style; + var _vendor = (function () { + var vendors = ['t', 'webkitT', 'MozT', 'msT', 'OT'], + transform, + i = 0, + l = vendors.length; + + for ( ; i < l; i++ ) { + transform = vendors[i] + 'ransform'; + if ( transform in _elementStyle ) return vendors[i].substr(0, vendors[i].length-1); + } + + return false; + })(); + + function _prefixStyle (style) { + if ( _vendor === false ) return false; + if ( _vendor === '' ) return style; + return _vendor + style.charAt(0).toUpperCase() + style.substr(1); + } + + me.getTime = Date.now || function getTime () { return new Date().getTime(); }; + + me.extend = function (target, obj) { + for ( var i in obj ) { + target[i] = obj[i]; + } + }; + + me.addEvent = function (el, type, fn, capture) { + el.addEventListener(type, fn, !!capture); + }; + + me.removeEvent = function (el, type, fn, capture) { + el.removeEventListener(type, fn, !!capture); + }; + + me.prefixPointerEvent = function (pointerEvent) { + return window.MSPointerEvent ? + 'MSPointer' + pointerEvent.charAt(7).toUpperCase() + pointerEvent.substr(8): + pointerEvent; + }; + + me.momentum = function (current, start, time, lowerMargin, wrapperSize, deceleration) { + var distance = current - start, + speed = Math.abs(distance) / time, + destination, + duration; + + deceleration = deceleration === undefined ? 0.0006 : deceleration; + + destination = current + ( speed * speed ) / ( 2 * deceleration ) * ( distance < 0 ? -1 : 1 ); + duration = speed / deceleration; + + if ( destination < lowerMargin ) { + destination = wrapperSize ? lowerMargin - ( wrapperSize / 2.5 * ( speed / 8 ) ) : lowerMargin; + distance = Math.abs(destination - current); + duration = distance / speed; + } else if ( destination > 0 ) { + destination = wrapperSize ? wrapperSize / 2.5 * ( speed / 8 ) : 0; + distance = Math.abs(current) + destination; + duration = distance / speed; + } + + return { + destination: Math.round(destination), + duration: duration + }; + }; + + var _transform = _prefixStyle('transform'); + + me.extend(me, { + hasTransform: _transform !== false, + hasPerspective: _prefixStyle('perspective') in _elementStyle, + hasTouch: 'ontouchstart' in window, + hasPointer: !!(window.PointerEvent || window.MSPointerEvent), // IE10 is prefixed + hasTransition: _prefixStyle('transition') in _elementStyle + }); + + /* + This should find all Android browsers lower than build 535.19 (both stock browser and webview) + - galaxy S2 is ok + - 2.3.6 : `AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1` + - 4.0.4 : `AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30` + - galaxy S3 is badAndroid (stock brower, webview) + `AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30` + - galaxy S4 is badAndroid (stock brower, webview) + `AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30` + - galaxy S5 is OK + `AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Mobile Safari/537.36 (Chrome/)` + - galaxy S6 is OK + `AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Mobile Safari/537.36 (Chrome/)` + */ + me.isBadAndroid = (function() { + var appVersion = window.navigator.appVersion; + // Android browser is not a chrome browser. + if (/Android/.test(appVersion) && !(/Chrome\/\d/.test(appVersion))) { + var safariVersion = appVersion.match(/Safari\/(\d+.\d)/); + if(safariVersion && typeof safariVersion === "object" && safariVersion.length >= 2) { + return parseFloat(safariVersion[1]) < 535.19; + } else { + return true; + } + } else { + return false; + } + })(); + + me.extend(me.style = {}, { + transform: _transform, + transitionTimingFunction: _prefixStyle('transitionTimingFunction'), + transitionDuration: _prefixStyle('transitionDuration'), + transitionDelay: _prefixStyle('transitionDelay'), + transformOrigin: _prefixStyle('transformOrigin') + }); + + me.hasClass = function (e, c) { + var re = new RegExp("(^|\\s)" + c + "(\\s|$)"); + return re.test(e.className); + }; + + me.addClass = function (e, c) { + if ( me.hasClass(e, c) ) { + return; + } + + var newclass = e.className.split(' '); + newclass.push(c); + e.className = newclass.join(' '); + }; + + me.removeClass = function (e, c) { + if ( !me.hasClass(e, c) ) { + return; + } + + var re = new RegExp("(^|\\s)" + c + "(\\s|$)", 'g'); + e.className = e.className.replace(re, ' '); + }; + + me.offset = function (el) { + var left = -el.offsetLeft, + top = -el.offsetTop; + + // jshint -W084 + while (el = el.offsetParent) { + left -= el.offsetLeft; + top -= el.offsetTop; + } + // jshint +W084 + + return { + left: left, + top: top + }; + }; + + me.preventDefaultException = function (el, exceptions) { + for ( var i in exceptions ) { + if ( exceptions[i].test(el[i]) ) { + return true; + } + } + + return false; + }; + + me.extend(me.eventType = {}, { + touchstart: 1, + touchmove: 1, + touchend: 1, + + mousedown: 2, + mousemove: 2, + mouseup: 2, + + pointerdown: 3, + pointermove: 3, + pointerup: 3, + + MSPointerDown: 3, + MSPointerMove: 3, + MSPointerUp: 3 + }); + + me.extend(me.ease = {}, { + quadratic: { + style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)', + fn: function (k) { + return k * ( 2 - k ); + } + }, + circular: { + style: 'cubic-bezier(0.1, 0.57, 0.1, 1)', // Not properly "circular" but this looks better, it should be (0.075, 0.82, 0.165, 1) + fn: function (k) { + return Math.sqrt( 1 - ( --k * k ) ); + } + }, + back: { + style: 'cubic-bezier(0.175, 0.885, 0.32, 1.275)', + fn: function (k) { + var b = 4; + return ( k = k - 1 ) * k * ( ( b + 1 ) * k + b ) + 1; + } + }, + bounce: { + style: '', + fn: function (k) { + if ( ( k /= 1 ) < ( 1 / 2.75 ) ) { + return 7.5625 * k * k; + } else if ( k < ( 2 / 2.75 ) ) { + return 7.5625 * ( k -= ( 1.5 / 2.75 ) ) * k + 0.75; + } else if ( k < ( 2.5 / 2.75 ) ) { + return 7.5625 * ( k -= ( 2.25 / 2.75 ) ) * k + 0.9375; + } else { + return 7.5625 * ( k -= ( 2.625 / 2.75 ) ) * k + 0.984375; + } + } + }, + elastic: { + style: '', + fn: function (k) { + var f = 0.22, + e = 0.4; + + if ( k === 0 ) { return 0; } + if ( k == 1 ) { return 1; } + + return ( e * Math.pow( 2, - 10 * k ) * Math.sin( ( k - f / 4 ) * ( 2 * Math.PI ) / f ) + 1 ); + } + } + }); + + me.tap = function (e, eventName) { + var ev = document.createEvent('Event'); + ev.initEvent(eventName, true, true); + ev.pageX = e.pageX; + ev.pageY = e.pageY; + e.target.dispatchEvent(ev); + }; + + me.click = function (e) { + var target = e.target, + ev; + + if ( !(/(SELECT|INPUT|TEXTAREA)/i).test(target.tagName) ) { + // https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/initMouseEvent + // initMouseEvent is deprecated. + ev = document.createEvent(window.MouseEvent ? 'MouseEvents' : 'Event'); + ev.initEvent('click', true, true); + ev.view = e.view || window; + ev.detail = 1; + ev.screenX = target.screenX || 0; + ev.screenY = target.screenY || 0; + ev.clientX = target.clientX || 0; + ev.clientY = target.clientY || 0; + ev.ctrlKey = !!e.ctrlKey; + ev.altKey = !!e.altKey; + ev.shiftKey = !!e.shiftKey; + ev.metaKey = !!e.metaKey; + ev.button = 0; + ev.relatedTarget = null; + ev._constructed = true; + target.dispatchEvent(ev); + } + }; + + return me; +})(); +function IScroll (el, options) { + this.wrapper = typeof el == 'string' ? document.querySelector(el) : el; + this.scroller = this.wrapper.children[0]; + this.scrollerStyle = this.scroller.style; // cache style for better performance + + this.options = { + + resizeScrollbars: true, + + mouseWheelSpeed: 20, + + snapThreshold: 0.334, + +// INSERT POINT: OPTIONS + disablePointer : !utils.hasPointer, + disableTouch : utils.hasPointer || !utils.hasTouch, + disableMouse : utils.hasPointer || utils.hasTouch, + startX: 0, + startY: 0, + scrollY: true, + directionLockThreshold: 5, + momentum: true, + + bounce: true, + bounceTime: 600, + bounceEasing: '', + + preventDefault: true, + preventDefaultException: { tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT)$/ }, + + HWCompositing: true, + useTransition: true, + useTransform: true, + bindToWrapper: typeof window.onmousedown === "undefined" + }; + + for ( var i in options ) { + this.options[i] = options[i]; + } + + // Normalize options + this.translateZ = this.options.HWCompositing && utils.hasPerspective ? ' translateZ(0)' : ''; + + this.options.useTransition = utils.hasTransition && this.options.useTransition; + this.options.useTransform = utils.hasTransform && this.options.useTransform; + + this.options.eventPassthrough = this.options.eventPassthrough === true ? 'vertical' : this.options.eventPassthrough; + this.options.preventDefault = !this.options.eventPassthrough && this.options.preventDefault; + + // If you want eventPassthrough I have to lock one of the axes + this.options.scrollY = this.options.eventPassthrough == 'vertical' ? false : this.options.scrollY; + this.options.scrollX = this.options.eventPassthrough == 'horizontal' ? false : this.options.scrollX; + + // With eventPassthrough we also need lockDirection mechanism + this.options.freeScroll = this.options.freeScroll && !this.options.eventPassthrough; + this.options.directionLockThreshold = this.options.eventPassthrough ? 0 : this.options.directionLockThreshold; + + this.options.bounceEasing = typeof this.options.bounceEasing == 'string' ? utils.ease[this.options.bounceEasing] || utils.ease.circular : this.options.bounceEasing; + + this.options.resizePolling = this.options.resizePolling === undefined ? 60 : this.options.resizePolling; + + if ( this.options.tap === true ) { + this.options.tap = 'tap'; + } + + // https://github.com/cubiq/iscroll/issues/1029 + if (!this.options.useTransition && !this.options.useTransform) { + if(!(/relative|absolute/i).test(this.scrollerStyle.position)) { + this.scrollerStyle.position = "relative"; + } + } + + if ( this.options.shrinkScrollbars == 'scale' ) { + this.options.useTransition = false; + } + + this.options.invertWheelDirection = this.options.invertWheelDirection ? -1 : 1; + +// INSERT POINT: NORMALIZATION + + // Some defaults + this.x = 0; + this.y = 0; + this.directionX = 0; + this.directionY = 0; + this._events = {}; + +// INSERT POINT: DEFAULTS + + this._init(); + this.refresh(); + + this.scrollTo(this.options.startX, this.options.startY); + this.enable(); +} + +IScroll.prototype = { + version: '5.2.0', + + _init: function () { + this._initEvents(); + + if ( this.options.scrollbars || this.options.indicators ) { + this._initIndicators(); + } + + if ( this.options.mouseWheel ) { + this._initWheel(); + } + + if ( this.options.snap ) { + this._initSnap(); + } + + if ( this.options.keyBindings ) { + this._initKeys(); + } + +// INSERT POINT: _init + + }, + + destroy: function () { + this._initEvents(true); + clearTimeout(this.resizeTimeout); + this.resizeTimeout = null; + this._execEvent('destroy'); + }, + + _transitionEnd: function (e) { + if ( e.target != this.scroller || !this.isInTransition ) { + return; + } + + this._transitionTime(); + if ( !this.resetPosition(this.options.bounceTime) ) { + this.isInTransition = false; + this._execEvent('scrollEnd'); + } + }, + + _start: function (e) { + // React to left mouse button only + if ( utils.eventType[e.type] != 1 ) { + // for button property + // http://unixpapa.com/js/mouse.html + var button; + if (!e.which) { + /* IE case */ + button = (e.button < 2) ? 0 : + ((e.button == 4) ? 1 : 2); + } else { + /* All others */ + button = e.button; + } + if ( button !== 0 ) { + return; + } + } + + if ( !this.enabled || (this.initiated && utils.eventType[e.type] !== this.initiated) ) { + return; + } + + if ( this.options.preventDefault && !utils.isBadAndroid && !utils.preventDefaultException(e.target, this.options.preventDefaultException) ) { + e.preventDefault(); + } + + var point = e.touches ? e.touches[0] : e, + pos; + + this.initiated = utils.eventType[e.type]; + this.moved = false; + this.distX = 0; + this.distY = 0; + this.directionX = 0; + this.directionY = 0; + this.directionLocked = 0; + + this.startTime = utils.getTime(); + + if ( this.options.useTransition && this.isInTransition ) { + this._transitionTime(); + this.isInTransition = false; + pos = this.getComputedPosition(); + this._translate(Math.round(pos.x), Math.round(pos.y)); + this._execEvent('scrollEnd'); + } else if ( !this.options.useTransition && this.isAnimating ) { + this.isAnimating = false; + this._execEvent('scrollEnd'); + } + + this.startX = this.x; + this.startY = this.y; + this.absStartX = this.x; + this.absStartY = this.y; + this.pointX = point.pageX; + this.pointY = point.pageY; + + this._execEvent('beforeScrollStart'); + }, + + _move: function (e) { + if ( !this.enabled || utils.eventType[e.type] !== this.initiated ) { + return; + } + + if ( this.options.preventDefault ) { // increases performance on Android? TODO: check! + e.preventDefault(); + } + + var point = e.touches ? e.touches[0] : e, + deltaX = point.pageX - this.pointX, + deltaY = point.pageY - this.pointY, + timestamp = utils.getTime(), + newX, newY, + absDistX, absDistY; + + this.pointX = point.pageX; + this.pointY = point.pageY; + + this.distX += deltaX; + this.distY += deltaY; + absDistX = Math.abs(this.distX); + absDistY = Math.abs(this.distY); + + // We need to move at least 10 pixels for the scrolling to initiate + if ( timestamp - this.endTime > 300 && (absDistX < 10 && absDistY < 10) ) { + return; + } + + // If you are scrolling in one direction lock the other + if ( !this.directionLocked && !this.options.freeScroll ) { + if ( absDistX > absDistY + this.options.directionLockThreshold ) { + this.directionLocked = 'h'; // lock horizontally + } else if ( absDistY >= absDistX + this.options.directionLockThreshold ) { + this.directionLocked = 'v'; // lock vertically + } else { + this.directionLocked = 'n'; // no lock + } + } + + if ( this.directionLocked == 'h' ) { + if ( this.options.eventPassthrough == 'vertical' ) { + e.preventDefault(); + } else if ( this.options.eventPassthrough == 'horizontal' ) { + this.initiated = false; + return; + } + + deltaY = 0; + } else if ( this.directionLocked == 'v' ) { + if ( this.options.eventPassthrough == 'horizontal' ) { + e.preventDefault(); + } else if ( this.options.eventPassthrough == 'vertical' ) { + this.initiated = false; + return; + } + + deltaX = 0; + } + + deltaX = this.hasHorizontalScroll ? deltaX : 0; + deltaY = this.hasVerticalScroll ? deltaY : 0; + + newX = this.x + deltaX; + newY = this.y + deltaY; + + // Slow down if outside of the boundaries + if ( newX > 0 || newX < this.maxScrollX ) { + newX = this.options.bounce ? this.x + deltaX / 3 : newX > 0 ? 0 : this.maxScrollX; + } + if ( newY > 0 || newY < this.maxScrollY ) { + newY = this.options.bounce ? this.y + deltaY / 3 : newY > 0 ? 0 : this.maxScrollY; + } + + this.directionX = deltaX > 0 ? -1 : deltaX < 0 ? 1 : 0; + this.directionY = deltaY > 0 ? -1 : deltaY < 0 ? 1 : 0; + + if ( !this.moved ) { + this._execEvent('scrollStart'); + } + + this.moved = true; + + this._translate(newX, newY); + +/* REPLACE START: _move */ + + if ( timestamp - this.startTime > 300 ) { + this.startTime = timestamp; + this.startX = this.x; + this.startY = this.y; + } + +/* REPLACE END: _move */ + + }, + + _end: function (e) { + if ( !this.enabled || utils.eventType[e.type] !== this.initiated ) { + return; + } + + if ( this.options.preventDefault && !utils.preventDefaultException(e.target, this.options.preventDefaultException) ) { + e.preventDefault(); + } + + var point = e.changedTouches ? e.changedTouches[0] : e, + momentumX, + momentumY, + duration = utils.getTime() - this.startTime, + newX = Math.round(this.x), + newY = Math.round(this.y), + distanceX = Math.abs(newX - this.startX), + distanceY = Math.abs(newY - this.startY), + time = 0, + easing = ''; + + this.isInTransition = 0; + this.initiated = 0; + this.endTime = utils.getTime(); + + // reset if we are outside of the boundaries + if ( this.resetPosition(this.options.bounceTime) ) { + return; + } + + this.scrollTo(newX, newY); // ensures that the last position is rounded + + // we scrolled less than 10 pixels + if ( !this.moved ) { + if ( this.options.tap ) { + utils.tap(e, this.options.tap); + } + + if ( this.options.click ) { + utils.click(e); + } + + this._execEvent('scrollCancel'); + return; + } + + if ( this._events.flick && duration < 200 && distanceX < 100 && distanceY < 100 ) { + this._execEvent('flick'); + return; + } + + // start momentum animation if needed + if ( this.options.momentum && duration < 300 ) { + momentumX = this.hasHorizontalScroll ? utils.momentum(this.x, this.startX, duration, this.maxScrollX, this.options.bounce ? this.wrapperWidth : 0, this.options.deceleration) : { destination: newX, duration: 0 }; + momentumY = this.hasVerticalScroll ? utils.momentum(this.y, this.startY, duration, this.maxScrollY, this.options.bounce ? this.wrapperHeight : 0, this.options.deceleration) : { destination: newY, duration: 0 }; + newX = momentumX.destination; + newY = momentumY.destination; + time = Math.max(momentumX.duration, momentumY.duration); + this.isInTransition = 1; + } + + + if ( this.options.snap ) { + var snap = this._nearestSnap(newX, newY); + this.currentPage = snap; + time = this.options.snapSpeed || Math.max( + Math.max( + Math.min(Math.abs(newX - snap.x), 1000), + Math.min(Math.abs(newY - snap.y), 1000) + ), 300); + newX = snap.x; + newY = snap.y; + + this.directionX = 0; + this.directionY = 0; + easing = this.options.bounceEasing; + } + +// INSERT POINT: _end + + if ( newX != this.x || newY != this.y ) { + // change easing function when scroller goes out of the boundaries + if ( newX > 0 || newX < this.maxScrollX || newY > 0 || newY < this.maxScrollY ) { + easing = utils.ease.quadratic; + } + + this.scrollTo(newX, newY, time, easing); + return; + } + + this._execEvent('scrollEnd'); + }, + + _resize: function () { + var that = this; + + clearTimeout(this.resizeTimeout); + + this.resizeTimeout = setTimeout(function () { + that.refresh(); + }, this.options.resizePolling); + }, + + resetPosition: function (time) { + var x = this.x, + y = this.y; + + time = time || 0; + + if ( !this.hasHorizontalScroll || this.x > 0 ) { + x = 0; + } else if ( this.x < this.maxScrollX ) { + x = this.maxScrollX; + } + + if ( !this.hasVerticalScroll || this.y > 0 ) { + y = 0; + } else if ( this.y < this.maxScrollY ) { + y = this.maxScrollY; + } + + if ( x == this.x && y == this.y ) { + return false; + } + + this.scrollTo(x, y, time, this.options.bounceEasing); + + return true; + }, + + disable: function () { + this.enabled = false; + }, + + enable: function () { + this.enabled = true; + }, + + refresh: function () { + var rf = this.wrapper.offsetHeight; // Force reflow + + this.wrapperWidth = this.wrapper.clientWidth; + this.wrapperHeight = this.wrapper.clientHeight; + +/* REPLACE START: refresh */ + + this.scrollerWidth = this.scroller.offsetWidth; + this.scrollerHeight = this.scroller.offsetHeight; + + this.maxScrollX = this.wrapperWidth - this.scrollerWidth; + this.maxScrollY = this.wrapperHeight - this.scrollerHeight; + +/* REPLACE END: refresh */ + + this.hasHorizontalScroll = this.options.scrollX && this.maxScrollX < 0; + this.hasVerticalScroll = this.options.scrollY && this.maxScrollY < 0; + + if ( !this.hasHorizontalScroll ) { + this.maxScrollX = 0; + this.scrollerWidth = this.wrapperWidth; + } + + if ( !this.hasVerticalScroll ) { + this.maxScrollY = 0; + this.scrollerHeight = this.wrapperHeight; + } + + this.endTime = 0; + this.directionX = 0; + this.directionY = 0; + + this.wrapperOffset = utils.offset(this.wrapper); + + this._execEvent('refresh'); + + this.resetPosition(); + +// INSERT POINT: _refresh + + }, + + on: function (type, fn) { + if ( !this._events[type] ) { + this._events[type] = []; + } + + this._events[type].push(fn); + }, + + off: function (type, fn) { + if ( !this._events[type] ) { + return; + } + + var index = this._events[type].indexOf(fn); + + if ( index > -1 ) { + this._events[type].splice(index, 1); + } + }, + + _execEvent: function (type) { + if ( !this._events[type] ) { + return; + } + + var i = 0, + l = this._events[type].length; + + if ( !l ) { + return; + } + + for ( ; i < l; i++ ) { + this._events[type][i].apply(this, [].slice.call(arguments, 1)); + } + }, + + scrollBy: function (x, y, time, easing) { + x = this.x + x; + y = this.y + y; + time = time || 0; + + this.scrollTo(x, y, time, easing); + }, + + scrollTo: function (x, y, time, easing) { + easing = easing || utils.ease.circular; + + this.isInTransition = this.options.useTransition && time > 0; + var transitionType = this.options.useTransition && easing.style; + if ( !time || transitionType ) { + if(transitionType) { + this._transitionTimingFunction(easing.style); + this._transitionTime(time); + } + this._translate(x, y); + } else { + this._animate(x, y, time, easing.fn); + } + }, + + scrollToElement: function (el, time, offsetX, offsetY, easing) { + el = el.nodeType ? el : this.scroller.querySelector(el); + + if ( !el ) { + return; + } + + var pos = utils.offset(el); + + pos.left -= this.wrapperOffset.left; + pos.top -= this.wrapperOffset.top; + + // if offsetX/Y are true we center the element to the screen + if ( offsetX === true ) { + offsetX = Math.round(el.offsetWidth / 2 - this.wrapper.offsetWidth / 2); + } + if ( offsetY === true ) { + offsetY = Math.round(el.offsetHeight / 2 - this.wrapper.offsetHeight / 2); + } + + pos.left -= offsetX || 0; + pos.top -= offsetY || 0; + + pos.left = pos.left > 0 ? 0 : pos.left < this.maxScrollX ? this.maxScrollX : pos.left; + pos.top = pos.top > 0 ? 0 : pos.top < this.maxScrollY ? this.maxScrollY : pos.top; + + time = time === undefined || time === null || time === 'auto' ? Math.max(Math.abs(this.x-pos.left), Math.abs(this.y-pos.top)) : time; + + this.scrollTo(pos.left, pos.top, time, easing); + }, + + _transitionTime: function (time) { + if (!this.options.useTransition) { + return; + } + time = time || 0; + var durationProp = utils.style.transitionDuration; + if(!durationProp) { + return; + } + + this.scrollerStyle[durationProp] = time + 'ms'; + + if ( !time && utils.isBadAndroid ) { + this.scrollerStyle[durationProp] = '0.0001ms'; + // remove 0.0001ms + var self = this; + rAF(function() { + if(self.scrollerStyle[durationProp] === '0.0001ms') { + self.scrollerStyle[durationProp] = '0s'; + } + }); + } + + + if ( this.indicators ) { + for ( var i = this.indicators.length; i--; ) { + this.indicators[i].transitionTime(time); + } + } + + +// INSERT POINT: _transitionTime + + }, + + _transitionTimingFunction: function (easing) { + this.scrollerStyle[utils.style.transitionTimingFunction] = easing; + + + if ( this.indicators ) { + for ( var i = this.indicators.length; i--; ) { + this.indicators[i].transitionTimingFunction(easing); + } + } + + +// INSERT POINT: _transitionTimingFunction + + }, + + _translate: function (x, y) { + if ( this.options.useTransform ) { + +/* REPLACE START: _translate */ + + this.scrollerStyle[utils.style.transform] = 'translate(' + x + 'px,' + y + 'px)' + this.translateZ; + +/* REPLACE END: _translate */ + + } else { + x = Math.round(x); + y = Math.round(y); + this.scrollerStyle.left = x + 'px'; + this.scrollerStyle.top = y + 'px'; + } + + this.x = x; + this.y = y; + + + if ( this.indicators ) { + for ( var i = this.indicators.length; i--; ) { + this.indicators[i].updatePosition(); + } + } + + +// INSERT POINT: _translate + + }, + + _initEvents: function (remove) { + var eventType = remove ? utils.removeEvent : utils.addEvent, + target = this.options.bindToWrapper ? this.wrapper : window; + + eventType(window, 'orientationchange', this); + eventType(window, 'resize', this); + + if ( this.options.click ) { + eventType(this.wrapper, 'click', this, true); + } + + if ( !this.options.disableMouse ) { + eventType(this.wrapper, 'mousedown', this); + eventType(target, 'mousemove', this); + eventType(target, 'mousecancel', this); + eventType(target, 'mouseup', this); + } + + if ( utils.hasPointer && !this.options.disablePointer ) { + eventType(this.wrapper, utils.prefixPointerEvent('pointerdown'), this); + eventType(target, utils.prefixPointerEvent('pointermove'), this); + eventType(target, utils.prefixPointerEvent('pointercancel'), this); + eventType(target, utils.prefixPointerEvent('pointerup'), this); + } + + if ( utils.hasTouch && !this.options.disableTouch ) { + eventType(this.wrapper, 'touchstart', this); + eventType(target, 'touchmove', this); + eventType(target, 'touchcancel', this); + eventType(target, 'touchend', this); + } + + eventType(this.scroller, 'transitionend', this); + eventType(this.scroller, 'webkitTransitionEnd', this); + eventType(this.scroller, 'oTransitionEnd', this); + eventType(this.scroller, 'MSTransitionEnd', this); + }, + + getComputedPosition: function () { + var matrix = window.getComputedStyle(this.scroller, null), + x, y; + + if ( this.options.useTransform ) { + matrix = matrix[utils.style.transform].split(')')[0].split(', '); + x = +(matrix[12] || matrix[4]); + y = +(matrix[13] || matrix[5]); + } else { + x = +matrix.left.replace(/[^-\d.]/g, ''); + y = +matrix.top.replace(/[^-\d.]/g, ''); + } + + return { x: x, y: y }; + }, + _initIndicators: function () { + var interactive = this.options.interactiveScrollbars, + customStyle = typeof this.options.scrollbars != 'string', + indicators = [], + indicator; + + var that = this; + + this.indicators = []; + + if ( this.options.scrollbars ) { + // Vertical scrollbar + if ( this.options.scrollY ) { + indicator = { + el: createDefaultScrollbar('v', interactive, this.options.scrollbars), + interactive: interactive, + defaultScrollbars: true, + customStyle: customStyle, + resize: this.options.resizeScrollbars, + shrink: this.options.shrinkScrollbars, + fade: this.options.fadeScrollbars, + listenX: false + }; + + this.wrapper.appendChild(indicator.el); + indicators.push(indicator); + } + + // Horizontal scrollbar + if ( this.options.scrollX ) { + indicator = { + el: createDefaultScrollbar('h', interactive, this.options.scrollbars), + interactive: interactive, + defaultScrollbars: true, + customStyle: customStyle, + resize: this.options.resizeScrollbars, + shrink: this.options.shrinkScrollbars, + fade: this.options.fadeScrollbars, + listenY: false + }; + + this.wrapper.appendChild(indicator.el); + indicators.push(indicator); + } + } + + if ( this.options.indicators ) { + // TODO: check concat compatibility + indicators = indicators.concat(this.options.indicators); + } + + for ( var i = indicators.length; i--; ) { + this.indicators.push( new Indicator(this, indicators[i]) ); + } + + // TODO: check if we can use array.map (wide compatibility and performance issues) + function _indicatorsMap (fn) { + if (that.indicators) { + for ( var i = that.indicators.length; i--; ) { + fn.call(that.indicators[i]); + } + } + } + + if ( this.options.fadeScrollbars ) { + this.on('scrollEnd', function () { + _indicatorsMap(function () { + this.fade(); + }); + }); + + this.on('scrollCancel', function () { + _indicatorsMap(function () { + this.fade(); + }); + }); + + this.on('scrollStart', function () { + _indicatorsMap(function () { + this.fade(1); + }); + }); + + this.on('beforeScrollStart', function () { + _indicatorsMap(function () { + this.fade(1, true); + }); + }); + } + + + this.on('refresh', function () { + _indicatorsMap(function () { + this.refresh(); + }); + }); + + this.on('destroy', function () { + _indicatorsMap(function () { + this.destroy(); + }); + + delete this.indicators; + }); + }, + + _initWheel: function () { + utils.addEvent(this.wrapper, 'wheel', this); + utils.addEvent(this.wrapper, 'mousewheel', this); + utils.addEvent(this.wrapper, 'DOMMouseScroll', this); + + this.on('destroy', function () { + clearTimeout(this.wheelTimeout); + this.wheelTimeout = null; + utils.removeEvent(this.wrapper, 'wheel', this); + utils.removeEvent(this.wrapper, 'mousewheel', this); + utils.removeEvent(this.wrapper, 'DOMMouseScroll', this); + }); + }, + + _wheel: function (e) { + if ( !this.enabled ) { + return; + } + + e.preventDefault(); + + var wheelDeltaX, wheelDeltaY, + newX, newY, + that = this; + + if ( this.wheelTimeout === undefined ) { + that._execEvent('scrollStart'); + } + + // Execute the scrollEnd event after 400ms the wheel stopped scrolling + clearTimeout(this.wheelTimeout); + this.wheelTimeout = setTimeout(function () { + if(!that.options.snap) { + that._execEvent('scrollEnd'); + } + that.wheelTimeout = undefined; + }, 400); + + if ( 'deltaX' in e ) { + if (e.deltaMode === 1) { + wheelDeltaX = -e.deltaX * this.options.mouseWheelSpeed; + wheelDeltaY = -e.deltaY * this.options.mouseWheelSpeed; + } else { + wheelDeltaX = -e.deltaX; + wheelDeltaY = -e.deltaY; + } + } else if ( 'wheelDeltaX' in e ) { + wheelDeltaX = e.wheelDeltaX / 120 * this.options.mouseWheelSpeed; + wheelDeltaY = e.wheelDeltaY / 120 * this.options.mouseWheelSpeed; + } else if ( 'wheelDelta' in e ) { + wheelDeltaX = wheelDeltaY = e.wheelDelta / 120 * this.options.mouseWheelSpeed; + } else if ( 'detail' in e ) { + wheelDeltaX = wheelDeltaY = -e.detail / 3 * this.options.mouseWheelSpeed; + } else { + return; + } + + wheelDeltaX *= this.options.invertWheelDirection; + wheelDeltaY *= this.options.invertWheelDirection; + + if ( !this.hasVerticalScroll ) { + wheelDeltaX = wheelDeltaY; + wheelDeltaY = 0; + } + + if ( this.options.snap ) { + newX = this.currentPage.pageX; + newY = this.currentPage.pageY; + + if ( wheelDeltaX > 0 ) { + newX--; + } else if ( wheelDeltaX < 0 ) { + newX++; + } + + if ( wheelDeltaY > 0 ) { + newY--; + } else if ( wheelDeltaY < 0 ) { + newY++; + } + + this.goToPage(newX, newY); + + return; + } + + newX = this.x + Math.round(this.hasHorizontalScroll ? wheelDeltaX : 0); + newY = this.y + Math.round(this.hasVerticalScroll ? wheelDeltaY : 0); + + this.directionX = wheelDeltaX > 0 ? -1 : wheelDeltaX < 0 ? 1 : 0; + this.directionY = wheelDeltaY > 0 ? -1 : wheelDeltaY < 0 ? 1 : 0; + + if ( newX > 0 ) { + newX = 0; + } else if ( newX < this.maxScrollX ) { + newX = this.maxScrollX; + } + + if ( newY > 0 ) { + newY = 0; + } else if ( newY < this.maxScrollY ) { + newY = this.maxScrollY; + } + + this.scrollTo(newX, newY, 0); + +// INSERT POINT: _wheel + }, + + _initSnap: function () { + this.currentPage = {}; + + if ( typeof this.options.snap == 'string' ) { + this.options.snap = this.scroller.querySelectorAll(this.options.snap); + } + + this.on('refresh', function () { + var i = 0, l, + m = 0, n, + cx, cy, + x = 0, y, + stepX = this.options.snapStepX || this.wrapperWidth, + stepY = this.options.snapStepY || this.wrapperHeight, + el; + + this.pages = []; + + if ( !this.wrapperWidth || !this.wrapperHeight || !this.scrollerWidth || !this.scrollerHeight ) { + return; + } + + if ( this.options.snap === true ) { + cx = Math.round( stepX / 2 ); + cy = Math.round( stepY / 2 ); + + while ( x > -this.scrollerWidth ) { + this.pages[i] = []; + l = 0; + y = 0; + + while ( y > -this.scrollerHeight ) { + this.pages[i][l] = { + x: Math.max(x, this.maxScrollX), + y: Math.max(y, this.maxScrollY), + width: stepX, + height: stepY, + cx: x - cx, + cy: y - cy + }; + + y -= stepY; + l++; + } + + x -= stepX; + i++; + } + } else { + el = this.options.snap; + l = el.length; + n = -1; + + for ( ; i < l; i++ ) { + if ( i === 0 || el[i].offsetLeft <= el[i-1].offsetLeft ) { + m = 0; + n++; + } + + if ( !this.pages[m] ) { + this.pages[m] = []; + } + + x = Math.max(-el[i].offsetLeft, this.maxScrollX); + y = Math.max(-el[i].offsetTop, this.maxScrollY); + cx = x - Math.round(el[i].offsetWidth / 2); + cy = y - Math.round(el[i].offsetHeight / 2); + + this.pages[m][n] = { + x: x, + y: y, + width: el[i].offsetWidth, + height: el[i].offsetHeight, + cx: cx, + cy: cy + }; + + if ( x > this.maxScrollX ) { + m++; + } + } + } + + this.goToPage(this.currentPage.pageX || 0, this.currentPage.pageY || 0, 0); + + // Update snap threshold if needed + if ( this.options.snapThreshold % 1 === 0 ) { + this.snapThresholdX = this.options.snapThreshold; + this.snapThresholdY = this.options.snapThreshold; + } else { + this.snapThresholdX = Math.round(this.pages[this.currentPage.pageX][this.currentPage.pageY].width * this.options.snapThreshold); + this.snapThresholdY = Math.round(this.pages[this.currentPage.pageX][this.currentPage.pageY].height * this.options.snapThreshold); + } + }); + + this.on('flick', function () { + var time = this.options.snapSpeed || Math.max( + Math.max( + Math.min(Math.abs(this.x - this.startX), 1000), + Math.min(Math.abs(this.y - this.startY), 1000) + ), 300); + + this.goToPage( + this.currentPage.pageX + this.directionX, + this.currentPage.pageY + this.directionY, + time + ); + }); + }, + + _nearestSnap: function (x, y) { + if ( !this.pages.length ) { + return { x: 0, y: 0, pageX: 0, pageY: 0 }; + } + + var i = 0, + l = this.pages.length, + m = 0; + + // Check if we exceeded the snap threshold + if ( Math.abs(x - this.absStartX) < this.snapThresholdX && + Math.abs(y - this.absStartY) < this.snapThresholdY ) { + return this.currentPage; + } + + if ( x > 0 ) { + x = 0; + } else if ( x < this.maxScrollX ) { + x = this.maxScrollX; + } + + if ( y > 0 ) { + y = 0; + } else if ( y < this.maxScrollY ) { + y = this.maxScrollY; + } + + for ( ; i < l; i++ ) { + if ( x >= this.pages[i][0].cx ) { + x = this.pages[i][0].x; + break; + } + } + + l = this.pages[i].length; + + for ( ; m < l; m++ ) { + if ( y >= this.pages[0][m].cy ) { + y = this.pages[0][m].y; + break; + } + } + + if ( i == this.currentPage.pageX ) { + i += this.directionX; + + if ( i < 0 ) { + i = 0; + } else if ( i >= this.pages.length ) { + i = this.pages.length - 1; + } + + x = this.pages[i][0].x; + } + + if ( m == this.currentPage.pageY ) { + m += this.directionY; + + if ( m < 0 ) { + m = 0; + } else if ( m >= this.pages[0].length ) { + m = this.pages[0].length - 1; + } + + y = this.pages[0][m].y; + } + + return { + x: x, + y: y, + pageX: i, + pageY: m + }; + }, + + goToPage: function (x, y, time, easing) { + easing = easing || this.options.bounceEasing; + + if ( x >= this.pages.length ) { + x = this.pages.length - 1; + } else if ( x < 0 ) { + x = 0; + } + + if ( y >= this.pages[x].length ) { + y = this.pages[x].length - 1; + } else if ( y < 0 ) { + y = 0; + } + + var posX = this.pages[x][y].x, + posY = this.pages[x][y].y; + + time = time === undefined ? this.options.snapSpeed || Math.max( + Math.max( + Math.min(Math.abs(posX - this.x), 1000), + Math.min(Math.abs(posY - this.y), 1000) + ), 300) : time; + + this.currentPage = { + x: posX, + y: posY, + pageX: x, + pageY: y + }; + + this.scrollTo(posX, posY, time, easing); + }, + + next: function (time, easing) { + var x = this.currentPage.pageX, + y = this.currentPage.pageY; + + x++; + + if ( x >= this.pages.length && this.hasVerticalScroll ) { + x = 0; + y++; + } + + this.goToPage(x, y, time, easing); + }, + + prev: function (time, easing) { + var x = this.currentPage.pageX, + y = this.currentPage.pageY; + + x--; + + if ( x < 0 && this.hasVerticalScroll ) { + x = 0; + y--; + } + + this.goToPage(x, y, time, easing); + }, + + _initKeys: function (e) { + // default key bindings + var keys = { + pageUp: 33, + pageDown: 34, + end: 35, + home: 36, + left: 37, + up: 38, + right: 39, + down: 40 + }; + var i; + + // if you give me characters I give you keycode + if ( typeof this.options.keyBindings == 'object' ) { + for ( i in this.options.keyBindings ) { + if ( typeof this.options.keyBindings[i] == 'string' ) { + this.options.keyBindings[i] = this.options.keyBindings[i].toUpperCase().charCodeAt(0); + } + } + } else { + this.options.keyBindings = {}; + } + + for ( i in keys ) { + this.options.keyBindings[i] = this.options.keyBindings[i] || keys[i]; + } + + utils.addEvent(window, 'keydown', this); + + this.on('destroy', function () { + utils.removeEvent(window, 'keydown', this); + }); + }, + + _key: function (e) { + if ( !this.enabled ) { + return; + } + + var snap = this.options.snap, // we are using this alot, better to cache it + newX = snap ? this.currentPage.pageX : this.x, + newY = snap ? this.currentPage.pageY : this.y, + now = utils.getTime(), + prevTime = this.keyTime || 0, + acceleration = 0.250, + pos; + + if ( this.options.useTransition && this.isInTransition ) { + pos = this.getComputedPosition(); + + this._translate(Math.round(pos.x), Math.round(pos.y)); + this.isInTransition = false; + } + + this.keyAcceleration = now - prevTime < 200 ? Math.min(this.keyAcceleration + acceleration, 50) : 0; + + switch ( e.keyCode ) { + case this.options.keyBindings.pageUp: + if ( this.hasHorizontalScroll && !this.hasVerticalScroll ) { + newX += snap ? 1 : this.wrapperWidth; + } else { + newY += snap ? 1 : this.wrapperHeight; + } + break; + case this.options.keyBindings.pageDown: + if ( this.hasHorizontalScroll && !this.hasVerticalScroll ) { + newX -= snap ? 1 : this.wrapperWidth; + } else { + newY -= snap ? 1 : this.wrapperHeight; + } + break; + case this.options.keyBindings.end: + newX = snap ? this.pages.length-1 : this.maxScrollX; + newY = snap ? this.pages[0].length-1 : this.maxScrollY; + break; + case this.options.keyBindings.home: + newX = 0; + newY = 0; + break; + case this.options.keyBindings.left: + newX += snap ? -1 : 5 + this.keyAcceleration>>0; + break; + case this.options.keyBindings.up: + newY += snap ? 1 : 5 + this.keyAcceleration>>0; + break; + case this.options.keyBindings.right: + newX -= snap ? -1 : 5 + this.keyAcceleration>>0; + break; + case this.options.keyBindings.down: + newY -= snap ? 1 : 5 + this.keyAcceleration>>0; + break; + default: + return; + } + + if ( snap ) { + this.goToPage(newX, newY); + return; + } + + if ( newX > 0 ) { + newX = 0; + this.keyAcceleration = 0; + } else if ( newX < this.maxScrollX ) { + newX = this.maxScrollX; + this.keyAcceleration = 0; + } + + if ( newY > 0 ) { + newY = 0; + this.keyAcceleration = 0; + } else if ( newY < this.maxScrollY ) { + newY = this.maxScrollY; + this.keyAcceleration = 0; + } + + this.scrollTo(newX, newY, 0); + + this.keyTime = now; + }, + + _animate: function (destX, destY, duration, easingFn) { + var that = this, + startX = this.x, + startY = this.y, + startTime = utils.getTime(), + destTime = startTime + duration; + + function step () { + var now = utils.getTime(), + newX, newY, + easing; + + if ( now >= destTime ) { + that.isAnimating = false; + that._translate(destX, destY); + + if ( !that.resetPosition(that.options.bounceTime) ) { + that._execEvent('scrollEnd'); + } + + return; + } + + now = ( now - startTime ) / duration; + easing = easingFn(now); + newX = ( destX - startX ) * easing + startX; + newY = ( destY - startY ) * easing + startY; + that._translate(newX, newY); + + if ( that.isAnimating ) { + rAF(step); + } + } + + this.isAnimating = true; + step(); + }, + handleEvent: function (e) { + switch ( e.type ) { + case 'touchstart': + case 'pointerdown': + case 'MSPointerDown': + case 'mousedown': + this._start(e); + break; + case 'touchmove': + case 'pointermove': + case 'MSPointerMove': + case 'mousemove': + this._move(e); + break; + case 'touchend': + case 'pointerup': + case 'MSPointerUp': + case 'mouseup': + case 'touchcancel': + case 'pointercancel': + case 'MSPointerCancel': + case 'mousecancel': + this._end(e); + break; + case 'orientationchange': + case 'resize': + this._resize(); + break; + case 'transitionend': + case 'webkitTransitionEnd': + case 'oTransitionEnd': + case 'MSTransitionEnd': + this._transitionEnd(e); + break; + case 'wheel': + case 'DOMMouseScroll': + case 'mousewheel': + this._wheel(e); + break; + case 'keydown': + this._key(e); + break; + case 'click': + if ( this.enabled && !e._constructed ) { + e.preventDefault(); + e.stopPropagation(); + } + break; + } + } +}; +function createDefaultScrollbar (direction, interactive, type) { + var scrollbar = document.createElement('div'), + indicator = document.createElement('div'); + + if ( type === true ) { + scrollbar.style.cssText = 'position:absolute;z-index:9999'; + indicator.style.cssText = '-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);border-radius:3px'; + } + + indicator.className = 'iScrollIndicator'; + + if ( direction == 'h' ) { + if ( type === true ) { + scrollbar.style.cssText += ';height:7px;left:2px;right:2px;bottom:0'; + indicator.style.height = '100%'; + } + scrollbar.className = 'iScrollHorizontalScrollbar'; + } else { + if ( type === true ) { + scrollbar.style.cssText += ';width:7px;bottom:2px;top:2px;right:1px'; + indicator.style.width = '100%'; + } + scrollbar.className = 'iScrollVerticalScrollbar'; + } + + scrollbar.style.cssText += ';overflow:hidden'; + + if ( !interactive ) { + scrollbar.style.pointerEvents = 'none'; + } + + scrollbar.appendChild(indicator); + + return scrollbar; +} + +function Indicator (scroller, options) { + this.wrapper = typeof options.el == 'string' ? document.querySelector(options.el) : options.el; + this.wrapperStyle = this.wrapper.style; + this.indicator = this.wrapper.children[0]; + this.indicatorStyle = this.indicator.style; + this.scroller = scroller; + + this.options = { + listenX: true, + listenY: true, + interactive: false, + resize: true, + defaultScrollbars: false, + shrink: false, + fade: false, + speedRatioX: 0, + speedRatioY: 0 + }; + + for ( var i in options ) { + this.options[i] = options[i]; + } + + this.sizeRatioX = 1; + this.sizeRatioY = 1; + this.maxPosX = 0; + this.maxPosY = 0; + + if ( this.options.interactive ) { + if ( !this.options.disableTouch ) { + utils.addEvent(this.indicator, 'touchstart', this); + utils.addEvent(window, 'touchend', this); + } + if ( !this.options.disablePointer ) { + utils.addEvent(this.indicator, utils.prefixPointerEvent('pointerdown'), this); + utils.addEvent(window, utils.prefixPointerEvent('pointerup'), this); + } + if ( !this.options.disableMouse ) { + utils.addEvent(this.indicator, 'mousedown', this); + utils.addEvent(window, 'mouseup', this); + } + } + + if ( this.options.fade ) { + this.wrapperStyle[utils.style.transform] = this.scroller.translateZ; + var durationProp = utils.style.transitionDuration; + if(!durationProp) { + return; + } + this.wrapperStyle[durationProp] = utils.isBadAndroid ? '0.0001ms' : '0ms'; + // remove 0.0001ms + var self = this; + if(utils.isBadAndroid) { + rAF(function() { + if(self.wrapperStyle[durationProp] === '0.0001ms') { + self.wrapperStyle[durationProp] = '0s'; + } + }); + } + this.wrapperStyle.opacity = '0'; + } +} + +Indicator.prototype = { + handleEvent: function (e) { + switch ( e.type ) { + case 'touchstart': + case 'pointerdown': + case 'MSPointerDown': + case 'mousedown': + this._start(e); + break; + case 'touchmove': + case 'pointermove': + case 'MSPointerMove': + case 'mousemove': + this._move(e); + break; + case 'touchend': + case 'pointerup': + case 'MSPointerUp': + case 'mouseup': + case 'touchcancel': + case 'pointercancel': + case 'MSPointerCancel': + case 'mousecancel': + this._end(e); + break; + } + }, + + destroy: function () { + if ( this.options.fadeScrollbars ) { + clearTimeout(this.fadeTimeout); + this.fadeTimeout = null; + } + if ( this.options.interactive ) { + utils.removeEvent(this.indicator, 'touchstart', this); + utils.removeEvent(this.indicator, utils.prefixPointerEvent('pointerdown'), this); + utils.removeEvent(this.indicator, 'mousedown', this); + + utils.removeEvent(window, 'touchmove', this); + utils.removeEvent(window, utils.prefixPointerEvent('pointermove'), this); + utils.removeEvent(window, 'mousemove', this); + + utils.removeEvent(window, 'touchend', this); + utils.removeEvent(window, utils.prefixPointerEvent('pointerup'), this); + utils.removeEvent(window, 'mouseup', this); + } + + if ( this.options.defaultScrollbars ) { + this.wrapper.parentNode.removeChild(this.wrapper); + } + }, + + _start: function (e) { + var point = e.touches ? e.touches[0] : e; + + e.preventDefault(); + e.stopPropagation(); + + this.transitionTime(); + + this.initiated = true; + this.moved = false; + this.lastPointX = point.pageX; + this.lastPointY = point.pageY; + + this.startTime = utils.getTime(); + + if ( !this.options.disableTouch ) { + utils.addEvent(window, 'touchmove', this); + } + if ( !this.options.disablePointer ) { + utils.addEvent(window, utils.prefixPointerEvent('pointermove'), this); + } + if ( !this.options.disableMouse ) { + utils.addEvent(window, 'mousemove', this); + } + + this.scroller._execEvent('beforeScrollStart'); + }, + + _move: function (e) { + var point = e.touches ? e.touches[0] : e, + deltaX, deltaY, + newX, newY, + timestamp = utils.getTime(); + + if ( !this.moved ) { + this.scroller._execEvent('scrollStart'); + } + + this.moved = true; + + deltaX = point.pageX - this.lastPointX; + this.lastPointX = point.pageX; + + deltaY = point.pageY - this.lastPointY; + this.lastPointY = point.pageY; + + newX = this.x + deltaX; + newY = this.y + deltaY; + + this._pos(newX, newY); + +// INSERT POINT: indicator._move + + e.preventDefault(); + e.stopPropagation(); + }, + + _end: function (e) { + if ( !this.initiated ) { + return; + } + + this.initiated = false; + + e.preventDefault(); + e.stopPropagation(); + + utils.removeEvent(window, 'touchmove', this); + utils.removeEvent(window, utils.prefixPointerEvent('pointermove'), this); + utils.removeEvent(window, 'mousemove', this); + + if ( this.scroller.options.snap ) { + var snap = this.scroller._nearestSnap(this.scroller.x, this.scroller.y); + + var time = this.options.snapSpeed || Math.max( + Math.max( + Math.min(Math.abs(this.scroller.x - snap.x), 1000), + Math.min(Math.abs(this.scroller.y - snap.y), 1000) + ), 300); + + if ( this.scroller.x != snap.x || this.scroller.y != snap.y ) { + this.scroller.directionX = 0; + this.scroller.directionY = 0; + this.scroller.currentPage = snap; + this.scroller.scrollTo(snap.x, snap.y, time, this.scroller.options.bounceEasing); + } + } + + if ( this.moved ) { + this.scroller._execEvent('scrollEnd'); + } + }, + + transitionTime: function (time) { + time = time || 0; + var durationProp = utils.style.transitionDuration; + if(!durationProp) { + return; + } + + this.indicatorStyle[durationProp] = time + 'ms'; + + if ( !time && utils.isBadAndroid ) { + this.indicatorStyle[durationProp] = '0.0001ms'; + // remove 0.0001ms + var self = this; + rAF(function() { + if(self.indicatorStyle[durationProp] === '0.0001ms') { + self.indicatorStyle[durationProp] = '0s'; + } + }); + } + }, + + transitionTimingFunction: function (easing) { + this.indicatorStyle[utils.style.transitionTimingFunction] = easing; + }, + + refresh: function () { + this.transitionTime(); + + if ( this.options.listenX && !this.options.listenY ) { + this.indicatorStyle.display = this.scroller.hasHorizontalScroll ? 'block' : 'none'; + } else if ( this.options.listenY && !this.options.listenX ) { + this.indicatorStyle.display = this.scroller.hasVerticalScroll ? 'block' : 'none'; + } else { + this.indicatorStyle.display = this.scroller.hasHorizontalScroll || this.scroller.hasVerticalScroll ? 'block' : 'none'; + } + + if ( this.scroller.hasHorizontalScroll && this.scroller.hasVerticalScroll ) { + utils.addClass(this.wrapper, 'iScrollBothScrollbars'); + utils.removeClass(this.wrapper, 'iScrollLoneScrollbar'); + + if ( this.options.defaultScrollbars && this.options.customStyle ) { + if ( this.options.listenX ) { + this.wrapper.style.right = '8px'; + } else { + this.wrapper.style.bottom = '8px'; + } + } + } else { + utils.removeClass(this.wrapper, 'iScrollBothScrollbars'); + utils.addClass(this.wrapper, 'iScrollLoneScrollbar'); + + if ( this.options.defaultScrollbars && this.options.customStyle ) { + if ( this.options.listenX ) { + this.wrapper.style.right = '2px'; + } else { + this.wrapper.style.bottom = '2px'; + } + } + } + + var r = this.wrapper.offsetHeight; // force refresh + + if ( this.options.listenX ) { + this.wrapperWidth = this.wrapper.clientWidth; + if ( this.options.resize ) { + this.indicatorWidth = Math.max(Math.round(this.wrapperWidth * this.wrapperWidth / (this.scroller.scrollerWidth || this.wrapperWidth || 1)), 8); + this.indicatorStyle.width = this.indicatorWidth + 'px'; + } else { + this.indicatorWidth = this.indicator.clientWidth; + } + + this.maxPosX = this.wrapperWidth - this.indicatorWidth; + + if ( this.options.shrink == 'clip' ) { + this.minBoundaryX = -this.indicatorWidth + 8; + this.maxBoundaryX = this.wrapperWidth - 8; + } else { + this.minBoundaryX = 0; + this.maxBoundaryX = this.maxPosX; + } + + this.sizeRatioX = this.options.speedRatioX || (this.scroller.maxScrollX && (this.maxPosX / this.scroller.maxScrollX)); + } + + if ( this.options.listenY ) { + this.wrapperHeight = this.wrapper.clientHeight; + if ( this.options.resize ) { + this.indicatorHeight = Math.max(Math.round(this.wrapperHeight * this.wrapperHeight / (this.scroller.scrollerHeight || this.wrapperHeight || 1)), 8); + this.indicatorStyle.height = this.indicatorHeight + 'px'; + } else { + this.indicatorHeight = this.indicator.clientHeight; + } + + this.maxPosY = this.wrapperHeight - this.indicatorHeight; + + if ( this.options.shrink == 'clip' ) { + this.minBoundaryY = -this.indicatorHeight + 8; + this.maxBoundaryY = this.wrapperHeight - 8; + } else { + this.minBoundaryY = 0; + this.maxBoundaryY = this.maxPosY; + } + + this.maxPosY = this.wrapperHeight - this.indicatorHeight; + this.sizeRatioY = this.options.speedRatioY || (this.scroller.maxScrollY && (this.maxPosY / this.scroller.maxScrollY)); + } + + this.updatePosition(); + }, + + updatePosition: function () { + var x = this.options.listenX && Math.round(this.sizeRatioX * this.scroller.x) || 0, + y = this.options.listenY && Math.round(this.sizeRatioY * this.scroller.y) || 0; + + if ( !this.options.ignoreBoundaries ) { + if ( x < this.minBoundaryX ) { + if ( this.options.shrink == 'scale' ) { + this.width = Math.max(this.indicatorWidth + x, 8); + this.indicatorStyle.width = this.width + 'px'; + } + x = this.minBoundaryX; + } else if ( x > this.maxBoundaryX ) { + if ( this.options.shrink == 'scale' ) { + this.width = Math.max(this.indicatorWidth - (x - this.maxPosX), 8); + this.indicatorStyle.width = this.width + 'px'; + x = this.maxPosX + this.indicatorWidth - this.width; + } else { + x = this.maxBoundaryX; + } + } else if ( this.options.shrink == 'scale' && this.width != this.indicatorWidth ) { + this.width = this.indicatorWidth; + this.indicatorStyle.width = this.width + 'px'; + } + + if ( y < this.minBoundaryY ) { + if ( this.options.shrink == 'scale' ) { + this.height = Math.max(this.indicatorHeight + y * 3, 8); + this.indicatorStyle.height = this.height + 'px'; + } + y = this.minBoundaryY; + } else if ( y > this.maxBoundaryY ) { + if ( this.options.shrink == 'scale' ) { + this.height = Math.max(this.indicatorHeight - (y - this.maxPosY) * 3, 8); + this.indicatorStyle.height = this.height + 'px'; + y = this.maxPosY + this.indicatorHeight - this.height; + } else { + y = this.maxBoundaryY; + } + } else if ( this.options.shrink == 'scale' && this.height != this.indicatorHeight ) { + this.height = this.indicatorHeight; + this.indicatorStyle.height = this.height + 'px'; + } + } + + this.x = x; + this.y = y; + + if ( this.scroller.options.useTransform ) { + this.indicatorStyle[utils.style.transform] = 'translate(' + x + 'px,' + y + 'px)' + this.scroller.translateZ; + } else { + this.indicatorStyle.left = x + 'px'; + this.indicatorStyle.top = y + 'px'; + } + }, + + _pos: function (x, y) { + if ( x < 0 ) { + x = 0; + } else if ( x > this.maxPosX ) { + x = this.maxPosX; + } + + if ( y < 0 ) { + y = 0; + } else if ( y > this.maxPosY ) { + y = this.maxPosY; + } + + x = this.options.listenX ? Math.round(x / this.sizeRatioX) : this.scroller.x; + y = this.options.listenY ? Math.round(y / this.sizeRatioY) : this.scroller.y; + + this.scroller.scrollTo(x, y); + }, + + fade: function (val, hold) { + if ( hold && !this.visible ) { + return; + } + + clearTimeout(this.fadeTimeout); + this.fadeTimeout = null; + + var time = val ? 250 : 500, + delay = val ? 0 : 300; + + val = val ? '1' : '0'; + + this.wrapperStyle[utils.style.transitionDuration] = time + 'ms'; + + this.fadeTimeout = setTimeout((function (val) { + this.wrapperStyle.opacity = val; + this.visible = +val; + }).bind(this, val), delay); + } +}; + +IScroll.utils = utils; + +if ( typeof module != 'undefined' && module.exports ) { + module.exports = IScroll; +} else if ( typeof define == 'function' && define.amd ) { + define( function () { return IScroll; } ); +} else { + window.IScroll = IScroll; +} + +})(window, document, Math); + +/** + * Created by xty on 2016/8/4. + */ +var LogUtils = (function () { + var debug = false; + return { + log: function (msg) { + if (debug) { + console.log(msg); + } + }, error: function (msg) { + console.error(msg); + }, + enable: function () { + debug = true; + }, + disable: function () { + debug = false; + } + }; +})(); + +var DateUtils = (function () { + return { + _y: function (date) { + return date.getFullYear() + }, _m: function (date) { + return date.getMonth() + }, _rm: function (date) { + return date.getMonth() + 1 + }, _d: function (date) { + return date.getDate() + }, _h: function (date) { + return date.getHours() + }, _i: function (date) { + return date.getMinutes() + }, _s: function (date) { + return date.getSeconds() + } + + } +})(); + +var ComponentCountProvider = (function () { + var _dateTimeComponentCount = 0; + return { + incrementAndGet: function () { + return ++_dateTimeComponentCount; + } + } +})(); + +var ComponentDefine = (function () { + var define = {}; + define.dateLabels = { + year: "年", month: "月", day: "日", + hour: "时", minute: "分", second: "秒" + }; + define.presetType = ["time", "date", "datetime", "diy"]; + /** + * 验证类型是否支持 + * @param type 类型 + * @returns {boolean} 支持的类型返回true,不支持返回false. + * @see #presetType + */ + define.validateSupportType = function (type) { + + var support = false; + this.presetType.forEach(function (internalType) { + if (internalType === type) { + support = true; + } + + }); + + return support; + }; + return define; +})(); + +var ComponentUtils = (function () { + return { + /** + * 获取选中的值在数组中的索引 + * @param arr 数组 + * @param value 选中的值 + * @returns {number} 如果选中的值在数组中存在则返回在数组中的位置,不存在返回-1. + */ + getSelectedValueIndex: function (arr, value) { + var selectedValue = -1; + arr.forEach(function (arrValue, index) { + if (value === arrValue) { + selectedValue = index; + } + }); + + return selectedValue; + }, + /** + * 填充数组 + * @param start 开始值 + * @param count 填充数量 + * @returns {Array} 数组. + */ + fillArr: function (start, count) { + + var arr = []; + + for (var index = start; count >= index; index++) { + arr.push(index); + } + + return arr; + }, + /** + * 获取距离顶部的距离 + * @param lineHeight item的高度 + * @param position 位置 + * @returns {number} 距离顶部的距离 + */ + getTop: function (lineHeight, position) { + //lineHeight为item的高度. + return 0 - lineHeight * position; + }, + /** + * 将date转换为指定格式的json对象. + * @param date date对象 + * @returns {{h: *, i: *, s: *}} + *
                                        +         *     {
                                        +                h: DateUtils._h(date),
                                        +                i: DateUtils._i(date),
                                        +                s: DateUtils._s(date)
                                        +                }
                                        +         * 
                                        + */ + getDisplayedTime: function (date) { + + return { + h: DateUtils._h(date), + i: DateUtils._i(date), + s: DateUtils._s(date) + }; + + }, + /** + * 判断对象是否为date类型 + * @param date date对象 + * @returns {boolean} 为date对象返回true.否则返回false + */ + isDate: function (date) { + return "object" === typeof date && date instanceof Date + }, + getDayOfMonth: function (y, m) { + return 32 - new Date(y, m - 1, 32).getDate(); + } + }; + +})(); + +var DateTime = function (ele, options) { + + var picker = {}, currentDate = new Date(); + + var pickerArgs = {}; + pickerArgs.opts = options || DateTime.defaultOpts; + pickerArgs.domHook = ele; + + var render = { + /** + * 创建一个dom节点 + * @param html html内容 + * @returns {Node} dom节点 + */ + _createDomElement: function (html) { + var element = document.createElement("div"); + element.innerHTML = html; + return element.firstChild; + }, + _createWrapContainer: function (height) { + return this._createDomElement('
                                        ') + }, + _createWrapLine: function (top) { + return this._createDomElement('
                                        '); + }, + _createWrapItem: function (guid, key, height) { + return this._createDomElement('
                                        '); + }, + _createItemList: function (itemWidth) { + return this._createDomElement('
                                          '); + }, + _createItem: function (selected, value, unit) { + if (selected) { + return this._createDomElement('
                                        • ' + value + ' ' + unit + '
                                        • '); + } + return this._createDomElement("
                                        • " + value + " " + unit + "
                                        • "); + }, + _resetItems: function (itemList) { + var itemWidth = pickerArgs.opts.itemWidth | 80; + + var screenWidth = window.screen.width; + var calculatedWidth = screenWidth / itemList.length; + + if (calculatedWidth < itemWidth) { + itemList.pop(); + return this._resetItems(itemList); + } + return itemList; + }, + _render: function () { + var height = pickerArgs.height; + var lineHeight = pickerArgs.lineHeight; + + var container = this._createWrapContainer(height); + var top = (height / lineHeight - 1) / 2 * lineHeight; + var line = this._createWrapLine(top); + + container.appendChild(line); + LogUtils.log(pickerArgs.itemList); + var itemList = this._resetItems(pickerArgs.itemList); + LogUtils.log(itemList); + var itemWidth = 80, guid = picker.guid; + var renderObj = this; + itemList.forEach(function (key) { + + var item = picker[key]; + LogUtils.log(item); + var wrapItem = renderObj._createWrapItem(guid, key, height); + var domItemList = renderObj._createItemList(itemWidth); + var selectIndex = ComponentUtils.getSelectedValueIndex(item.valueMap, item.value); + var itemUnit = ComponentDefine.dateLabels[key]; + + domItemList.appendChild(renderObj._createDomElement("
                                        • ")); + domItemList.appendChild(renderObj._createDomElement("
                                        • ")); + + item.valueMap.forEach(function (value, index) { + var domItem = renderObj._createItem(selectIndex === index, value, itemUnit); + item.htmlList.push(domItem); + domItemList.appendChild(domItem); + }); + var emptyLiHook = renderObj._createDomElement("
                                        • "); + item.emptyLiHook = emptyLiHook; + item.listHook = domItemList; + domItemList.appendChild(emptyLiHook); + domItemList.appendChild(renderObj._createDomElement("
                                        • ")); + + wrapItem.appendChild(domItemList); + container.appendChild(wrapItem); + }); + + + pickerArgs.domHook.innerHTML = ""; + + pickerArgs.domHook.appendChild(container); + + + }, + _init: function (type) { + switch (type) { + case"date": + this._initDateConfig(); + break; + case"time": + this._initTimeConfig(); + break; + case"diy": + this._initDiyConfig(); + break; + case "datetime": + this._initDateTimeConfig(); + break; + } + }, + _getYearConfig: function (year, min, max) { + return { + top: ComponentUtils.getTop(pickerArgs.lineHeight, year - min), + value: year, + oldValue: year, + minValue: min, + maxValue: max, + htmlList: [], + valueMap: ComponentUtils.fillArr(min, max) + }; + }, + _getMonthConfig: function (month) { + return { + top: ComponentUtils.getTop(pickerArgs.lineHeight, month - 1), + value: month, + oldValue: month, + minValue: 1, + maxValue: 12, + htmlList: [], + valueMap: ComponentUtils.fillArr(1, 12) + }; + }, + _getDayConfig: function (day, dayOfMonth) { + return { + top: ComponentUtils.getTop(pickerArgs.lineHeight, day - 1), + value: day, + oldValue: day, + minValue: 1, + maxValue: dayOfMonth, + htmlList: [], + valueMap: ComponentUtils.fillArr(1, dayOfMonth) + }; + }, + _getHourConfig: function (hour) { + return { + top: ComponentUtils.getTop(pickerArgs.lineHeight, hour), + value: hour, + oldValue: hour, + htmlList: [], + valueMap: ComponentUtils.fillArr(0, 23) + }; + }, + _getMinuteConfig: function (minute) { + return { + top: ComponentUtils.getTop(pickerArgs.lineHeight, minute), + value: minute, + oldValue: minute, + htmlList: [], + valueMap: ComponentUtils.fillArr(0, 59) + }; + }, + _getSecondConfig: function (second) { + return { + top: ComponentUtils.getTop(pickerArgs.lineHeight, second), + value: second, + oldValue: second, + htmlList: [], + valueMap: ComponentUtils.fillArr(0, 59) + }; + }, + _getDiyConfig: function (key, value, valueMap) { + var diy = { + key: key, + value: value, + htmlList: [], + valueMap: valueMap + }; + + diy.index = ComponentUtils.getSelectedValueIndex(valueMap, value); + diy.top = ComponentUtils.getTop(pickerArgs.lineHeight, diy.index); + return diy; + }, + _initDateConfig: function () { + var config = pickerArgs.opts; + + var minYear = config.minDate.getFullYear(); + var maxYear = config.maxDate.getFullYear(); + + var date = ComponentUtils.isDate(config.date) ? config.date : currentDate; + + var displayConfig = { + y: DateUtils._y(date), + m: DateUtils._rm(date), + d: DateUtils._d(date) + }; + LogUtils.log(displayConfig); + + pickerArgs.itemList = ["year", "month", "day"]; + + var dayOfMonth = ComponentUtils.getDayOfMonth(displayConfig.y, displayConfig.m); + LogUtils.log("dayOfMonth= " + dayOfMonth); + + pickerArgs.dayOfMonth = dayOfMonth; + picker.year = { + top: ComponentUtils.getTop(pickerArgs.lineHeight, displayConfig.y - minYear), + value: displayConfig.y, + oldValue: displayConfig.y, + minValue: minYear, + maxValue: maxYear, + htmlList: [], + valueMap: ComponentUtils.fillArr(minYear, maxYear) + }; + + picker.month = { + top: ComponentUtils.getTop(pickerArgs.lineHeight, displayConfig.m - 1), + value: displayConfig.m, + oldValue: displayConfig.m, + minValue: 1, + maxValue: 12, + htmlList: [], + valueMap: ComponentUtils.fillArr(1, 12) + }; + + picker.day = { + top: ComponentUtils.getTop(pickerArgs.lineHeight, displayConfig.d - 1), + value: displayConfig.d, + oldValue: displayConfig.d, + minValue: 1, + maxValue: dayOfMonth, + htmlList: [], + valueMap: ComponentUtils.fillArr(1, dayOfMonth) + }; + + }, + _initTimeConfig: function () { + var config = pickerArgs.opts; + + var date = ComponentUtils.isDate(config.date) ? config.date : currentDate; + var displayConfig = { + h: DateUtils._h(date), + i: DateUtils._i(date), + s: DateUtils._s(date) + + }; + LogUtils.log(displayConfig); + + pickerArgs.itemList = ["hour", "minute", "second"]; + + var dayOfMonth = ComponentUtils.getDayOfMonth(displayConfig.y, displayConfig.m); + LogUtils.log("dayOfMonth= " + dayOfMonth); + + pickerArgs.dayOfMonth = dayOfMonth; + picker.hour = this._getHourConfig(displayConfig.h); + picker.minute = this._getMinuteConfig(displayConfig.i); + picker.second = this._getSecondConfig(displayConfig.s); + }, + _initDiyConfig: function () { + var config = pickerArgs.opts; + //数据不为空 + if (config.data) { + pickerArgs.itemList = []; + config.data.forEach(function (dataItem) { + picker[dataItem.key] = render._getDiyConfig(dataItem.key, dataItem.value, dataItem.resource); + ComponentDefine.dateLabels[dataItem.key] = dataItem.unit; + pickerArgs.itemList.push(dataItem.key); + }); + } + }, + _initDateTimeConfig: function () { + var config = pickerArgs.opts; + + var minYear = config.minDate.getFullYear(); + var maxYear = config.maxDate.getFullYear(); + + var date = ComponentUtils.isDate(config.date) ? config.date : currentDate; + + var displayConfig = { + y: DateUtils._y(date), + m: DateUtils._rm(date), + d: DateUtils._d(date), + h: DateUtils._h(date), + i: DateUtils._i(date), + s: DateUtils._s(date) + + }; + LogUtils.log(displayConfig); + + pickerArgs.itemList = ["year", "month", "day", "hour", "minute", "second"]; + + var dayOfMonth = ComponentUtils.getDayOfMonth(displayConfig.y, displayConfig.m); + LogUtils.log("dayOfMonth= " + dayOfMonth); + + pickerArgs.dayOfMonth = dayOfMonth; + picker.year = this._getYearConfig(displayConfig.y, minYear, maxYear); + picker.month = this._getMonthConfig(displayConfig.m); + picker.day = this._getDayConfig(displayConfig.d, dayOfMonth); + picker.hour = this._getHourConfig(displayConfig.h); + picker.minute = this._getMinuteConfig(displayConfig.i); + picker.second = this._getSecondConfig(displayConfig.s); + } + }; + + var valueHolder = { + _getSelectValue: function () { + var valueObject = {}; + + pickerArgs.itemList.forEach(function (key) { + var item = picker[key]; + if (item) { + var top = item.top; + valueObject[key] = item.valueMap[Math.abs(top) / pickerArgs.lineHeight]; + } + + }); + + return valueObject; + } + }; + + var eventBinder = { + _init: function () { + var itemList = pickerArgs.itemList; + var binderObj = this; + itemList.forEach(function (key) { + var item = picker[key]; + if (item) { + binderObj._bindItemEvent(item, key); + } + }) + }, + _destroy: function () { + var itemList = pickerArgs.itemList; + itemList.forEach(function (key) { + var item = picker[key]; + if (item && item.scroller) { + item.scroller.destroy(); + item.scroller = null; + } + }) + }, + _syncValue: function () { + var selectValue = valueHolder._getSelectValue(); + var itemList = pickerArgs.itemList; + itemList.forEach(function (key) { + var item = picker[key]; + if (item) { + item.oldValue = item.value; + item.value = selectValue[key]; + + item.index = ComponentUtils.getSelectedValueIndex(item.valueMap, item.value); + item.top = ComponentUtils.getTop(pickerArgs.lineHeight, item.index); + } + }); + + }, + _syncStatus: function () { + var itemList = pickerArgs.itemList; + itemList.forEach(function (key) { + var item = picker[key]; + if (item) { + var oldIndex = ComponentUtils.getSelectedValueIndex(item.valueMap, item.oldValue); + var currentIndex = ComponentUtils.getSelectedValueIndex(item.valueMap, item.value); + LogUtils.log("old index=" + oldIndex + ";current index=" + currentIndex); + //改变选中状态 + if (oldIndex !== currentIndex) { + item.htmlList[oldIndex].className = "item"; + item.htmlList[currentIndex].className = "item selected"; + } + } + + }); + + }, + _syncScroll: function () { + var itemList = pickerArgs.itemList; + itemList.forEach(function (key) { + var item = picker[key]; + if (item) { + var selectedIndex = ComponentUtils.getSelectedValueIndex(item.valueMap, item.value); + var _top = ComponentUtils.getTop(pickerArgs.lineHeight, selectedIndex); + item.scroller.scrollToIng = true; + item.scroller.scrollTo(0, _top, 300, IScroll.utils.ease.circular); + } + }); + + }, + _callChangeCallback: function () { + var changeCallback = pickerArgs.opts.onChange; + if (changeCallback && "function" === typeof changeCallback) { + setTimeout(function () { + changeCallback.call(this, valueHolder._getSelectValue()); + }, 0) + } + }, + _fixDayOfMonth: function (syncKey) { + if ("month" === syncKey) { + var selectValue = valueHolder._getSelectValue(); + var dayOfMonth = ComponentUtils.getDayOfMonth(selectValue.year, selectValue.month - 1); + LogUtils.log("day of month = " + dayOfMonth); + var currentDayOfMonth = pickerArgs.dayOfMonth; + LogUtils.log("current day of month = " + currentDayOfMonth); + if (currentDayOfMonth !== dayOfMonth) { + var item = picker.day; + item.valueMap = ComponentUtils.fillArr(1, dayOfMonth); + if (dayOfMonth > currentDayOfMonth) { + var selectIndex = ComponentUtils.getSelectedValueIndex(item.valueMap, item.value); + var itemUnit = ComponentDefine.dateLabels["day"]; + + for (var index = currentDayOfMonth; dayOfMonth > index; index++) { + var newItem = render._createItem(selectIndex === index, item.valueMap[index], itemUnit); + item.htmlList.push(newItem); + item.listHook.insertBefore(newItem, item.emptyLiHook); + } + } else if (currentDayOfMonth > dayOfMonth) { + var offset = currentDayOfMonth - dayOfMonth; + for (var count = 0; count < offset; count++) { + item.htmlList.pop().remove(); + } + if (item.value > dayOfMonth) { + item.oldValue = dayOfMonth - 1; + item.value = dayOfMonth; + } + } + + pickerArgs.dayOfMonth = dayOfMonth; + } + picker.day.scroller.refresh(); + } + }, + _bindItemEvent: function (item, key) { + var scroller = this._createScroller(picker.guid, key); + scroller.key = key; + scroller.scrollToIng = true; + scroller.scrollTo(0, item.top, 0, IScroll.utils.ease.circular); + var lineHeight = pickerArgs.lineHeight; + var eventBinderObj = this; + scroller.on("scrollEnd", function () { + var y = this.y; + var offset = Math.round(y / lineHeight); + if (item.top !== y) { + item.top = lineHeight * offset; + + eventBinderObj._syncValue(); + eventBinderObj._fixDayOfMonth(key); + eventBinderObj._syncStatus(); + eventBinderObj._syncScroll(); + eventBinderObj._callChangeCallback(); + + } + }); + item.scroller = scroller; + }, + _createScroller: function (guid, key) { + return new IScroll("#ui-datetime-" + guid + "-ad-" + key, { + bounceEasing: "ease", + bounceTime: 600 + }); + } + }; + + picker.init = function () { + //生成id + picker.guid = ComponentCountProvider.incrementAndGet(); + var opts = pickerArgs.opts; + //如果没有提供高度则默认取200 + pickerArgs.height = opts.height || 200; + pickerArgs.lineHeight = opts.lineHeight || 40; + //判断类型是否支持 + var isSupport = ComponentDefine.validateSupportType(opts.type); + + if (!isSupport) { + LogUtils.error("unSupport type!"); + return; + } + //根据类型初始化组件 + render._init(opts.type); + //渲染html内容 + render._render(); + //绑定事件 + eventBinder._init(); + }; + + /** + * 显示组件 + */ + picker.show = function () { + if (pickerArgs.domHook) { + pickerArgs.domHook.style.display = "block"; + } + }; + + /** + * 隐藏组件 + */ + picker.hide = function () { + if (pickerArgs.domHook) { + pickerArgs.domHook.style.display = "none"; + } + }; + + picker.refreshEventBinder = function () { + eventBinder._destroy(); + eventBinder._init(); + }; + + return picker; + +}; + +/** + * 默认选项 + * @type {{type: string, date: Date, minDate: Date, maxDate: Date, data: *[], onChange: DateTime.defaultOpts.onChange}} + */ +DateTime.defaultOpts = { + type: 'date',//date,time,diy + date: new Date(), + minDate: new Date(), + maxDate: new Date(), + data: [{ + key: 'day', + resource: ["上午", "下午"], + value: "上午", + unit: '' + }, { + key: 'hour', + resource: ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"], + value: "09", + unit: '' + }, { + key: 'minute', + resource: ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10"], + value: "05", + unit: '' + }], + onChange: function (data) { + console.log("call back", data); + } +}; + + +/** + * Created by xty on 2016/8/18. + */ +(function ($) { + if (!$) { + return; + } + + $.fn.datetime = function (options) { + + return this.each(function () { + var _this = $(this); + + var data = _this.data('datetime'); + + var opts = typeof options === 'object' && options; + + if (!data) { + data = new DateTime(this, opts); + data.init(); + _this.data('datatime', data); + } + + if (typeof options === "string") { + data[options](); + + } + }) + }; + + // $('[data-datetime]').each(function () { + // var _this = $(this); + // _this.datetime(_this.data); + // }) + +}(Window.Zepto || window.jQuery)); \ No newline at end of file diff --git a/common/js/JQuery.datetime.min.js b/common/js/JQuery.datetime.min.js new file mode 100644 index 0000000..dbe7255 --- /dev/null +++ b/common/js/JQuery.datetime.min.js @@ -0,0 +1 @@ +!function(a,b,c){function d(c,d){this.wrapper="string"==typeof c?b.querySelector(c):c,this.scroller=this.wrapper.children[0],this.scrollerStyle=this.scroller.style,this.options={resizeScrollbars:!0,mouseWheelSpeed:20,snapThreshold:.334,disablePointer:!h.hasPointer,disableTouch:h.hasPointer||!h.hasTouch,disableMouse:h.hasPointer||h.hasTouch,startX:0,startY:0,scrollY:!0,directionLockThreshold:5,momentum:!0,bounce:!0,bounceTime:600,bounceEasing:"",preventDefault:!0,preventDefaultException:{tagName:/^(INPUT|TEXTAREA|BUTTON|SELECT)$/},HWCompositing:!0,useTransition:!0,useTransform:!0,bindToWrapper:void 0===a.onmousedown};for(var e in d)this.options[e]=d[e];this.translateZ=this.options.HWCompositing&&h.hasPerspective?" translateZ(0)":"",this.options.useTransition=h.hasTransition&&this.options.useTransition,this.options.useTransform=h.hasTransform&&this.options.useTransform,this.options.eventPassthrough=!0===this.options.eventPassthrough?"vertical":this.options.eventPassthrough,this.options.preventDefault=!this.options.eventPassthrough&&this.options.preventDefault,this.options.scrollY="vertical"!=this.options.eventPassthrough&&this.options.scrollY,this.options.scrollX="horizontal"!=this.options.eventPassthrough&&this.options.scrollX,this.options.freeScroll=this.options.freeScroll&&!this.options.eventPassthrough,this.options.directionLockThreshold=this.options.eventPassthrough?0:this.options.directionLockThreshold,this.options.bounceEasing="string"==typeof this.options.bounceEasing?h.ease[this.options.bounceEasing]||h.ease.circular:this.options.bounceEasing,this.options.resizePolling=void 0===this.options.resizePolling?60:this.options.resizePolling,!0===this.options.tap&&(this.options.tap="tap"),this.options.useTransition||this.options.useTransform||/relative|absolute/i.test(this.scrollerStyle.position)||(this.scrollerStyle.position="relative"),"scale"==this.options.shrinkScrollbars&&(this.options.useTransition=!1),this.options.invertWheelDirection=this.options.invertWheelDirection?-1:1,this.x=0,this.y=0,this.directionX=0,this.directionY=0,this._events={},this._init(),this.refresh(),this.scrollTo(this.options.startX,this.options.startY),this.enable()}function e(a,c,d){var e=b.createElement("div"),f=b.createElement("div");return!0===d&&(e.style.cssText="position:absolute;z-index:9999",f.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);border-radius:3px"),f.className="iScrollIndicator","h"==a?(!0===d&&(e.style.cssText+=";height:7px;left:2px;right:2px;bottom:0",f.style.height="100%"),e.className="iScrollHorizontalScrollbar"):(!0===d&&(e.style.cssText+=";width:7px;bottom:2px;top:2px;right:1px",f.style.width="100%"),e.className="iScrollVerticalScrollbar"),e.style.cssText+=";overflow:hidden",c||(e.style.pointerEvents="none"),e.appendChild(f),e}function f(c,d){this.wrapper="string"==typeof d.el?b.querySelector(d.el):d.el,this.wrapperStyle=this.wrapper.style,this.indicator=this.wrapper.children[0],this.indicatorStyle=this.indicator.style,this.scroller=c,this.options={listenX:!0,listenY:!0,interactive:!1,resize:!0,defaultScrollbars:!1,shrink:!1,fade:!1,speedRatioX:0,speedRatioY:0};for(var e in d)this.options[e]=d[e];if(this.sizeRatioX=1,this.sizeRatioY=1,this.maxPosX=0,this.maxPosY=0,this.options.interactive&&(this.options.disableTouch||(h.addEvent(this.indicator,"touchstart",this),h.addEvent(a,"touchend",this)),this.options.disablePointer||(h.addEvent(this.indicator,h.prefixPointerEvent("pointerdown"),this),h.addEvent(a,h.prefixPointerEvent("pointerup"),this)),this.options.disableMouse||(h.addEvent(this.indicator,"mousedown",this),h.addEvent(a,"mouseup",this))),this.options.fade){this.wrapperStyle[h.style.transform]=this.scroller.translateZ;var f=h.style.transitionDuration;if(!f)return;this.wrapperStyle[f]=h.isBadAndroid?"0.0001ms":"0ms";var i=this;h.isBadAndroid&&g(function(){"0.0001ms"===i.wrapperStyle[f]&&(i.wrapperStyle[f]="0s")}),this.wrapperStyle.opacity="0"}}var g=a.requestAnimationFrame||a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame||a.msRequestAnimationFrame||function(b){a.setTimeout(b,1e3/60)},h=function(){function d(a){return!1!==g&&(""===g?a:g+a.charAt(0).toUpperCase()+a.substr(1))}var e={},f=b.createElement("div").style,g=function(){for(var a=["t","webkitT","MozT","msT","OT"],b=0,c=a.length;b0&&(h=f?f/2.5*(k/8):0,j=c.abs(a)+h,i=j/k),{destination:c.round(h),duration:i}};var h=d("transform");return e.extend(e,{hasTransform:!1!==h,hasPerspective:d("perspective")in f,hasTouch:"ontouchstart"in a,hasPointer:!(!a.PointerEvent&&!a.MSPointerEvent),hasTransition:d("transition")in f}),e.isBadAndroid=function(){var b=a.navigator.appVersion;if(/Android/.test(b)&&!/Chrome\/\d/.test(b)){var c=b.match(/Safari\/(\d+.\d)/);return!(c&&"object"==typeof c&&c.length>=2)||parseFloat(c[1])<535.19}return!1}(),e.extend(e.style={},{transform:h,transitionTimingFunction:d("transitionTimingFunction"),transitionDuration:d("transitionDuration"),transitionDelay:d("transitionDelay"),transformOrigin:d("transformOrigin")}),e.hasClass=function(a,b){return new RegExp("(^|\\s)"+b+"(\\s|$)").test(a.className)},e.addClass=function(a,b){if(!e.hasClass(a,b)){var c=a.className.split(" ");c.push(b),a.className=c.join(" ")}},e.removeClass=function(a,b){if(e.hasClass(a,b)){var c=new RegExp("(^|\\s)"+b+"(\\s|$)","g");a.className=a.className.replace(c," ")}},e.offset=function(a){for(var b=-a.offsetLeft,c=-a.offsetTop;a=a.offsetParent;)b-=a.offsetLeft,c-=a.offsetTop;return{left:b,top:c}},e.preventDefaultException=function(a,b){for(var c in b)if(b[c].test(a[c]))return!0;return!1},e.extend(e.eventType={},{touchstart:1,touchmove:1,touchend:1,mousedown:2,mousemove:2,mouseup:2,pointerdown:3,pointermove:3,pointerup:3,MSPointerDown:3,MSPointerMove:3,MSPointerUp:3}),e.extend(e.ease={},{quadratic:{style:"cubic-bezier(0.25, 0.46, 0.45, 0.94)",fn:function(a){return a*(2-a)}},circular:{style:"cubic-bezier(0.1, 0.57, 0.1, 1)",fn:function(a){return c.sqrt(1- --a*a)}},back:{style:"cubic-bezier(0.175, 0.885, 0.32, 1.275)",fn:function(a){var b=4;return(a-=1)*a*((b+1)*a+b)+1}},bounce:{style:"",fn:function(a){return(a/=1)<1/2.75?7.5625*a*a:a<2/2.75?7.5625*(a-=1.5/2.75)*a+.75:a<2.5/2.75?7.5625*(a-=2.25/2.75)*a+.9375:7.5625*(a-=2.625/2.75)*a+.984375}},elastic:{style:"",fn:function(a){var b=.22;return 0===a?0:1==a?1:.4*c.pow(2,-10*a)*c.sin((a-b/4)*(2*c.PI)/b)+1}}}),e.tap=function(a,c){var d=b.createEvent("Event");d.initEvent(c,!0,!0),d.pageX=a.pageX,d.pageY=a.pageY,a.target.dispatchEvent(d)},e.click=function(c){var d,e=c.target;/(SELECT|INPUT|TEXTAREA)/i.test(e.tagName)||(d=b.createEvent(a.MouseEvent?"MouseEvents":"Event"),d.initEvent("click",!0,!0),d.view=c.view||a,d.detail=1,d.screenX=e.screenX||0,d.screenY=e.screenY||0,d.clientX=e.clientX||0,d.clientY=e.clientY||0,d.ctrlKey=!!c.ctrlKey,d.altKey=!!c.altKey,d.shiftKey=!!c.shiftKey,d.metaKey=!!c.metaKey,d.button=0,d.relatedTarget=null,d._constructed=!0,e.dispatchEvent(d))},e}();d.prototype={version:"5.2.0",_init:function(){this._initEvents(),(this.options.scrollbars||this.options.indicators)&&this._initIndicators(),this.options.mouseWheel&&this._initWheel(),this.options.snap&&this._initSnap(),this.options.keyBindings&&this._initKeys()},destroy:function(){this._initEvents(!0),clearTimeout(this.resizeTimeout),this.resizeTimeout=null,this._execEvent("destroy")},_transitionEnd:function(a){a.target==this.scroller&&this.isInTransition&&(this._transitionTime(),this.resetPosition(this.options.bounceTime)||(this.isInTransition=!1,this._execEvent("scrollEnd")))},_start:function(a){if(1!=h.eventType[a.type]){if(0!==(a.which?a.button:a.button<2?0:4==a.button?1:2))return}if(this.enabled&&(!this.initiated||h.eventType[a.type]===this.initiated)){!this.options.preventDefault||h.isBadAndroid||h.preventDefaultException(a.target,this.options.preventDefaultException)||a.preventDefault();var b,d=a.touches?a.touches[0]:a;this.initiated=h.eventType[a.type],this.moved=!1,this.distX=0,this.distY=0,this.directionX=0,this.directionY=0,this.directionLocked=0,this.startTime=h.getTime(),this.options.useTransition&&this.isInTransition?(this._transitionTime(),this.isInTransition=!1,b=this.getComputedPosition(),this._translate(c.round(b.x),c.round(b.y)),this._execEvent("scrollEnd")):!this.options.useTransition&&this.isAnimating&&(this.isAnimating=!1,this._execEvent("scrollEnd")),this.startX=this.x,this.startY=this.y,this.absStartX=this.x,this.absStartY=this.y,this.pointX=d.pageX,this.pointY=d.pageY,this._execEvent("beforeScrollStart")}},_move:function(a){if(this.enabled&&h.eventType[a.type]===this.initiated){this.options.preventDefault&&a.preventDefault();var b,d,e,f,g=a.touches?a.touches[0]:a,i=g.pageX-this.pointX,j=g.pageY-this.pointY,k=h.getTime();if(this.pointX=g.pageX,this.pointY=g.pageY,this.distX+=i,this.distY+=j,e=c.abs(this.distX),f=c.abs(this.distY),!(k-this.endTime>300&&e<10&&f<10)){if(this.directionLocked||this.options.freeScroll||(e>f+this.options.directionLockThreshold?this.directionLocked="h":f>=e+this.options.directionLockThreshold?this.directionLocked="v":this.directionLocked="n"),"h"==this.directionLocked){if("vertical"==this.options.eventPassthrough)a.preventDefault();else if("horizontal"==this.options.eventPassthrough)return void(this.initiated=!1);j=0}else if("v"==this.directionLocked){if("horizontal"==this.options.eventPassthrough)a.preventDefault();else if("vertical"==this.options.eventPassthrough)return void(this.initiated=!1);i=0}i=this.hasHorizontalScroll?i:0,j=this.hasVerticalScroll?j:0,b=this.x+i,d=this.y+j,(b>0||b0?0:this.maxScrollX),(d>0||d0?0:this.maxScrollY),this.directionX=i>0?-1:i<0?1:0,this.directionY=j>0?-1:j<0?1:0,this.moved||this._execEvent("scrollStart"),this.moved=!0,this._translate(b,d),k-this.startTime>300&&(this.startTime=k,this.startX=this.x,this.startY=this.y)}}},_end:function(a){if(this.enabled&&h.eventType[a.type]===this.initiated){this.options.preventDefault&&!h.preventDefaultException(a.target,this.options.preventDefaultException)&&a.preventDefault();var b,d,e=(a.changedTouches&&a.changedTouches[0],h.getTime()-this.startTime),f=c.round(this.x),g=c.round(this.y),i=c.abs(f-this.startX),j=c.abs(g-this.startY),k=0,l="";if(this.isInTransition=0,this.initiated=0,this.endTime=h.getTime(),!this.resetPosition(this.options.bounceTime)){if(this.scrollTo(f,g),!this.moved)return this.options.tap&&h.tap(a,this.options.tap),this.options.click&&h.click(a),void this._execEvent("scrollCancel");if(this._events.flick&&e<200&&i<100&&j<100)return void this._execEvent("flick");if(this.options.momentum&&e<300&&(b=this.hasHorizontalScroll?h.momentum(this.x,this.startX,e,this.maxScrollX,this.options.bounce?this.wrapperWidth:0,this.options.deceleration):{destination:f,duration:0},d=this.hasVerticalScroll?h.momentum(this.y,this.startY,e,this.maxScrollY,this.options.bounce?this.wrapperHeight:0,this.options.deceleration):{destination:g,duration:0},f=b.destination,g=d.destination,k=c.max(b.duration,d.duration),this.isInTransition=1),this.options.snap){var m=this._nearestSnap(f,g);this.currentPage=m,k=this.options.snapSpeed||c.max(c.max(c.min(c.abs(f-m.x),1e3),c.min(c.abs(g-m.y),1e3)),300),f=m.x,g=m.y,this.directionX=0,this.directionY=0,l=this.options.bounceEasing}if(f!=this.x||g!=this.y)return(f>0||f0||g0?b=0:this.x0?c=0:this.y-1&&this._events[a].splice(c,1)}},_execEvent:function(a){if(this._events[a]){var b=0,c=this._events[a].length;if(c)for(;b0;var e=this.options.useTransition&&d.style;!c||e?(e&&(this._transitionTimingFunction(d.style),this._transitionTime(c)),this._translate(a,b)):this._animate(a,b,c,d.fn)},scrollToElement:function(a,b,d,e,f){if(a=a.nodeType?a:this.scroller.querySelector(a)){var g=h.offset(a);g.left-=this.wrapperOffset.left,g.top-=this.wrapperOffset.top,!0===d&&(d=c.round(a.offsetWidth/2-this.wrapper.offsetWidth/2)),!0===e&&(e=c.round(a.offsetHeight/2-this.wrapper.offsetHeight/2)),g.left-=d||0,g.top-=e||0,g.left=g.left>0?0:g.left0?0:g.top0?e--:b<0&&e++,d>0?f--:d<0&&f++,void this.goToPage(e,f);e=this.x+c.round(this.hasHorizontalScroll?b:0),f=this.y+c.round(this.hasVerticalScroll?d:0),this.directionX=b>0?-1:b<0?1:0,this.directionY=d>0?-1:d<0?1:0,e>0?e=0:e0?f=0:f-this.scrollerWidth;){for(this.pages[h]=[],a=0,f=0;f>-this.scrollerHeight;)this.pages[h][a]={x:c.max(j,this.maxScrollX),y:c.max(f,this.maxScrollY),width:k,height:l,cx:j-d,cy:f-e},f-=l,a++;j-=k,h++}else for(g=this.options.snap,a=g.length,b=-1;hthis.maxScrollX&&i++;this.goToPage(this.currentPage.pageX||0,this.currentPage.pageY||0,0),this.options.snapThreshold%1==0?(this.snapThresholdX=this.options.snapThreshold,this.snapThresholdY=this.options.snapThreshold):(this.snapThresholdX=c.round(this.pages[this.currentPage.pageX][this.currentPage.pageY].width*this.options.snapThreshold),this.snapThresholdY=c.round(this.pages[this.currentPage.pageX][this.currentPage.pageY].height*this.options.snapThreshold))}}),this.on("flick",function(){var a=this.options.snapSpeed||c.max(c.max(c.min(c.abs(this.x-this.startX),1e3),c.min(c.abs(this.y-this.startY),1e3)),300);this.goToPage(this.currentPage.pageX+this.directionX,this.currentPage.pageY+this.directionY,a)})},_nearestSnap:function(a,b){if(!this.pages.length)return{x:0,y:0,pageX:0,pageY:0};var d=0,e=this.pages.length,f=0;if(c.abs(a-this.absStartX)0?a=0:a0?b=0:b=this.pages[d][0].cx){a=this.pages[d][0].x;break}for(e=this.pages[d].length;f=this.pages[0][f].cy){b=this.pages[0][f].y;break}return d==this.currentPage.pageX&&(d+=this.directionX,d<0?d=0:d>=this.pages.length&&(d=this.pages.length-1),a=this.pages[d][0].x),f==this.currentPage.pageY&&(f+=this.directionY,f<0?f=0:f>=this.pages[0].length&&(f=this.pages[0].length-1),b=this.pages[0][f].y),{x:a,y:b,pageX:d,pageY:f}},goToPage:function(a,b,d,e){e=e||this.options.bounceEasing,a>=this.pages.length?a=this.pages.length-1:a<0&&(a=0),b>=this.pages[a].length?b=this.pages[a].length-1:b<0&&(b=0);var f=this.pages[a][b].x,g=this.pages[a][b].y;d=void 0===d?this.options.snapSpeed||c.max(c.max(c.min(c.abs(f-this.x),1e3),c.min(c.abs(g-this.y),1e3)),300):d,this.currentPage={x:f,y:g,pageX:a,pageY:b},this.scrollTo(f,g,d,e)},next:function(a,b){var c=this.currentPage.pageX,d=this.currentPage.pageY;c++,c>=this.pages.length&&this.hasVerticalScroll&&(c=0,d++),this.goToPage(c,d,a,b)},prev:function(a,b){var c=this.currentPage.pageX,d=this.currentPage.pageY;c--,c<0&&this.hasVerticalScroll&&(c=0,d--),this.goToPage(c,d,a,b)},_initKeys:function(b){var c,d={pageUp:33,pageDown:34,end:35,home:36,left:37,up:38,right:39,down:40};if("object"==typeof this.options.keyBindings)for(c in this.options.keyBindings)"string"==typeof this.options.keyBindings[c]&&(this.options.keyBindings[c]=this.options.keyBindings[c].toUpperCase().charCodeAt(0));else this.options.keyBindings={};for(c in d)this.options.keyBindings[c]=this.options.keyBindings[c]||d[c];h.addEvent(a,"keydown",this),this.on("destroy",function(){h.removeEvent(a,"keydown",this)})},_key:function(a){if(this.enabled){var b,d=this.options.snap,e=d?this.currentPage.pageX:this.x,f=d?this.currentPage.pageY:this.y,g=h.getTime(),i=this.keyTime||0,j=.25;switch(this.options.useTransition&&this.isInTransition&&(b=this.getComputedPosition(),this._translate(c.round(b.x),c.round(b.y)),this.isInTransition=!1),this.keyAcceleration=g-i<200?c.min(this.keyAcceleration+j,50):0,a.keyCode){case this.options.keyBindings.pageUp:this.hasHorizontalScroll&&!this.hasVerticalScroll?e+=d?1:this.wrapperWidth:f+=d?1:this.wrapperHeight;break;case this.options.keyBindings.pageDown:this.hasHorizontalScroll&&!this.hasVerticalScroll?e-=d?1:this.wrapperWidth:f-=d?1:this.wrapperHeight;break;case this.options.keyBindings.end:e=d?this.pages.length-1:this.maxScrollX,f=d?this.pages[0].length-1:this.maxScrollY;break;case this.options.keyBindings.home:e=0,f=0;break;case this.options.keyBindings.left:e+=d?-1:5+this.keyAcceleration>>0;break;case this.options.keyBindings.up:f+=d?1:5+this.keyAcceleration>>0;break;case this.options.keyBindings.right:e-=d?-1:5+this.keyAcceleration>>0;break;case this.options.keyBindings.down:f-=d?1:5+this.keyAcceleration>>0;break;default:return}if(d)return void this.goToPage(e,f);e>0?(e=0,this.keyAcceleration=0):e0?(f=0,this.keyAcceleration=0):f=l)return f.isAnimating=!1,f._translate(a,b),void(f.resetPosition(f.options.bounceTime)||f._execEvent("scrollEnd"));p=(p-k)/c,o=d(p),m=(a-i)*o+i,n=(b-j)*o+j,f._translate(m,n),f.isAnimating&&g(e)}var f=this,i=this.x,j=this.y,k=h.getTime(),l=k+c;this.isAnimating=!0,e()},handleEvent:function(a){switch(a.type){case"touchstart":case"pointerdown":case"MSPointerDown":case"mousedown":this._start(a);break;case"touchmove":case"pointermove":case"MSPointerMove":case"mousemove":this._move(a);break;case"touchend":case"pointerup":case"MSPointerUp":case"mouseup":case"touchcancel":case"pointercancel":case"MSPointerCancel":case"mousecancel":this._end(a);break;case"orientationchange":case"resize":this._resize();break;case"transitionend":case"webkitTransitionEnd":case"oTransitionEnd":case"MSTransitionEnd":this._transitionEnd(a);break;case"wheel":case"DOMMouseScroll":case"mousewheel":this._wheel(a);break;case"keydown":this._key(a);break;case"click":this.enabled&&!a._constructed&&(a.preventDefault(),a.stopPropagation())}}},f.prototype={handleEvent:function(a){switch(a.type){case"touchstart":case"pointerdown":case"MSPointerDown":case"mousedown":this._start(a);break;case"touchmove":case"pointermove":case"MSPointerMove":case"mousemove":this._move(a);break;case"touchend":case"pointerup":case"MSPointerUp":case"mouseup":case"touchcancel":case"pointercancel":case"MSPointerCancel":case"mousecancel":this._end(a)}},destroy:function(){this.options.fadeScrollbars&&(clearTimeout(this.fadeTimeout),this.fadeTimeout=null),this.options.interactive&&(h.removeEvent(this.indicator,"touchstart",this),h.removeEvent(this.indicator,h.prefixPointerEvent("pointerdown"),this),h.removeEvent(this.indicator,"mousedown",this),h.removeEvent(a,"touchmove",this),h.removeEvent(a,h.prefixPointerEvent("pointermove"),this),h.removeEvent(a,"mousemove",this),h.removeEvent(a,"touchend",this),h.removeEvent(a,h.prefixPointerEvent("pointerup"),this),h.removeEvent(a,"mouseup",this)),this.options.defaultScrollbars&&this.wrapper.parentNode.removeChild(this.wrapper)},_start:function(b){var c=b.touches?b.touches[0]:b;b.preventDefault(),b.stopPropagation(),this.transitionTime(),this.initiated=!0,this.moved=!1,this.lastPointX=c.pageX,this.lastPointY=c.pageY,this.startTime=h.getTime(),this.options.disableTouch||h.addEvent(a,"touchmove",this),this.options.disablePointer||h.addEvent(a,h.prefixPointerEvent("pointermove"),this),this.options.disableMouse||h.addEvent(a,"mousemove",this),this.scroller._execEvent("beforeScrollStart")},_move:function(a){var b,c,d,e,f=a.touches?a.touches[0]:a;h.getTime();this.moved||this.scroller._execEvent("scrollStart"),this.moved=!0,b=f.pageX-this.lastPointX,this.lastPointX=f.pageX,c=f.pageY-this.lastPointY,this.lastPointY=f.pageY,d=this.x+b,e=this.y+c,this._pos(d,e),a.preventDefault(),a.stopPropagation()},_end:function(b){if(this.initiated){if(this.initiated=!1,b.preventDefault(),b.stopPropagation(),h.removeEvent(a,"touchmove",this),h.removeEvent(a,h.prefixPointerEvent("pointermove"),this),h.removeEvent(a,"mousemove",this),this.scroller.options.snap){var d=this.scroller._nearestSnap(this.scroller.x,this.scroller.y),e=this.options.snapSpeed||c.max(c.max(c.min(c.abs(this.scroller.x-d.x),1e3),c.min(c.abs(this.scroller.y-d.y),1e3)),300);this.scroller.x==d.x&&this.scroller.y==d.y||(this.scroller.directionX=0,this.scroller.directionY=0,this.scroller.currentPage=d,this.scroller.scrollTo(d.x,d.y,e,this.scroller.options.bounceEasing))}this.moved&&this.scroller._execEvent("scrollEnd")}},transitionTime:function(a){a=a||0;var b=h.style.transitionDuration;if(b&&(this.indicatorStyle[b]=a+"ms",!a&&h.isBadAndroid)){this.indicatorStyle[b]="0.0001ms";var c=this;g(function(){"0.0001ms"===c.indicatorStyle[b]&&(c.indicatorStyle[b]="0s")})}},transitionTimingFunction:function(a){this.indicatorStyle[h.style.transitionTimingFunction]=a},refresh:function(){this.transitionTime(),this.options.listenX&&!this.options.listenY?this.indicatorStyle.display=this.scroller.hasHorizontalScroll?"block":"none":this.options.listenY&&!this.options.listenX?this.indicatorStyle.display=this.scroller.hasVerticalScroll?"block":"none":this.indicatorStyle.display=this.scroller.hasHorizontalScroll||this.scroller.hasVerticalScroll?"block":"none",this.scroller.hasHorizontalScroll&&this.scroller.hasVerticalScroll?(h.addClass(this.wrapper,"iScrollBothScrollbars"),h.removeClass(this.wrapper,"iScrollLoneScrollbar"),this.options.defaultScrollbars&&this.options.customStyle&&(this.options.listenX?this.wrapper.style.right="8px":this.wrapper.style.bottom="8px")):(h.removeClass(this.wrapper,"iScrollBothScrollbars"),h.addClass(this.wrapper,"iScrollLoneScrollbar"),this.options.defaultScrollbars&&this.options.customStyle&&(this.options.listenX?this.wrapper.style.right="2px":this.wrapper.style.bottom="2px"));this.wrapper.offsetHeight;this.options.listenX&&(this.wrapperWidth=this.wrapper.clientWidth,this.options.resize?(this.indicatorWidth=c.max(c.round(this.wrapperWidth*this.wrapperWidth/(this.scroller.scrollerWidth||this.wrapperWidth||1)),8),this.indicatorStyle.width=this.indicatorWidth+"px"):this.indicatorWidth=this.indicator.clientWidth,this.maxPosX=this.wrapperWidth-this.indicatorWidth,"clip"==this.options.shrink?(this.minBoundaryX=8-this.indicatorWidth,this.maxBoundaryX=this.wrapperWidth-8):(this.minBoundaryX=0,this.maxBoundaryX=this.maxPosX),this.sizeRatioX=this.options.speedRatioX||this.scroller.maxScrollX&&this.maxPosX/this.scroller.maxScrollX),this.options.listenY&&(this.wrapperHeight=this.wrapper.clientHeight,this.options.resize?(this.indicatorHeight=c.max(c.round(this.wrapperHeight*this.wrapperHeight/(this.scroller.scrollerHeight||this.wrapperHeight||1)),8),this.indicatorStyle.height=this.indicatorHeight+"px"):this.indicatorHeight=this.indicator.clientHeight,this.maxPosY=this.wrapperHeight-this.indicatorHeight,"clip"==this.options.shrink?(this.minBoundaryY=8-this.indicatorHeight,this.maxBoundaryY=this.wrapperHeight-8):(this.minBoundaryY=0,this.maxBoundaryY=this.maxPosY),this.maxPosY=this.wrapperHeight-this.indicatorHeight,this.sizeRatioY=this.options.speedRatioY||this.scroller.maxScrollY&&this.maxPosY/this.scroller.maxScrollY),this.updatePosition()},updatePosition:function(){var a=this.options.listenX&&c.round(this.sizeRatioX*this.scroller.x)||0,b=this.options.listenY&&c.round(this.sizeRatioY*this.scroller.y)||0;this.options.ignoreBoundaries||(athis.maxBoundaryX?"scale"==this.options.shrink?(this.width=c.max(this.indicatorWidth-(a-this.maxPosX),8),this.indicatorStyle.width=this.width+"px",a=this.maxPosX+this.indicatorWidth-this.width):a=this.maxBoundaryX:"scale"==this.options.shrink&&this.width!=this.indicatorWidth&&(this.width=this.indicatorWidth,this.indicatorStyle.width=this.width+"px"),bthis.maxBoundaryY?"scale"==this.options.shrink?(this.height=c.max(this.indicatorHeight-3*(b-this.maxPosY),8),this.indicatorStyle.height=this.height+"px",b=this.maxPosY+this.indicatorHeight-this.height):b=this.maxBoundaryY:"scale"==this.options.shrink&&this.height!=this.indicatorHeight&&(this.height=this.indicatorHeight,this.indicatorStyle.height=this.height+"px")),this.x=a,this.y=b,this.scroller.options.useTransform?this.indicatorStyle[h.style.transform]="translate("+a+"px,"+b+"px)"+this.scroller.translateZ:(this.indicatorStyle.left=a+"px",this.indicatorStyle.top=b+"px")},_pos:function(a,b){a<0?a=0:a>this.maxPosX&&(a=this.maxPosX),b<0?b=0:b>this.maxPosY&&(b=this.maxPosY),a=this.options.listenX?c.round(a/this.sizeRatioX):this.scroller.x,b=this.options.listenY?c.round(b/this.sizeRatioY):this.scroller.y,this.scroller.scrollTo(a,b)},fade:function(a,b){if(!b||this.visible){clearTimeout(this.fadeTimeout),this.fadeTimeout=null;var c=a?250:500,d=a?0:300;a=a?"1":"0",this.wrapperStyle[h.style.transitionDuration]=c+"ms",this.fadeTimeout=setTimeout(function(a){this.wrapperStyle.opacity=a,this.visible=+a}.bind(this,a),d)}}},d.utils=h,"undefined"!=typeof module&&module.exports?module.exports=d:"function"==typeof define&&define.amd?define(function(){return d}):a.IScroll=d}(window,document,Math);var LogUtils=function(){var a=!1;return{log:function(b){a&&console.log(b)},error:function(a){console.error(a)},enable:function(){a=!0},disable:function(){a=!1}}}(),DateUtils=function(){return{_y:function(a){return a.getFullYear()},_m:function(a){return a.getMonth()},_rm:function(a){return a.getMonth()+1},_d:function(a){return a.getDate()},_h:function(a){return a.getHours()},_i:function(a){return a.getMinutes()},_s:function(a){return a.getSeconds()}}}(),ComponentCountProvider=function(){var a=0;return{incrementAndGet:function(){return++a}}}(),ComponentDefine=function(){var a={};return a.dateLabels={year:"年",month:"月",day:"日",hour:"时",minute:"分",second:"秒"},a.presetType=["time","date","datetime","diy"],a.validateSupportType=function(a){var b=!1;return this.presetType.forEach(function(c){c===a&&(b=!0)}),b},a}(),ComponentUtils=function(){return{getSelectedValueIndex:function(a,b){var c=-1;return a.forEach(function(a,d){b===a&&(c=d)}),c},fillArr:function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},getTop:function(a,b){return 0-a*b},getDisplayedTime:function(a){return{h:DateUtils._h(a),i:DateUtils._i(a),s:DateUtils._s(a)}},isDate:function(a){return"object"==typeof a&&a instanceof Date},getDayOfMonth:function(a,b){return 32-new Date(a,b-1,32).getDate()}}}(),DateTime=function(a,b){var c={},d=new Date,e={};e.opts=b||DateTime.defaultOpts,e.domHook=a;var f={_createDomElement:function(a){var b=document.createElement("div");return b.innerHTML=a,b.firstChild},_createWrapContainer:function(a){return this._createDomElement('
                                          ')},_createWrapLine:function(a){return this._createDomElement('
                                          ')},_createWrapItem:function(a,b,c){return this._createDomElement('
                                          ')},_createItemList:function(a){return this._createDomElement('
                                            ')},_createItem:function(a,b,c){return a?this._createDomElement('
                                          • '+b+" "+c+"
                                          • "):this._createDomElement("
                                          • "+b+" "+c+"
                                          • ")},_resetItems:function(a){var b=80|e.opts.itemWidth;return window.screen.width/a.length")),g.appendChild(j._createDomElement("
                                          • ")),e.valueMap.forEach(function(a,b){var c=j._createItem(h===b,a,k);e.htmlList.push(c),g.appendChild(c)});var l=j._createDomElement("
                                          • ");e.emptyLiHook=l,e.listHook=g,g.appendChild(l),g.appendChild(j._createDomElement("
                                          • ")),f.appendChild(g),d.appendChild(f)}),e.domHook.innerHTML="",e.domHook.appendChild(d)},_init:function(a){switch(a){case"date":this._initDateConfig();break;case"time":this._initTimeConfig();break;case"diy":this._initDiyConfig();break;case"datetime":this._initDateTimeConfig()}},_getYearConfig:function(a,b,c){return{top:ComponentUtils.getTop(e.lineHeight,a-b),value:a,oldValue:a,minValue:b,maxValue:c,htmlList:[],valueMap:ComponentUtils.fillArr(b,c)}},_getMonthConfig:function(a){return{top:ComponentUtils.getTop(e.lineHeight,a-1),value:a,oldValue:a,minValue:1,maxValue:12,htmlList:[],valueMap:ComponentUtils.fillArr(1,12)}},_getDayConfig:function(a,b){return{top:ComponentUtils.getTop(e.lineHeight,a-1),value:a,oldValue:a,minValue:1,maxValue:b,htmlList:[],valueMap:ComponentUtils.fillArr(1,b)}},_getHourConfig:function(a){return{top:ComponentUtils.getTop(e.lineHeight,a),value:a,oldValue:a,htmlList:[],valueMap:ComponentUtils.fillArr(0,23)}},_getMinuteConfig:function(a){return{top:ComponentUtils.getTop(e.lineHeight,a),value:a,oldValue:a,htmlList:[],valueMap:ComponentUtils.fillArr(0,59)}},_getSecondConfig:function(a){return{top:ComponentUtils.getTop(e.lineHeight,a),value:a,oldValue:a,htmlList:[],valueMap:ComponentUtils.fillArr(0,59)}},_getDiyConfig:function(a,b,c){var d={key:a,value:b,htmlList:[],valueMap:c};return d.index=ComponentUtils.getSelectedValueIndex(c,b),d.top=ComponentUtils.getTop(e.lineHeight,d.index),d},_initDateConfig:function(){var a=e.opts,b=a.minDate.getFullYear(),f=a.maxDate.getFullYear(),g=ComponentUtils.isDate(a.date)?a.date:d,h={y:DateUtils._y(g),m:DateUtils._rm(g),d:DateUtils._d(g)};LogUtils.log(h),e.itemList=["year","month","day"];var i=ComponentUtils.getDayOfMonth(h.y,h.m);LogUtils.log("dayOfMonth= "+i),e.dayOfMonth=i,c.year={top:ComponentUtils.getTop(e.lineHeight,h.y-b),value:h.y,oldValue:h.y,minValue:b,maxValue:f,htmlList:[],valueMap:ComponentUtils.fillArr(b,f)},c.month={top:ComponentUtils.getTop(e.lineHeight,h.m-1),value:h.m,oldValue:h.m,minValue:1,maxValue:12,htmlList:[],valueMap:ComponentUtils.fillArr(1,12)},c.day={top:ComponentUtils.getTop(e.lineHeight,h.d-1),value:h.d,oldValue:h.d,minValue:1,maxValue:i,htmlList:[],valueMap:ComponentUtils.fillArr(1,i)}},_initTimeConfig:function(){var a=e.opts,b=ComponentUtils.isDate(a.date)?a.date:d,f={h:DateUtils._h(b),i:DateUtils._i(b),s:DateUtils._s(b)};LogUtils.log(f),e.itemList=["hour","minute","second"];var g=ComponentUtils.getDayOfMonth(f.y,f.m);LogUtils.log("dayOfMonth= "+g),e.dayOfMonth=g,c.hour=this._getHourConfig(f.h),c.minute=this._getMinuteConfig(f.i),c.second=this._getSecondConfig(f.s)},_initDiyConfig:function(){var a=e.opts;a.data&&(e.itemList=[],a.data.forEach(function(a){c[a.key]=f._getDiyConfig(a.key,a.value,a.resource),ComponentDefine.dateLabels[a.key]=a.unit,e.itemList.push(a.key)}))},_initDateTimeConfig:function(){var a=e.opts,b=a.minDate.getFullYear(),f=a.maxDate.getFullYear(),g=ComponentUtils.isDate(a.date)?a.date:d,h={y:DateUtils._y(g),m:DateUtils._rm(g),d:DateUtils._d(g),h:DateUtils._h(g),i:DateUtils._i(g),s:DateUtils._s(g)};LogUtils.log(h),e.itemList=["year","month","day","hour","minute","second"];var i=ComponentUtils.getDayOfMonth(h.y,h.m);LogUtils.log("dayOfMonth= "+i),e.dayOfMonth=i,c.year=this._getYearConfig(h.y,b,f),c.month=this._getMonthConfig(h.m),c.day=this._getDayConfig(h.d,i),c.hour=this._getHourConfig(h.h),c.minute=this._getMinuteConfig(h.i),c.second=this._getSecondConfig(h.s)}},g={_getSelectValue:function(){var a={};return e.itemList.forEach(function(b){var d=c[b];if(d){var f=d.top;a[b]=d.valueMap[Math.abs(f)/e.lineHeight]}}),a}},h={_init:function(){var a=this;e.itemList.forEach(function(b){var d=c[b];d&&a._bindItemEvent(d,b)})},_destroy:function(){e.itemList.forEach(function(a){var b=c[a];b&&b.scroller&&(b.scroller.destroy(),b.scroller=null)})},_syncValue:function(){var a=g._getSelectValue();e.itemList.forEach(function(b){var d=c[b];d&&(d.oldValue=d.value,d.value=a[b],d.index=ComponentUtils.getSelectedValueIndex(d.valueMap,d.value),d.top=ComponentUtils.getTop(e.lineHeight,d.index))})},_syncStatus:function(){e.itemList.forEach(function(a){var b=c[a];if(b){var d=ComponentUtils.getSelectedValueIndex(b.valueMap,b.oldValue),e=ComponentUtils.getSelectedValueIndex(b.valueMap,b.value);LogUtils.log("old index="+d+";current index="+e),d!==e&&(b.htmlList[d].className="item",b.htmlList[e].className="item selected")}})},_syncScroll:function(){e.itemList.forEach(function(a){var b=c[a];if(b){var d=ComponentUtils.getSelectedValueIndex(b.valueMap,b.value),f=ComponentUtils.getTop(e.lineHeight,d);b.scroller.scrollToIng=!0,b.scroller.scrollTo(0,f,300,IScroll.utils.ease.circular)}})},_callChangeCallback:function(){var a=e.opts.onChange;a&&"function"==typeof a&&setTimeout(function(){a.call(this,g._getSelectValue())},0)},_fixDayOfMonth:function(a){if("month"===a){var b=g._getSelectValue(),d=ComponentUtils.getDayOfMonth(b.year,b.month-1);LogUtils.log("day of month = "+d);var h=e.dayOfMonth;if(LogUtils.log("current day of month = "+h),h!==d){var i=c.day;if(i.valueMap=ComponentUtils.fillArr(1,d),d>h)for(var j=ComponentUtils.getSelectedValueIndex(i.valueMap,i.value),k=ComponentDefine.dateLabels.day,l=h;d>l;l++){var m=f._createItem(j===l,i.valueMap[l],k);i.htmlList.push(m),i.listHook.insertBefore(m,i.emptyLiHook)}else if(h>d){for(var n=h-d,o=0;od&&(i.oldValue=d-1,i.value=d)}e.dayOfMonth=d}c.day.scroller.refresh()}},_bindItemEvent:function(a,b){var d=this._createScroller(c.guid,b);d.key=b,d.scrollToIng=!0,d.scrollTo(0,a.top,0,IScroll.utils.ease.circular);var f=e.lineHeight,g=this;d.on("scrollEnd",function(){var c=this.y,d=Math.round(c/f);a.top!==c&&(a.top=f*d,g._syncValue(),g._fixDayOfMonth(b),g._syncStatus(),g._syncScroll(),g._callChangeCallback())}),a.scroller=d},_createScroller:function(a,b){return new IScroll("#ui-datetime-"+a+"-ad-"+b,{bounceEasing:"ease",bounceTime:600})}};return c.init=function(){c.guid=ComponentCountProvider.incrementAndGet();var a=e.opts;if(e.height=a.height||200,e.lineHeight=a.lineHeight||40,!ComponentDefine.validateSupportType(a.type))return void LogUtils.error("unSupport type!");f._init(a.type),f._render(),h._init()},c.show=function(){e.domHook&&(e.domHook.style.display="block")},c.hide=function(){e.domHook&&(e.domHook.style.display="none")},c.refreshEventBinder=function(){h._destroy(),h._init()},c};DateTime.defaultOpts={type:"date",date:new Date,minDate:new Date,maxDate:new Date,data:[{key:"day",resource:["上午","下午"],value:"上午",unit:""},{key:"hour",resource:["01","02","03","04","05","06","07","08","09","10","11","12"],value:"09",unit:""},{key:"minute",resource:["01","02","03","04","05","06","07","08","09","10"],value:"05",unit:""}],onChange:function(a){console.log("call back",a)}},function(a){a&&(a.fn.datetime=function(b){return this.each(function(){var c=a(this),d=c.data("datetime"),e="object"==typeof b&&b;d||(d=new DateTime(this,e),d.init(),c.data("datatime",d)),"string"==typeof b&&d[b]()})})}(Window.Zepto||window.jQuery); \ No newline at end of file diff --git a/common/js/baiduStatis.js b/common/js/baiduStatis.js new file mode 100644 index 0000000..9f220cc --- /dev/null +++ b/common/js/baiduStatis.js @@ -0,0 +1,31 @@ +var _hmt = _hmt || []; +(function() { + var hostObj = hostCheck(); + + console.log(hostObj); + var src = ''; + if(hostObj.isRealTuTu || hostObj.isBetaTuTu){ + src = 'https://hm.baidu.com/hm.js?3d537e5bc5d69ff509bbd31502f0c899'; + }else if(hostObj.isOutside){ + src = 'https://hm.baidu.com/hm.js?a544f687a1fb6602746c3f5700d8484c'; + }else{ + src = ''; + } + + if(src){ + var hm = document.createElement("script"); + hm.src = src; + var s = document.getElementsByTagName("script")[0]; + s.parentNode.insertBefore(hm, s); + } +})(); + + +function hostCheck() { + var host = window.location.host; + return { + isRealTuTu: host.match('api.qxjiaoyou'), + isBetaTuTu: host.match('apibeta.qxjiaoyou'), + isOutside: host.match('www.18pk') + } +} diff --git a/common/js/bootstrap-datetimepicker.min.js b/common/js/bootstrap-datetimepicker.min.js new file mode 100644 index 0000000..512fcbb --- /dev/null +++ b/common/js/bootstrap-datetimepicker.min.js @@ -0,0 +1 @@ +(function(a){if(typeof define==="function"&&define.amd){define(["jquery"],a)}else{if(typeof exports==="object"){a(require("jquery"))}else{a(jQuery)}}}(function(f,c){if(!("indexOf" in Array.prototype)){Array.prototype.indexOf=function(k,j){if(j===c){j=0}if(j<0){j+=this.length}if(j<0){j=0}for(var l=this.length;j=this.startDate&&j<=this.endDate){this.date=j;this.setValue();this.viewDate=this.date;this.fill()}else{this.element.trigger({type:"outOfRange",date:j,startDate:this.startDate,endDate:this.endDate})}},setFormat:function(k){this.format=g.parseFormat(k,this.formatType);var j;if(this.isInput){j=this.element}else{if(this.component){j=this.element.find("input")}}if(j&&j.val()){this.setValue()}},setValue:function(){var j=this.getFormattedDate();if(!this.isInput){if(this.component){this.element.find("input").val(j)}this.element.data("date",j)}else{this.element.val(j)}if(this.linkField){f("#"+this.linkField).val(this.getFormattedDate(this.linkFormat))}},getFormattedDate:function(j){if(j==c){j=this.format}return g.formatDate(this.date,j,this.language,this.formatType)},setStartDate:function(j){this.startDate=j||-Infinity;if(this.startDate!==-Infinity){this.startDate=g.parseDate(this.startDate,this.format,this.language,this.formatType)}this.update();this.updateNavArrows()},setEndDate:function(j){this.endDate=j||Infinity;if(this.endDate!==Infinity){this.endDate=g.parseDate(this.endDate,this.format,this.language,this.formatType)}this.update();this.updateNavArrows()},setDatesDisabled:function(j){this.datesDisabled=j||[];if(!f.isArray(this.datesDisabled)){this.datesDisabled=this.datesDisabled.split(/,\s*/)}this.datesDisabled=f.map(this.datesDisabled,function(k){return g.parseDate(k,this.format,this.language,this.formatType).toDateString()});this.update();this.updateNavArrows()},setTitle:function(j,k){return this.picker.find(j).find("th:eq(1)").text(this.title===false?k:this.title)},setDaysOfWeekDisabled:function(j){this.daysOfWeekDisabled=j||[];if(!f.isArray(this.daysOfWeekDisabled)){this.daysOfWeekDisabled=this.daysOfWeekDisabled.split(/,\s*/)}this.daysOfWeekDisabled=f.map(this.daysOfWeekDisabled,function(k){return parseInt(k,10)});this.update();this.updateNavArrows()},setMinutesDisabled:function(j){this.minutesDisabled=j||[];if(!f.isArray(this.minutesDisabled)){this.minutesDisabled=this.minutesDisabled.split(/,\s*/)}this.minutesDisabled=f.map(this.minutesDisabled,function(k){return parseInt(k,10)});this.update();this.updateNavArrows()},setHoursDisabled:function(j){this.hoursDisabled=j||[];if(!f.isArray(this.hoursDisabled)){this.hoursDisabled=this.hoursDisabled.split(/,\s*/)}this.hoursDisabled=f.map(this.hoursDisabled,function(k){return parseInt(k,10)});this.update();this.updateNavArrows()},place:function(){if(this.isInline){return}if(!this.zIndex){var k=0;f("div").each(function(){var p=parseInt(f(this).css("zIndex"),10);if(p>k){k=p}});this.zIndex=k+10}var o,n,m,l;if(this.container instanceof f){l=this.container.offset()}else{l=f(this.container).offset()}if(this.component){o=this.component.offset();m=o.left;if(this.pickerPosition=="bottom-left"||this.pickerPosition=="top-left"){m+=this.component.outerWidth()-this.picker.outerWidth()}}else{o=this.element.offset();m=o.left;if(this.pickerPosition=="bottom-left"||this.pickerPosition=="top-left"){m+=this.element.outerWidth()-this.picker.outerWidth()}}var j=document.body.clientWidth||window.innerWidth;if(m+220>j){m=j-220}if(this.component){n=n-l.top+169;m=m-l.left+210}else{if(this.pickerPosition=="top-left"||this.pickerPosition=="top-right"){n=o.top-this.picker.outerHeight()}else{n=o.top+this.height}}this.picker.css({top:n,left:m,zIndex:this.zIndex})},update:function(){var j,k=false;if(arguments&&arguments.length&&(typeof arguments[0]==="string"||arguments[0] instanceof Date)){j=arguments[0];k=true}else{j=(this.isInput?this.element.val():this.element.find("input").val())||this.element.data("date")||this.initialDate;if(typeof j=="string"||j instanceof String){j=j.replace(/^\s+|\s+$/g,"")}}if(!j){j=new Date();k=false}this.date=g.parseDate(j,this.format,this.language,this.formatType);if(k){this.setValue()}if(this.datethis.endDate){this.viewDate=new Date(this.endDate)}else{this.viewDate=new Date(this.date)}}this.fill()},fillDow:function(){var j=this.weekStart,k="";while(j'+a[this.language].daysMin[(j++)%7]+""}k+="";this.picker.find(".datetimepicker-days thead").append(k)},fillMonths:function(){var k="",j=0;while(j<12){k+=''+a[this.language].monthsShort[j++]+""}this.picker.find(".datetimepicker-months td").html(k)},fill:function(){if(this.date==null||this.viewDate==null){return}var H=new Date(this.viewDate),u=H.getUTCFullYear(),I=H.getUTCMonth(),n=H.getUTCDate(),D=H.getUTCHours(),y=H.getUTCMinutes(),z=this.startDate!==-Infinity?this.startDate.getUTCFullYear():-Infinity,E=this.startDate!==-Infinity?this.startDate.getUTCMonth()+1:-Infinity,q=this.endDate!==Infinity?this.endDate.getUTCFullYear():Infinity,A=this.endDate!==Infinity?this.endDate.getUTCMonth()+1:Infinity,r=(new h(this.date.getUTCFullYear(),this.date.getUTCMonth(),this.date.getUTCDate())).valueOf(),G=new Date();this.setTitle(".datetimepicker-days",a[this.language].months[I]+" "+u);if(this.formatViewType=="time"){var k=this.getFormattedDate();this.setTitle(".datetimepicker-hours",k);this.setTitle(".datetimepicker-minutes",k)}else{this.setTitle(".datetimepicker-hours",n+" "+a[this.language].months[I]+" "+u);this.setTitle(".datetimepicker-minutes",n+" "+a[this.language].months[I]+" "+u)}this.picker.find("tfoot th.today").text(a[this.language].today||a.en.today).toggle(this.todayBtn!==false);this.picker.find("tfoot th.clear").text(a[this.language].clear||a.en.clear).toggle(this.clearBtn!==false);this.updateNavArrows();this.fillMonths();var K=h(u,I-1,28,0,0,0,0),C=g.getDaysInMonth(K.getUTCFullYear(),K.getUTCMonth());K.setUTCDate(C);K.setUTCDate(C-(K.getUTCDay()-this.weekStart+7)%7);var j=new Date(K);j.setUTCDate(j.getUTCDate()+42);j=j.valueOf();var s=[];var v;while(K.valueOf()")}v="";if(K.getUTCFullYear()u||(K.getUTCFullYear()==u&&K.getUTCMonth()>I)){v+=" new"}}if(this.todayHighlight&&K.getUTCFullYear()==G.getFullYear()&&K.getUTCMonth()==G.getMonth()&&K.getUTCDate()==G.getDate()){v+=" today"}if(K.valueOf()==r){v+=" active"}if((K.valueOf()+86400000)<=this.startDate||K.valueOf()>this.endDate||f.inArray(K.getUTCDay(),this.daysOfWeekDisabled)!==-1||f.inArray(K.toDateString(),this.datesDisabled)!==-1){v+=" disabled"}s.push(''+K.getUTCDate()+"");if(K.getUTCDay()==this.weekEnd){s.push("")}K.setUTCDate(K.getUTCDate()+1)}this.picker.find(".datetimepicker-days tbody").empty().append(s.join(""));s=[];var w="",F="",t="";var l=this.hoursDisabled||[];for(var B=0;B<24;B++){if(l.indexOf(B)!==-1){continue}var x=h(u,I,n,B);v="";if((x.valueOf()+3600000)<=this.startDate||x.valueOf()>this.endDate){v+=" disabled"}else{if(D==B){v+=" active"}}if(this.showMeridian&&a[this.language].meridiem.length==2){F=(B<12?a[this.language].meridiem[0]:a[this.language].meridiem[1]);if(F!=t){if(t!=""){s.push("")}s.push('
                                            '+F.toUpperCase()+"")}t=F;w=(B%12?B%12:12);s.push(''+w+"");if(B==23){s.push("
                                            ")}}else{w=B+":00";s.push(''+w+"")}}this.picker.find(".datetimepicker-hours td").html(s.join(""));s=[];w="",F="",t="";var m=this.minutesDisabled||[];for(var B=0;B<60;B+=this.minuteStep){if(m.indexOf(B)!==-1){continue}var x=h(u,I,n,D,B,0);v="";if(x.valueOf()this.endDate){v+=" disabled"}else{if(Math.floor(y/this.minuteStep)==Math.floor(B/this.minuteStep)){v+=" active"}}if(this.showMeridian&&a[this.language].meridiem.length==2){F=(D<12?a[this.language].meridiem[0]:a[this.language].meridiem[1]);if(F!=t){if(t!=""){s.push("")}s.push('
                                            '+F.toUpperCase()+"")}t=F;w=(D%12?D%12:12);s.push(''+w+":"+(B<10?"0"+B:B)+"");if(B==59){s.push("
                                            ")}}else{w=B+":00";s.push(''+D+":"+(B<10?"0"+B:B)+"")}}this.picker.find(".datetimepicker-minutes td").html(s.join(""));var L=this.date.getUTCFullYear();var p=this.setTitle(".datetimepicker-months",u).end().find("span").removeClass("active");if(L==u){var o=p.length-12;p.eq(this.date.getUTCMonth()+o).addClass("active")}if(uq){p.addClass("disabled")}if(u==z){p.slice(0,E+1).addClass("disabled")}if(u==q){p.slice(A).addClass("disabled")}s="";u=parseInt(u/10,10)*10;var J=this.setTitle(".datetimepicker-years",u+"-"+(u+9)).end().find("td");u-=1;for(var B=-1;B<11;B++){s+='q?" disabled":"")+'">'+u+"";u+=1}J.html(s);this.place()},updateNavArrows:function(){var n=new Date(this.viewDate),l=n.getUTCFullYear(),m=n.getUTCMonth(),k=n.getUTCDate(),j=n.getUTCHours();switch(this.viewMode){case 0:if(this.startDate!==-Infinity&&l<=this.startDate.getUTCFullYear()&&m<=this.startDate.getUTCMonth()&&k<=this.startDate.getUTCDate()&&j<=this.startDate.getUTCHours()){this.picker.find(".prev").css({visibility:"hidden"})}else{this.picker.find(".prev").css({visibility:"visible"})}if(this.endDate!==Infinity&&l>=this.endDate.getUTCFullYear()&&m>=this.endDate.getUTCMonth()&&k>=this.endDate.getUTCDate()&&j>=this.endDate.getUTCHours()){this.picker.find(".next").css({visibility:"hidden"})}else{this.picker.find(".next").css({visibility:"visible"})}break;case 1:if(this.startDate!==-Infinity&&l<=this.startDate.getUTCFullYear()&&m<=this.startDate.getUTCMonth()&&k<=this.startDate.getUTCDate()){this.picker.find(".prev").css({visibility:"hidden"})}else{this.picker.find(".prev").css({visibility:"visible"})}if(this.endDate!==Infinity&&l>=this.endDate.getUTCFullYear()&&m>=this.endDate.getUTCMonth()&&k>=this.endDate.getUTCDate()){this.picker.find(".next").css({visibility:"hidden"})}else{this.picker.find(".next").css({visibility:"visible"})}break;case 2:if(this.startDate!==-Infinity&&l<=this.startDate.getUTCFullYear()&&m<=this.startDate.getUTCMonth()){this.picker.find(".prev").css({visibility:"hidden"})}else{this.picker.find(".prev").css({visibility:"visible"})}if(this.endDate!==Infinity&&l>=this.endDate.getUTCFullYear()&&m>=this.endDate.getUTCMonth()){this.picker.find(".next").css({visibility:"hidden"})}else{this.picker.find(".next").css({visibility:"visible"})}break;case 3:case 4:if(this.startDate!==-Infinity&&l<=this.startDate.getUTCFullYear()){this.picker.find(".prev").css({visibility:"hidden"})}else{this.picker.find(".prev").css({visibility:"visible"})}if(this.endDate!==Infinity&&l>=this.endDate.getUTCFullYear()){this.picker.find(".next").css({visibility:"hidden"})}else{this.picker.find(".next").css({visibility:"visible"})}break}},mousewheel:function(k){k.preventDefault();k.stopPropagation();if(this.wheelPause){return}this.wheelPause=true;var j=k.originalEvent;var m=j.wheelDelta;var l=m>0?1:(m===0)?0:-1;if(this.wheelViewModeNavigationInverseDirection){l=-l}this.showMode(l);setTimeout(f.proxy(function(){this.wheelPause=false},this),this.wheelViewModeNavigationDelay)},click:function(n){n.stopPropagation();n.preventDefault();var o=f(n.target).closest("span, td, th, legend");if(o.is("."+this.icontype)){o=f(o).parent().closest("span, td, th, legend")}if(o.length==1){if(o.is(".disabled")){this.element.trigger({type:"outOfRange",date:this.viewDate,startDate:this.startDate,endDate:this.endDate});return}switch(o[0].nodeName.toLowerCase()){case"th":switch(o[0].className){case"switch":this.showMode(1);break;case"prev":case"next":var j=g.modes[this.viewMode].navStep*(o[0].className=="prev"?-1:1);switch(this.viewMode){case 0:this.viewDate=this.moveHour(this.viewDate,j);break;case 1:this.viewDate=this.moveDate(this.viewDate,j);break;case 2:this.viewDate=this.moveMonth(this.viewDate,j);break;case 3:case 4:this.viewDate=this.moveYear(this.viewDate,j);break}this.fill();this.element.trigger({type:o[0].className+":"+this.convertViewModeText(this.viewMode),date:this.viewDate,startDate:this.startDate,endDate:this.endDate});break;case"clear":this.reset();if(this.autoclose){this.hide()}break;case"today":var k=new Date();k=h(k.getFullYear(),k.getMonth(),k.getDate(),k.getHours(),k.getMinutes(),k.getSeconds(),0);if(kthis.endDate){k=this.endDate}}this.viewMode=this.startViewMode;this.showMode(0);this._setDate(k);this.fill();if(this.autoclose){this.hide()}break}break;case"span":if(!o.is(".disabled")){var q=this.viewDate.getUTCFullYear(),p=this.viewDate.getUTCMonth(),r=this.viewDate.getUTCDate(),s=this.viewDate.getUTCHours(),l=this.viewDate.getUTCMinutes(),t=this.viewDate.getUTCSeconds();if(o.is(".month")){this.viewDate.setUTCDate(1);p=o.parent().find("span").index(o);r=this.viewDate.getUTCDate();this.viewDate.setUTCMonth(p);this.element.trigger({type:"changeMonth",date:this.viewDate});if(this.viewSelect>=3){this._setDate(h(q,p,r,s,l,t,0))}}else{if(o.is(".year")){this.viewDate.setUTCDate(1);q=parseInt(o.text(),10)||0;this.viewDate.setUTCFullYear(q);this.element.trigger({type:"changeYear",date:this.viewDate});if(this.viewSelect>=4){this._setDate(h(q,p,r,s,l,t,0))}}else{if(o.is(".hour")){s=parseInt(o.text(),10)||0;if(o.hasClass("hour_am")||o.hasClass("hour_pm")){if(s==12&&o.hasClass("hour_am")){s=0}else{if(s!=12&&o.hasClass("hour_pm")){s+=12}}}this.viewDate.setUTCHours(s);this.element.trigger({type:"changeHour",date:this.viewDate});if(this.viewSelect>=1){this._setDate(h(q,p,r,s,l,t,0))}}else{if(o.is(".minute")){l=parseInt(o.text().substr(o.text().indexOf(":")+1),10)||0;this.viewDate.setUTCMinutes(l);this.element.trigger({type:"changeMinute",date:this.viewDate});if(this.viewSelect>=0){this._setDate(h(q,p,r,s,l,t,0))}}}}}if(this.viewMode!=0){var m=this.viewMode;this.showMode(-1);this.fill();if(m==this.viewMode&&this.autoclose){this.hide()}}else{this.fill();if(this.autoclose){this.hide()}}}break;case"td":if(o.is(".day")&&!o.is(".disabled")){var r=parseInt(o.text(),10)||1;var q=this.viewDate.getUTCFullYear(),p=this.viewDate.getUTCMonth(),s=this.viewDate.getUTCHours(),l=this.viewDate.getUTCMinutes(),t=this.viewDate.getUTCSeconds();if(o.is(".old")){if(p===0){p=11;q-=1}else{p-=1}}else{if(o.is(".new")){if(p==11){p=0;q+=1}else{p+=1}}}this.viewDate.setUTCFullYear(q);this.viewDate.setUTCMonth(p,r);this.element.trigger({type:"changeDay",date:this.viewDate});if(this.viewSelect>=2){this._setDate(h(q,p,r,s,l,t,0))}}var m=this.viewMode;this.showMode(-1);this.fill();if(m==this.viewMode&&this.autoclose){this.hide()}break}}},_setDate:function(j,l){if(!l||l=="date"){this.date=j}if(!l||l=="view"){this.viewDate=j}this.fill();this.setValue();var k;if(this.isInput){k=this.element}else{if(this.component){k=this.element.find("input")}}if(k){k.change();if(this.autoclose&&(!l||l=="date")){}}this.element.trigger({type:"changeDate",date:this.getDate()});if(j==null){this.date=this.viewDate}},moveMinute:function(k,j){if(!j){return k}var l=new Date(k.valueOf());l.setUTCMinutes(l.getUTCMinutes()+(j*this.minuteStep));return l},moveHour:function(k,j){if(!j){return k}var l=new Date(k.valueOf());l.setUTCHours(l.getUTCHours()+j);return l},moveDate:function(k,j){if(!j){return k}var l=new Date(k.valueOf());l.setUTCDate(l.getUTCDate()+j);return l},moveMonth:function(j,k){if(!k){return j}var n=new Date(j.valueOf()),r=n.getUTCDate(),o=n.getUTCMonth(),m=Math.abs(k),q,p;k=k>0?1:-1;if(m==1){p=k==-1?function(){return n.getUTCMonth()==o}:function(){return n.getUTCMonth()!=q};q=o+k;n.setUTCMonth(q);if(q<0||q>11){q=(q+12)%12}}else{for(var l=0;l=this.startDate&&j<=this.endDate},keydown:function(n){if(this.picker.is(":not(:visible)")){if(n.keyCode==27){this.show()}return}var p=false,k,q,o,r,j;switch(n.keyCode){case 27:this.hide();n.preventDefault();break;case 37:case 39:if(!this.keyboardNavigation){break}k=n.keyCode==37?-1:1;viewMode=this.viewMode;if(n.ctrlKey){viewMode+=2}else{if(n.shiftKey){viewMode+=1}}if(viewMode==4){r=this.moveYear(this.date,k);j=this.moveYear(this.viewDate,k)}else{if(viewMode==3){r=this.moveMonth(this.date,k);j=this.moveMonth(this.viewDate,k)}else{if(viewMode==2){r=this.moveDate(this.date,k);j=this.moveDate(this.viewDate,k)}else{if(viewMode==1){r=this.moveHour(this.date,k);j=this.moveHour(this.viewDate,k)}else{if(viewMode==0){r=this.moveMinute(this.date,k);j=this.moveMinute(this.viewDate,k)}}}}}if(this.dateWithinRange(r)){this.date=r;this.viewDate=j;this.setValue();this.update();n.preventDefault();p=true}break;case 38:case 40:if(!this.keyboardNavigation){break}k=n.keyCode==38?-1:1;viewMode=this.viewMode;if(n.ctrlKey){viewMode+=2}else{if(n.shiftKey){viewMode+=1}}if(viewMode==4){r=this.moveYear(this.date,k);j=this.moveYear(this.viewDate,k)}else{if(viewMode==3){r=this.moveMonth(this.date,k);j=this.moveMonth(this.viewDate,k)}else{if(viewMode==2){r=this.moveDate(this.date,k*7);j=this.moveDate(this.viewDate,k*7)}else{if(viewMode==1){if(this.showMeridian){r=this.moveHour(this.date,k*6);j=this.moveHour(this.viewDate,k*6)}else{r=this.moveHour(this.date,k*4);j=this.moveHour(this.viewDate,k*4)}}else{if(viewMode==0){r=this.moveMinute(this.date,k*4);j=this.moveMinute(this.viewDate,k*4)}}}}}if(this.dateWithinRange(r)){this.date=r;this.viewDate=j;this.setValue();this.update();n.preventDefault();p=true}break;case 13:if(this.viewMode!=0){var m=this.viewMode;this.showMode(-1);this.fill();if(m==this.viewMode&&this.autoclose){this.hide()}}else{this.fill();if(this.autoclose){this.hide()}}n.preventDefault();break;case 9:this.hide();break}if(p){var l;if(this.isInput){l=this.element}else{if(this.component){l=this.element.find("input")}}if(l){l.change()}this.element.trigger({type:"changeDate",date:this.getDate()})}},showMode:function(j){if(j){var k=Math.max(0,Math.min(g.modes.length-1,this.viewMode+j));if(k>=this.minView&&k<=this.maxView){this.element.trigger({type:"changeMode",date:this.viewDate,oldViewMode:this.viewMode,newViewMode:k});this.viewMode=k}}this.picker.find(">div").hide().filter(".datetimepicker-"+g.modes[this.viewMode].clsName).css("display","block");this.updateNavArrows()},reset:function(j){this._setDate(null,"date")},convertViewModeText:function(j){switch(j){case 4:return"decade";case 3:return"year";case 2:return"month";case 1:return"day";case 0:return"hour"}}};var b=f.fn.datetimepicker;f.fn.datetimepicker=function(l){var j=Array.apply(null,arguments);j.shift();var k;this.each(function(){var o=f(this),n=o.data("datetimepicker"),m=typeof l=="object"&&l;if(!n){o.data("datetimepicker",(n=new i(this,f.extend({},f.fn.datetimepicker.defaults,m))))}if(typeof l=="string"&&typeof n[l]=="function"){k=n[l].apply(n,j);if(k!==c){return false}}});if(k!==c){return k}else{return this}};f.fn.datetimepicker.defaults={};f.fn.datetimepicker.Constructor=i;var a=f.fn.datetimepicker.dates={en:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"],daysShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat","Sun"],daysMin:["Su","Mo","Tu","We","Th","Fr","Sa","Su"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],monthsShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],meridiem:["am","pm"],suffix:["st","nd","rd","th"],today:"Today",clear:"Clear"}};var g={modes:[{clsName:"minutes",navFnc:"Hours",navStep:1},{clsName:"hours",navFnc:"Date",navStep:1},{clsName:"days",navFnc:"Month",navStep:1},{clsName:"months",navFnc:"FullYear",navStep:1},{clsName:"years",navFnc:"FullYear",navStep:10}],isLeapYear:function(j){return(((j%4===0)&&(j%100!==0))||(j%400===0))},getDaysInMonth:function(j,k){return[31,(g.isLeapYear(j)?29:28),31,30,31,30,31,31,30,31,30,31][k]},getDefaultFormat:function(j,k){if(j=="standard"){if(k=="input"){return"yyyy-mm-dd hh:ii"}else{return"yyyy-mm-dd hh:ii:ss"}}else{if(j=="php"){if(k=="input"){return"Y-m-d H:i"}else{return"Y-m-d H:i:s"}}else{throw new Error("Invalid format type.")}}},validParts:function(j){if(j=="standard"){return/t|hh?|HH?|p|P|ii?|ss?|dd?|DD?|mm?|MM?|yy(?:yy)?/g}else{if(j=="php"){return/[dDjlNwzFmMnStyYaABgGhHis]/g}else{throw new Error("Invalid format type.")}}},nonpunctuation:/[^ -\/:-@\[-`{-~\t\n\rTZ]+/g,parseFormat:function(m,k){var j=m.replace(this.validParts(k),"\0").split("\0"),l=m.match(this.validParts(k));if(!j||!j.length||!l||l.length==0){throw new Error("Invalid date format.")}return{separators:j,parts:l}},parseDate:function(n,w,q,u){if(n instanceof Date){var y=new Date(n.valueOf()-n.getTimezoneOffset()*60000);y.setMilliseconds(0);return y}if(/^\d{4}\-\d{1,2}\-\d{1,2}$/.test(n)){w=this.parseFormat("yyyy-mm-dd",u)}if(/^\d{4}\-\d{1,2}\-\d{1,2}[T ]\d{1,2}\:\d{1,2}$/.test(n)){w=this.parseFormat("yyyy-mm-dd hh:ii",u)}if(/^\d{4}\-\d{1,2}\-\d{1,2}[T ]\d{1,2}\:\d{1,2}\:\d{1,2}[Z]{0,1}$/.test(n)){w=this.parseFormat("yyyy-mm-dd hh:ii:ss",u)}if(/^[-+]\d+[dmwy]([\s,]+[-+]\d+[dmwy])*$/.test(n)){var z=/([-+]\d+)([dmwy])/,o=n.match(/([-+]\d+)([dmwy])/g),j,m;n=new Date();for(var p=0;p',headTemplateV3:' ',contTemplate:'',footTemplate:''};g.template='
                                            '+g.headTemplate+g.contTemplate+g.footTemplate+'
                                            '+g.headTemplate+g.contTemplate+g.footTemplate+'
                                            '+g.headTemplate+""+g.footTemplate+'
                                            '+g.headTemplate+g.contTemplate+g.footTemplate+'
                                            '+g.headTemplate+g.contTemplate+g.footTemplate+"
                                            ";g.templateV3='
                                            '+g.headTemplateV3+g.contTemplate+g.footTemplate+'
                                            '+g.headTemplateV3+g.contTemplate+g.footTemplate+'
                                            '+g.headTemplateV3+""+g.footTemplate+'
                                            '+g.headTemplateV3+g.contTemplate+g.footTemplate+'
                                            '+g.headTemplateV3+g.contTemplate+g.footTemplate+"
                                            ";f.fn.datetimepicker.DPGlobal=g;f.fn.datetimepicker.noConflict=function(){f.fn.datetimepicker=b;return this};f(document).on("focus.datetimepicker.data-api click.datetimepicker.data-api",'[data-provide="datetimepicker"]',function(k){var j=f(this);if(j.data("datetimepicker")){return}k.preventDefault();j.datetimepicker("show")});f(function(){f('[data-provide="datetimepicker-inline"]').datetimepicker()})})); \ No newline at end of file diff --git a/common/js/bootstrap-table.min.js b/common/js/bootstrap-table.min.js new file mode 100644 index 0000000..ae407d4 --- /dev/null +++ b/common/js/bootstrap-table.min.js @@ -0,0 +1,9 @@ +/* +* bootstrap-table - v1.12.1 - 2018-03-12 +* https://github.com/wenzhixin/bootstrap-table +* Copyright (c) 2018 zhixin wen +* Licensed MIT License +*/ +!function(a){"use strict";var b=3;try{b=parseInt(a.fn.dropdown.Constructor.VERSION,10)}catch(c){}var d={3:{buttonsClass:"default",iconsPrefix:"glyphicon",icons:{paginationSwitchDown:"glyphicon-collapse-down icon-chevron-down",paginationSwitchUp:"glyphicon-collapse-up icon-chevron-up",refresh:"glyphicon-refresh icon-refresh",toggleOff:"glyphicon-list-alt icon-list-alt",toggleOn:"glyphicon-list-alt icon-list-alt",columns:"glyphicon-th icon-th",detailOpen:"glyphicon-plus icon-plus",detailClose:"glyphicon-minus icon-minus",fullscreen:"glyphicon-fullscreen"},pullClass:"pull",toobarDropdowHtml:['"],toobarDropdowItemHtml:'
                                          • ',pageDropdownHtml:['"],pageDropdownItemHtml:''},4:{buttonsClass:"secondary",iconsPrefix:"fa",icons:{paginationSwitchDown:"fa-toggle-down",paginationSwitchUp:"fa-toggle-up",refresh:"fa-refresh",toggleOff:"fa-toggle-off",toggleOn:"fa-toggle-on",columns:"fa-th-list",detailOpen:"fa-plus",detailClose:"fa-minus",fullscreen:"fa-arrows-alt"},pullClass:"float",toobarDropdowHtml:['"],toobarDropdowItemHtml:'',pageDropdownHtml:['"],pageDropdownItemHtml:'%s'}}[b],e=null,f=function(a){var b=arguments,c=!0,d=1;return a=a.replace(/%s/g,function(){var a=b[d++];return"undefined"==typeof a?(c=!1,""):a}),c?a:""},g=function(b,c,d,e){var f="";return a.each(b,function(a,b){return b[c]===e?(f=b[d],!1):!0}),f},h=function(b){var c,d,e,f=0,g=[];for(c=0;cd;d++)g[c][d]=!1;for(c=0;ce;e++)g[c+e][k]=!0;for(e=0;j>e;e++)g[c][k+e]=!0}},i=function(){if(null===e){var b,c,d=a("

                                            ").addClass("fixed-table-scroll-inner"),f=a("

                                            ").addClass("fixed-table-scroll-outer");f.append(d),a("body").append(f),b=d[0].offsetWidth,f.css("overflow","scroll"),c=d[0].offsetWidth,b===c&&(c=f[0].clientWidth),f.remove(),e=b-c}return e},j=function(b,c,d,e){var g=c;if("string"==typeof c){var h=c.split(".");h.length>1?(g=window,a.each(h,function(a,b){g=g[b]})):g=window[c]}return"object"==typeof g?g:"function"==typeof g?g.apply(b,d||[]):!g&&"string"==typeof c&&f.apply(this,[c].concat(d))?f.apply(this,[c].concat(d)):e},k=function(b,c,d){var e=Object.getOwnPropertyNames||function(a){var b=[];for(var c in a)a.hasOwnProperty(c)&&b.push(c);return b},f=e(b),g=e(c),h="";if(d&&f.length!==g.length)return!1;for(var i=0;i-1&&b[h]!==c[h])return!1;return!0},l=function(a){return"string"==typeof a?a.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/`/g,"`"):a},m=function(a){for(var b in a){var c=b.split(/(?=[A-Z])/).join("-").toLowerCase();c!==b&&(a[c]=a[b],delete a[b])}return a},n=function(a,b,c){var d=a;if("string"!=typeof b||a.hasOwnProperty(b))return c?l(a[b]):a[b];var e=b.split(".");for(var f in e)e.hasOwnProperty(f)&&(d=d&&d[e[f]]);return c?l(d):d},o=function(){return!!(navigator.userAgent.indexOf("MSIE ")>0||navigator.userAgent.match(/Trident.*rv\:11\./))},p=function(){Object.keys||(Object.keys=function(){var a=Object.prototype.hasOwnProperty,b=!{toString:null}.propertyIsEnumerable("toString"),c=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],d=c.length;return function(e){if("object"!=typeof e&&("function"!=typeof e||null===e))throw new TypeError("Object.keys called on non-object");var f,g,h=[];for(f in e)a.call(e,f)&&h.push(f);if(b)for(g=0;d>g;g++)a.call(e,c[g])&&h.push(c[g]);return h}}())},q=function(b,c){this.options=c,this.$el=a(b),this.$el_=this.$el.clone(),this.timeoutId_=0,this.timeoutFooter_=0,this.init()};q.DEFAULTS={classes:"table table-hover",sortClass:void 0,locale:void 0,height:void 0,undefinedText:"-",sortName:void 0,sortOrder:"asc",sortStable:!1,rememberOrder:!1,striped:!1,columns:[[]],data:[],totalField:"total",dataField:"rows",method:"get",url:void 0,ajax:void 0,cache:!0,contentType:"application/json",dataType:"json",ajaxOptions:{},queryParams:function(a){return a},queryParamsType:"limit",responseHandler:function(a){return a},pagination:!1,onlyInfoPagination:!1,paginationLoop:!0,sidePagination:"client",totalRows:0,pageNumber:1,pageSize:10,pageList:[10,25,50,100],paginationHAlign:"right",paginationVAlign:"bottom",paginationDetailHAlign:"left",paginationPreText:"‹",paginationNextText:"›",search:!1,searchOnEnterKey:!1,strictSearch:!1,searchAlign:"right",selectItemName:"btSelectItem",showHeader:!0,showFooter:!1,showColumns:!1,showPaginationSwitch:!1,showRefresh:!1,showToggle:!1,showFullscreen:!1,smartDisplay:!0,escape:!1,minimumCountColumns:1,idField:void 0,uniqueId:void 0,cardView:!1,detailView:!1,detailFormatter:function(){return""},detailFilter:function(){return!0},trimOnSearch:!0,clickToSelect:!1,singleSelect:!1,toolbar:void 0,toolbarAlign:"left",buttonsToolbar:void 0,buttonsAlign:"right",checkboxHeader:!0,sortable:!0,silentSort:!0,maintainSelected:!1,searchTimeOut:500,searchText:"",iconSize:void 0,buttonsClass:d.buttonsClass,iconsPrefix:d.iconsPrefix,icons:d.icons,customSearch:a.noop,customSort:a.noop,ignoreClickToSelectOn:function(b){return a.inArray(b.tagName,["A","BUTTON"])},rowStyle:function(){return{}},rowAttributes:function(){return{}},footerStyle:function(){return{}},onAll:function(){return!1},onClickCell:function(){return!1},onDblClickCell:function(){return!1},onClickRow:function(){return!1},onDblClickRow:function(){return!1},onSort:function(){return!1},onCheck:function(){return!1},onUncheck:function(){return!1},onCheckAll:function(){return!1},onUncheckAll:function(){return!1},onCheckSome:function(){return!1},onUncheckSome:function(){return!1},onLoadSuccess:function(){return!1},onLoadError:function(){return!1},onColumnSwitch:function(){return!1},onPageChange:function(){return!1},onSearch:function(){return!1},onToggle:function(){return!1},onPreBody:function(){return!1},onPostBody:function(){return!1},onPostHeader:function(){return!1},onExpandRow:function(){return!1},onCollapseRow:function(){return!1},onRefreshOptions:function(){return!1},onRefresh:function(){return!1},onResetView:function(){return!1},onScrollBody:function(){return!1}},q.LOCALES={},q.LOCALES["en-US"]=q.LOCALES.en={formatLoadingMessage:function(){return"Loading, please wait..."},formatRecordsPerPage:function(a){return f("%s rows per page",a)},formatShowingRows:function(a,b,c){return f("Showing %s to %s of %s rows",a,b,c)},formatDetailPagination:function(a){return f("Showing %s rows",a)},formatSearch:function(){return"Search"},formatNoMatches:function(){return"No matching records found"},formatPaginationSwitch:function(){return"Hide/Show pagination"},formatRefresh:function(){return"Refresh"},formatToggle:function(){return"Toggle"},formatFullscreen:function(){return"Fullscreen"},formatColumns:function(){return"Columns"},formatAllRows:function(){return"All"}},a.extend(q.DEFAULTS,q.LOCALES["en-US"]),q.COLUMN_DEFAULTS={radio:!1,checkbox:!1,checkboxEnabled:!0,field:void 0,title:void 0,titleTooltip:void 0,"class":void 0,align:void 0,halign:void 0,falign:void 0,valign:void 0,width:void 0,sortable:!1,order:"asc",visible:!0,switchable:!0,clickToSelect:!0,formatter:void 0,footerFormatter:void 0,events:void 0,sorter:void 0,sortName:void 0,cellStyle:void 0,searchable:!0,searchFormatter:!0,cardVisible:!0,escape:!1,showSelectTitle:!1},q.EVENTS={"all.bs.table":"onAll","click-cell.bs.table":"onClickCell","dbl-click-cell.bs.table":"onDblClickCell","click-row.bs.table":"onClickRow","dbl-click-row.bs.table":"onDblClickRow","sort.bs.table":"onSort","check.bs.table":"onCheck","uncheck.bs.table":"onUncheck","check-all.bs.table":"onCheckAll","uncheck-all.bs.table":"onUncheckAll","check-some.bs.table":"onCheckSome","uncheck-some.bs.table":"onUncheckSome","load-success.bs.table":"onLoadSuccess","load-error.bs.table":"onLoadError","column-switch.bs.table":"onColumnSwitch","page-change.bs.table":"onPageChange","search.bs.table":"onSearch","toggle.bs.table":"onToggle","pre-body.bs.table":"onPreBody","post-body.bs.table":"onPostBody","post-header.bs.table":"onPostHeader","expand-row.bs.table":"onExpandRow","collapse-row.bs.table":"onCollapseRow","refresh-options.bs.table":"onRefreshOptions","reset-view.bs.table":"onResetView","refresh.bs.table":"onRefresh","scroll-body.bs.table":"onScrollBody"},q.prototype.init=function(){this.initLocale(),this.initContainer(),this.initTable(),this.initHeader(),this.initData(),this.initHiddenRows(),this.initFooter(),this.initToolbar(),this.initPagination(),this.initBody(),this.initSearchText(),this.initServer()},q.prototype.initLocale=function(){if(this.options.locale){var b=this.options.locale.split(/-|_/);b[0].toLowerCase(),b[1]&&b[1].toUpperCase(),a.fn.bootstrapTable.locales[this.options.locale]?a.extend(this.options,a.fn.bootstrapTable.locales[this.options.locale]):a.fn.bootstrapTable.locales[b.join("-")]?a.extend(this.options,a.fn.bootstrapTable.locales[b.join("-")]):a.fn.bootstrapTable.locales[b[0]]&&a.extend(this.options,a.fn.bootstrapTable.locales[b[0]])}},q.prototype.initContainer=function(){this.$container=a(['
                                            ','
                                            ',"top"===this.options.paginationVAlign||"both"===this.options.paginationVAlign?'
                                            ':"",'
                                            ','
                                            ','
                                            ','
                                            ',this.options.formatLoadingMessage(),"
                                            ","
                                            ",'',"
                                            ","bottom"===this.options.paginationVAlign||"both"===this.options.paginationVAlign?'
                                            ':"","
                                            "].join("")),this.$container.insertAfter(this.$el),this.$tableContainer=this.$container.find(".fixed-table-container"),this.$tableHeader=this.$container.find(".fixed-table-header"),this.$tableBody=this.$container.find(".fixed-table-body"),this.$tableLoading=this.$container.find(".fixed-table-loading"),this.$tableFooter=this.$container.find(".fixed-table-footer"),this.$toolbar=this.options.buttonsToolbar?a("body").find(this.options.buttonsToolbar):this.$container.find(".fixed-table-toolbar"),this.$pagination=this.$container.find(".fixed-table-pagination"),this.$tableBody.append(this.$el),this.$container.after('
                                            '),this.$el.addClass(this.options.classes),this.options.striped&&this.$el.addClass("table-striped"),-1!==a.inArray("table-no-bordered",this.options.classes.split(" "))&&this.$tableContainer.addClass("table-no-bordered")},q.prototype.initTable=function(){var b=this,c=[],d=[];if(this.$header=this.$el.find(">thead"),this.$header.length||(this.$header=a("").appendTo(this.$el)),this.$header.find("tr").each(function(){var b=[];a(this).find("th").each(function(){"undefined"!=typeof a(this).data("field")&&a(this).data("field",a(this).data("field")+""),b.push(a.extend({},{title:a(this).html(),"class":a(this).attr("class"),titleTooltip:a(this).attr("title"),rowspan:a(this).attr("rowspan")?+a(this).attr("rowspan"):void 0,colspan:a(this).attr("colspan")?+a(this).attr("colspan"):void 0},a(this).data()))}),c.push(b)}),a.isArray(this.options.columns[0])||(this.options.columns=[this.options.columns]),this.options.columns=a.extend(!0,[],c,this.options.columns),this.columns=[],this.fieldsColumnsIndex=[],h(this.options.columns),a.each(this.options.columns,function(c,d){a.each(d,function(d,e){e=a.extend({},q.COLUMN_DEFAULTS,e),"undefined"!=typeof e.fieldIndex&&(b.columns[e.fieldIndex]=e,b.fieldsColumnsIndex[e.field]=e.fieldIndex),b.options.columns[c][d]=e})}),!this.options.data.length){var e=[];this.$el.find(">tbody>tr").each(function(c){var f={};f._id=a(this).attr("id"),f._class=a(this).attr("class"),f._data=m(a(this).data()),a(this).find(">td").each(function(d){for(var g,h,i=a(this),j=+i.attr("colspan")||1,k=+i.attr("rowspan")||1;e[c]&&e[c][d];d++);for(g=d;d+j>g;g++)for(h=c;c+k>h;h++)e[h]||(e[h]=[]),e[h][g]=!0;var l=b.columns[d].field;f[l]=a(this).html(),f["_"+l+"_id"]=a(this).attr("id"),f["_"+l+"_class"]=a(this).attr("class"),f["_"+l+"_rowspan"]=a(this).attr("rowspan"),f["_"+l+"_colspan"]=a(this).attr("colspan"),f["_"+l+"_title"]=a(this).attr("title"),f["_"+l+"_data"]=m(a(this).data())}),d.push(f)}),this.options.data=d,d.length&&(this.fromHtml=!0)}},q.prototype.initHeader=function(){var b=this,c={},d=[];this.header={fields:[],styles:[],classes:[],formatters:[],events:[],sorters:[],sortNames:[],cellStyles:[],searchables:[]},a.each(this.options.columns,function(e,g){d.push(""),0===e&&!b.options.cardView&&b.options.detailView&&d.push(f('
                                            ',b.options.columns.length)),a.each(g,function(a,e){var g="",h="",i="",j="",k=f(' class="%s"',e["class"]),m=(b.options.sortOrder||e.order,"px"),n=e.width;if(void 0===e.width||b.options.cardView||"string"==typeof e.width&&-1!==e.width.indexOf("%")&&(m="%"),e.width&&"string"==typeof e.width&&(n=e.width.replace("%","").replace("px","")),h=f("text-align: %s; ",e.halign?e.halign:e.align),i=f("text-align: %s; ",e.align),j=f("vertical-align: %s; ",e.valign),j+=f("width: %s; ",!e.checkbox&&!e.radio||n?n?n+m:void 0:e.showSelectTitle?void 0:"36px"),"undefined"!=typeof e.fieldIndex){if(b.header.fields[e.fieldIndex]=e.field,b.header.styles[e.fieldIndex]=i+j,b.header.classes[e.fieldIndex]=k,b.header.formatters[e.fieldIndex]=e.formatter,b.header.events[e.fieldIndex]=e.events,b.header.sorters[e.fieldIndex]=e.sorter,b.header.sortNames[e.fieldIndex]=e.sortName,b.header.cellStyles[e.fieldIndex]=e.cellStyle,b.header.searchables[e.fieldIndex]=e.searchable,!e.visible)return;if(b.options.cardView&&!e.cardVisible)return;c[e.field]=e}d.push(""),d.push(f('
                                            ',b.options.sortable&&e.sortable?"sortable both":"")),g=b.options.escape?l(e.title):e.title;var o=g;e.checkbox&&(g="",!b.options.singleSelect&&b.options.checkboxHeader&&(g=''),b.header.stateField=e.field),e.radio&&(g="",b.header.stateField=e.field,b.options.singleSelect=!0),!g&&e.showSelectTitle&&(g+=o),d.push(g),d.push("
                                            "),d.push('
                                            '),d.push("
                                            "),d.push("")}),d.push("")}),this.$header.html(d.join("")),this.$header.find("th[data-field]").each(function(){a(this).data(c[a(this).data("field")])}),this.$container.off("click",".th-inner").on("click",".th-inner",function(c){var d=a(this);return b.options.detailView&&!d.parent().hasClass("bs-checkbox")&&d.closest(".bootstrap-table")[0]!==b.$container[0]?!1:void(b.options.sortable&&d.parent().data().sortable&&b.onSort(c))}),this.$header.children().children().off("keypress").on("keypress",function(c){if(b.options.sortable&&a(this).data().sortable){var d=c.keyCode||c.which;13==d&&b.onSort(c)}}),a(window).off("resize.bootstrap-table"),!this.options.showHeader||this.options.cardView?(this.$header.hide(),this.$tableHeader.hide(),this.$tableLoading.css("top",0)):(this.$header.show(),this.$tableHeader.show(),this.$tableLoading.css("top",this.$header.outerHeight()+1),this.getCaret(),a(window).on("resize.bootstrap-table",a.proxy(this.resetWidth,this))),this.$selectAll=this.$header.find('[name="btSelectAll"]'),this.$selectAll.off("click").on("click",function(){var c=a(this).prop("checked");b[c?"checkAll":"uncheckAll"](),b.updateSelected()})},q.prototype.initFooter=function(){!this.options.showFooter||this.options.cardView?this.$tableFooter.hide():this.$tableFooter.show()},q.prototype.initData=function(a,b){this.options.data="append"===b?this.options.data.concat(a):"prepend"===b?[].concat(a).concat(this.options.data):a||this.options.data,this.data=this.options.data,"server"!==this.options.sidePagination&&this.initSort()},q.prototype.initSort=function(){var b=this,c=this.options.sortName,d="desc"===this.options.sortOrder?-1:1,e=a.inArray(this.options.sortName,this.header.fields),g=0;return this.options.customSort!==a.noop?void this.options.customSort.apply(this,[this.options.sortName,this.options.sortOrder]):void(-1!==e&&(this.options.sortStable&&a.each(this.data,function(a,b){b._position=a}),this.data.sort(function(f,g){b.header.sortNames[e]&&(c=b.header.sortNames[e]);var h=n(f,c,b.options.escape),i=n(g,c,b.options.escape),k=j(b.header,b.header.sorters[e],[h,i,f,g]);return void 0!==k?b.options.sortStable&&0===k?f._position-g._position:d*k:((void 0===h||null===h)&&(h=""),(void 0===i||null===i)&&(i=""),b.options.sortStable&&h===i?(h=f._position,i=g._position,f._position-g._position):a.isNumeric(h)&&a.isNumeric(i)?(h=parseFloat(h),i=parseFloat(i),i>h?-1*d:d):h===i?0:("string"!=typeof h&&(h=h.toString()),-1===h.localeCompare(i)?-1*d:d))}),void 0!==this.options.sortClass&&(clearTimeout(g),g=setTimeout(function(){b.$el.removeClass(b.options.sortClass);var a=b.$header.find(f('[data-field="%s"]',b.options.sortName).index()+1);b.$el.find(f("tr td:nth-child(%s)",a)).addClass(b.options.sortClass)},250))))},q.prototype.onSort=function(b){var c="keypress"===b.type?a(b.currentTarget):a(b.currentTarget).parent(),d=this.$header.find("th").eq(c.index());return this.$header.add(this.$header_).find("span.order").remove(),this.options.sortName===c.data("field")?this.options.sortOrder="asc"===this.options.sortOrder?"desc":"asc":(this.options.sortName=c.data("field"),this.options.sortOrder=this.options.rememberOrder?"asc"===c.data("order")?"desc":"asc":this.columns[this.fieldsColumnsIndex[c.data("field")]].order),this.trigger("sort",this.options.sortName,this.options.sortOrder),c.add(d).data("order",this.options.sortOrder),this.getCaret(),"server"===this.options.sidePagination?void this.initServer(this.options.silentSort):(this.initSort(),void this.initBody())},q.prototype.initToolbar=function(){var b,c,e=this,g=[],h=0,i=0;this.$toolbar.find(".bs-bars").children().length&&a("body").append(a(this.options.toolbar)),this.$toolbar.html(""),("string"==typeof this.options.toolbar||"object"==typeof this.options.toolbar)&&a(f('
                                            ',d.pullClass,this.options.toolbarAlign)).appendTo(this.$toolbar).append(a(this.options.toolbar)),g=[f('
                                            ',this.options.buttonsAlign,d.pullClass,this.options.buttonsAlign)],"string"==typeof this.options.icons&&(this.options.icons=j(null,this.options.icons)),this.options.showPaginationSwitch&&g.push(f('"),this.options.showFullscreen&&this.$toolbar.find('button[name="fullscreen"]').off("click").on("click",a.proxy(this.toggleFullscreen,this)),this.options.showRefresh&&g.push(f('"),this.options.showToggle&&g.push(f('"),this.options.showFullscreen&&g.push(f('"),this.options.showColumns&&(g.push(f('
                                            ',this.options.formatColumns()),'",d.toobarDropdowHtml[0]),a.each(this.columns,function(a,b){if(!(b.radio||b.checkbox||e.options.cardView&&!b.cardVisible)){var c=b.visible?' checked="checked"':"";b.switchable&&(g.push(f(d.toobarDropdowItemHtml,f(' %s',b.field,a,c,b.title))),i++)}}),g.push(d.toobarDropdowHtml[1],"
                                            ")),g.push("
                                            "),(this.showToolbar||g.length>2)&&this.$toolbar.append(g.join("")),this.options.showPaginationSwitch&&this.$toolbar.find('button[name="paginationSwitch"]').off("click").on("click",a.proxy(this.togglePagination,this)),this.options.showRefresh&&this.$toolbar.find('button[name="refresh"]').off("click").on("click",a.proxy(this.refresh,this)),this.options.showToggle&&this.$toolbar.find('button[name="toggle"]').off("click").on("click",function(){e.toggleView()}),this.options.showColumns&&(b=this.$toolbar.find(".keep-open"),i<=this.options.minimumCountColumns&&b.find("input").prop("disabled",!0),b.find("li").off("click").on("click",function(a){a.stopImmediatePropagation()}),b.find("input").off("click").on("click",function(){var b=a(this);e.toggleColumn(a(this).val(),b.prop("checked"),!1),e.trigger("column-switch",a(this).data("field"),b.prop("checked"))})),this.options.search&&(g=[],g.push(f('"),this.$toolbar.append(g.join("")),c=this.$toolbar.find(".search input"),c.off("keyup drop blur").on("keyup drop blur",function(b){e.options.searchOnEnterKey&&13!==b.keyCode||a.inArray(b.keyCode,[37,38,39,40])>-1||(clearTimeout(h),h=setTimeout(function(){e.onSearch(b)},e.options.searchTimeOut))}),o()&&c.off("mouseup").on("mouseup",function(a){clearTimeout(h),h=setTimeout(function(){e.onSearch(a)},e.options.searchTimeOut)}))},q.prototype.onSearch=function(b){var c=a.trim(a(b.currentTarget).val());this.options.trimOnSearch&&a(b.currentTarget).val()!==c&&a(b.currentTarget).val(c),c!==this.searchText&&(this.searchText=c,this.options.searchText=c,this.options.pageNumber=1,this.initSearch(),b.firedByInitSearchText?"client"===this.options.sidePagination&&this.updatePagination():this.updatePagination(),this.trigger("search",c))},q.prototype.initSearch=function(){var b=this;if("server"!==this.options.sidePagination){if(this.options.customSearch!==a.noop)return void window[this.options.customSearch].apply(this,[this.searchText]);var c=this.searchText&&(this.options.escape?l(this.searchText):this.searchText).toLowerCase(),d=a.isEmptyObject(this.filterColumns)?null:this.filterColumns;this.data=d?a.grep(this.options.data,function(b){for(var c in d)if(a.isArray(d[c])&&-1===a.inArray(b[c],d[c])||!a.isArray(d[c])&&b[c]!==d[c])return!1;return!0}):this.options.data,this.data=c?a.grep(this.data,function(d,e){for(var f=0;f-1&&(m=!0)}this.totalPages=~~((this.options.totalRows-1)/this.options.pageSize)+1,this.options.totalPages=this.totalPages}if(this.totalPages>0&&this.options.pageNumber>this.totalPages&&(this.options.pageNumber=this.totalPages),this.pageFrom=(this.options.pageNumber-1)*this.options.pageSize+1,this.pageTo=this.options.pageNumber*this.options.pageSize,this.pageTo>this.options.totalRows&&(this.pageTo=this.options.totalRows),l.push(f('
                                            ',d.pullClass,this.options.paginationDetailHAlign),'',this.options.onlyInfoPagination?this.options.formatDetailPagination(this.options.totalRows):this.options.formatShowingRows(this.pageFrom,this.pageTo,this.options.totalRows),""),!this.options.onlyInfoPagination){l.push('');var q=[f('',"top"===this.options.paginationVAlign||"both"===this.options.paginationVAlign?"dropdown":"dropup"),'",d.pageDropdownHtml[0]];if("string"==typeof this.options.pageList){var r=this.options.pageList.replace("[","").replace("]","").replace(/ /g,"").split(",");o=[],a.each(r,function(a,b){o.push(b.toUpperCase()===k.options.formatAllRows().toUpperCase()||"UNLIMITED"===b.toUpperCase()?k.options.formatAllRows():+b)})}for(a.each(o,function(a,b){if(!k.options.smartDisplay||0===a||o[a-1]"),l.push(this.options.formatRecordsPerPage(q.join(""))),l.push(""),l.push("
                                            ",f('")}this.$pagination.html(l.join("")),this.options.onlyInfoPagination||(g=this.$pagination.find(".page-list a"),h=this.$pagination.find(".page-pre"),i=this.$pagination.find(".page-next"),j=this.$pagination.find(".page-item").not(".page-next, .page-pre"),this.options.smartDisplay&&(this.totalPages<=1&&this.$pagination.find("div.pagination").hide(),(o.length<2||this.options.totalRows<=o[0])&&this.$pagination.find("span.page-list").hide(),this.$pagination[this.getData().length?"show":"hide"]()),this.options.paginationLoop||(1===this.options.pageNumber&&h.addClass("disabled"),this.options.pageNumber===this.totalPages&&i.addClass("disabled")),m&&(this.options.pageSize=this.options.formatAllRows()),g.off("click").on("click",a.proxy(this.onPageListChange,this)),h.off("click").on("click",a.proxy(this.onPagePre,this)),i.off("click").on("click",a.proxy(this.onPageNext,this)),j.off("click").on("click",a.proxy(this.onPageNumber,this)))},q.prototype.updatePagination=function(b){b&&a(b.currentTarget).hasClass("disabled")||(this.options.maintainSelected||this.resetRows(),this.initPagination(),"server"===this.options.sidePagination?this.initServer():this.initBody(),this.trigger("page-change",this.options.pageNumber,this.options.pageSize))},q.prototype.onPageListChange=function(b){b.preventDefault();var c=a(b.currentTarget);return c.parent().addClass("active").siblings().removeClass("active"),this.options.pageSize=c.text().toUpperCase()===this.options.formatAllRows().toUpperCase()?this.options.formatAllRows():+c.text(),this.$toolbar.find(".page-size").text(this.options.pageSize),this.updatePagination(b),!1},q.prototype.onPagePre=function(a){return a.preventDefault(),this.options.pageNumber-1===0?this.options.pageNumber=this.options.totalPages:this.options.pageNumber--,this.updatePagination(a),!1},q.prototype.onPageNext=function(a){return a.preventDefault(),this.options.pageNumber+1>this.options.totalPages?this.options.pageNumber=1:this.options.pageNumber++,this.updatePagination(a),!1},q.prototype.onPageNumber=function(b){return b.preventDefault(),this.options.pageNumber!==+a(b.currentTarget).text()?(this.options.pageNumber=+a(b.currentTarget).text(),this.updatePagination(b),!1):void 0},q.prototype.initRow=function(b,c){var d,e=this,h=[],i={},k=[],m="",o={},p=[];if(!(a.inArray(b,this.hiddenRows)>-1)){if(i=j(this.options,this.options.rowStyle,[b,c],i),i&&i.css)for(d in i.css)k.push(d+": "+i.css[d]);if(o=j(this.options,this.options.rowAttributes,[b,c],o))for(d in o)p.push(f('%s="%s"',d,l(o[d])));return b._data&&!a.isEmptyObject(b._data)&&a.each(b._data,function(a,b){"index"!==a&&(m+=f(' data-%s="%s"',a,b))}),h.push(""),this.options.cardView&&h.push(f('
                                            ',this.header.fields.length)),!this.options.cardView&&this.options.detailView&&(h.push(""),j(null,this.options.detailFilter,[c,b])&&h.push('',f('',this.options.iconsPrefix,this.options.icons.detailOpen),""),h.push("")),a.each(this.header.fields,function(d,m){var o="",p=n(b,m,e.options.escape),q="",r="",s={},t="",u=e.header.classes[d],v="",w="",x="",y="",z=e.columns[d]; + +if((!e.fromHtml||"undefined"!=typeof p||z.checkbox||z.radio)&&z.visible&&(!e.options.cardView||z.cardVisible)){if(z.escape&&(p=l(p)),i=f('style="%s"',k.concat(e.header.styles[d]).join("; ")),b["_"+m+"_id"]&&(t=f(' id="%s"',b["_"+m+"_id"])),b["_"+m+"_class"]&&(u=f(' class="%s"',b["_"+m+"_class"])),b["_"+m+"_rowspan"]&&(w=f(' rowspan="%s"',b["_"+m+"_rowspan"])),b["_"+m+"_colspan"]&&(x=f(' colspan="%s"',b["_"+m+"_colspan"])),b["_"+m+"_title"]&&(y=f(' title="%s"',b["_"+m+"_title"])),s=j(e.header,e.header.cellStyles[d],[p,b,c,m],s),s.classes&&(u=f(' class="%s"',s.classes)),s.css){var A=[];for(var B in s.css)A.push(B+": "+s.css[B]);i=f('style="%s"',A.concat(e.header.styles[d]).join("; "))}q=j(z,e.header.formatters[d],[p,b,c,m],p),b["_"+m+"_data"]&&!a.isEmptyObject(b["_"+m+"_data"])&&a.each(b["_"+m+"_data"],function(a,b){"index"!==a&&(v+=f(' data-%s="%s"',a,b))}),z.checkbox||z.radio?(r=z.checkbox?"checkbox":r,r=z.radio?"radio":r,o=[f(e.options.cardView?'
                                            ':'',z["class"]||""),"",e.header.formatters[d]&&"string"==typeof q?q:"",e.options.cardView?"
                                            ":""].join(""),b[e.header.stateField]=q===!0||!!p||q&&q.checked):(q="undefined"==typeof q||null===q?e.options.undefinedText:q,o=e.options.cardView?['
                                            ',e.options.showHeader?f('%s',i,g(e.columns,"field","title",m)):"",f('%s',q),"
                                            "].join(""):[f("",t,u,i,v,w,x,y),q,""].join(""),e.options.cardView&&e.options.smartDisplay&&""===q&&(o='
                                            ')),h.push(o)}}),this.options.cardView&&h.push("
                                            "),h.push(""),h.join(" ")}},q.prototype.initBody=function(b){var c=this,d=this.getData();this.trigger("pre-body",d),this.$body=this.$el.find(">tbody"),this.$body.length||(this.$body=a("").appendTo(this.$el)),this.options.pagination&&"server"!==this.options.sidePagination||(this.pageFrom=1,this.pageTo=d.length);for(var e,g=a(document.createDocumentFragment()),h=this.pageFrom-1;h'+f('%s',this.$header.find("th").length,this.options.formatNoMatches())+""),this.$body.html(g),b||this.scrollTo(0),this.$body.find("> tr[data-index] > td").off("click dblclick").on("click dblclick",function(b){var d=a(this),e=d.parent(),g=c.data[e.data("index")],h=d[0].cellIndex,i=c.getVisibleFields(),j=i[c.options.detailView&&!c.options.cardView?h-1:h],k=c.columns[c.fieldsColumnsIndex[j]],l=n(g,j,c.options.escape);if(!d.find(".detail-icon").length&&(c.trigger("click"===b.type?"click-cell":"dbl-click-cell",j,l,g,d),c.trigger("click"===b.type?"click-row":"dbl-click-row",g,e,j),"click"===b.type&&c.options.clickToSelect&&k.clickToSelect&&c.options.ignoreClickToSelectOn(b.target))){var m=e.find(f('[name="%s"]',c.options.selectItemName));m.length&&m[0].click()}}),this.$body.find("> tr[data-index] > td > .detail-icon").off("click").on("click",function(b){b.preventDefault();var e=a(this),g=e.parent().parent(),h=g.data("index"),i=d[h];if(g.next().is("tr.detail-view"))e.find("i").attr("class",f("%s %s",c.options.iconsPrefix,c.options.icons.detailOpen)),c.trigger("collapse-row",h,i,g.next()),g.next().remove();else{e.find("i").attr("class",f("%s %s",c.options.iconsPrefix,c.options.icons.detailClose)),g.after(f('',g.find("td").length));var k=g.next().find("td"),l=j(c.options,c.options.detailFormatter,[h,i,k],"");1===k.length&&k.append(l),c.trigger("expand-row",h,i,k)}return c.resetView(),!1}),this.$selectItem=this.$body.find(f('[name="%s"]',this.options.selectItemName)),this.$selectItem.off("click").on("click",function(b){b.stopImmediatePropagation();var d=a(this),e=d.prop("checked"),f=c.data[d.data("index")];(a(this).is(":radio")||c.options.singleSelect)&&a.each(c.options.data,function(a,b){b[c.header.stateField]=!1}),f[c.header.stateField]=e,c.options.singleSelect&&(c.$selectItem.not(this).each(function(){c.data[a(this).data("index")][c.header.stateField]=!1}),c.$selectItem.filter(":checked").not(this).prop("checked",!1)),c.updateSelected(),c.trigger(e?"check":"uncheck",f,d)}),a.each(this.header.events,function(b,d){if(d){"string"==typeof d&&(d=j(null,d));var e=c.header.fields[b],f=a.inArray(e,c.getVisibleFields());if(-1!==f){c.options.detailView&&!c.options.cardView&&(f+=1);for(var g in d)c.$body.find(">tr:not(.no-records-found)").each(function(){var b=a(this),h=b.find(c.options.cardView?".card-view":"td").eq(f),i=g.indexOf(" "),j=g.substring(0,i),k=g.substring(i+1),l=d[g];h.find(k).off(j).on(j,function(a){var d=b.data("index"),f=c.data[d],g=f[e];l.apply(this,[a,g,f,d])})})}}}),this.updateSelected(),this.resetView(),this.trigger("post-body",d)},q.prototype.initServer=function(b,c,d){var e,f=this,g={},h=a.inArray(this.options.sortName,this.header.fields),i={searchText:this.searchText,sortName:this.options.sortName,sortOrder:this.options.sortOrder};this.header.sortNames[h]&&(i.sortName=this.header.sortNames[h]),this.options.pagination&&"server"===this.options.sidePagination&&(i.pageSize=this.options.pageSize===this.options.formatAllRows()?this.options.totalRows:this.options.pageSize,i.pageNumber=this.options.pageNumber),(d||this.options.url||this.options.ajax)&&("limit"===this.options.queryParamsType&&(i={search:i.searchText,sort:i.sortName,order:i.sortOrder},this.options.pagination&&"server"===this.options.sidePagination&&(i.offset=this.options.pageSize===this.options.formatAllRows()?0:this.options.pageSize*(this.options.pageNumber-1),i.limit=this.options.pageSize===this.options.formatAllRows()?this.options.totalRows:this.options.pageSize,0===i.limit&&delete i.limit)),a.isEmptyObject(this.filterColumnsPartial)||(i.filter=JSON.stringify(this.filterColumnsPartial,null)),g=j(this.options,this.options.queryParams,[i],g),a.extend(g,c||{}),g!==!1&&(b||this.$tableLoading.show(),e=a.extend({},j(null,this.options.ajaxOptions),{type:this.options.method,url:d||this.options.url,data:"application/json"===this.options.contentType&&"post"===this.options.method?JSON.stringify(g):g,cache:this.options.cache,contentType:this.options.contentType,dataType:this.options.dataType,success:function(a){a=j(f.options,f.options.responseHandler,[a],a),f.load(a),f.trigger("load-success",a),b||f.$tableLoading.hide()},error:function(a){var c=[];"server"===f.options.sidePagination&&(c={},c[f.options.totalField]=0,c[f.options.dataField]=[]),f.load(c),f.trigger("load-error",a.status,a),b||f.$tableLoading.hide()}}),this.options.ajax?j(this,this.options.ajax,[e],null):(this._xhr&&4!==this._xhr.readyState&&this._xhr.abort(),this._xhr=a.ajax(e))))},q.prototype.initSearchText=function(){if(this.options.search&&(this.searchText="",""!==this.options.searchText)){var a=this.$toolbar.find(".search input");a.val(this.options.searchText),this.onSearch({currentTarget:a,firedByInitSearchText:!0})}},q.prototype.getCaret=function(){var b=this;a.each(this.$header.find("th"),function(c,d){a(d).find(".sortable").removeClass("desc asc").addClass(a(d).data("field")===b.options.sortName?b.options.sortOrder:"both")})},q.prototype.updateSelected=function(){var b=this.$selectItem.filter(":enabled").length&&this.$selectItem.filter(":enabled").length===this.$selectItem.filter(":enabled").filter(":checked").length;this.$selectAll.add(this.$selectAll_).prop("checked",b),this.$selectItem.each(function(){a(this).closest("tr")[a(this).prop("checked")?"addClass":"removeClass"]("selected")})},q.prototype.updateRows=function(){var b=this;this.$selectItem.each(function(){b.data[a(this).data("index")][b.header.stateField]=a(this).prop("checked")})},q.prototype.resetRows=function(){var b=this;a.each(this.data,function(a,c){b.$selectAll.prop("checked",!1),b.$selectItem.prop("checked",!1),b.header.stateField&&(c[b.header.stateField]=!1)}),this.initHiddenRows()},q.prototype.trigger=function(b){var c=Array.prototype.slice.call(arguments,1);b+=".bs.table",this.options[q.EVENTS[b]].apply(this.options,c),this.$el.trigger(a.Event(b),c),this.options.onAll(b,c),this.$el.trigger(a.Event("all.bs.table"),[b,c])},q.prototype.resetHeader=function(){clearTimeout(this.timeoutId_),this.timeoutId_=setTimeout(a.proxy(this.fitHeader,this),this.$el.is(":hidden")?100:0)},q.prototype.fitHeader=function(){var b,c,d,e,g=this;if(g.$el.is(":hidden"))return void(g.timeoutId_=setTimeout(a.proxy(g.fitHeader,g),100));if(b=this.$tableBody.get(0),c=b.scrollWidth>b.clientWidth&&b.scrollHeight>b.clientHeight+this.$header.outerHeight()?i():0,this.$el.css("margin-top",-this.$header.outerHeight()),d=a(":focus"),d.length>0){var h=d.parents("th");if(h.length>0){var j=h.attr("data-field");if(void 0!==j){var k=this.$header.find("[data-field='"+j+"']");k.length>0&&k.find(":input").addClass("focus-temp")}}}this.$header_=this.$header.clone(!0,!0),this.$selectAll_=this.$header_.find('[name="btSelectAll"]'),this.$tableHeader.css({"margin-right":c}).find("table").css("width",this.$el.outerWidth()).html("").attr("class",this.$el.attr("class")).append(this.$header_),e=a(".focus-temp:visible:eq(0)"),e.length>0&&(e.focus(),this.$header.find(".focus-temp").removeClass("focus-temp")),this.$header.find("th[data-field]").each(function(){g.$header_.find(f('th[data-field="%s"]',a(this).data("field"))).data(a(this).data())});var l=this.getVisibleFields(),m=this.$header_.find("th");this.$body.find(">tr:first-child:not(.no-records-found) > *").each(function(b){var c=a(this),d=b;if(g.options.detailView&&!g.options.cardView&&(0===b&&g.$header_.find("th.detail").find(".fht-cell").width(c.innerWidth()),d=b-1),-1!==d){var e=g.$header_.find(f('th[data-field="%s"]',l[d]));e.length>1&&(e=a(m[c[0].cellIndex]));var h=e.width()-e.find(".fht-cell").width();e.find(".fht-cell").width(c.innerWidth()-h)}}),this.horizontalScroll(),this.trigger("post-header")},q.prototype.resetFooter=function(){var b=this,c=b.getData(),d=[];this.options.showFooter&&!this.options.cardView&&(!this.options.cardView&&this.options.detailView&&d.push('
                                             
                                            '),a.each(this.columns,function(a,e){var g,h="",i="",k=[],l={},m=f(' class="%s"',e["class"]);if(e.visible&&(!b.options.cardView||e.cardVisible)){if(h=f("text-align: %s; ",e.falign?e.falign:e.align),i=f("vertical-align: %s; ",e.valign),l=j(null,b.options.footerStyle),l&&l.css)for(g in l.css)k.push(g+": "+l.css[g]);d.push(""),d.push('
                                            '),d.push(j(e,e.footerFormatter,[c]," ")||" "),d.push("
                                            "),d.push('
                                            '),d.push(""),d.push("")}}),this.$tableFooter.find("tr").html(d.join("")),this.$tableFooter.show(),clearTimeout(this.timeoutFooter_),this.timeoutFooter_=setTimeout(a.proxy(this.fitFooter,this),this.$el.is(":hidden")?100:0))},q.prototype.fitFooter=function(){var b,c,d;return clearTimeout(this.timeoutFooter_),this.$el.is(":hidden")?void(this.timeoutFooter_=setTimeout(a.proxy(this.fitFooter,this),100)):(c=this.$el.css("width"),d=c>this.$tableBody.width()?i():0,this.$tableFooter.css({"margin-right":d}).find("table").css("width",c).attr("class",this.$el.attr("class")),b=this.$tableFooter.find("td"),this.$body.find(">tr:first-child:not(.no-records-found) > *").each(function(c){var d=a(this);b.eq(c).find(".fht-cell").width(d.innerWidth())}),void this.horizontalScroll())},q.prototype.horizontalScroll=function(){var b=this;b.trigger("scroll-body"),this.$tableBody.off("scroll").on("scroll",function(){b.options.showHeader&&b.options.height&&b.$tableHeader.scrollLeft(a(this).scrollLeft()),b.options.showFooter&&!b.options.cardView&&b.$tableFooter.scrollLeft(a(this).scrollLeft())})},q.prototype.toggleColumn=function(a,b,c){if(-1!==a&&(this.columns[a].visible=b,this.initHeader(),this.initSearch(),this.initPagination(),this.initBody(),this.options.showColumns)){var d=this.$toolbar.find(".keep-open input").prop("disabled",!1);c&&d.filter(f('[value="%s"]',a)).prop("checked",b),d.filter(":checked").length<=this.options.minimumCountColumns&&d.filter(":checked").prop("disabled",!0)}},q.prototype.getVisibleFields=function(){var b=this,c=[];return a.each(this.header.fields,function(a,d){var e=b.columns[b.fieldsColumnsIndex[d]];e.visible&&c.push(d)}),c},q.prototype.resetView=function(a){var b=0;if(a&&a.height&&(this.options.height=a.height),this.$selectAll.prop("checked",this.$selectItem.length>0&&this.$selectItem.length===this.$selectItem.filter(":checked").length),this.options.height){var c=this.$toolbar.outerHeight(!0),d=this.$pagination.outerHeight(!0),e=this.options.height-c-d;this.$tableContainer.css("height",e+"px")}return this.options.cardView?(this.$el.css("margin-top","0"),this.$tableContainer.css("padding-bottom","0"),void this.$tableFooter.hide()):(this.options.showHeader&&this.options.height?(this.$tableHeader.show(),this.resetHeader(),b+=this.$header.outerHeight()):(this.$tableHeader.hide(),this.trigger("post-header")),this.options.showFooter&&(this.resetFooter(),this.options.height&&(b+=this.$tableFooter.outerHeight()+1)),this.getCaret(),this.$tableContainer.css("padding-bottom",b+"px"),void this.trigger("reset-view"))},q.prototype.getData=function(b){var c=this.options.data;return(this.searchText||this.options.sortName||!a.isEmptyObject(this.filterColumns)||!a.isEmptyObject(this.filterColumnsPartial))&&(c=this.data),b?c.slice(this.pageFrom-1,this.pageTo):c},q.prototype.load=function(b){var c=!1;this.options.pagination&&"server"===this.options.sidePagination?(this.options.totalRows=b[this.options.totalField],c=b.fixedScroll,b=b[this.options.dataField]):a.isArray(b)||(c=b.fixedScroll,b=b.data),this.initData(b),this.initSearch(),this.initPagination(),this.initBody(c)},q.prototype.append=function(a){this.initData(a,"append"),this.initSearch(),this.initPagination(),this.initSort(),this.initBody(!0)},q.prototype.prepend=function(a){this.initData(a,"prepend"),this.initSearch(),this.initPagination(),this.initSort(),this.initBody(!0)},q.prototype.remove=function(b){var c,d,e=this.options.data.length;if(b.hasOwnProperty("field")&&b.hasOwnProperty("values")){for(c=e-1;c>=0;c--)d=this.options.data[c],d.hasOwnProperty(b.field)&&-1!==a.inArray(d[b.field],b.values)&&(this.options.data.splice(c,1),"server"===this.options.sidePagination&&(this.options.totalRows-=1));e!==this.options.data.length&&(this.initSearch(),this.initPagination(),this.initSort(),this.initBody(!0))}},q.prototype.removeAll=function(){this.options.data.length>0&&(this.options.data.splice(0,this.options.data.length),this.initSearch(),this.initPagination(),this.initBody(!0))},q.prototype.getRowByUniqueId=function(a){var b,c,d,e=this.options.uniqueId,f=this.options.data.length,g=null;for(b=f-1;b>=0;b--){if(c=this.options.data[b],c.hasOwnProperty(e))d=c[e];else{if(!c._data.hasOwnProperty(e))continue;d=c._data[e]}if("string"==typeof d?a=a.toString():"number"==typeof d&&(Number(d)===d&&d%1===0?a=parseInt(a):d===Number(d)&&0!==d&&(a=parseFloat(a))),d===a){g=c;break}}return g},q.prototype.removeByUniqueId=function(a){var b=this.options.data.length,c=this.getRowByUniqueId(a);c&&this.options.data.splice(this.options.data.indexOf(c),1),b!==this.options.data.length&&(this.initSearch(),this.initPagination(),this.initBody(!0))},q.prototype.updateByUniqueId=function(b){var c=this,d=a.isArray(b)?b:[b];a.each(d,function(b,d){var e;d.hasOwnProperty("id")&&d.hasOwnProperty("row")&&(e=a.inArray(c.getRowByUniqueId(d.id),c.options.data),-1!==e&&a.extend(c.options.data[e],d.row))}),this.initSearch(),this.initPagination(),this.initSort(),this.initBody(!0)},q.prototype.refreshColumnTitle=function(b){if(b.hasOwnProperty("field")&&b.hasOwnProperty("title")&&(this.columns[this.fieldsColumnsIndex[b.field]].title=this.options.escape?l(b.title):b.title,this.columns[this.fieldsColumnsIndex[b.field]].visible)){var c=void 0!==this.options.height?this.$tableHeader:this.$header;c.find("th[data-field]").each(function(){return a(this).data("field")===b.field?(a(a(this).find(".th-inner")[0]).text(b.title),!1):void 0})}},q.prototype.insertRow=function(a){a.hasOwnProperty("index")&&a.hasOwnProperty("row")&&(this.options.data.splice(a.index,0,a.row),this.initSearch(),this.initPagination(),this.initSort(),this.initBody(!0))},q.prototype.updateRow=function(b){var c=this,d=a.isArray(b)?b:[b];a.each(d,function(b,d){d.hasOwnProperty("index")&&d.hasOwnProperty("row")&&a.extend(c.options.data[d.index],d.row)}),this.initSearch(),this.initPagination(),this.initSort(),this.initBody(!0)},q.prototype.initHiddenRows=function(){this.hiddenRows=[]},q.prototype.showRow=function(a){this.toggleRow(a,!0)},q.prototype.hideRow=function(a){this.toggleRow(a,!1)},q.prototype.toggleRow=function(b,c){var d,e;b.hasOwnProperty("index")?d=this.getData()[b.index]:b.hasOwnProperty("uniqueId")&&(d=this.getRowByUniqueId(b.uniqueId)),d&&(e=a.inArray(d,this.hiddenRows),c||-1!==e?c&&e>-1&&this.hiddenRows.splice(e,1):this.hiddenRows.push(d),this.initBody(!0))},q.prototype.getHiddenRows=function(){var b=this,c=this.getData(),d=[];return a.each(c,function(c,e){a.inArray(e,b.hiddenRows)>-1&&d.push(e)}),this.hiddenRows=d,d},q.prototype.mergeCells=function(b){var c,d,e,f=b.index,g=a.inArray(b.field,this.getVisibleFields()),h=b.rowspan||1,i=b.colspan||1,j=this.$body.find(">tr");if(this.options.detailView&&!this.options.cardView&&(g+=1),e=j.eq(f).find(">td").eq(g),!(0>f||0>g||f>=this.data.length)){for(c=f;f+h>c;c++)for(d=g;g+i>d;d++)j.eq(c).find(">td").eq(d).hide();e.attr("rowspan",h).attr("colspan",i).show()}},q.prototype.updateCell=function(a){a.hasOwnProperty("index")&&a.hasOwnProperty("field")&&a.hasOwnProperty("value")&&(this.data[a.index][a.field]=a.value,a.reinit!==!1&&(this.initSort(),this.initBody(!0)))},q.prototype.updateCellById=function(b){var c=this;if(b.hasOwnProperty("id")&&b.hasOwnProperty("field")&&b.hasOwnProperty("value")){var d=a.isArray(b)?b:[b];a.each(d,function(b,d){var e;e=a.inArray(c.getRowByUniqueId(d.id),c.options.data),-1!==e&&(c.data[e][d.field]=d.value)}),b.reinit!==!1&&(this.initSort(),this.initBody(!0))}},q.prototype.getOptions=function(){return a.extend(!0,{},this.options)},q.prototype.getSelections=function(){var b=this;return a.grep(this.options.data,function(a){return a[b.header.stateField]===!0})},q.prototype.getAllSelections=function(){var b=this;return a.grep(this.options.data,function(a){return a[b.header.stateField]})},q.prototype.checkAll=function(){this.checkAll_(!0)},q.prototype.uncheckAll=function(){this.checkAll_(!1)},q.prototype.checkInvert=function(){var b=this,c=b.$selectItem.filter(":enabled"),d=c.filter(":checked");c.each(function(){a(this).prop("checked",!a(this).prop("checked"))}),b.updateRows(),b.updateSelected(),b.trigger("uncheck-some",d),d=b.getSelections(),b.trigger("check-some",d)},q.prototype.checkAll_=function(a){var b;a||(b=this.getSelections()),this.$selectAll.add(this.$selectAll_).prop("checked",a),this.$selectItem.filter(":enabled").prop("checked",a),this.updateRows(),a&&(b=this.getSelections()),this.trigger(a?"check-all":"uncheck-all",b)},q.prototype.check=function(a){this.check_(!0,a)},q.prototype.uncheck=function(a){this.check_(!1,a)},q.prototype.check_=function(a,b){var c=this.$selectItem.filter(f('[data-index="%s"]',b)).prop("checked",a);this.data[b][this.header.stateField]=a,this.updateSelected(),this.trigger(a?"check":"uncheck",this.data[b],c)},q.prototype.checkBy=function(a){this.checkBy_(!0,a)},q.prototype.uncheckBy=function(a){this.checkBy_(!1,a)},q.prototype.checkBy_=function(b,c){if(c.hasOwnProperty("field")&&c.hasOwnProperty("values")){var d=this,e=[];a.each(this.options.data,function(g,h){if(!h.hasOwnProperty(c.field))return!1;if(-1!==a.inArray(h[c.field],c.values)){var i=d.$selectItem.filter(":enabled").filter(f('[data-index="%s"]',g)).prop("checked",b);h[d.header.stateField]=b,e.push(h),d.trigger(b?"check":"uncheck",h,i)}}),this.updateSelected(),this.trigger(b?"check-some":"uncheck-some",e)}},q.prototype.destroy=function(){this.$el.insertBefore(this.$container),a(this.options.toolbar).insertBefore(this.$el),this.$container.next().remove(),this.$container.remove(),this.$el.html(this.$el_.html()).css("margin-top","0").attr("class",this.$el_.attr("class")||"")},q.prototype.showLoading=function(){this.$tableLoading.show()},q.prototype.hideLoading=function(){this.$tableLoading.hide()},q.prototype.togglePagination=function(){this.options.pagination=!this.options.pagination;var a=this.$toolbar.find('button[name="paginationSwitch"] i');this.options.pagination?a.attr("class",this.options.iconsPrefix+" "+this.options.icons.paginationSwitchDown):a.attr("class",this.options.iconsPrefix+" "+this.options.icons.paginationSwitchUp),this.updatePagination()},q.prototype.toggleFullscreen=function(){this.$el.closest(".bootstrap-table").toggleClass("fullscreen")},q.prototype.refresh=function(a){a&&a.url&&(this.options.url=a.url),a&&a.pageNumber&&(this.options.pageNumber=a.pageNumber),a&&a.pageSize&&(this.options.pageSize=a.pageSize),this.initServer(a&&a.silent,a&&a.query,a&&a.url),this.trigger("refresh",a)},q.prototype.resetWidth=function(){this.options.showHeader&&this.options.height&&this.fitHeader(),this.options.showFooter&&!this.options.cardView&&this.fitFooter()},q.prototype.showColumn=function(a){this.toggleColumn(this.fieldsColumnsIndex[a],!0,!0)},q.prototype.hideColumn=function(a){this.toggleColumn(this.fieldsColumnsIndex[a],!1,!0)},q.prototype.getHiddenColumns=function(){return a.grep(this.columns,function(a){return!a.visible})},q.prototype.getVisibleColumns=function(){return a.grep(this.columns,function(a){return a.visible})},q.prototype.toggleAllColumns=function(b){var c=this;if(a.each(this.columns,function(a){c.columns[a].visible=b}),this.initHeader(),this.initSearch(),this.initPagination(),this.initBody(),this.options.showColumns){var d=this.$toolbar.find(".keep-open input").prop("disabled",!1);d.filter(":checked").length<=this.options.minimumCountColumns&&d.filter(":checked").prop("disabled",!0)}},q.prototype.showAllColumns=function(){this.toggleAllColumns(!0)},q.prototype.hideAllColumns=function(){this.toggleAllColumns(!1)},q.prototype.filterBy=function(b){this.filterColumns=a.isEmptyObject(b)?{}:b,this.options.pageNumber=1,this.initSearch(),this.updatePagination()},q.prototype.scrollTo=function(a){return"string"==typeof a&&(a="bottom"===a?this.$tableBody[0].scrollHeight:0),"number"==typeof a&&this.$tableBody.scrollTop(a),"undefined"==typeof a?this.$tableBody.scrollTop():void 0},q.prototype.getScrollPosition=function(){return this.scrollTo()},q.prototype.selectPage=function(a){a>0&&a<=this.options.totalPages&&(this.options.pageNumber=a,this.updatePagination())},q.prototype.prevPage=function(){this.options.pageNumber>1&&(this.options.pageNumber--,this.updatePagination())},q.prototype.nextPage=function(){this.options.pageNumber tr[data-index="%s"]',b));c.next().is("tr.detail-view")===(a?!1:!0)&&c.find("> td > .detail-icon").click()},q.prototype.expandRow=function(a){this.expandRow_(!0,a)},q.prototype.collapseRow=function(a){this.expandRow_(!1,a)},q.prototype.expandAllRows=function(b){if(b){var c=this.$body.find(f('> tr[data-index="%s"]',0)),d=this,e=null,g=!1,h=-1;if(c.next().is("tr.detail-view")?c.next().next().is("tr.detail-view")||(c.next().find(".detail-icon").click(),g=!0):(c.find("> td > .detail-icon").click(),g=!0),g)try{h=setInterval(function(){e=d.$body.find("tr.detail-view").last().find(".detail-icon"),e.length>0?e.click():clearInterval(h)},1)}catch(i){clearInterval(h)}}else for(var j=this.$body.children(),k=0;k3)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){if(a(b.target).is(this))return b.handleObj.handler.apply(this,arguments)}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.7",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a("#"===f?[]:f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.7",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c).prop(c,!0)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c).prop(c,!1))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target).closest(".btn");b.call(d,"toggle"),a(c.target).is('input[type="radio"], input[type="checkbox"]')||(c.preventDefault(),d.is("input,button")?d.trigger("focus"):d.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.7",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(a>this.$items.length-1||a<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){if(!this.sliding)return this.slide("next")},c.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.7",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.7",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&jdocument.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth
                                            ',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);if(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),!c.isInStateTrue())return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-mo.width?"left":"left"==h&&k.left-lg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null,a.$element=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;!e&&/destroy|hide/.test(b)||(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.7",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.7",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b=e[a]&&(void 0===e[a+1]||b .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.7",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return e=a-d&&"bottom"},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery); \ No newline at end of file diff --git a/common/js/clipboard.min.js b/common/js/clipboard.min.js new file mode 100644 index 0000000..90fd15b --- /dev/null +++ b/common/js/clipboard.min.js @@ -0,0 +1,7 @@ +/*! + * clipboard.js v1.7.1 + * https://zenorocha.github.io/clipboard.js + * + * Licensed MIT © Zeno Rocha + */ +!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.Clipboard=t()}}(function(){var t,e,n;return function t(e,n,o){function i(a,c){if(!n[a]){if(!e[a]){var l="function"==typeof require&&require;if(!c&&l)return l(a,!0);if(r)return r(a,!0);var s=new Error("Cannot find module '"+a+"'");throw s.code="MODULE_NOT_FOUND",s}var u=n[a]={exports:{}};e[a][0].call(u.exports,function(t){var n=e[a][1][t];return i(n||t)},u,u.exports,t,e,n,o)}return n[a].exports}for(var r="function"==typeof require&&require,a=0;a0&&void 0!==arguments[0]?arguments[0]:{};this.action=e.action,this.container=e.container,this.emitter=e.emitter,this.target=e.target,this.text=e.text,this.trigger=e.trigger,this.selectedText=""}},{key:"initSelection",value:function t(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:"selectFake",value:function t(){var e=this,n="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return e.removeFake()},this.fakeHandler=this.container.addEventListener("click",this.fakeHandlerCallback)||!0,this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[n?"right":"left"]="-9999px";var o=window.pageYOffset||document.documentElement.scrollTop;this.fakeElem.style.top=o+"px",this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,this.container.appendChild(this.fakeElem),this.selectedText=(0,i.default)(this.fakeElem),this.copyText()}},{key:"removeFake",value:function t(){this.fakeHandler&&(this.container.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(this.container.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function t(){this.selectedText=(0,i.default)(this.target),this.copyText()}},{key:"copyText",value:function t(){var e=void 0;try{e=document.execCommand(this.action)}catch(t){e=!1}this.handleResult(e)}},{key:"handleResult",value:function t(e){this.emitter.emit(e?"success":"error",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:"clearSelection",value:function t(){this.trigger&&this.trigger.focus(),window.getSelection().removeAllRanges()}},{key:"destroy",value:function t(){this.removeFake()}},{key:"action",set:function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"copy";if(this._action=e,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function t(){return this._action}},{key:"target",set:function t(e){if(void 0!==e){if(!e||"object"!==(void 0===e?"undefined":r(e))||1!==e.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&e.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(e.hasAttribute("readonly")||e.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=e}},get:function t(){return this._target}}]),t}();t.exports=c})},{select:5}],8:[function(e,n,o){!function(i,r){if("function"==typeof t&&t.amd)t(["module","./clipboard-action","tiny-emitter","good-listener"],r);else if(void 0!==o)r(n,e("./clipboard-action"),e("tiny-emitter"),e("good-listener"));else{var a={exports:{}};r(a,i.clipboardAction,i.tinyEmitter,i.goodListener),i.clipboard=a.exports}}(this,function(t,e,n,o){"use strict";function i(t){return t&&t.__esModule?t:{default:t}}function r(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function a(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function c(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function l(t,e){var n="data-clipboard-"+t;if(e.hasAttribute(n))return e.getAttribute(n)}var s=i(e),u=i(n),f=i(o),d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},h=function(){function t(t,e){for(var n=0;n0&&void 0!==arguments[0]?arguments[0]:{};this.action="function"==typeof e.action?e.action:this.defaultAction,this.target="function"==typeof e.target?e.target:this.defaultTarget,this.text="function"==typeof e.text?e.text:this.defaultText,this.container="object"===d(e.container)?e.container:document.body}},{key:"listenClick",value:function t(e){var n=this;this.listener=(0,f.default)(e,"click",function(t){return n.onClick(t)})}},{key:"onClick",value:function t(e){var n=e.delegateTarget||e.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new s.default({action:this.action(n),target:this.target(n),text:this.text(n),container:this.container,trigger:n,emitter:this})}},{key:"defaultAction",value:function t(e){return l("action",e)}},{key:"defaultTarget",value:function t(e){var n=l("target",e);if(n)return document.querySelector(n)}},{key:"defaultText",value:function t(e){return l("text",e)}},{key:"destroy",value:function t(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}],[{key:"isSupported",value:function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["copy","cut"],n="string"==typeof e?[e]:e,o=!!document.queryCommandSupported;return n.forEach(function(t){o=o&&!!document.queryCommandSupported(t)}),o}}]),e}(u.default);t.exports=p})},{"./clipboard-action":7,"good-listener":4,"tiny-emitter":6}]},{},[8])(8)}); \ No newline at end of file diff --git a/common/js/common.js b/common/js/common.js new file mode 100644 index 0000000..676a0cf --- /dev/null +++ b/common/js/common.js @@ -0,0 +1,595 @@ +function render (templateId, templateData, target) { + var html = template(templateId, templateData); + target.innerHTML += html; +} + +function dateFormat (date, fmt) { + date = new Date(date); + var o = { + 'M+': date.getMonth() + 1, + 'd+': date.getDate(), + 'h+': date.getHours(), + 'm+': date.getMinutes(), + 's+': date.getSeconds() + }; + + // 补全0 + function padLeftZero (str) { + return ('00' + str).substr(str.length); + } + + // 年份 + if (/(y+)/.test(fmt)) { + fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length)); + } + + // 月日时分秒 + for (var k in o) { + if (new RegExp('(' + k + ')').test(fmt)) { + var str = o[k] + ''; + fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str)); + } + } + + date = o = padLeftZero = null; + return fmt; +} + +function convert (_url) { + var patt = /\d+/; + var num = _url.match(patt); + var rs = {}; + rs.uid = num[0]; + return rs; +} + +// 传递分享信息给客户端,showUrl为分享的页面链接,为空时表示不分享 +// function shareInfo () { +// var _url = 'https://api.kawayisound.xyz/modules/bonus/fight.html'; +// var res = EnvCheck(); +// if (res == 'test'){ +// _url = 'http://apibeta.kawayisound.xyz/modules/bonus/fight.html'; +// } +// var info = { +// title: '轻寻与你一起红', +// imgUrl: 'https://img.erbanyy.com/qingxunlogo-256.png', +// desc: '登录即送20红包,每天还有分享红包,邀请红包,分成红包,四重红包大礼等你来拿', +// showUrl: _url +// }; +// return JSON.stringify(info); +// } + +// 根据域名适配环境 +function EnvCheck () { + if (window.location.href) { + var _url = window.location.href; + var res = _url.match(/beta/); + if (res) { + return 'test'; + } else { + return 'live'; + } + } +} + +// 根据域名判断是本地打开还是服务器打开 +function locateJudge () { + if (window.location.href) { + var _url = window.location.href; + var res = _url.match(/test|localhost/); + if (res) { + return '/api'; + } else { + return ''; + } + } +} + +// 获取地址栏参数 +function getQueryString () { + var _url = location.search; + var theRequest = new Object(); + if (_url.indexOf('?') != -1) { + var str = _url.substr(1); + strs = str.split('&'); + for (var i in strs) { + theRequest[strs[i].split('=')[0]] = decodeURI(strs[i].split('=')[1]); + } + } + return theRequest; +} + +// 判断浏览器内核,手机类型 +function checkVersion () { + var u = navigator.userAgent, + app = navigator.appVersion; + return { + trident: u.indexOf('Trident') > -1, //IE内核 + presto: u.indexOf('Presto') > -1, //opera内核 + webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核 + gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核 + mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端 + ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端 + android: u.indexOf('Android') > -1 || u.indexOf('Adr') > -1, //android终端 + iPhone: u.indexOf('iPhone') > -1, //是否为iPhone或者QQHD浏览器 + iPad: u.indexOf('iPad') > -1, //是否iPad + webApp: u.indexOf('Safari') > -1, //是否web应该程序,没有头部与底部 + weixin: u.indexOf('MicroMessenger') > -1, //是否微信 + qq: u.match(/\sQQ/i) == " qq", //是否QQ + tutuApp: u.match('tutuApp'), + app: u.match('tutuApp') //是否在app内 + }; +} + +// 图片预加载 +function preloadImage (obj) { + console.log(obj) + var loadLength = 0, + newImages = []; + for (var i = 0; i < obj.imageArr.length; i++) { + newImages[i] = new Image(); + newImages[i].src = obj.imageArr[i]; + newImages[i].onload = newImages[i].onerror = function () { + loadLength++; + typeof obj.preloadPreFunc === 'function' && obj.preloadPreFunc(loadLength); + if (loadLength == obj.imageArr.length) { + typeof obj.doneFunc === 'function' && obj.doneFunc(); + } + } + } +} + +// 判断是否在App内 +function isApp () { + var androidBol = false; + var osBol = false; + if (window.androidJsObj && typeof window.androidJsObj === 'object') { + androidBol = true; + } + if (window.webkit) { + console.log(window.webkit); + osBol = true; + } + return (androidBol || osBol); + +} + +function UrlSearch () { + var name, value; + var str = location.href; + var num = str.indexOf("?") + str = str.substr(num + 1); + var arr = str.split("&"); + for (var i = 0; i < arr.length; i++) { + num = arr[i].indexOf("="); + if (num > 0) { + name = arr[i].substring(0, num); + value = arr[i].substr(num + 1); + this[name] = value; + } + } + return value; +} + +function erbanMask (channel, tags, params) { + //此函数用于一般的轻寻底层面罩 + var browser = checkVersion(); + var env = EnvCheck(); + // params = params? params:0; + var bol = $.isEmptyObject(params); + var keyId = "978cd79c98264f836450afda1228762e"; + if (browser.ios) { + if (env == 'test') { + keyId = '33f560a83c9c40d465711c0038653ca0' + } + console.log('ios_linkedme_keyId:', keyId) + } + var jsonStr = ''; + if (!bol) { + jsonStr = JSON.stringify(params); + } + if (!browser.app) { + $('#mask').css('display', 'flex'); + var linkData = { + type: env, + channel: channel, + tags: tags, + // ios_custom_url: "https://itunes.apple.com/cn/app/id1252542069?mt=8", + params: jsonStr + }; + + linkedme.init(keyId, { + type: env + }, null); + + linkedme.link(linkData, function (err, response) { + if (err) { + // 生成深度链接失败,返回错误对象err + console.log('err:', err); + } else { + console.log(response); + $('#download a').attr("href", response.url); + $('.download a').attr('href', response.url); + } + }, false); + } else { + $('#mask').hide(); + } +} + +function wxConfig () { + var wxurl = encodeURIComponent(location.href.split('#')[0]); + var data = "url=" + wxurl; + console.log(data); + $.ajax({ + type: 'GET', + url: '/wx/config', + data: data, + asyc: true, + success: function (data) { + if (data.code = 200) { + wx.config({ + debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 + appId: 'wx009d793f92c24eec', // 必填,公众号的唯一标识 + timestamp: data.data.timestamp, // 必填,生成签名的时间戳 + nonceStr: data.data.nonceStr, // 必填,生成签名的随机串 + signature: data.data.signature, // 必填,签名,见附录1 + jsApiList: data.data.jsApiList // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 + }); + wx.error(function (res) { + console.log('config error,msg:' + res); + }); + } + }, + error: function (res) { + console.log('config error,msg:' + res); + } + }) +} + +function refreshWeb () { + window.location.href = window.location.href; +} + +function shareInfo (urlMsg) { + if (urlMsg) { + var env = EnvCheck(); + if (env == 'test') { + return 'http://apibeta.kawayisound.xyz/' + urlMsg; + } else { + return 'https://api.kawayisound.xyz/' + urlMsg; + } + } +} + +function initNav (obj) { + if ($.isEmptyObject(obj)) { + return; + } + var browser = checkVersion(); + if (browser.app) { + if (browser.ios) { + window.webkit.messageHandlers.initNav.postMessage(obj); + } else if (browser.android) { + var json = JSON.stringify(obj); + window.androidJsObj.initNav(json); + } + } +} + +var tools = { + cookieUtils: { + set: function (key, val, time) { + var date = new Date(); + var expiresDays = time; + date.setTime(date.getTime() + expiresDays * 24 * 3600 * 1000); + document.cookie = key + '=' + val + ';expires=' + date.toGMTString(); + }, + + get: function (key) { + var getCookie = document.cookie.replace(/[ ]/g, ""); + var arrCookie = getCookie.split(';'); + var val; + for (var i = 0; i < arrCookie.length; i++) { + var arr = arrCookie[i].split('='); + if (key === arr[0]) { + val = arr[1]; + break; + } + } + return val; + }, + + delete: function (key) { + // var date = new Date(); + // date.setTime(date.getTime() - 10000); + // document.cookie = key + "+v; expires =" + date.toGMTString(); + var date = new Date(); + date.setTime(date.getTime() - 10000); + var cVal = this.get(key); + document.cookie = key + "=" + cVal + "; expires =" + date.toGMTString(); + } + }, + + nativeUtils: { + jumpAppointPage: function (type, val) { + // routerType 跳转名称 + // routerVal 跳转需要传的参数 + + var browser = checkVersion(); + var jumpObj = {}; + jumpObj.routerType = routeTypeConstant[type]; + if (val || val === 0) { + jumpObj.routerVal = val; + } + console.log(jumpObj); + if (browser.app) { + if (browser.ios) { + if (type.indexOf('_') > -1) { + window.webkit.messageHandlers.jumpAppointPage.postMessage(jumpObj); + } else { + if (val) { + window.webkit.messageHandlers.type.postMessage(val); + } else { + window.webkit.messageHandlers.type.postMessage(null); + } + } + } else if (browser.android) { + if (androidJsObj && typeof androidJsObj === 'object') { + if (type.indexOf('_') > -1) { + window.androidJsObj.jumpAppointPage(JSON.stringify(jumpObj)); + } else { + if (val) { + window.androidJsObj.type(val); + } else { + window.androidJsObj.type(); + } + } + } + } + } + }, + + getUid: function () { + var browser = checkVersion(); + console.log(browser); + var val; + if (browser.app) { + if (browser.ios) { + val = tools.cookieUtils.get('uid'); + } else if (browser.android) { + if (androidJsObj && typeof androidJsObj === 'object') { + val = parseInt(window.androidJsObj.getUid()); + } + } + } else { + var locate = getQueryString(); + if (!locate.uid && !locate.shareUid) { + val = 901189; + } else { + if (locate.shareUid) { + val = locate.shareUid; + } else { + val = locate.uid; + } + } + } + return val; + + }, + + getTicket: function () { + var browser = checkVersion(); + var val; + if (browser.app) { + if (browser.ios) { + val = window.webkit.messageHandlers.getTicket.postMessage(null); + } else if (browser.android) { + if (androidJsObj && typeof androidJsObj === 'object') { + val = window.androidJsObj.getTicket(); + } + } + } else { + val = 'app外' + } + return val; + }, + getAppVersion: function () { + var browser = checkVersion(); + var val + if (browser.app) { + if (browser.ios) { + val = window.webkit.messageHandlers.getAppVersion.postMessage(null); + } else { + val = window.androidJsObj.getAppVersion(); + } + } + return val + }, + close: function () { + var browser = checkVersion(); + if (browser.app) { + if (browser.ios) { + window.webkit.messageHandlers.closeDialogWebView.postMessage(null) + } else if (browser.android) { + if (androidJsObj && typeof androidJsObj === 'object') { + window.androidJsObj.closeDialogWebView() + } + } + } + }, + + //关闭浏览器 + closeWebView: function () { + var browser = checkVersion(); + if (browser.app) { + if (browser.ios) { + window.webkit.messageHandlers.closeWebView.postMessage(null); + } else { + window.androidJsObj.closeWebView(); + } + } + }, + userLoginOut: function () { + var browser = checkVersion(); + if (browser.app) { + if (browser.ios) { + window.webkit.messageHandlers.userLoginOut.postMessage(null); + } else if (browser.android && androidJsObj && typeof androidJsObj === 'object') { + window.androidJsObj.userLoginOut(); + } + } + }, + getDeviceInfo: function () { + var browser = checkVersion(); + var val + if (browser.app) { + if (browser.ios) { + val = window.webkit.messageHandlers.getDeviceInfo.postMessage(null); + } else { + val = window.androidJsObj.getDeviceInfo(); + } + } + return val + }, + getDeviceId: function () { + var browser = checkVersion(); + var val + if (browser.app) { + if (browser.ios) { + val = window.webkit.messageHandlers.getDeviceId.postMessage(null); + } else { + val = window.androidJsObj.getDeviceId(); + } + } + return val + } + } +} + +// 透明loading层 +var $Loading = { + count: 0, + isFadeOut: false, + show: function () { + this.count++; + if ($('#loadingToast').length >= 1) { + if (this.isFadeOut) { + this.isFadeOut = false; + $('#loadingToast').stop(true).fadeTo(0, 1); + } + } else { + $('body').append('') + $('#loadingToast').fadeIn(100); + } + }, + hide: function () { + this.count--; + if (this.count === 0) { + this.isFadeOut = true; + $('#loadingToast').fadeOut(200, function () { + $Loading.isFadeOut = false; + $(this).remove(); + }); + } + } +}; +var requestBaseUrl = locateJudge(); +// ajax +function request (type, option) { + return $.ajax({ + type: type, + url: requestBaseUrl + option.url, + data: option.data, + headers: option.headers, + beforeSend: function (xhr) { + !option.isHideLoading && $Loading.show(); + }, + success: function (res, status, xhr) { + !option.isHideLoading && $Loading.hide(); + typeof option.success === 'function' && option.success(res, status, xhr); + }, + error: function (xhr, status, error) { + !option.isHideLoading && $Loading.hide(); + typeof option.error === 'function' && option.error(xhr, status, error); + } + }) +} +// ajax get +function getJSON (option) { + request('get', option) +} +// ajax post +function postJSON (option) { + request('post', option); +} + +function wb__formatNumber (n) { + n = n.toString(); + return n[1] ? n : '0' + n; +} + +function wb__dateFormat (value, format) { // 时间的转换 + if (!value) return '' + format = format || 'Y-M-D h:m:s' + var dateFormat = value + if (typeof value === 'string') { + dateFormat = value.match(/\d+-\d+-\d+|\d+\/\d+\/\d+|\d+:\d+:\d+/g).join(" ").replace(/-/g, '/'); + } + + var date = new Date(dateFormat); + var formateArr = ['Y', 'M', 'D', 'h', 'm', 's']; + var dateArr = []; + + dateArr.push(date.getFullYear()); + dateArr.push(wb__formatNumber(date.getMonth() + 1)); + dateArr.push(wb__formatNumber(date.getDate())); + + dateArr.push(wb__formatNumber(date.getHours())); + dateArr.push(wb__formatNumber(date.getMinutes())); + dateArr.push(wb__formatNumber(date.getSeconds())); + + for (var i in dateArr) { + format = format.replace(formateArr[i], dateArr[i]); + } + return format; +} + +function get_config_adminHandle () { + var api = locateJudge(); + $.ajax({ + type: 'POST', + url: api + '/app/getContactInfo', + data: { + app: 'qingxun' + }, + success: function (res) { + var code = res.code + var data = res.data + if (code == 200) { + var obj = { + 'contactEmail': $('._config_contactEmail'), + 'contactWx': $('._config_contactWx'), + 'qqGroup': $('._config_qqGroup'), + 'qq': $('._config_qq'), + 'mobile': $('._config_mobile'), + 'contactPhone': $('._config_contactPhone'), + 'address': $('._config_address') + } + + for (var key in obj) { + var jqDom = obj[key] + var val = data[key] || jqDom.html() + jqDom.html(val) + + var href = jqDom.attr('href') || '' + if (href.indexOf('tel:') != -1) { + jqDom.attr('href', 'tel: ' + val) + } + + } + } + } + }) + +} \ No newline at end of file diff --git a/common/js/datetime.js b/common/js/datetime.js new file mode 100644 index 0000000..968b07b --- /dev/null +++ b/common/js/datetime.js @@ -0,0 +1,2825 @@ +/*! iScroll v5.2.0 ~ (c) 2008-2016 Matteo Spinelli ~ http://cubiq.org/license */ +(function (window, document, Math) { +var rAF = window.requestAnimationFrame || + window.webkitRequestAnimationFrame || + window.mozRequestAnimationFrame || + window.oRequestAnimationFrame || + window.msRequestAnimationFrame || + function (callback) { window.setTimeout(callback, 1000 / 60); }; + +var utils = (function () { + var me = {}; + + var _elementStyle = document.createElement('div').style; + var _vendor = (function () { + var vendors = ['t', 'webkitT', 'MozT', 'msT', 'OT'], + transform, + i = 0, + l = vendors.length; + + for ( ; i < l; i++ ) { + transform = vendors[i] + 'ransform'; + if ( transform in _elementStyle ) return vendors[i].substr(0, vendors[i].length-1); + } + + return false; + })(); + + function _prefixStyle (style) { + if ( _vendor === false ) return false; + if ( _vendor === '' ) return style; + return _vendor + style.charAt(0).toUpperCase() + style.substr(1); + } + + me.getTime = Date.now || function getTime () { return new Date().getTime(); }; + + me.extend = function (target, obj) { + for ( var i in obj ) { + target[i] = obj[i]; + } + }; + + me.addEvent = function (el, type, fn, capture) { + el.addEventListener(type, fn, !!capture); + }; + + me.removeEvent = function (el, type, fn, capture) { + el.removeEventListener(type, fn, !!capture); + }; + + me.prefixPointerEvent = function (pointerEvent) { + return window.MSPointerEvent ? + 'MSPointer' + pointerEvent.charAt(7).toUpperCase() + pointerEvent.substr(8): + pointerEvent; + }; + + me.momentum = function (current, start, time, lowerMargin, wrapperSize, deceleration) { + var distance = current - start, + speed = Math.abs(distance) / time, + destination, + duration; + + deceleration = deceleration === undefined ? 0.0006 : deceleration; + + destination = current + ( speed * speed ) / ( 2 * deceleration ) * ( distance < 0 ? -1 : 1 ); + duration = speed / deceleration; + + if ( destination < lowerMargin ) { + destination = wrapperSize ? lowerMargin - ( wrapperSize / 2.5 * ( speed / 8 ) ) : lowerMargin; + distance = Math.abs(destination - current); + duration = distance / speed; + } else if ( destination > 0 ) { + destination = wrapperSize ? wrapperSize / 2.5 * ( speed / 8 ) : 0; + distance = Math.abs(current) + destination; + duration = distance / speed; + } + + return { + destination: Math.round(destination), + duration: duration + }; + }; + + var _transform = _prefixStyle('transform'); + + me.extend(me, { + hasTransform: _transform !== false, + hasPerspective: _prefixStyle('perspective') in _elementStyle, + hasTouch: 'ontouchstart' in window, + hasPointer: !!(window.PointerEvent || window.MSPointerEvent), // IE10 is prefixed + hasTransition: _prefixStyle('transition') in _elementStyle + }); + + /* + This should find all Android browsers lower than build 535.19 (both stock browser and webview) + - galaxy S2 is ok + - 2.3.6 : `AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1` + - 4.0.4 : `AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30` + - galaxy S3 is badAndroid (stock brower, webview) + `AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30` + - galaxy S4 is badAndroid (stock brower, webview) + `AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30` + - galaxy S5 is OK + `AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Mobile Safari/537.36 (Chrome/)` + - galaxy S6 is OK + `AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Mobile Safari/537.36 (Chrome/)` + */ + me.isBadAndroid = (function() { + var appVersion = window.navigator.appVersion; + // Android browser is not a chrome browser. + if (/Android/.test(appVersion) && !(/Chrome\/\d/.test(appVersion))) { + var safariVersion = appVersion.match(/Safari\/(\d+.\d)/); + if(safariVersion && typeof safariVersion === "object" && safariVersion.length >= 2) { + return parseFloat(safariVersion[1]) < 535.19; + } else { + return true; + } + } else { + return false; + } + })(); + + me.extend(me.style = {}, { + transform: _transform, + transitionTimingFunction: _prefixStyle('transitionTimingFunction'), + transitionDuration: _prefixStyle('transitionDuration'), + transitionDelay: _prefixStyle('transitionDelay'), + transformOrigin: _prefixStyle('transformOrigin') + }); + + me.hasClass = function (e, c) { + var re = new RegExp("(^|\\s)" + c + "(\\s|$)"); + return re.test(e.className); + }; + + me.addClass = function (e, c) { + if ( me.hasClass(e, c) ) { + return; + } + + var newclass = e.className.split(' '); + newclass.push(c); + e.className = newclass.join(' '); + }; + + me.removeClass = function (e, c) { + if ( !me.hasClass(e, c) ) { + return; + } + + var re = new RegExp("(^|\\s)" + c + "(\\s|$)", 'g'); + e.className = e.className.replace(re, ' '); + }; + + me.offset = function (el) { + var left = -el.offsetLeft, + top = -el.offsetTop; + + // jshint -W084 + while (el = el.offsetParent) { + left -= el.offsetLeft; + top -= el.offsetTop; + } + // jshint +W084 + + return { + left: left, + top: top + }; + }; + + me.preventDefaultException = function (el, exceptions) { + for ( var i in exceptions ) { + if ( exceptions[i].test(el[i]) ) { + return true; + } + } + + return false; + }; + + me.extend(me.eventType = {}, { + touchstart: 1, + touchmove: 1, + touchend: 1, + + mousedown: 2, + mousemove: 2, + mouseup: 2, + + pointerdown: 3, + pointermove: 3, + pointerup: 3, + + MSPointerDown: 3, + MSPointerMove: 3, + MSPointerUp: 3 + }); + + me.extend(me.ease = {}, { + quadratic: { + style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)', + fn: function (k) { + return k * ( 2 - k ); + } + }, + circular: { + style: 'cubic-bezier(0.1, 0.57, 0.1, 1)', // Not properly "circular" but this looks better, it should be (0.075, 0.82, 0.165, 1) + fn: function (k) { + return Math.sqrt( 1 - ( --k * k ) ); + } + }, + back: { + style: 'cubic-bezier(0.175, 0.885, 0.32, 1.275)', + fn: function (k) { + var b = 4; + return ( k = k - 1 ) * k * ( ( b + 1 ) * k + b ) + 1; + } + }, + bounce: { + style: '', + fn: function (k) { + if ( ( k /= 1 ) < ( 1 / 2.75 ) ) { + return 7.5625 * k * k; + } else if ( k < ( 2 / 2.75 ) ) { + return 7.5625 * ( k -= ( 1.5 / 2.75 ) ) * k + 0.75; + } else if ( k < ( 2.5 / 2.75 ) ) { + return 7.5625 * ( k -= ( 2.25 / 2.75 ) ) * k + 0.9375; + } else { + return 7.5625 * ( k -= ( 2.625 / 2.75 ) ) * k + 0.984375; + } + } + }, + elastic: { + style: '', + fn: function (k) { + var f = 0.22, + e = 0.4; + + if ( k === 0 ) { return 0; } + if ( k == 1 ) { return 1; } + + return ( e * Math.pow( 2, - 10 * k ) * Math.sin( ( k - f / 4 ) * ( 2 * Math.PI ) / f ) + 1 ); + } + } + }); + + me.tap = function (e, eventName) { + var ev = document.createEvent('Event'); + ev.initEvent(eventName, true, true); + ev.pageX = e.pageX; + ev.pageY = e.pageY; + e.target.dispatchEvent(ev); + }; + + me.click = function (e) { + var target = e.target, + ev; + + if ( !(/(SELECT|INPUT|TEXTAREA)/i).test(target.tagName) ) { + // https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/initMouseEvent + // initMouseEvent is deprecated. + ev = document.createEvent(window.MouseEvent ? 'MouseEvents' : 'Event'); + ev.initEvent('click', true, true); + ev.view = e.view || window; + ev.detail = 1; + ev.screenX = target.screenX || 0; + ev.screenY = target.screenY || 0; + ev.clientX = target.clientX || 0; + ev.clientY = target.clientY || 0; + ev.ctrlKey = !!e.ctrlKey; + ev.altKey = !!e.altKey; + ev.shiftKey = !!e.shiftKey; + ev.metaKey = !!e.metaKey; + ev.button = 0; + ev.relatedTarget = null; + ev._constructed = true; + target.dispatchEvent(ev); + } + }; + + return me; +})(); +function IScroll (el, options) { + this.wrapper = typeof el == 'string' ? document.querySelector(el) : el; + this.scroller = this.wrapper.children[0]; + this.scrollerStyle = this.scroller.style; // cache style for better performance + + this.options = { + + resizeScrollbars: true, + + mouseWheelSpeed: 20, + + snapThreshold: 0.334, + +// INSERT POINT: OPTIONS + disablePointer : !utils.hasPointer, + disableTouch : utils.hasPointer || !utils.hasTouch, + disableMouse : utils.hasPointer || utils.hasTouch, + startX: 0, + startY: 0, + scrollY: true, + directionLockThreshold: 5, + momentum: true, + + bounce: true, + bounceTime: 600, + bounceEasing: '', + + preventDefault: true, + preventDefaultException: { tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT)$/ }, + + HWCompositing: true, + useTransition: true, + useTransform: true, + bindToWrapper: typeof window.onmousedown === "undefined" + }; + + for ( var i in options ) { + this.options[i] = options[i]; + } + + // Normalize options + this.translateZ = this.options.HWCompositing && utils.hasPerspective ? ' translateZ(0)' : ''; + + this.options.useTransition = utils.hasTransition && this.options.useTransition; + this.options.useTransform = utils.hasTransform && this.options.useTransform; + + this.options.eventPassthrough = this.options.eventPassthrough === true ? 'vertical' : this.options.eventPassthrough; + this.options.preventDefault = !this.options.eventPassthrough && this.options.preventDefault; + + // If you want eventPassthrough I have to lock one of the axes + this.options.scrollY = this.options.eventPassthrough == 'vertical' ? false : this.options.scrollY; + this.options.scrollX = this.options.eventPassthrough == 'horizontal' ? false : this.options.scrollX; + + // With eventPassthrough we also need lockDirection mechanism + this.options.freeScroll = this.options.freeScroll && !this.options.eventPassthrough; + this.options.directionLockThreshold = this.options.eventPassthrough ? 0 : this.options.directionLockThreshold; + + this.options.bounceEasing = typeof this.options.bounceEasing == 'string' ? utils.ease[this.options.bounceEasing] || utils.ease.circular : this.options.bounceEasing; + + this.options.resizePolling = this.options.resizePolling === undefined ? 60 : this.options.resizePolling; + + if ( this.options.tap === true ) { + this.options.tap = 'tap'; + } + + // https://github.com/cubiq/iscroll/issues/1029 + if (!this.options.useTransition && !this.options.useTransform) { + if(!(/relative|absolute/i).test(this.scrollerStyle.position)) { + this.scrollerStyle.position = "relative"; + } + } + + if ( this.options.shrinkScrollbars == 'scale' ) { + this.options.useTransition = false; + } + + this.options.invertWheelDirection = this.options.invertWheelDirection ? -1 : 1; + +// INSERT POINT: NORMALIZATION + + // Some defaults + this.x = 0; + this.y = 0; + this.directionX = 0; + this.directionY = 0; + this._events = {}; + +// INSERT POINT: DEFAULTS + + this._init(); + this.refresh(); + + this.scrollTo(this.options.startX, this.options.startY); + this.enable(); +} + +IScroll.prototype = { + version: '5.2.0', + + _init: function () { + this._initEvents(); + + if ( this.options.scrollbars || this.options.indicators ) { + this._initIndicators(); + } + + if ( this.options.mouseWheel ) { + this._initWheel(); + } + + if ( this.options.snap ) { + this._initSnap(); + } + + if ( this.options.keyBindings ) { + this._initKeys(); + } + +// INSERT POINT: _init + + }, + + destroy: function () { + this._initEvents(true); + clearTimeout(this.resizeTimeout); + this.resizeTimeout = null; + this._execEvent('destroy'); + }, + + _transitionEnd: function (e) { + if ( e.target != this.scroller || !this.isInTransition ) { + return; + } + + this._transitionTime(); + if ( !this.resetPosition(this.options.bounceTime) ) { + this.isInTransition = false; + this._execEvent('scrollEnd'); + } + }, + + _start: function (e) { + // React to left mouse button only + if ( utils.eventType[e.type] != 1 ) { + // for button property + // http://unixpapa.com/js/mouse.html + var button; + if (!e.which) { + /* IE case */ + button = (e.button < 2) ? 0 : + ((e.button == 4) ? 1 : 2); + } else { + /* All others */ + button = e.button; + } + if ( button !== 0 ) { + return; + } + } + + if ( !this.enabled || (this.initiated && utils.eventType[e.type] !== this.initiated) ) { + return; + } + + if ( this.options.preventDefault && !utils.isBadAndroid && !utils.preventDefaultException(e.target, this.options.preventDefaultException) ) { + e.preventDefault(); + } + + var point = e.touches ? e.touches[0] : e, + pos; + + this.initiated = utils.eventType[e.type]; + this.moved = false; + this.distX = 0; + this.distY = 0; + this.directionX = 0; + this.directionY = 0; + this.directionLocked = 0; + + this.startTime = utils.getTime(); + + if ( this.options.useTransition && this.isInTransition ) { + this._transitionTime(); + this.isInTransition = false; + pos = this.getComputedPosition(); + this._translate(Math.round(pos.x), Math.round(pos.y)); + this._execEvent('scrollEnd'); + } else if ( !this.options.useTransition && this.isAnimating ) { + this.isAnimating = false; + this._execEvent('scrollEnd'); + } + + this.startX = this.x; + this.startY = this.y; + this.absStartX = this.x; + this.absStartY = this.y; + this.pointX = point.pageX; + this.pointY = point.pageY; + + this._execEvent('beforeScrollStart'); + }, + + _move: function (e) { + if ( !this.enabled || utils.eventType[e.type] !== this.initiated ) { + return; + } + + if ( this.options.preventDefault ) { // increases performance on Android? TODO: check! + e.preventDefault(); + } + + var point = e.touches ? e.touches[0] : e, + deltaX = point.pageX - this.pointX, + deltaY = point.pageY - this.pointY, + timestamp = utils.getTime(), + newX, newY, + absDistX, absDistY; + + this.pointX = point.pageX; + this.pointY = point.pageY; + + this.distX += deltaX; + this.distY += deltaY; + absDistX = Math.abs(this.distX); + absDistY = Math.abs(this.distY); + + // We need to move at least 10 pixels for the scrolling to initiate + if ( timestamp - this.endTime > 300 && (absDistX < 10 && absDistY < 10) ) { + return; + } + + // If you are scrolling in one direction lock the other + if ( !this.directionLocked && !this.options.freeScroll ) { + if ( absDistX > absDistY + this.options.directionLockThreshold ) { + this.directionLocked = 'h'; // lock horizontally + } else if ( absDistY >= absDistX + this.options.directionLockThreshold ) { + this.directionLocked = 'v'; // lock vertically + } else { + this.directionLocked = 'n'; // no lock + } + } + + if ( this.directionLocked == 'h' ) { + if ( this.options.eventPassthrough == 'vertical' ) { + e.preventDefault(); + } else if ( this.options.eventPassthrough == 'horizontal' ) { + this.initiated = false; + return; + } + + deltaY = 0; + } else if ( this.directionLocked == 'v' ) { + if ( this.options.eventPassthrough == 'horizontal' ) { + e.preventDefault(); + } else if ( this.options.eventPassthrough == 'vertical' ) { + this.initiated = false; + return; + } + + deltaX = 0; + } + + deltaX = this.hasHorizontalScroll ? deltaX : 0; + deltaY = this.hasVerticalScroll ? deltaY : 0; + + newX = this.x + deltaX; + newY = this.y + deltaY; + + // Slow down if outside of the boundaries + if ( newX > 0 || newX < this.maxScrollX ) { + newX = this.options.bounce ? this.x + deltaX / 3 : newX > 0 ? 0 : this.maxScrollX; + } + if ( newY > 0 || newY < this.maxScrollY ) { + newY = this.options.bounce ? this.y + deltaY / 3 : newY > 0 ? 0 : this.maxScrollY; + } + + this.directionX = deltaX > 0 ? -1 : deltaX < 0 ? 1 : 0; + this.directionY = deltaY > 0 ? -1 : deltaY < 0 ? 1 : 0; + + if ( !this.moved ) { + this._execEvent('scrollStart'); + } + + this.moved = true; + + this._translate(newX, newY); + +/* REPLACE START: _move */ + + if ( timestamp - this.startTime > 300 ) { + this.startTime = timestamp; + this.startX = this.x; + this.startY = this.y; + } + +/* REPLACE END: _move */ + + }, + + _end: function (e) { + if ( !this.enabled || utils.eventType[e.type] !== this.initiated ) { + return; + } + + if ( this.options.preventDefault && !utils.preventDefaultException(e.target, this.options.preventDefaultException) ) { + e.preventDefault(); + } + + var point = e.changedTouches ? e.changedTouches[0] : e, + momentumX, + momentumY, + duration = utils.getTime() - this.startTime, + newX = Math.round(this.x), + newY = Math.round(this.y), + distanceX = Math.abs(newX - this.startX), + distanceY = Math.abs(newY - this.startY), + time = 0, + easing = ''; + + this.isInTransition = 0; + this.initiated = 0; + this.endTime = utils.getTime(); + + // reset if we are outside of the boundaries + if ( this.resetPosition(this.options.bounceTime) ) { + return; + } + + this.scrollTo(newX, newY); // ensures that the last position is rounded + + // we scrolled less than 10 pixels + if ( !this.moved ) { + if ( this.options.tap ) { + utils.tap(e, this.options.tap); + } + + if ( this.options.click ) { + utils.click(e); + } + + this._execEvent('scrollCancel'); + return; + } + + if ( this._events.flick && duration < 200 && distanceX < 100 && distanceY < 100 ) { + this._execEvent('flick'); + return; + } + + // start momentum animation if needed + if ( this.options.momentum && duration < 300 ) { + momentumX = this.hasHorizontalScroll ? utils.momentum(this.x, this.startX, duration, this.maxScrollX, this.options.bounce ? this.wrapperWidth : 0, this.options.deceleration) : { destination: newX, duration: 0 }; + momentumY = this.hasVerticalScroll ? utils.momentum(this.y, this.startY, duration, this.maxScrollY, this.options.bounce ? this.wrapperHeight : 0, this.options.deceleration) : { destination: newY, duration: 0 }; + newX = momentumX.destination; + newY = momentumY.destination; + time = Math.max(momentumX.duration, momentumY.duration); + this.isInTransition = 1; + } + + + if ( this.options.snap ) { + var snap = this._nearestSnap(newX, newY); + this.currentPage = snap; + time = this.options.snapSpeed || Math.max( + Math.max( + Math.min(Math.abs(newX - snap.x), 1000), + Math.min(Math.abs(newY - snap.y), 1000) + ), 300); + newX = snap.x; + newY = snap.y; + + this.directionX = 0; + this.directionY = 0; + easing = this.options.bounceEasing; + } + +// INSERT POINT: _end + + if ( newX != this.x || newY != this.y ) { + // change easing function when scroller goes out of the boundaries + if ( newX > 0 || newX < this.maxScrollX || newY > 0 || newY < this.maxScrollY ) { + easing = utils.ease.quadratic; + } + + this.scrollTo(newX, newY, time, easing); + return; + } + + this._execEvent('scrollEnd'); + }, + + _resize: function () { + var that = this; + + clearTimeout(this.resizeTimeout); + + this.resizeTimeout = setTimeout(function () { + that.refresh(); + }, this.options.resizePolling); + }, + + resetPosition: function (time) { + var x = this.x, + y = this.y; + + time = time || 0; + + if ( !this.hasHorizontalScroll || this.x > 0 ) { + x = 0; + } else if ( this.x < this.maxScrollX ) { + x = this.maxScrollX; + } + + if ( !this.hasVerticalScroll || this.y > 0 ) { + y = 0; + } else if ( this.y < this.maxScrollY ) { + y = this.maxScrollY; + } + + if ( x == this.x && y == this.y ) { + return false; + } + + this.scrollTo(x, y, time, this.options.bounceEasing); + + return true; + }, + + disable: function () { + this.enabled = false; + }, + + enable: function () { + this.enabled = true; + }, + + refresh: function () { + var rf = this.wrapper.offsetHeight; // Force reflow + + this.wrapperWidth = this.wrapper.clientWidth; + this.wrapperHeight = this.wrapper.clientHeight; + +/* REPLACE START: refresh */ + + this.scrollerWidth = this.scroller.offsetWidth; + this.scrollerHeight = this.scroller.offsetHeight; + + this.maxScrollX = this.wrapperWidth - this.scrollerWidth; + this.maxScrollY = this.wrapperHeight - this.scrollerHeight; + +/* REPLACE END: refresh */ + + this.hasHorizontalScroll = this.options.scrollX && this.maxScrollX < 0; + this.hasVerticalScroll = this.options.scrollY && this.maxScrollY < 0; + + if ( !this.hasHorizontalScroll ) { + this.maxScrollX = 0; + this.scrollerWidth = this.wrapperWidth; + } + + if ( !this.hasVerticalScroll ) { + this.maxScrollY = 0; + this.scrollerHeight = this.wrapperHeight; + } + + this.endTime = 0; + this.directionX = 0; + this.directionY = 0; + + this.wrapperOffset = utils.offset(this.wrapper); + + this._execEvent('refresh'); + + this.resetPosition(); + +// INSERT POINT: _refresh + + }, + + on: function (type, fn) { + if ( !this._events[type] ) { + this._events[type] = []; + } + + this._events[type].push(fn); + }, + + off: function (type, fn) { + if ( !this._events[type] ) { + return; + } + + var index = this._events[type].indexOf(fn); + + if ( index > -1 ) { + this._events[type].splice(index, 1); + } + }, + + _execEvent: function (type) { + if ( !this._events[type] ) { + return; + } + + var i = 0, + l = this._events[type].length; + + if ( !l ) { + return; + } + + for ( ; i < l; i++ ) { + this._events[type][i].apply(this, [].slice.call(arguments, 1)); + } + }, + + scrollBy: function (x, y, time, easing) { + x = this.x + x; + y = this.y + y; + time = time || 0; + + this.scrollTo(x, y, time, easing); + }, + + scrollTo: function (x, y, time, easing) { + easing = easing || utils.ease.circular; + + this.isInTransition = this.options.useTransition && time > 0; + var transitionType = this.options.useTransition && easing.style; + if ( !time || transitionType ) { + if(transitionType) { + this._transitionTimingFunction(easing.style); + this._transitionTime(time); + } + this._translate(x, y); + } else { + this._animate(x, y, time, easing.fn); + } + }, + + scrollToElement: function (el, time, offsetX, offsetY, easing) { + el = el.nodeType ? el : this.scroller.querySelector(el); + + if ( !el ) { + return; + } + + var pos = utils.offset(el); + + pos.left -= this.wrapperOffset.left; + pos.top -= this.wrapperOffset.top; + + // if offsetX/Y are true we center the element to the screen + if ( offsetX === true ) { + offsetX = Math.round(el.offsetWidth / 2 - this.wrapper.offsetWidth / 2); + } + if ( offsetY === true ) { + offsetY = Math.round(el.offsetHeight / 2 - this.wrapper.offsetHeight / 2); + } + + pos.left -= offsetX || 0; + pos.top -= offsetY || 0; + + pos.left = pos.left > 0 ? 0 : pos.left < this.maxScrollX ? this.maxScrollX : pos.left; + pos.top = pos.top > 0 ? 0 : pos.top < this.maxScrollY ? this.maxScrollY : pos.top; + + time = time === undefined || time === null || time === 'auto' ? Math.max(Math.abs(this.x-pos.left), Math.abs(this.y-pos.top)) : time; + + this.scrollTo(pos.left, pos.top, time, easing); + }, + + _transitionTime: function (time) { + if (!this.options.useTransition) { + return; + } + time = time || 0; + var durationProp = utils.style.transitionDuration; + if(!durationProp) { + return; + } + + this.scrollerStyle[durationProp] = time + 'ms'; + + if ( !time && utils.isBadAndroid ) { + this.scrollerStyle[durationProp] = '0.0001ms'; + // remove 0.0001ms + var self = this; + rAF(function() { + if(self.scrollerStyle[durationProp] === '0.0001ms') { + self.scrollerStyle[durationProp] = '0s'; + } + }); + } + + + if ( this.indicators ) { + for ( var i = this.indicators.length; i--; ) { + this.indicators[i].transitionTime(time); + } + } + + +// INSERT POINT: _transitionTime + + }, + + _transitionTimingFunction: function (easing) { + this.scrollerStyle[utils.style.transitionTimingFunction] = easing; + + + if ( this.indicators ) { + for ( var i = this.indicators.length; i--; ) { + this.indicators[i].transitionTimingFunction(easing); + } + } + + +// INSERT POINT: _transitionTimingFunction + + }, + + _translate: function (x, y) { + if ( this.options.useTransform ) { + +/* REPLACE START: _translate */ + + this.scrollerStyle[utils.style.transform] = 'translate(' + x + 'px,' + y + 'px)' + this.translateZ; + +/* REPLACE END: _translate */ + + } else { + x = Math.round(x); + y = Math.round(y); + this.scrollerStyle.left = x + 'px'; + this.scrollerStyle.top = y + 'px'; + } + + this.x = x; + this.y = y; + + + if ( this.indicators ) { + for ( var i = this.indicators.length; i--; ) { + this.indicators[i].updatePosition(); + } + } + + +// INSERT POINT: _translate + + }, + + _initEvents: function (remove) { + var eventType = remove ? utils.removeEvent : utils.addEvent, + target = this.options.bindToWrapper ? this.wrapper : window; + + eventType(window, 'orientationchange', this); + eventType(window, 'resize', this); + + if ( this.options.click ) { + eventType(this.wrapper, 'click', this, true); + } + + if ( !this.options.disableMouse ) { + eventType(this.wrapper, 'mousedown', this); + eventType(target, 'mousemove', this); + eventType(target, 'mousecancel', this); + eventType(target, 'mouseup', this); + } + + if ( utils.hasPointer && !this.options.disablePointer ) { + eventType(this.wrapper, utils.prefixPointerEvent('pointerdown'), this); + eventType(target, utils.prefixPointerEvent('pointermove'), this); + eventType(target, utils.prefixPointerEvent('pointercancel'), this); + eventType(target, utils.prefixPointerEvent('pointerup'), this); + } + + if ( utils.hasTouch && !this.options.disableTouch ) { + eventType(this.wrapper, 'touchstart', this); + eventType(target, 'touchmove', this); + eventType(target, 'touchcancel', this); + eventType(target, 'touchend', this); + } + + eventType(this.scroller, 'transitionend', this); + eventType(this.scroller, 'webkitTransitionEnd', this); + eventType(this.scroller, 'oTransitionEnd', this); + eventType(this.scroller, 'MSTransitionEnd', this); + }, + + getComputedPosition: function () { + var matrix = window.getComputedStyle(this.scroller, null), + x, y; + + if ( this.options.useTransform ) { + matrix = matrix[utils.style.transform].split(')')[0].split(', '); + x = +(matrix[12] || matrix[4]); + y = +(matrix[13] || matrix[5]); + } else { + x = +matrix.left.replace(/[^-\d.]/g, ''); + y = +matrix.top.replace(/[^-\d.]/g, ''); + } + + return { x: x, y: y }; + }, + _initIndicators: function () { + var interactive = this.options.interactiveScrollbars, + customStyle = typeof this.options.scrollbars != 'string', + indicators = [], + indicator; + + var that = this; + + this.indicators = []; + + if ( this.options.scrollbars ) { + // Vertical scrollbar + if ( this.options.scrollY ) { + indicator = { + el: createDefaultScrollbar('v', interactive, this.options.scrollbars), + interactive: interactive, + defaultScrollbars: true, + customStyle: customStyle, + resize: this.options.resizeScrollbars, + shrink: this.options.shrinkScrollbars, + fade: this.options.fadeScrollbars, + listenX: false + }; + + this.wrapper.appendChild(indicator.el); + indicators.push(indicator); + } + + // Horizontal scrollbar + if ( this.options.scrollX ) { + indicator = { + el: createDefaultScrollbar('h', interactive, this.options.scrollbars), + interactive: interactive, + defaultScrollbars: true, + customStyle: customStyle, + resize: this.options.resizeScrollbars, + shrink: this.options.shrinkScrollbars, + fade: this.options.fadeScrollbars, + listenY: false + }; + + this.wrapper.appendChild(indicator.el); + indicators.push(indicator); + } + } + + if ( this.options.indicators ) { + // TODO: check concat compatibility + indicators = indicators.concat(this.options.indicators); + } + + for ( var i = indicators.length; i--; ) { + this.indicators.push( new Indicator(this, indicators[i]) ); + } + + // TODO: check if we can use array.map (wide compatibility and performance issues) + function _indicatorsMap (fn) { + if (that.indicators) { + for ( var i = that.indicators.length; i--; ) { + fn.call(that.indicators[i]); + } + } + } + + if ( this.options.fadeScrollbars ) { + this.on('scrollEnd', function () { + _indicatorsMap(function () { + this.fade(); + }); + }); + + this.on('scrollCancel', function () { + _indicatorsMap(function () { + this.fade(); + }); + }); + + this.on('scrollStart', function () { + _indicatorsMap(function () { + this.fade(1); + }); + }); + + this.on('beforeScrollStart', function () { + _indicatorsMap(function () { + this.fade(1, true); + }); + }); + } + + + this.on('refresh', function () { + _indicatorsMap(function () { + this.refresh(); + }); + }); + + this.on('destroy', function () { + _indicatorsMap(function () { + this.destroy(); + }); + + delete this.indicators; + }); + }, + + _initWheel: function () { + utils.addEvent(this.wrapper, 'wheel', this); + utils.addEvent(this.wrapper, 'mousewheel', this); + utils.addEvent(this.wrapper, 'DOMMouseScroll', this); + + this.on('destroy', function () { + clearTimeout(this.wheelTimeout); + this.wheelTimeout = null; + utils.removeEvent(this.wrapper, 'wheel', this); + utils.removeEvent(this.wrapper, 'mousewheel', this); + utils.removeEvent(this.wrapper, 'DOMMouseScroll', this); + }); + }, + + _wheel: function (e) { + if ( !this.enabled ) { + return; + } + + e.preventDefault(); + + var wheelDeltaX, wheelDeltaY, + newX, newY, + that = this; + + if ( this.wheelTimeout === undefined ) { + that._execEvent('scrollStart'); + } + + // Execute the scrollEnd event after 400ms the wheel stopped scrolling + clearTimeout(this.wheelTimeout); + this.wheelTimeout = setTimeout(function () { + if(!that.options.snap) { + that._execEvent('scrollEnd'); + } + that.wheelTimeout = undefined; + }, 400); + + if ( 'deltaX' in e ) { + if (e.deltaMode === 1) { + wheelDeltaX = -e.deltaX * this.options.mouseWheelSpeed; + wheelDeltaY = -e.deltaY * this.options.mouseWheelSpeed; + } else { + wheelDeltaX = -e.deltaX; + wheelDeltaY = -e.deltaY; + } + } else if ( 'wheelDeltaX' in e ) { + wheelDeltaX = e.wheelDeltaX / 120 * this.options.mouseWheelSpeed; + wheelDeltaY = e.wheelDeltaY / 120 * this.options.mouseWheelSpeed; + } else if ( 'wheelDelta' in e ) { + wheelDeltaX = wheelDeltaY = e.wheelDelta / 120 * this.options.mouseWheelSpeed; + } else if ( 'detail' in e ) { + wheelDeltaX = wheelDeltaY = -e.detail / 3 * this.options.mouseWheelSpeed; + } else { + return; + } + + wheelDeltaX *= this.options.invertWheelDirection; + wheelDeltaY *= this.options.invertWheelDirection; + + if ( !this.hasVerticalScroll ) { + wheelDeltaX = wheelDeltaY; + wheelDeltaY = 0; + } + + if ( this.options.snap ) { + newX = this.currentPage.pageX; + newY = this.currentPage.pageY; + + if ( wheelDeltaX > 0 ) { + newX--; + } else if ( wheelDeltaX < 0 ) { + newX++; + } + + if ( wheelDeltaY > 0 ) { + newY--; + } else if ( wheelDeltaY < 0 ) { + newY++; + } + + this.goToPage(newX, newY); + + return; + } + + newX = this.x + Math.round(this.hasHorizontalScroll ? wheelDeltaX : 0); + newY = this.y + Math.round(this.hasVerticalScroll ? wheelDeltaY : 0); + + this.directionX = wheelDeltaX > 0 ? -1 : wheelDeltaX < 0 ? 1 : 0; + this.directionY = wheelDeltaY > 0 ? -1 : wheelDeltaY < 0 ? 1 : 0; + + if ( newX > 0 ) { + newX = 0; + } else if ( newX < this.maxScrollX ) { + newX = this.maxScrollX; + } + + if ( newY > 0 ) { + newY = 0; + } else if ( newY < this.maxScrollY ) { + newY = this.maxScrollY; + } + + this.scrollTo(newX, newY, 0); + +// INSERT POINT: _wheel + }, + + _initSnap: function () { + this.currentPage = {}; + + if ( typeof this.options.snap == 'string' ) { + this.options.snap = this.scroller.querySelectorAll(this.options.snap); + } + + this.on('refresh', function () { + var i = 0, l, + m = 0, n, + cx, cy, + x = 0, y, + stepX = this.options.snapStepX || this.wrapperWidth, + stepY = this.options.snapStepY || this.wrapperHeight, + el; + + this.pages = []; + + if ( !this.wrapperWidth || !this.wrapperHeight || !this.scrollerWidth || !this.scrollerHeight ) { + return; + } + + if ( this.options.snap === true ) { + cx = Math.round( stepX / 2 ); + cy = Math.round( stepY / 2 ); + + while ( x > -this.scrollerWidth ) { + this.pages[i] = []; + l = 0; + y = 0; + + while ( y > -this.scrollerHeight ) { + this.pages[i][l] = { + x: Math.max(x, this.maxScrollX), + y: Math.max(y, this.maxScrollY), + width: stepX, + height: stepY, + cx: x - cx, + cy: y - cy + }; + + y -= stepY; + l++; + } + + x -= stepX; + i++; + } + } else { + el = this.options.snap; + l = el.length; + n = -1; + + for ( ; i < l; i++ ) { + if ( i === 0 || el[i].offsetLeft <= el[i-1].offsetLeft ) { + m = 0; + n++; + } + + if ( !this.pages[m] ) { + this.pages[m] = []; + } + + x = Math.max(-el[i].offsetLeft, this.maxScrollX); + y = Math.max(-el[i].offsetTop, this.maxScrollY); + cx = x - Math.round(el[i].offsetWidth / 2); + cy = y - Math.round(el[i].offsetHeight / 2); + + this.pages[m][n] = { + x: x, + y: y, + width: el[i].offsetWidth, + height: el[i].offsetHeight, + cx: cx, + cy: cy + }; + + if ( x > this.maxScrollX ) { + m++; + } + } + } + + this.goToPage(this.currentPage.pageX || 0, this.currentPage.pageY || 0, 0); + + // Update snap threshold if needed + if ( this.options.snapThreshold % 1 === 0 ) { + this.snapThresholdX = this.options.snapThreshold; + this.snapThresholdY = this.options.snapThreshold; + } else { + this.snapThresholdX = Math.round(this.pages[this.currentPage.pageX][this.currentPage.pageY].width * this.options.snapThreshold); + this.snapThresholdY = Math.round(this.pages[this.currentPage.pageX][this.currentPage.pageY].height * this.options.snapThreshold); + } + }); + + this.on('flick', function () { + var time = this.options.snapSpeed || Math.max( + Math.max( + Math.min(Math.abs(this.x - this.startX), 1000), + Math.min(Math.abs(this.y - this.startY), 1000) + ), 300); + + this.goToPage( + this.currentPage.pageX + this.directionX, + this.currentPage.pageY + this.directionY, + time + ); + }); + }, + + _nearestSnap: function (x, y) { + if ( !this.pages.length ) { + return { x: 0, y: 0, pageX: 0, pageY: 0 }; + } + + var i = 0, + l = this.pages.length, + m = 0; + + // Check if we exceeded the snap threshold + if ( Math.abs(x - this.absStartX) < this.snapThresholdX && + Math.abs(y - this.absStartY) < this.snapThresholdY ) { + return this.currentPage; + } + + if ( x > 0 ) { + x = 0; + } else if ( x < this.maxScrollX ) { + x = this.maxScrollX; + } + + if ( y > 0 ) { + y = 0; + } else if ( y < this.maxScrollY ) { + y = this.maxScrollY; + } + + for ( ; i < l; i++ ) { + if ( x >= this.pages[i][0].cx ) { + x = this.pages[i][0].x; + break; + } + } + + l = this.pages[i].length; + + for ( ; m < l; m++ ) { + if ( y >= this.pages[0][m].cy ) { + y = this.pages[0][m].y; + break; + } + } + + if ( i == this.currentPage.pageX ) { + i += this.directionX; + + if ( i < 0 ) { + i = 0; + } else if ( i >= this.pages.length ) { + i = this.pages.length - 1; + } + + x = this.pages[i][0].x; + } + + if ( m == this.currentPage.pageY ) { + m += this.directionY; + + if ( m < 0 ) { + m = 0; + } else if ( m >= this.pages[0].length ) { + m = this.pages[0].length - 1; + } + + y = this.pages[0][m].y; + } + + return { + x: x, + y: y, + pageX: i, + pageY: m + }; + }, + + goToPage: function (x, y, time, easing) { + easing = easing || this.options.bounceEasing; + + if ( x >= this.pages.length ) { + x = this.pages.length - 1; + } else if ( x < 0 ) { + x = 0; + } + + if ( y >= this.pages[x].length ) { + y = this.pages[x].length - 1; + } else if ( y < 0 ) { + y = 0; + } + + var posX = this.pages[x][y].x, + posY = this.pages[x][y].y; + + time = time === undefined ? this.options.snapSpeed || Math.max( + Math.max( + Math.min(Math.abs(posX - this.x), 1000), + Math.min(Math.abs(posY - this.y), 1000) + ), 300) : time; + + this.currentPage = { + x: posX, + y: posY, + pageX: x, + pageY: y + }; + + this.scrollTo(posX, posY, time, easing); + }, + + next: function (time, easing) { + var x = this.currentPage.pageX, + y = this.currentPage.pageY; + + x++; + + if ( x >= this.pages.length && this.hasVerticalScroll ) { + x = 0; + y++; + } + + this.goToPage(x, y, time, easing); + }, + + prev: function (time, easing) { + var x = this.currentPage.pageX, + y = this.currentPage.pageY; + + x--; + + if ( x < 0 && this.hasVerticalScroll ) { + x = 0; + y--; + } + + this.goToPage(x, y, time, easing); + }, + + _initKeys: function (e) { + // default key bindings + var keys = { + pageUp: 33, + pageDown: 34, + end: 35, + home: 36, + left: 37, + up: 38, + right: 39, + down: 40 + }; + var i; + + // if you give me characters I give you keycode + if ( typeof this.options.keyBindings == 'object' ) { + for ( i in this.options.keyBindings ) { + if ( typeof this.options.keyBindings[i] == 'string' ) { + this.options.keyBindings[i] = this.options.keyBindings[i].toUpperCase().charCodeAt(0); + } + } + } else { + this.options.keyBindings = {}; + } + + for ( i in keys ) { + this.options.keyBindings[i] = this.options.keyBindings[i] || keys[i]; + } + + utils.addEvent(window, 'keydown', this); + + this.on('destroy', function () { + utils.removeEvent(window, 'keydown', this); + }); + }, + + _key: function (e) { + if ( !this.enabled ) { + return; + } + + var snap = this.options.snap, // we are using this alot, better to cache it + newX = snap ? this.currentPage.pageX : this.x, + newY = snap ? this.currentPage.pageY : this.y, + now = utils.getTime(), + prevTime = this.keyTime || 0, + acceleration = 0.250, + pos; + + if ( this.options.useTransition && this.isInTransition ) { + pos = this.getComputedPosition(); + + this._translate(Math.round(pos.x), Math.round(pos.y)); + this.isInTransition = false; + } + + this.keyAcceleration = now - prevTime < 200 ? Math.min(this.keyAcceleration + acceleration, 50) : 0; + + switch ( e.keyCode ) { + case this.options.keyBindings.pageUp: + if ( this.hasHorizontalScroll && !this.hasVerticalScroll ) { + newX += snap ? 1 : this.wrapperWidth; + } else { + newY += snap ? 1 : this.wrapperHeight; + } + break; + case this.options.keyBindings.pageDown: + if ( this.hasHorizontalScroll && !this.hasVerticalScroll ) { + newX -= snap ? 1 : this.wrapperWidth; + } else { + newY -= snap ? 1 : this.wrapperHeight; + } + break; + case this.options.keyBindings.end: + newX = snap ? this.pages.length-1 : this.maxScrollX; + newY = snap ? this.pages[0].length-1 : this.maxScrollY; + break; + case this.options.keyBindings.home: + newX = 0; + newY = 0; + break; + case this.options.keyBindings.left: + newX += snap ? -1 : 5 + this.keyAcceleration>>0; + break; + case this.options.keyBindings.up: + newY += snap ? 1 : 5 + this.keyAcceleration>>0; + break; + case this.options.keyBindings.right: + newX -= snap ? -1 : 5 + this.keyAcceleration>>0; + break; + case this.options.keyBindings.down: + newY -= snap ? 1 : 5 + this.keyAcceleration>>0; + break; + default: + return; + } + + if ( snap ) { + this.goToPage(newX, newY); + return; + } + + if ( newX > 0 ) { + newX = 0; + this.keyAcceleration = 0; + } else if ( newX < this.maxScrollX ) { + newX = this.maxScrollX; + this.keyAcceleration = 0; + } + + if ( newY > 0 ) { + newY = 0; + this.keyAcceleration = 0; + } else if ( newY < this.maxScrollY ) { + newY = this.maxScrollY; + this.keyAcceleration = 0; + } + + this.scrollTo(newX, newY, 0); + + this.keyTime = now; + }, + + _animate: function (destX, destY, duration, easingFn) { + var that = this, + startX = this.x, + startY = this.y, + startTime = utils.getTime(), + destTime = startTime + duration; + + function step () { + var now = utils.getTime(), + newX, newY, + easing; + + if ( now >= destTime ) { + that.isAnimating = false; + that._translate(destX, destY); + + if ( !that.resetPosition(that.options.bounceTime) ) { + that._execEvent('scrollEnd'); + } + + return; + } + + now = ( now - startTime ) / duration; + easing = easingFn(now); + newX = ( destX - startX ) * easing + startX; + newY = ( destY - startY ) * easing + startY; + that._translate(newX, newY); + + if ( that.isAnimating ) { + rAF(step); + } + } + + this.isAnimating = true; + step(); + }, + handleEvent: function (e) { + switch ( e.type ) { + case 'touchstart': + case 'pointerdown': + case 'MSPointerDown': + case 'mousedown': + this._start(e); + break; + case 'touchmove': + case 'pointermove': + case 'MSPointerMove': + case 'mousemove': + this._move(e); + break; + case 'touchend': + case 'pointerup': + case 'MSPointerUp': + case 'mouseup': + case 'touchcancel': + case 'pointercancel': + case 'MSPointerCancel': + case 'mousecancel': + this._end(e); + break; + case 'orientationchange': + case 'resize': + this._resize(); + break; + case 'transitionend': + case 'webkitTransitionEnd': + case 'oTransitionEnd': + case 'MSTransitionEnd': + this._transitionEnd(e); + break; + case 'wheel': + case 'DOMMouseScroll': + case 'mousewheel': + this._wheel(e); + break; + case 'keydown': + this._key(e); + break; + case 'click': + if ( this.enabled && !e._constructed ) { + e.preventDefault(); + e.stopPropagation(); + } + break; + } + } +}; +function createDefaultScrollbar (direction, interactive, type) { + var scrollbar = document.createElement('div'), + indicator = document.createElement('div'); + + if ( type === true ) { + scrollbar.style.cssText = 'position:absolute;z-index:9999'; + indicator.style.cssText = '-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);border-radius:3px'; + } + + indicator.className = 'iScrollIndicator'; + + if ( direction == 'h' ) { + if ( type === true ) { + scrollbar.style.cssText += ';height:7px;left:2px;right:2px;bottom:0'; + indicator.style.height = '100%'; + } + scrollbar.className = 'iScrollHorizontalScrollbar'; + } else { + if ( type === true ) { + scrollbar.style.cssText += ';width:7px;bottom:2px;top:2px;right:1px'; + indicator.style.width = '100%'; + } + scrollbar.className = 'iScrollVerticalScrollbar'; + } + + scrollbar.style.cssText += ';overflow:hidden'; + + if ( !interactive ) { + scrollbar.style.pointerEvents = 'none'; + } + + scrollbar.appendChild(indicator); + + return scrollbar; +} + +function Indicator (scroller, options) { + this.wrapper = typeof options.el == 'string' ? document.querySelector(options.el) : options.el; + this.wrapperStyle = this.wrapper.style; + this.indicator = this.wrapper.children[0]; + this.indicatorStyle = this.indicator.style; + this.scroller = scroller; + + this.options = { + listenX: true, + listenY: true, + interactive: false, + resize: true, + defaultScrollbars: false, + shrink: false, + fade: false, + speedRatioX: 0, + speedRatioY: 0 + }; + + for ( var i in options ) { + this.options[i] = options[i]; + } + + this.sizeRatioX = 1; + this.sizeRatioY = 1; + this.maxPosX = 0; + this.maxPosY = 0; + + if ( this.options.interactive ) { + if ( !this.options.disableTouch ) { + utils.addEvent(this.indicator, 'touchstart', this); + utils.addEvent(window, 'touchend', this); + } + if ( !this.options.disablePointer ) { + utils.addEvent(this.indicator, utils.prefixPointerEvent('pointerdown'), this); + utils.addEvent(window, utils.prefixPointerEvent('pointerup'), this); + } + if ( !this.options.disableMouse ) { + utils.addEvent(this.indicator, 'mousedown', this); + utils.addEvent(window, 'mouseup', this); + } + } + + if ( this.options.fade ) { + this.wrapperStyle[utils.style.transform] = this.scroller.translateZ; + var durationProp = utils.style.transitionDuration; + if(!durationProp) { + return; + } + this.wrapperStyle[durationProp] = utils.isBadAndroid ? '0.0001ms' : '0ms'; + // remove 0.0001ms + var self = this; + if(utils.isBadAndroid) { + rAF(function() { + if(self.wrapperStyle[durationProp] === '0.0001ms') { + self.wrapperStyle[durationProp] = '0s'; + } + }); + } + this.wrapperStyle.opacity = '0'; + } +} + +Indicator.prototype = { + handleEvent: function (e) { + switch ( e.type ) { + case 'touchstart': + case 'pointerdown': + case 'MSPointerDown': + case 'mousedown': + this._start(e); + break; + case 'touchmove': + case 'pointermove': + case 'MSPointerMove': + case 'mousemove': + this._move(e); + break; + case 'touchend': + case 'pointerup': + case 'MSPointerUp': + case 'mouseup': + case 'touchcancel': + case 'pointercancel': + case 'MSPointerCancel': + case 'mousecancel': + this._end(e); + break; + } + }, + + destroy: function () { + if ( this.options.fadeScrollbars ) { + clearTimeout(this.fadeTimeout); + this.fadeTimeout = null; + } + if ( this.options.interactive ) { + utils.removeEvent(this.indicator, 'touchstart', this); + utils.removeEvent(this.indicator, utils.prefixPointerEvent('pointerdown'), this); + utils.removeEvent(this.indicator, 'mousedown', this); + + utils.removeEvent(window, 'touchmove', this); + utils.removeEvent(window, utils.prefixPointerEvent('pointermove'), this); + utils.removeEvent(window, 'mousemove', this); + + utils.removeEvent(window, 'touchend', this); + utils.removeEvent(window, utils.prefixPointerEvent('pointerup'), this); + utils.removeEvent(window, 'mouseup', this); + } + + if ( this.options.defaultScrollbars ) { + this.wrapper.parentNode.removeChild(this.wrapper); + } + }, + + _start: function (e) { + var point = e.touches ? e.touches[0] : e; + + e.preventDefault(); + e.stopPropagation(); + + this.transitionTime(); + + this.initiated = true; + this.moved = false; + this.lastPointX = point.pageX; + this.lastPointY = point.pageY; + + this.startTime = utils.getTime(); + + if ( !this.options.disableTouch ) { + utils.addEvent(window, 'touchmove', this); + } + if ( !this.options.disablePointer ) { + utils.addEvent(window, utils.prefixPointerEvent('pointermove'), this); + } + if ( !this.options.disableMouse ) { + utils.addEvent(window, 'mousemove', this); + } + + this.scroller._execEvent('beforeScrollStart'); + }, + + _move: function (e) { + var point = e.touches ? e.touches[0] : e, + deltaX, deltaY, + newX, newY, + timestamp = utils.getTime(); + + if ( !this.moved ) { + this.scroller._execEvent('scrollStart'); + } + + this.moved = true; + + deltaX = point.pageX - this.lastPointX; + this.lastPointX = point.pageX; + + deltaY = point.pageY - this.lastPointY; + this.lastPointY = point.pageY; + + newX = this.x + deltaX; + newY = this.y + deltaY; + + this._pos(newX, newY); + +// INSERT POINT: indicator._move + + e.preventDefault(); + e.stopPropagation(); + }, + + _end: function (e) { + if ( !this.initiated ) { + return; + } + + this.initiated = false; + + e.preventDefault(); + e.stopPropagation(); + + utils.removeEvent(window, 'touchmove', this); + utils.removeEvent(window, utils.prefixPointerEvent('pointermove'), this); + utils.removeEvent(window, 'mousemove', this); + + if ( this.scroller.options.snap ) { + var snap = this.scroller._nearestSnap(this.scroller.x, this.scroller.y); + + var time = this.options.snapSpeed || Math.max( + Math.max( + Math.min(Math.abs(this.scroller.x - snap.x), 1000), + Math.min(Math.abs(this.scroller.y - snap.y), 1000) + ), 300); + + if ( this.scroller.x != snap.x || this.scroller.y != snap.y ) { + this.scroller.directionX = 0; + this.scroller.directionY = 0; + this.scroller.currentPage = snap; + this.scroller.scrollTo(snap.x, snap.y, time, this.scroller.options.bounceEasing); + } + } + + if ( this.moved ) { + this.scroller._execEvent('scrollEnd'); + } + }, + + transitionTime: function (time) { + time = time || 0; + var durationProp = utils.style.transitionDuration; + if(!durationProp) { + return; + } + + this.indicatorStyle[durationProp] = time + 'ms'; + + if ( !time && utils.isBadAndroid ) { + this.indicatorStyle[durationProp] = '0.0001ms'; + // remove 0.0001ms + var self = this; + rAF(function() { + if(self.indicatorStyle[durationProp] === '0.0001ms') { + self.indicatorStyle[durationProp] = '0s'; + } + }); + } + }, + + transitionTimingFunction: function (easing) { + this.indicatorStyle[utils.style.transitionTimingFunction] = easing; + }, + + refresh: function () { + this.transitionTime(); + + if ( this.options.listenX && !this.options.listenY ) { + this.indicatorStyle.display = this.scroller.hasHorizontalScroll ? 'block' : 'none'; + } else if ( this.options.listenY && !this.options.listenX ) { + this.indicatorStyle.display = this.scroller.hasVerticalScroll ? 'block' : 'none'; + } else { + this.indicatorStyle.display = this.scroller.hasHorizontalScroll || this.scroller.hasVerticalScroll ? 'block' : 'none'; + } + + if ( this.scroller.hasHorizontalScroll && this.scroller.hasVerticalScroll ) { + utils.addClass(this.wrapper, 'iScrollBothScrollbars'); + utils.removeClass(this.wrapper, 'iScrollLoneScrollbar'); + + if ( this.options.defaultScrollbars && this.options.customStyle ) { + if ( this.options.listenX ) { + this.wrapper.style.right = '8px'; + } else { + this.wrapper.style.bottom = '8px'; + } + } + } else { + utils.removeClass(this.wrapper, 'iScrollBothScrollbars'); + utils.addClass(this.wrapper, 'iScrollLoneScrollbar'); + + if ( this.options.defaultScrollbars && this.options.customStyle ) { + if ( this.options.listenX ) { + this.wrapper.style.right = '2px'; + } else { + this.wrapper.style.bottom = '2px'; + } + } + } + + var r = this.wrapper.offsetHeight; // force refresh + + if ( this.options.listenX ) { + this.wrapperWidth = this.wrapper.clientWidth; + if ( this.options.resize ) { + this.indicatorWidth = Math.max(Math.round(this.wrapperWidth * this.wrapperWidth / (this.scroller.scrollerWidth || this.wrapperWidth || 1)), 8); + this.indicatorStyle.width = this.indicatorWidth + 'px'; + } else { + this.indicatorWidth = this.indicator.clientWidth; + } + + this.maxPosX = this.wrapperWidth - this.indicatorWidth; + + if ( this.options.shrink == 'clip' ) { + this.minBoundaryX = -this.indicatorWidth + 8; + this.maxBoundaryX = this.wrapperWidth - 8; + } else { + this.minBoundaryX = 0; + this.maxBoundaryX = this.maxPosX; + } + + this.sizeRatioX = this.options.speedRatioX || (this.scroller.maxScrollX && (this.maxPosX / this.scroller.maxScrollX)); + } + + if ( this.options.listenY ) { + this.wrapperHeight = this.wrapper.clientHeight; + if ( this.options.resize ) { + this.indicatorHeight = Math.max(Math.round(this.wrapperHeight * this.wrapperHeight / (this.scroller.scrollerHeight || this.wrapperHeight || 1)), 8); + this.indicatorStyle.height = this.indicatorHeight + 'px'; + } else { + this.indicatorHeight = this.indicator.clientHeight; + } + + this.maxPosY = this.wrapperHeight - this.indicatorHeight; + + if ( this.options.shrink == 'clip' ) { + this.minBoundaryY = -this.indicatorHeight + 8; + this.maxBoundaryY = this.wrapperHeight - 8; + } else { + this.minBoundaryY = 0; + this.maxBoundaryY = this.maxPosY; + } + + this.maxPosY = this.wrapperHeight - this.indicatorHeight; + this.sizeRatioY = this.options.speedRatioY || (this.scroller.maxScrollY && (this.maxPosY / this.scroller.maxScrollY)); + } + + this.updatePosition(); + }, + + updatePosition: function () { + var x = this.options.listenX && Math.round(this.sizeRatioX * this.scroller.x) || 0, + y = this.options.listenY && Math.round(this.sizeRatioY * this.scroller.y) || 0; + + if ( !this.options.ignoreBoundaries ) { + if ( x < this.minBoundaryX ) { + if ( this.options.shrink == 'scale' ) { + this.width = Math.max(this.indicatorWidth + x, 8); + this.indicatorStyle.width = this.width + 'px'; + } + x = this.minBoundaryX; + } else if ( x > this.maxBoundaryX ) { + if ( this.options.shrink == 'scale' ) { + this.width = Math.max(this.indicatorWidth - (x - this.maxPosX), 8); + this.indicatorStyle.width = this.width + 'px'; + x = this.maxPosX + this.indicatorWidth - this.width; + } else { + x = this.maxBoundaryX; + } + } else if ( this.options.shrink == 'scale' && this.width != this.indicatorWidth ) { + this.width = this.indicatorWidth; + this.indicatorStyle.width = this.width + 'px'; + } + + if ( y < this.minBoundaryY ) { + if ( this.options.shrink == 'scale' ) { + this.height = Math.max(this.indicatorHeight + y * 3, 8); + this.indicatorStyle.height = this.height + 'px'; + } + y = this.minBoundaryY; + } else if ( y > this.maxBoundaryY ) { + if ( this.options.shrink == 'scale' ) { + this.height = Math.max(this.indicatorHeight - (y - this.maxPosY) * 3, 8); + this.indicatorStyle.height = this.height + 'px'; + y = this.maxPosY + this.indicatorHeight - this.height; + } else { + y = this.maxBoundaryY; + } + } else if ( this.options.shrink == 'scale' && this.height != this.indicatorHeight ) { + this.height = this.indicatorHeight; + this.indicatorStyle.height = this.height + 'px'; + } + } + + this.x = x; + this.y = y; + + if ( this.scroller.options.useTransform ) { + this.indicatorStyle[utils.style.transform] = 'translate(' + x + 'px,' + y + 'px)' + this.scroller.translateZ; + } else { + this.indicatorStyle.left = x + 'px'; + this.indicatorStyle.top = y + 'px'; + } + }, + + _pos: function (x, y) { + if ( x < 0 ) { + x = 0; + } else if ( x > this.maxPosX ) { + x = this.maxPosX; + } + + if ( y < 0 ) { + y = 0; + } else if ( y > this.maxPosY ) { + y = this.maxPosY; + } + + x = this.options.listenX ? Math.round(x / this.sizeRatioX) : this.scroller.x; + y = this.options.listenY ? Math.round(y / this.sizeRatioY) : this.scroller.y; + + this.scroller.scrollTo(x, y); + }, + + fade: function (val, hold) { + if ( hold && !this.visible ) { + return; + } + + clearTimeout(this.fadeTimeout); + this.fadeTimeout = null; + + var time = val ? 250 : 500, + delay = val ? 0 : 300; + + val = val ? '1' : '0'; + + this.wrapperStyle[utils.style.transitionDuration] = time + 'ms'; + + this.fadeTimeout = setTimeout((function (val) { + this.wrapperStyle.opacity = val; + this.visible = +val; + }).bind(this, val), delay); + } +}; + +IScroll.utils = utils; + +if ( typeof module != 'undefined' && module.exports ) { + module.exports = IScroll; +} else if ( typeof define == 'function' && define.amd ) { + define( function () { return IScroll; } ); +} else { + window.IScroll = IScroll; +} + +})(window, document, Math); + +/** + * Created by xty on 2016/8/4. + */ +var LogUtils = (function () { + var debug = false; + return { + log: function (msg) { + if (debug) { + console.log(msg); + } + }, error: function (msg) { + console.error(msg); + }, + enable: function () { + debug = true; + }, + disable: function () { + debug = false; + } + }; +})(); + +var DateUtils = (function () { + return { + _y: function (date) { + return date.getFullYear() + }, _m: function (date) { + return date.getMonth() + }, _rm: function (date) { + return date.getMonth() + 1 + }, _d: function (date) { + return date.getDate() + }, _h: function (date) { + return date.getHours() + }, _i: function (date) { + return date.getMinutes() + }, _s: function (date) { + return date.getSeconds() + } + + } +})(); + +var ComponentCountProvider = (function () { + var _dateTimeComponentCount = 0; + return { + incrementAndGet: function () { + return ++_dateTimeComponentCount; + } + } +})(); + +var ComponentDefine = (function () { + var define = {}; + define.dateLabels = { + year: "年", month: "月", day: "日", + hour: "时", minute: "分", second: "秒" + }; + define.presetType = ["time", "date", "datetime", "diy"]; + /** + * 验证类型是否支持 + * @param type 类型 + * @returns {boolean} 支持的类型返回true,不支持返回false. + * @see #presetType + */ + define.validateSupportType = function (type) { + + var support = false; + this.presetType.forEach(function (internalType) { + if (internalType === type) { + support = true; + } + + }); + + return support; + }; + return define; +})(); + +var ComponentUtils = (function () { + return { + /** + * 获取选中的值在数组中的索引 + * @param arr 数组 + * @param value 选中的值 + * @returns {number} 如果选中的值在数组中存在则返回在数组中的位置,不存在返回-1. + */ + getSelectedValueIndex: function (arr, value) { + var selectedValue = -1; + arr.forEach(function (arrValue, index) { + if (value === arrValue) { + selectedValue = index; + } + }); + + return selectedValue; + }, + /** + * 填充数组 + * @param start 开始值 + * @param count 填充数量 + * @returns {Array} 数组. + */ + fillArr: function (start, count) { + + var arr = []; + + for (var index = start; count >= index; index++) { + arr.push(index); + } + + return arr; + }, + /** + * 获取距离顶部的距离 + * @param lineHeight item的高度 + * @param position 位置 + * @returns {number} 距离顶部的距离 + */ + getTop: function (lineHeight, position) { + //lineHeight为item的高度. + return 0 - lineHeight * position; + }, + /** + * 将date转换为指定格式的json对象. + * @param date date对象 + * @returns {{h: *, i: *, s: *}} + *
                                            +         *     {
                                            +                h: DateUtils._h(date),
                                            +                i: DateUtils._i(date),
                                            +                s: DateUtils._s(date)
                                            +                }
                                            +         * 
                                            + */ + getDisplayedTime: function (date) { + + return { + h: DateUtils._h(date), + i: DateUtils._i(date), + s: DateUtils._s(date) + }; + + }, + /** + * 判断对象是否为date类型 + * @param date date对象 + * @returns {boolean} 为date对象返回true.否则返回false + */ + isDate: function (date) { + return "object" === typeof date && date instanceof Date + }, + getDayOfMonth: function (y, m) { + return 32 - new Date(y, m - 1, 32).getDate(); + } + }; + +})(); + +var DateTime = function (ele, options) { + + var picker = {}, currentDate = new Date(); + + var pickerArgs = {}; + pickerArgs.opts = options || DateTime.defaultOpts; + pickerArgs.domHook = ele; + + var render = { + /** + * 创建一个dom节点 + * @param html html内容 + * @returns {Node} dom节点 + */ + _createDomElement: function (html) { + var element = document.createElement("div"); + element.innerHTML = html; + return element.firstChild; + }, + _createWrapContainer: function (height) { + return this._createDomElement('
                                            ') + }, + _createWrapLine: function (top) { + return this._createDomElement('
                                            '); + }, + _createWrapItem: function (guid, key, height) { + return this._createDomElement('
                                            '); + }, + _createItemList: function (itemWidth) { + return this._createDomElement('
                                              '); + }, + _createItem: function (selected, value, unit) { + if (selected) { + return this._createDomElement('
                                            • ' + value + ' ' + unit + '
                                            • '); + } + return this._createDomElement("
                                            • " + value + " " + unit + "
                                            • "); + }, + _resetItems: function (itemList) { + var itemWidth = pickerArgs.opts.itemWidth | 80; + + var screenWidth = window.screen.width; + var calculatedWidth = screenWidth / itemList.length; + + if (calculatedWidth < itemWidth) { + itemList.pop(); + return this._resetItems(itemList); + } + return itemList; + }, + _render: function () { + var height = pickerArgs.height; + var lineHeight = pickerArgs.lineHeight; + + var container = this._createWrapContainer(height); + var top = (height / lineHeight - 1) / 2 * lineHeight; + var line = this._createWrapLine(top); + + container.appendChild(line); + LogUtils.log(pickerArgs.itemList); + var itemList = this._resetItems(pickerArgs.itemList); + LogUtils.log(itemList); + var itemWidth = 80, guid = picker.guid; + var renderObj = this; + itemList.forEach(function (key) { + + var item = picker[key]; + LogUtils.log(item); + var wrapItem = renderObj._createWrapItem(guid, key, height); + var domItemList = renderObj._createItemList(itemWidth); + var selectIndex = ComponentUtils.getSelectedValueIndex(item.valueMap, item.value); + var itemUnit = ComponentDefine.dateLabels[key]; + + domItemList.appendChild(renderObj._createDomElement("
                                            • ")); + domItemList.appendChild(renderObj._createDomElement("
                                            • ")); + + item.valueMap.forEach(function (value, index) { + var domItem = renderObj._createItem(selectIndex === index, value, itemUnit); + item.htmlList.push(domItem); + domItemList.appendChild(domItem); + }); + var emptyLiHook = renderObj._createDomElement("
                                            • "); + item.emptyLiHook = emptyLiHook; + item.listHook = domItemList; + domItemList.appendChild(emptyLiHook); + domItemList.appendChild(renderObj._createDomElement("
                                            • ")); + + wrapItem.appendChild(domItemList); + container.appendChild(wrapItem); + }); + + + pickerArgs.domHook.innerHTML = ""; + + pickerArgs.domHook.appendChild(container); + + + }, + _init: function (type) { + switch (type) { + case"date": + this._initDateConfig(); + break; + case"time": + this._initTimeConfig(); + break; + case"diy": + this._initDiyConfig(); + break; + case "datetime": + this._initDateTimeConfig(); + break; + } + }, + _getYearConfig: function (year, min, max) { + return { + top: ComponentUtils.getTop(pickerArgs.lineHeight, year - min), + value: year, + oldValue: year, + minValue: min, + maxValue: max, + htmlList: [], + valueMap: ComponentUtils.fillArr(min, max) + }; + }, + _getMonthConfig: function (month) { + return { + top: ComponentUtils.getTop(pickerArgs.lineHeight, month - 1), + value: month, + oldValue: month, + minValue: 1, + maxValue: 12, + htmlList: [], + valueMap: ComponentUtils.fillArr(1, 12) + }; + }, + _getDayConfig: function (day, dayOfMonth) { + return { + top: ComponentUtils.getTop(pickerArgs.lineHeight, day - 1), + value: day, + oldValue: day, + minValue: 1, + maxValue: dayOfMonth, + htmlList: [], + valueMap: ComponentUtils.fillArr(1, dayOfMonth) + }; + }, + _getHourConfig: function (hour) { + return { + top: ComponentUtils.getTop(pickerArgs.lineHeight, hour), + value: hour, + oldValue: hour, + htmlList: [], + valueMap: ComponentUtils.fillArr(0, 23) + }; + }, + _getMinuteConfig: function (minute) { + return { + top: ComponentUtils.getTop(pickerArgs.lineHeight, minute), + value: minute, + oldValue: minute, + htmlList: [], + valueMap: ComponentUtils.fillArr(0, 59) + }; + }, + _getSecondConfig: function (second) { + return { + top: ComponentUtils.getTop(pickerArgs.lineHeight, second), + value: second, + oldValue: second, + htmlList: [], + valueMap: ComponentUtils.fillArr(0, 59) + }; + }, + _getDiyConfig: function (key, value, valueMap) { + var diy = { + key: key, + value: value, + htmlList: [], + valueMap: valueMap + }; + + diy.index = ComponentUtils.getSelectedValueIndex(valueMap, value); + diy.top = ComponentUtils.getTop(pickerArgs.lineHeight, diy.index); + return diy; + }, + _initDateConfig: function () { + var config = pickerArgs.opts; + + var minYear = config.minDate.getFullYear(); + var maxYear = config.maxDate.getFullYear(); + + var date = ComponentUtils.isDate(config.date) ? config.date : currentDate; + + var displayConfig = { + y: DateUtils._y(date), + m: DateUtils._rm(date), + d: DateUtils._d(date) + }; + LogUtils.log(displayConfig); + + pickerArgs.itemList = ["year", "month", "day"]; + + var dayOfMonth = ComponentUtils.getDayOfMonth(displayConfig.y, displayConfig.m); + LogUtils.log("dayOfMonth= " + dayOfMonth); + + pickerArgs.dayOfMonth = dayOfMonth; + picker.year = { + top: ComponentUtils.getTop(pickerArgs.lineHeight, displayConfig.y - minYear), + value: displayConfig.y, + oldValue: displayConfig.y, + minValue: minYear, + maxValue: maxYear, + htmlList: [], + valueMap: ComponentUtils.fillArr(minYear, maxYear) + }; + + picker.month = { + top: ComponentUtils.getTop(pickerArgs.lineHeight, displayConfig.m - 1), + value: displayConfig.m, + oldValue: displayConfig.m, + minValue: 1, + maxValue: 12, + htmlList: [], + valueMap: ComponentUtils.fillArr(1, 12) + }; + + picker.day = { + top: ComponentUtils.getTop(pickerArgs.lineHeight, displayConfig.d - 1), + value: displayConfig.d, + oldValue: displayConfig.d, + minValue: 1, + maxValue: dayOfMonth, + htmlList: [], + valueMap: ComponentUtils.fillArr(1, dayOfMonth) + }; + + }, + _initTimeConfig: function () { + var config = pickerArgs.opts; + + var date = ComponentUtils.isDate(config.date) ? config.date : currentDate; + var displayConfig = { + h: DateUtils._h(date), + i: DateUtils._i(date), + s: DateUtils._s(date) + + }; + LogUtils.log(displayConfig); + + pickerArgs.itemList = ["hour", "minute", "second"]; + + var dayOfMonth = ComponentUtils.getDayOfMonth(displayConfig.y, displayConfig.m); + LogUtils.log("dayOfMonth= " + dayOfMonth); + + pickerArgs.dayOfMonth = dayOfMonth; + picker.hour = this._getHourConfig(displayConfig.h); + picker.minute = this._getMinuteConfig(displayConfig.i); + picker.second = this._getSecondConfig(displayConfig.s); + }, + _initDiyConfig: function () { + var config = pickerArgs.opts; + //数据不为空 + if (config.data) { + pickerArgs.itemList = []; + config.data.forEach(function (dataItem) { + picker[dataItem.key] = render._getDiyConfig(dataItem.key, dataItem.value, dataItem.resource); + ComponentDefine.dateLabels[dataItem.key] = dataItem.unit; + pickerArgs.itemList.push(dataItem.key); + }); + } + }, + _initDateTimeConfig: function () { + var config = pickerArgs.opts; + + var minYear = config.minDate.getFullYear(); + var maxYear = config.maxDate.getFullYear(); + + var date = ComponentUtils.isDate(config.date) ? config.date : currentDate; + + var displayConfig = { + y: DateUtils._y(date), + m: DateUtils._rm(date), + d: DateUtils._d(date), + h: DateUtils._h(date), + i: DateUtils._i(date), + s: DateUtils._s(date) + + }; + LogUtils.log(displayConfig); + + pickerArgs.itemList = ["year", "month", "day", "hour", "minute", "second"]; + + var dayOfMonth = ComponentUtils.getDayOfMonth(displayConfig.y, displayConfig.m); + LogUtils.log("dayOfMonth= " + dayOfMonth); + + pickerArgs.dayOfMonth = dayOfMonth; + picker.year = this._getYearConfig(displayConfig.y, minYear, maxYear); + picker.month = this._getMonthConfig(displayConfig.m); + picker.day = this._getDayConfig(displayConfig.d, dayOfMonth); + picker.hour = this._getHourConfig(displayConfig.h); + picker.minute = this._getMinuteConfig(displayConfig.i); + picker.second = this._getSecondConfig(displayConfig.s); + } + }; + + var valueHolder = { + _getSelectValue: function () { + var valueObject = {}; + + pickerArgs.itemList.forEach(function (key) { + var item = picker[key]; + if (item) { + var top = item.top; + valueObject[key] = item.valueMap[Math.abs(top) / pickerArgs.lineHeight]; + } + + }); + + return valueObject; + } + }; + + var eventBinder = { + _init: function () { + var itemList = pickerArgs.itemList; + var binderObj = this; + itemList.forEach(function (key) { + var item = picker[key]; + if (item) { + binderObj._bindItemEvent(item, key); + } + }) + }, + _destroy: function () { + var itemList = pickerArgs.itemList; + itemList.forEach(function (key) { + var item = picker[key]; + if (item && item.scroller) { + item.scroller.destroy(); + item.scroller = null; + } + }) + }, + _syncValue: function () { + var selectValue = valueHolder._getSelectValue(); + var itemList = pickerArgs.itemList; + itemList.forEach(function (key) { + var item = picker[key]; + if (item) { + item.oldValue = item.value; + item.value = selectValue[key]; + + item.index = ComponentUtils.getSelectedValueIndex(item.valueMap, item.value); + item.top = ComponentUtils.getTop(pickerArgs.lineHeight, item.index); + } + }); + + }, + _syncStatus: function () { + var itemList = pickerArgs.itemList; + itemList.forEach(function (key) { + var item = picker[key]; + if (item) { + var oldIndex = ComponentUtils.getSelectedValueIndex(item.valueMap, item.oldValue); + var currentIndex = ComponentUtils.getSelectedValueIndex(item.valueMap, item.value); + LogUtils.log("old index=" + oldIndex + ";current index=" + currentIndex); + //改变选中状态 + if (oldIndex !== currentIndex) { + item.htmlList[oldIndex].className = "item"; + item.htmlList[currentIndex].className = "item selected"; + } + } + + }); + + }, + _syncScroll: function () { + var itemList = pickerArgs.itemList; + itemList.forEach(function (key) { + var item = picker[key]; + if (item) { + var selectedIndex = ComponentUtils.getSelectedValueIndex(item.valueMap, item.value); + var _top = ComponentUtils.getTop(pickerArgs.lineHeight, selectedIndex); + item.scroller.scrollToIng = true; + item.scroller.scrollTo(0, _top, 300, IScroll.utils.ease.circular); + } + }); + + }, + _callChangeCallback: function () { + var changeCallback = pickerArgs.opts.onChange; + if (changeCallback && "function" === typeof changeCallback) { + setTimeout(function () { + changeCallback.call(this, valueHolder._getSelectValue()); + }, 0) + } + }, + _fixDayOfMonth: function (syncKey) { + if ("month" === syncKey) { + var selectValue = valueHolder._getSelectValue(); + var dayOfMonth = ComponentUtils.getDayOfMonth(selectValue.year, selectValue.month - 1); + LogUtils.log("day of month = " + dayOfMonth); + var currentDayOfMonth = pickerArgs.dayOfMonth; + LogUtils.log("current day of month = " + currentDayOfMonth); + if (currentDayOfMonth !== dayOfMonth) { + var item = picker.day; + item.valueMap = ComponentUtils.fillArr(1, dayOfMonth); + if (dayOfMonth > currentDayOfMonth) { + var selectIndex = ComponentUtils.getSelectedValueIndex(item.valueMap, item.value); + var itemUnit = ComponentDefine.dateLabels["day"]; + + for (var index = currentDayOfMonth; dayOfMonth > index; index++) { + var newItem = render._createItem(selectIndex === index, item.valueMap[index], itemUnit); + item.htmlList.push(newItem); + item.listHook.insertBefore(newItem, item.emptyLiHook); + } + } else if (currentDayOfMonth > dayOfMonth) { + var offset = currentDayOfMonth - dayOfMonth; + for (var count = 0; count < offset; count++) { + item.htmlList.pop().remove(); + } + if (item.value > dayOfMonth) { + item.oldValue = dayOfMonth - 1; + item.value = dayOfMonth; + } + } + + pickerArgs.dayOfMonth = dayOfMonth; + } + picker.day.scroller.refresh(); + } + }, + _bindItemEvent: function (item, key) { + var scroller = this._createScroller(picker.guid, key); + scroller.key = key; + scroller.scrollToIng = true; + scroller.scrollTo(0, item.top, 0, IScroll.utils.ease.circular); + var lineHeight = pickerArgs.lineHeight; + var eventBinderObj = this; + scroller.on("scrollEnd", function () { + var y = this.y; + var offset = Math.round(y / lineHeight); + if (item.top !== y) { + item.top = lineHeight * offset; + + eventBinderObj._syncValue(); + eventBinderObj._fixDayOfMonth(key); + eventBinderObj._syncStatus(); + eventBinderObj._syncScroll(); + eventBinderObj._callChangeCallback(); + + } + }); + item.scroller = scroller; + }, + _createScroller: function (guid, key) { + return new IScroll("#ui-datetime-" + guid + "-ad-" + key, { + bounceEasing: "ease", + bounceTime: 600 + }); + } + }; + + picker.init = function () { + //生成id + picker.guid = ComponentCountProvider.incrementAndGet(); + var opts = pickerArgs.opts; + //如果没有提供高度则默认取200 + pickerArgs.height = opts.height || 200; + pickerArgs.lineHeight = opts.lineHeight || 40; + //判断类型是否支持 + var isSupport = ComponentDefine.validateSupportType(opts.type); + + if (!isSupport) { + LogUtils.error("unSupport type!"); + return; + } + //根据类型初始化组件 + render._init(opts.type); + //渲染html内容 + render._render(); + //绑定事件 + eventBinder._init(); + }; + + /** + * 显示组件 + */ + picker.show = function () { + if (pickerArgs.domHook) { + pickerArgs.domHook.style.display = "block"; + } + }; + + /** + * 隐藏组件 + */ + picker.hide = function () { + if (pickerArgs.domHook) { + pickerArgs.domHook.style.display = "none"; + } + }; + + picker.refreshEventBinder = function () { + eventBinder._destroy(); + eventBinder._init(); + }; + + return picker; + +}; + +/** + * 默认选项 + * @type {{type: string, date: Date, minDate: Date, maxDate: Date, data: *[], onChange: DateTime.defaultOpts.onChange}} + */ +DateTime.defaultOpts = { + type: 'date',//date,time,diy + date: new Date(), + minDate: new Date(), + maxDate: new Date(), + data: [{ + key: 'day', + resource: ["上午", "下午"], + value: "上午", + unit: '' + }, { + key: 'hour', + resource: ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"], + value: "09", + unit: '' + }, { + key: 'minute', + resource: ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10"], + value: "05", + unit: '' + }], + onChange: function (data) { + console.log("call back", data); + } +}; + diff --git a/common/js/datetime.min.js b/common/js/datetime.min.js new file mode 100644 index 0000000..0f5ff8a --- /dev/null +++ b/common/js/datetime.min.js @@ -0,0 +1 @@ +!function(a,b,c){function d(c,d){this.wrapper="string"==typeof c?b.querySelector(c):c,this.scroller=this.wrapper.children[0],this.scrollerStyle=this.scroller.style,this.options={resizeScrollbars:!0,mouseWheelSpeed:20,snapThreshold:.334,disablePointer:!h.hasPointer,disableTouch:h.hasPointer||!h.hasTouch,disableMouse:h.hasPointer||h.hasTouch,startX:0,startY:0,scrollY:!0,directionLockThreshold:5,momentum:!0,bounce:!0,bounceTime:600,bounceEasing:"",preventDefault:!0,preventDefaultException:{tagName:/^(INPUT|TEXTAREA|BUTTON|SELECT)$/},HWCompositing:!0,useTransition:!0,useTransform:!0,bindToWrapper:void 0===a.onmousedown};for(var e in d)this.options[e]=d[e];this.translateZ=this.options.HWCompositing&&h.hasPerspective?" translateZ(0)":"",this.options.useTransition=h.hasTransition&&this.options.useTransition,this.options.useTransform=h.hasTransform&&this.options.useTransform,this.options.eventPassthrough=!0===this.options.eventPassthrough?"vertical":this.options.eventPassthrough,this.options.preventDefault=!this.options.eventPassthrough&&this.options.preventDefault,this.options.scrollY="vertical"!=this.options.eventPassthrough&&this.options.scrollY,this.options.scrollX="horizontal"!=this.options.eventPassthrough&&this.options.scrollX,this.options.freeScroll=this.options.freeScroll&&!this.options.eventPassthrough,this.options.directionLockThreshold=this.options.eventPassthrough?0:this.options.directionLockThreshold,this.options.bounceEasing="string"==typeof this.options.bounceEasing?h.ease[this.options.bounceEasing]||h.ease.circular:this.options.bounceEasing,this.options.resizePolling=void 0===this.options.resizePolling?60:this.options.resizePolling,!0===this.options.tap&&(this.options.tap="tap"),this.options.useTransition||this.options.useTransform||/relative|absolute/i.test(this.scrollerStyle.position)||(this.scrollerStyle.position="relative"),"scale"==this.options.shrinkScrollbars&&(this.options.useTransition=!1),this.options.invertWheelDirection=this.options.invertWheelDirection?-1:1,this.x=0,this.y=0,this.directionX=0,this.directionY=0,this._events={},this._init(),this.refresh(),this.scrollTo(this.options.startX,this.options.startY),this.enable()}function e(a,c,d){var e=b.createElement("div"),f=b.createElement("div");return!0===d&&(e.style.cssText="position:absolute;z-index:9999",f.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);border-radius:3px"),f.className="iScrollIndicator","h"==a?(!0===d&&(e.style.cssText+=";height:7px;left:2px;right:2px;bottom:0",f.style.height="100%"),e.className="iScrollHorizontalScrollbar"):(!0===d&&(e.style.cssText+=";width:7px;bottom:2px;top:2px;right:1px",f.style.width="100%"),e.className="iScrollVerticalScrollbar"),e.style.cssText+=";overflow:hidden",c||(e.style.pointerEvents="none"),e.appendChild(f),e}function f(c,d){this.wrapper="string"==typeof d.el?b.querySelector(d.el):d.el,this.wrapperStyle=this.wrapper.style,this.indicator=this.wrapper.children[0],this.indicatorStyle=this.indicator.style,this.scroller=c,this.options={listenX:!0,listenY:!0,interactive:!1,resize:!0,defaultScrollbars:!1,shrink:!1,fade:!1,speedRatioX:0,speedRatioY:0};for(var e in d)this.options[e]=d[e];if(this.sizeRatioX=1,this.sizeRatioY=1,this.maxPosX=0,this.maxPosY=0,this.options.interactive&&(this.options.disableTouch||(h.addEvent(this.indicator,"touchstart",this),h.addEvent(a,"touchend",this)),this.options.disablePointer||(h.addEvent(this.indicator,h.prefixPointerEvent("pointerdown"),this),h.addEvent(a,h.prefixPointerEvent("pointerup"),this)),this.options.disableMouse||(h.addEvent(this.indicator,"mousedown",this),h.addEvent(a,"mouseup",this))),this.options.fade){this.wrapperStyle[h.style.transform]=this.scroller.translateZ;var f=h.style.transitionDuration;if(!f)return;this.wrapperStyle[f]=h.isBadAndroid?"0.0001ms":"0ms";var i=this;h.isBadAndroid&&g(function(){"0.0001ms"===i.wrapperStyle[f]&&(i.wrapperStyle[f]="0s")}),this.wrapperStyle.opacity="0"}}var g=a.requestAnimationFrame||a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame||a.oRequestAnimationFrame||a.msRequestAnimationFrame||function(b){a.setTimeout(b,1e3/60)},h=function(){function d(a){return!1!==g&&(""===g?a:g+a.charAt(0).toUpperCase()+a.substr(1))}var e={},f=b.createElement("div").style,g=function(){for(var a=["t","webkitT","MozT","msT","OT"],b=0,c=a.length;b0&&(h=f?f/2.5*(k/8):0,j=c.abs(a)+h,i=j/k),{destination:c.round(h),duration:i}};var h=d("transform");return e.extend(e,{hasTransform:!1!==h,hasPerspective:d("perspective")in f,hasTouch:"ontouchstart"in a,hasPointer:!(!a.PointerEvent&&!a.MSPointerEvent),hasTransition:d("transition")in f}),e.isBadAndroid=function(){var b=a.navigator.appVersion;if(/Android/.test(b)&&!/Chrome\/\d/.test(b)){var c=b.match(/Safari\/(\d+.\d)/);return!(c&&"object"==typeof c&&c.length>=2)||parseFloat(c[1])<535.19}return!1}(),e.extend(e.style={},{transform:h,transitionTimingFunction:d("transitionTimingFunction"),transitionDuration:d("transitionDuration"),transitionDelay:d("transitionDelay"),transformOrigin:d("transformOrigin")}),e.hasClass=function(a,b){return new RegExp("(^|\\s)"+b+"(\\s|$)").test(a.className)},e.addClass=function(a,b){if(!e.hasClass(a,b)){var c=a.className.split(" ");c.push(b),a.className=c.join(" ")}},e.removeClass=function(a,b){if(e.hasClass(a,b)){var c=new RegExp("(^|\\s)"+b+"(\\s|$)","g");a.className=a.className.replace(c," ")}},e.offset=function(a){for(var b=-a.offsetLeft,c=-a.offsetTop;a=a.offsetParent;)b-=a.offsetLeft,c-=a.offsetTop;return{left:b,top:c}},e.preventDefaultException=function(a,b){for(var c in b)if(b[c].test(a[c]))return!0;return!1},e.extend(e.eventType={},{touchstart:1,touchmove:1,touchend:1,mousedown:2,mousemove:2,mouseup:2,pointerdown:3,pointermove:3,pointerup:3,MSPointerDown:3,MSPointerMove:3,MSPointerUp:3}),e.extend(e.ease={},{quadratic:{style:"cubic-bezier(0.25, 0.46, 0.45, 0.94)",fn:function(a){return a*(2-a)}},circular:{style:"cubic-bezier(0.1, 0.57, 0.1, 1)",fn:function(a){return c.sqrt(1- --a*a)}},back:{style:"cubic-bezier(0.175, 0.885, 0.32, 1.275)",fn:function(a){var b=4;return(a-=1)*a*((b+1)*a+b)+1}},bounce:{style:"",fn:function(a){return(a/=1)<1/2.75?7.5625*a*a:a<2/2.75?7.5625*(a-=1.5/2.75)*a+.75:a<2.5/2.75?7.5625*(a-=2.25/2.75)*a+.9375:7.5625*(a-=2.625/2.75)*a+.984375}},elastic:{style:"",fn:function(a){var b=.22;return 0===a?0:1==a?1:.4*c.pow(2,-10*a)*c.sin((a-b/4)*(2*c.PI)/b)+1}}}),e.tap=function(a,c){var d=b.createEvent("Event");d.initEvent(c,!0,!0),d.pageX=a.pageX,d.pageY=a.pageY,a.target.dispatchEvent(d)},e.click=function(c){var d,e=c.target;/(SELECT|INPUT|TEXTAREA)/i.test(e.tagName)||(d=b.createEvent(a.MouseEvent?"MouseEvents":"Event"),d.initEvent("click",!0,!0),d.view=c.view||a,d.detail=1,d.screenX=e.screenX||0,d.screenY=e.screenY||0,d.clientX=e.clientX||0,d.clientY=e.clientY||0,d.ctrlKey=!!c.ctrlKey,d.altKey=!!c.altKey,d.shiftKey=!!c.shiftKey,d.metaKey=!!c.metaKey,d.button=0,d.relatedTarget=null,d._constructed=!0,e.dispatchEvent(d))},e}();d.prototype={version:"5.2.0",_init:function(){this._initEvents(),(this.options.scrollbars||this.options.indicators)&&this._initIndicators(),this.options.mouseWheel&&this._initWheel(),this.options.snap&&this._initSnap(),this.options.keyBindings&&this._initKeys()},destroy:function(){this._initEvents(!0),clearTimeout(this.resizeTimeout),this.resizeTimeout=null,this._execEvent("destroy")},_transitionEnd:function(a){a.target==this.scroller&&this.isInTransition&&(this._transitionTime(),this.resetPosition(this.options.bounceTime)||(this.isInTransition=!1,this._execEvent("scrollEnd")))},_start:function(a){if(1!=h.eventType[a.type]){if(0!==(a.which?a.button:a.button<2?0:4==a.button?1:2))return}if(this.enabled&&(!this.initiated||h.eventType[a.type]===this.initiated)){!this.options.preventDefault||h.isBadAndroid||h.preventDefaultException(a.target,this.options.preventDefaultException)||a.preventDefault();var b,d=a.touches?a.touches[0]:a;this.initiated=h.eventType[a.type],this.moved=!1,this.distX=0,this.distY=0,this.directionX=0,this.directionY=0,this.directionLocked=0,this.startTime=h.getTime(),this.options.useTransition&&this.isInTransition?(this._transitionTime(),this.isInTransition=!1,b=this.getComputedPosition(),this._translate(c.round(b.x),c.round(b.y)),this._execEvent("scrollEnd")):!this.options.useTransition&&this.isAnimating&&(this.isAnimating=!1,this._execEvent("scrollEnd")),this.startX=this.x,this.startY=this.y,this.absStartX=this.x,this.absStartY=this.y,this.pointX=d.pageX,this.pointY=d.pageY,this._execEvent("beforeScrollStart")}},_move:function(a){if(this.enabled&&h.eventType[a.type]===this.initiated){this.options.preventDefault&&a.preventDefault();var b,d,e,f,g=a.touches?a.touches[0]:a,i=g.pageX-this.pointX,j=g.pageY-this.pointY,k=h.getTime();if(this.pointX=g.pageX,this.pointY=g.pageY,this.distX+=i,this.distY+=j,e=c.abs(this.distX),f=c.abs(this.distY),!(k-this.endTime>300&&e<10&&f<10)){if(this.directionLocked||this.options.freeScroll||(e>f+this.options.directionLockThreshold?this.directionLocked="h":f>=e+this.options.directionLockThreshold?this.directionLocked="v":this.directionLocked="n"),"h"==this.directionLocked){if("vertical"==this.options.eventPassthrough)a.preventDefault();else if("horizontal"==this.options.eventPassthrough)return void(this.initiated=!1);j=0}else if("v"==this.directionLocked){if("horizontal"==this.options.eventPassthrough)a.preventDefault();else if("vertical"==this.options.eventPassthrough)return void(this.initiated=!1);i=0}i=this.hasHorizontalScroll?i:0,j=this.hasVerticalScroll?j:0,b=this.x+i,d=this.y+j,(b>0||b0?0:this.maxScrollX),(d>0||d0?0:this.maxScrollY),this.directionX=i>0?-1:i<0?1:0,this.directionY=j>0?-1:j<0?1:0,this.moved||this._execEvent("scrollStart"),this.moved=!0,this._translate(b,d),k-this.startTime>300&&(this.startTime=k,this.startX=this.x,this.startY=this.y)}}},_end:function(a){if(this.enabled&&h.eventType[a.type]===this.initiated){this.options.preventDefault&&!h.preventDefaultException(a.target,this.options.preventDefaultException)&&a.preventDefault();var b,d,e=(a.changedTouches&&a.changedTouches[0],h.getTime()-this.startTime),f=c.round(this.x),g=c.round(this.y),i=c.abs(f-this.startX),j=c.abs(g-this.startY),k=0,l="";if(this.isInTransition=0,this.initiated=0,this.endTime=h.getTime(),!this.resetPosition(this.options.bounceTime)){if(this.scrollTo(f,g),!this.moved)return this.options.tap&&h.tap(a,this.options.tap),this.options.click&&h.click(a),void this._execEvent("scrollCancel");if(this._events.flick&&e<200&&i<100&&j<100)return void this._execEvent("flick");if(this.options.momentum&&e<300&&(b=this.hasHorizontalScroll?h.momentum(this.x,this.startX,e,this.maxScrollX,this.options.bounce?this.wrapperWidth:0,this.options.deceleration):{destination:f,duration:0},d=this.hasVerticalScroll?h.momentum(this.y,this.startY,e,this.maxScrollY,this.options.bounce?this.wrapperHeight:0,this.options.deceleration):{destination:g,duration:0},f=b.destination,g=d.destination,k=c.max(b.duration,d.duration),this.isInTransition=1),this.options.snap){var m=this._nearestSnap(f,g);this.currentPage=m,k=this.options.snapSpeed||c.max(c.max(c.min(c.abs(f-m.x),1e3),c.min(c.abs(g-m.y),1e3)),300),f=m.x,g=m.y,this.directionX=0,this.directionY=0,l=this.options.bounceEasing}if(f!=this.x||g!=this.y)return(f>0||f0||g0?b=0:this.x0?c=0:this.y-1&&this._events[a].splice(c,1)}},_execEvent:function(a){if(this._events[a]){var b=0,c=this._events[a].length;if(c)for(;b0;var e=this.options.useTransition&&d.style;!c||e?(e&&(this._transitionTimingFunction(d.style),this._transitionTime(c)),this._translate(a,b)):this._animate(a,b,c,d.fn)},scrollToElement:function(a,b,d,e,f){if(a=a.nodeType?a:this.scroller.querySelector(a)){var g=h.offset(a);g.left-=this.wrapperOffset.left,g.top-=this.wrapperOffset.top,!0===d&&(d=c.round(a.offsetWidth/2-this.wrapper.offsetWidth/2)),!0===e&&(e=c.round(a.offsetHeight/2-this.wrapper.offsetHeight/2)),g.left-=d||0,g.top-=e||0,g.left=g.left>0?0:g.left0?0:g.top0?e--:b<0&&e++,d>0?f--:d<0&&f++,void this.goToPage(e,f);e=this.x+c.round(this.hasHorizontalScroll?b:0),f=this.y+c.round(this.hasVerticalScroll?d:0),this.directionX=b>0?-1:b<0?1:0,this.directionY=d>0?-1:d<0?1:0,e>0?e=0:e0?f=0:f-this.scrollerWidth;){for(this.pages[h]=[],a=0,f=0;f>-this.scrollerHeight;)this.pages[h][a]={x:c.max(j,this.maxScrollX),y:c.max(f,this.maxScrollY),width:k,height:l,cx:j-d,cy:f-e},f-=l,a++;j-=k,h++}else for(g=this.options.snap,a=g.length,b=-1;hthis.maxScrollX&&i++;this.goToPage(this.currentPage.pageX||0,this.currentPage.pageY||0,0),this.options.snapThreshold%1==0?(this.snapThresholdX=this.options.snapThreshold,this.snapThresholdY=this.options.snapThreshold):(this.snapThresholdX=c.round(this.pages[this.currentPage.pageX][this.currentPage.pageY].width*this.options.snapThreshold),this.snapThresholdY=c.round(this.pages[this.currentPage.pageX][this.currentPage.pageY].height*this.options.snapThreshold))}}),this.on("flick",function(){var a=this.options.snapSpeed||c.max(c.max(c.min(c.abs(this.x-this.startX),1e3),c.min(c.abs(this.y-this.startY),1e3)),300);this.goToPage(this.currentPage.pageX+this.directionX,this.currentPage.pageY+this.directionY,a)})},_nearestSnap:function(a,b){if(!this.pages.length)return{x:0,y:0,pageX:0,pageY:0};var d=0,e=this.pages.length,f=0;if(c.abs(a-this.absStartX)0?a=0:a0?b=0:b=this.pages[d][0].cx){a=this.pages[d][0].x;break}for(e=this.pages[d].length;f=this.pages[0][f].cy){b=this.pages[0][f].y;break}return d==this.currentPage.pageX&&(d+=this.directionX,d<0?d=0:d>=this.pages.length&&(d=this.pages.length-1),a=this.pages[d][0].x),f==this.currentPage.pageY&&(f+=this.directionY,f<0?f=0:f>=this.pages[0].length&&(f=this.pages[0].length-1),b=this.pages[0][f].y),{x:a,y:b,pageX:d,pageY:f}},goToPage:function(a,b,d,e){e=e||this.options.bounceEasing,a>=this.pages.length?a=this.pages.length-1:a<0&&(a=0),b>=this.pages[a].length?b=this.pages[a].length-1:b<0&&(b=0);var f=this.pages[a][b].x,g=this.pages[a][b].y;d=void 0===d?this.options.snapSpeed||c.max(c.max(c.min(c.abs(f-this.x),1e3),c.min(c.abs(g-this.y),1e3)),300):d,this.currentPage={x:f,y:g,pageX:a,pageY:b},this.scrollTo(f,g,d,e)},next:function(a,b){var c=this.currentPage.pageX,d=this.currentPage.pageY;c++,c>=this.pages.length&&this.hasVerticalScroll&&(c=0,d++),this.goToPage(c,d,a,b)},prev:function(a,b){var c=this.currentPage.pageX,d=this.currentPage.pageY;c--,c<0&&this.hasVerticalScroll&&(c=0,d--),this.goToPage(c,d,a,b)},_initKeys:function(b){var c,d={pageUp:33,pageDown:34,end:35,home:36,left:37,up:38,right:39,down:40};if("object"==typeof this.options.keyBindings)for(c in this.options.keyBindings)"string"==typeof this.options.keyBindings[c]&&(this.options.keyBindings[c]=this.options.keyBindings[c].toUpperCase().charCodeAt(0));else this.options.keyBindings={};for(c in d)this.options.keyBindings[c]=this.options.keyBindings[c]||d[c];h.addEvent(a,"keydown",this),this.on("destroy",function(){h.removeEvent(a,"keydown",this)})},_key:function(a){if(this.enabled){var b,d=this.options.snap,e=d?this.currentPage.pageX:this.x,f=d?this.currentPage.pageY:this.y,g=h.getTime(),i=this.keyTime||0,j=.25;switch(this.options.useTransition&&this.isInTransition&&(b=this.getComputedPosition(),this._translate(c.round(b.x),c.round(b.y)),this.isInTransition=!1),this.keyAcceleration=g-i<200?c.min(this.keyAcceleration+j,50):0,a.keyCode){case this.options.keyBindings.pageUp:this.hasHorizontalScroll&&!this.hasVerticalScroll?e+=d?1:this.wrapperWidth:f+=d?1:this.wrapperHeight;break;case this.options.keyBindings.pageDown:this.hasHorizontalScroll&&!this.hasVerticalScroll?e-=d?1:this.wrapperWidth:f-=d?1:this.wrapperHeight;break;case this.options.keyBindings.end:e=d?this.pages.length-1:this.maxScrollX,f=d?this.pages[0].length-1:this.maxScrollY;break;case this.options.keyBindings.home:e=0,f=0;break;case this.options.keyBindings.left:e+=d?-1:5+this.keyAcceleration>>0;break;case this.options.keyBindings.up:f+=d?1:5+this.keyAcceleration>>0;break;case this.options.keyBindings.right:e-=d?-1:5+this.keyAcceleration>>0;break;case this.options.keyBindings.down:f-=d?1:5+this.keyAcceleration>>0;break;default:return}if(d)return void this.goToPage(e,f);e>0?(e=0,this.keyAcceleration=0):e0?(f=0,this.keyAcceleration=0):f=l)return f.isAnimating=!1,f._translate(a,b),void(f.resetPosition(f.options.bounceTime)||f._execEvent("scrollEnd"));p=(p-k)/c,o=d(p),m=(a-i)*o+i,n=(b-j)*o+j,f._translate(m,n),f.isAnimating&&g(e)}var f=this,i=this.x,j=this.y,k=h.getTime(),l=k+c;this.isAnimating=!0,e()},handleEvent:function(a){switch(a.type){case"touchstart":case"pointerdown":case"MSPointerDown":case"mousedown":this._start(a);break;case"touchmove":case"pointermove":case"MSPointerMove":case"mousemove":this._move(a);break;case"touchend":case"pointerup":case"MSPointerUp":case"mouseup":case"touchcancel":case"pointercancel":case"MSPointerCancel":case"mousecancel":this._end(a);break;case"orientationchange":case"resize":this._resize();break;case"transitionend":case"webkitTransitionEnd":case"oTransitionEnd":case"MSTransitionEnd":this._transitionEnd(a);break;case"wheel":case"DOMMouseScroll":case"mousewheel":this._wheel(a);break;case"keydown":this._key(a);break;case"click":this.enabled&&!a._constructed&&(a.preventDefault(),a.stopPropagation())}}},f.prototype={handleEvent:function(a){switch(a.type){case"touchstart":case"pointerdown":case"MSPointerDown":case"mousedown":this._start(a);break;case"touchmove":case"pointermove":case"MSPointerMove":case"mousemove":this._move(a);break;case"touchend":case"pointerup":case"MSPointerUp":case"mouseup":case"touchcancel":case"pointercancel":case"MSPointerCancel":case"mousecancel":this._end(a)}},destroy:function(){this.options.fadeScrollbars&&(clearTimeout(this.fadeTimeout),this.fadeTimeout=null),this.options.interactive&&(h.removeEvent(this.indicator,"touchstart",this),h.removeEvent(this.indicator,h.prefixPointerEvent("pointerdown"),this),h.removeEvent(this.indicator,"mousedown",this),h.removeEvent(a,"touchmove",this),h.removeEvent(a,h.prefixPointerEvent("pointermove"),this),h.removeEvent(a,"mousemove",this),h.removeEvent(a,"touchend",this),h.removeEvent(a,h.prefixPointerEvent("pointerup"),this),h.removeEvent(a,"mouseup",this)),this.options.defaultScrollbars&&this.wrapper.parentNode.removeChild(this.wrapper)},_start:function(b){var c=b.touches?b.touches[0]:b;b.preventDefault(),b.stopPropagation(),this.transitionTime(),this.initiated=!0,this.moved=!1,this.lastPointX=c.pageX,this.lastPointY=c.pageY,this.startTime=h.getTime(),this.options.disableTouch||h.addEvent(a,"touchmove",this),this.options.disablePointer||h.addEvent(a,h.prefixPointerEvent("pointermove"),this),this.options.disableMouse||h.addEvent(a,"mousemove",this),this.scroller._execEvent("beforeScrollStart")},_move:function(a){var b,c,d,e,f=a.touches?a.touches[0]:a;h.getTime();this.moved||this.scroller._execEvent("scrollStart"),this.moved=!0,b=f.pageX-this.lastPointX,this.lastPointX=f.pageX,c=f.pageY-this.lastPointY,this.lastPointY=f.pageY,d=this.x+b,e=this.y+c,this._pos(d,e),a.preventDefault(),a.stopPropagation()},_end:function(b){if(this.initiated){if(this.initiated=!1,b.preventDefault(),b.stopPropagation(),h.removeEvent(a,"touchmove",this),h.removeEvent(a,h.prefixPointerEvent("pointermove"),this),h.removeEvent(a,"mousemove",this),this.scroller.options.snap){var d=this.scroller._nearestSnap(this.scroller.x,this.scroller.y),e=this.options.snapSpeed||c.max(c.max(c.min(c.abs(this.scroller.x-d.x),1e3),c.min(c.abs(this.scroller.y-d.y),1e3)),300);this.scroller.x==d.x&&this.scroller.y==d.y||(this.scroller.directionX=0,this.scroller.directionY=0,this.scroller.currentPage=d,this.scroller.scrollTo(d.x,d.y,e,this.scroller.options.bounceEasing))}this.moved&&this.scroller._execEvent("scrollEnd")}},transitionTime:function(a){a=a||0;var b=h.style.transitionDuration;if(b&&(this.indicatorStyle[b]=a+"ms",!a&&h.isBadAndroid)){this.indicatorStyle[b]="0.0001ms";var c=this;g(function(){"0.0001ms"===c.indicatorStyle[b]&&(c.indicatorStyle[b]="0s")})}},transitionTimingFunction:function(a){this.indicatorStyle[h.style.transitionTimingFunction]=a},refresh:function(){this.transitionTime(),this.options.listenX&&!this.options.listenY?this.indicatorStyle.display=this.scroller.hasHorizontalScroll?"block":"none":this.options.listenY&&!this.options.listenX?this.indicatorStyle.display=this.scroller.hasVerticalScroll?"block":"none":this.indicatorStyle.display=this.scroller.hasHorizontalScroll||this.scroller.hasVerticalScroll?"block":"none",this.scroller.hasHorizontalScroll&&this.scroller.hasVerticalScroll?(h.addClass(this.wrapper,"iScrollBothScrollbars"),h.removeClass(this.wrapper,"iScrollLoneScrollbar"),this.options.defaultScrollbars&&this.options.customStyle&&(this.options.listenX?this.wrapper.style.right="8px":this.wrapper.style.bottom="8px")):(h.removeClass(this.wrapper,"iScrollBothScrollbars"),h.addClass(this.wrapper,"iScrollLoneScrollbar"),this.options.defaultScrollbars&&this.options.customStyle&&(this.options.listenX?this.wrapper.style.right="2px":this.wrapper.style.bottom="2px"));this.wrapper.offsetHeight;this.options.listenX&&(this.wrapperWidth=this.wrapper.clientWidth,this.options.resize?(this.indicatorWidth=c.max(c.round(this.wrapperWidth*this.wrapperWidth/(this.scroller.scrollerWidth||this.wrapperWidth||1)),8),this.indicatorStyle.width=this.indicatorWidth+"px"):this.indicatorWidth=this.indicator.clientWidth,this.maxPosX=this.wrapperWidth-this.indicatorWidth,"clip"==this.options.shrink?(this.minBoundaryX=8-this.indicatorWidth,this.maxBoundaryX=this.wrapperWidth-8):(this.minBoundaryX=0,this.maxBoundaryX=this.maxPosX),this.sizeRatioX=this.options.speedRatioX||this.scroller.maxScrollX&&this.maxPosX/this.scroller.maxScrollX),this.options.listenY&&(this.wrapperHeight=this.wrapper.clientHeight,this.options.resize?(this.indicatorHeight=c.max(c.round(this.wrapperHeight*this.wrapperHeight/(this.scroller.scrollerHeight||this.wrapperHeight||1)),8),this.indicatorStyle.height=this.indicatorHeight+"px"):this.indicatorHeight=this.indicator.clientHeight,this.maxPosY=this.wrapperHeight-this.indicatorHeight,"clip"==this.options.shrink?(this.minBoundaryY=8-this.indicatorHeight,this.maxBoundaryY=this.wrapperHeight-8):(this.minBoundaryY=0,this.maxBoundaryY=this.maxPosY),this.maxPosY=this.wrapperHeight-this.indicatorHeight,this.sizeRatioY=this.options.speedRatioY||this.scroller.maxScrollY&&this.maxPosY/this.scroller.maxScrollY),this.updatePosition()},updatePosition:function(){var a=this.options.listenX&&c.round(this.sizeRatioX*this.scroller.x)||0,b=this.options.listenY&&c.round(this.sizeRatioY*this.scroller.y)||0;this.options.ignoreBoundaries||(athis.maxBoundaryX?"scale"==this.options.shrink?(this.width=c.max(this.indicatorWidth-(a-this.maxPosX),8),this.indicatorStyle.width=this.width+"px",a=this.maxPosX+this.indicatorWidth-this.width):a=this.maxBoundaryX:"scale"==this.options.shrink&&this.width!=this.indicatorWidth&&(this.width=this.indicatorWidth,this.indicatorStyle.width=this.width+"px"),bthis.maxBoundaryY?"scale"==this.options.shrink?(this.height=c.max(this.indicatorHeight-3*(b-this.maxPosY),8),this.indicatorStyle.height=this.height+"px",b=this.maxPosY+this.indicatorHeight-this.height):b=this.maxBoundaryY:"scale"==this.options.shrink&&this.height!=this.indicatorHeight&&(this.height=this.indicatorHeight,this.indicatorStyle.height=this.height+"px")),this.x=a,this.y=b,this.scroller.options.useTransform?this.indicatorStyle[h.style.transform]="translate("+a+"px,"+b+"px)"+this.scroller.translateZ:(this.indicatorStyle.left=a+"px",this.indicatorStyle.top=b+"px")},_pos:function(a,b){a<0?a=0:a>this.maxPosX&&(a=this.maxPosX),b<0?b=0:b>this.maxPosY&&(b=this.maxPosY),a=this.options.listenX?c.round(a/this.sizeRatioX):this.scroller.x,b=this.options.listenY?c.round(b/this.sizeRatioY):this.scroller.y,this.scroller.scrollTo(a,b)},fade:function(a,b){if(!b||this.visible){clearTimeout(this.fadeTimeout),this.fadeTimeout=null;var c=a?250:500,d=a?0:300;a=a?"1":"0",this.wrapperStyle[h.style.transitionDuration]=c+"ms",this.fadeTimeout=setTimeout(function(a){this.wrapperStyle.opacity=a,this.visible=+a}.bind(this,a),d)}}},d.utils=h,"undefined"!=typeof module&&module.exports?module.exports=d:"function"==typeof define&&define.amd?define(function(){return d}):a.IScroll=d}(window,document,Math);var LogUtils=function(){var a=!1;return{log:function(b){a&&console.log(b)},error:function(a){console.error(a)},enable:function(){a=!0},disable:function(){a=!1}}}(),DateUtils=function(){return{_y:function(a){return a.getFullYear()},_m:function(a){return a.getMonth()},_rm:function(a){return a.getMonth()+1},_d:function(a){return a.getDate()},_h:function(a){return a.getHours()},_i:function(a){return a.getMinutes()},_s:function(a){return a.getSeconds()}}}(),ComponentCountProvider=function(){var a=0;return{incrementAndGet:function(){return++a}}}(),ComponentDefine=function(){var a={};return a.dateLabels={year:"年",month:"月",day:"日",hour:"时",minute:"分",second:"秒"},a.presetType=["time","date","datetime","diy"],a.validateSupportType=function(a){var b=!1;return this.presetType.forEach(function(c){c===a&&(b=!0)}),b},a}(),ComponentUtils=function(){return{getSelectedValueIndex:function(a,b){var c=-1;return a.forEach(function(a,d){b===a&&(c=d)}),c},fillArr:function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},getTop:function(a,b){return 0-a*b},getDisplayedTime:function(a){return{h:DateUtils._h(a),i:DateUtils._i(a),s:DateUtils._s(a)}},isDate:function(a){return"object"==typeof a&&a instanceof Date},getDayOfMonth:function(a,b){return 32-new Date(a,b-1,32).getDate()}}}(),DateTime=function(a,b){var c={},d=new Date,e={};e.opts=b||DateTime.defaultOpts,e.domHook=a;var f={_createDomElement:function(a){var b=document.createElement("div");return b.innerHTML=a,b.firstChild},_createWrapContainer:function(a){return this._createDomElement('
                                              ')},_createWrapLine:function(a){return this._createDomElement('
                                              ')},_createWrapItem:function(a,b,c){return this._createDomElement('
                                              ')},_createItemList:function(a){return this._createDomElement('
                                                ')},_createItem:function(a,b,c){return a?this._createDomElement('
                                              • '+b+" "+c+"
                                              • "):this._createDomElement("
                                              • "+b+" "+c+"
                                              • ")},_resetItems:function(a){var b=80|e.opts.itemWidth;return window.screen.width/a.length")),g.appendChild(j._createDomElement("
                                              • ")),e.valueMap.forEach(function(a,b){var c=j._createItem(h===b,a,k);e.htmlList.push(c),g.appendChild(c)});var l=j._createDomElement("
                                              • ");e.emptyLiHook=l,e.listHook=g,g.appendChild(l),g.appendChild(j._createDomElement("
                                              • ")),f.appendChild(g),d.appendChild(f)}),e.domHook.innerHTML="",e.domHook.appendChild(d)},_init:function(a){switch(a){case"date":this._initDateConfig();break;case"time":this._initTimeConfig();break;case"diy":this._initDiyConfig();break;case"datetime":this._initDateTimeConfig()}},_getYearConfig:function(a,b,c){return{top:ComponentUtils.getTop(e.lineHeight,a-b),value:a,oldValue:a,minValue:b,maxValue:c,htmlList:[],valueMap:ComponentUtils.fillArr(b,c)}},_getMonthConfig:function(a){return{top:ComponentUtils.getTop(e.lineHeight,a-1),value:a,oldValue:a,minValue:1,maxValue:12,htmlList:[],valueMap:ComponentUtils.fillArr(1,12)}},_getDayConfig:function(a,b){return{top:ComponentUtils.getTop(e.lineHeight,a-1),value:a,oldValue:a,minValue:1,maxValue:b,htmlList:[],valueMap:ComponentUtils.fillArr(1,b)}},_getHourConfig:function(a){return{top:ComponentUtils.getTop(e.lineHeight,a),value:a,oldValue:a,htmlList:[],valueMap:ComponentUtils.fillArr(0,23)}},_getMinuteConfig:function(a){return{top:ComponentUtils.getTop(e.lineHeight,a),value:a,oldValue:a,htmlList:[],valueMap:ComponentUtils.fillArr(0,59)}},_getSecondConfig:function(a){return{top:ComponentUtils.getTop(e.lineHeight,a),value:a,oldValue:a,htmlList:[],valueMap:ComponentUtils.fillArr(0,59)}},_getDiyConfig:function(a,b,c){var d={key:a,value:b,htmlList:[],valueMap:c};return d.index=ComponentUtils.getSelectedValueIndex(c,b),d.top=ComponentUtils.getTop(e.lineHeight,d.index),d},_initDateConfig:function(){var a=e.opts,b=a.minDate.getFullYear(),f=a.maxDate.getFullYear(),g=ComponentUtils.isDate(a.date)?a.date:d,h={y:DateUtils._y(g),m:DateUtils._rm(g),d:DateUtils._d(g)};LogUtils.log(h),e.itemList=["year","month","day"];var i=ComponentUtils.getDayOfMonth(h.y,h.m);LogUtils.log("dayOfMonth= "+i),e.dayOfMonth=i,c.year={top:ComponentUtils.getTop(e.lineHeight,h.y-b),value:h.y,oldValue:h.y,minValue:b,maxValue:f,htmlList:[],valueMap:ComponentUtils.fillArr(b,f)},c.month={top:ComponentUtils.getTop(e.lineHeight,h.m-1),value:h.m,oldValue:h.m,minValue:1,maxValue:12,htmlList:[],valueMap:ComponentUtils.fillArr(1,12)},c.day={top:ComponentUtils.getTop(e.lineHeight,h.d-1),value:h.d,oldValue:h.d,minValue:1,maxValue:i,htmlList:[],valueMap:ComponentUtils.fillArr(1,i)}},_initTimeConfig:function(){var a=e.opts,b=ComponentUtils.isDate(a.date)?a.date:d,f={h:DateUtils._h(b),i:DateUtils._i(b),s:DateUtils._s(b)};LogUtils.log(f),e.itemList=["hour","minute","second"];var g=ComponentUtils.getDayOfMonth(f.y,f.m);LogUtils.log("dayOfMonth= "+g),e.dayOfMonth=g,c.hour=this._getHourConfig(f.h),c.minute=this._getMinuteConfig(f.i),c.second=this._getSecondConfig(f.s)},_initDiyConfig:function(){var a=e.opts;a.data&&(e.itemList=[],a.data.forEach(function(a){c[a.key]=f._getDiyConfig(a.key,a.value,a.resource),ComponentDefine.dateLabels[a.key]=a.unit,e.itemList.push(a.key)}))},_initDateTimeConfig:function(){var a=e.opts,b=a.minDate.getFullYear(),f=a.maxDate.getFullYear(),g=ComponentUtils.isDate(a.date)?a.date:d,h={y:DateUtils._y(g),m:DateUtils._rm(g),d:DateUtils._d(g),h:DateUtils._h(g),i:DateUtils._i(g),s:DateUtils._s(g)};LogUtils.log(h),e.itemList=["year","month","day","hour","minute","second"];var i=ComponentUtils.getDayOfMonth(h.y,h.m);LogUtils.log("dayOfMonth= "+i),e.dayOfMonth=i,c.year=this._getYearConfig(h.y,b,f),c.month=this._getMonthConfig(h.m),c.day=this._getDayConfig(h.d,i),c.hour=this._getHourConfig(h.h),c.minute=this._getMinuteConfig(h.i),c.second=this._getSecondConfig(h.s)}},g={_getSelectValue:function(){var a={};return e.itemList.forEach(function(b){var d=c[b];if(d){var f=d.top;a[b]=d.valueMap[Math.abs(f)/e.lineHeight]}}),a}},h={_init:function(){var a=this;e.itemList.forEach(function(b){var d=c[b];d&&a._bindItemEvent(d,b)})},_destroy:function(){e.itemList.forEach(function(a){var b=c[a];b&&b.scroller&&(b.scroller.destroy(),b.scroller=null)})},_syncValue:function(){var a=g._getSelectValue();e.itemList.forEach(function(b){var d=c[b];d&&(d.oldValue=d.value,d.value=a[b],d.index=ComponentUtils.getSelectedValueIndex(d.valueMap,d.value),d.top=ComponentUtils.getTop(e.lineHeight,d.index))})},_syncStatus:function(){e.itemList.forEach(function(a){var b=c[a];if(b){var d=ComponentUtils.getSelectedValueIndex(b.valueMap,b.oldValue),e=ComponentUtils.getSelectedValueIndex(b.valueMap,b.value);LogUtils.log("old index="+d+";current index="+e),d!==e&&(b.htmlList[d].className="item",b.htmlList[e].className="item selected")}})},_syncScroll:function(){e.itemList.forEach(function(a){var b=c[a];if(b){var d=ComponentUtils.getSelectedValueIndex(b.valueMap,b.value),f=ComponentUtils.getTop(e.lineHeight,d);b.scroller.scrollToIng=!0,b.scroller.scrollTo(0,f,300,IScroll.utils.ease.circular)}})},_callChangeCallback:function(){var a=e.opts.onChange;a&&"function"==typeof a&&setTimeout(function(){a.call(this,g._getSelectValue())},0)},_fixDayOfMonth:function(a){if("month"===a){var b=g._getSelectValue(),d=ComponentUtils.getDayOfMonth(b.year,b.month-1);LogUtils.log("day of month = "+d);var h=e.dayOfMonth;if(LogUtils.log("current day of month = "+h),h!==d){var i=c.day;if(i.valueMap=ComponentUtils.fillArr(1,d),d>h)for(var j=ComponentUtils.getSelectedValueIndex(i.valueMap,i.value),k=ComponentDefine.dateLabels.day,l=h;d>l;l++){var m=f._createItem(j===l,i.valueMap[l],k);i.htmlList.push(m),i.listHook.insertBefore(m,i.emptyLiHook)}else if(h>d){for(var n=h-d,o=0;od&&(i.oldValue=d-1,i.value=d)}e.dayOfMonth=d}c.day.scroller.refresh()}},_bindItemEvent:function(a,b){var d=this._createScroller(c.guid,b);d.key=b,d.scrollToIng=!0,d.scrollTo(0,a.top,0,IScroll.utils.ease.circular);var f=e.lineHeight,g=this;d.on("scrollEnd",function(){var c=this.y,d=Math.round(c/f);a.top!==c&&(a.top=f*d,g._syncValue(),g._fixDayOfMonth(b),g._syncStatus(),g._syncScroll(),g._callChangeCallback())}),a.scroller=d},_createScroller:function(a,b){return new IScroll("#ui-datetime-"+a+"-ad-"+b,{bounceEasing:"ease",bounceTime:600})}};return c.init=function(){c.guid=ComponentCountProvider.incrementAndGet();var a=e.opts;if(e.height=a.height||200,e.lineHeight=a.lineHeight||40,!ComponentDefine.validateSupportType(a.type))return void LogUtils.error("unSupport type!");f._init(a.type),f._render(),h._init()},c.show=function(){e.domHook&&(e.domHook.style.display="block")},c.hide=function(){e.domHook&&(e.domHook.style.display="none")},c.refreshEventBinder=function(){h._destroy(),h._init()},c};DateTime.defaultOpts={type:"date",date:new Date,minDate:new Date,maxDate:new Date,data:[{key:"day",resource:["上午","下午"],value:"上午",unit:""},{key:"hour",resource:["01","02","03","04","05","06","07","08","09","10","11","12"],value:"09",unit:""},{key:"minute",resource:["01","02","03","04","05","06","07","08","09","10"],value:"05",unit:""}],onChange:function(a){console.log("call back",a)}}; \ No newline at end of file diff --git a/common/js/flexible.js b/common/js/flexible.js new file mode 100644 index 0000000..8f6f217 --- /dev/null +++ b/common/js/flexible.js @@ -0,0 +1,109 @@ +;(function(win, lib) { + var doc = win.document; + var docEl = doc.documentElement; + var metaEl = doc.querySelector('meta[name="viewport"]'); + var flexibleEl = doc.querySelector('meta[name="flexible"]'); + var dpr = 0; + var scale = 0; + var tid; + var flexible = lib.flexible || (lib.flexible = {}); + + if (metaEl) { + console.warn('将根据已有的meta标签来设置缩放比例'); + var match = metaEl.getAttribute('content').match(/initial\-scale=([\d\.]+)/); + if (match) { + scale = parseFloat(match[1]); + dpr = parseInt(1 / scale); + } + } else if (flexibleEl) { + var content = flexibleEl.getAttribute('content'); + if (content) { + var initialDpr = content.match(/initial\-dpr=([\d\.]+)/); + var maximumDpr = content.match(/maximum\-dpr=([\d\.]+)/); + if (initialDpr) { + dpr = parseFloat(initialDpr[1]); + scale = parseFloat((1 / dpr).toFixed(2)); + } + if (maximumDpr) { + dpr = parseFloat(maximumDpr[1]); + scale = parseFloat((1 / dpr).toFixed(2)); + } + } + } + if (!dpr && !scale) { + var isAndroid = win.navigator.appVersion.match(/android/gi); + var isIPhone = win.navigator.appVersion.match(/iphone/gi); + var devicePixelRatio = win.devicePixelRatio; + if (isIPhone) { + // iOS下,对于2和3的屏,用2倍的方案,其余的用1倍方案 + if (devicePixelRatio >= 3 && (!dpr || dpr >= 3)) { + dpr = 3; + } else if (devicePixelRatio >= 2 && (!dpr || dpr >= 2)){ + dpr = 2; + } else { + dpr = 1; + } + } else { + // 其他设备下,仍旧使用1倍的方案 + dpr = 1; + } + scale = 1 / dpr; + } + docEl.setAttribute('data-dpr', dpr); + if (!metaEl) { + metaEl = doc.createElement('meta'); + metaEl.setAttribute('name', 'viewport'); + metaEl.setAttribute('content', 'initial-scale=' + scale + ', maximum-scale=' + scale + ', minimum-scale=' + scale + ', user-scalable=no'); + if (docEl.firstElementChild) { + docEl.firstElementChild.appendChild(metaEl); + } else { + var wrap = doc.createElement('div'); + wrap.appendChild(metaEl); + doc.write(wrap.innerHTML); + } + } + function refreshRem(){ + var width = docEl.getBoundingClientRect().width; + if (width / dpr > 540) { + width = 540 * dpr; + } + var rem = width / 10; + docEl.style.fontSize = rem + 'px'; + flexible.rem = win.rem = rem; + } + win.addEventListener('resize', function() { + clearTimeout(tid); + tid = setTimeout(refreshRem, 300); + }, false); + win.addEventListener('pageshow', function(e) { + if (e.persisted) { + clearTimeout(tid); + tid = setTimeout(refreshRem, 300); + } + }, false); + if (doc.readyState === 'complete') { + doc.body.style.fontSize = 12 * dpr + 'px'; + } else { + doc.addEventListener('DOMContentLoaded', function(e) { + doc.body.style.fontSize = 12 * dpr + 'px'; + }, false); + } + + refreshRem(); + flexible.dpr = win.dpr = dpr; + flexible.refreshRem = refreshRem; + flexible.rem2px = function(d) { + var val = parseFloat(d) * this.rem; + if (typeof d === 'string' && d.match(/rem$/)) { + val += 'px'; + } + return val; + } + flexible.px2rem = function(d) { + var val = parseFloat(d) / this.rem; + if (typeof d === 'string' && d.match(/px$/)) { + val += 'rem'; + } + return val; + } +})(window, window['lib'] || (window['lib'] = {})); diff --git a/common/js/iscroll-probe.js b/common/js/iscroll-probe.js new file mode 100644 index 0000000..68e9e43 --- /dev/null +++ b/common/js/iscroll-probe.js @@ -0,0 +1,2197 @@ +/*! iScroll v5.2.0-snapshot ~ (c) 2008-2017 Matteo Spinelli ~ http://cubiq.org/license */ +(function (window, document, Math) { +var rAF = window.requestAnimationFrame || + window.webkitRequestAnimationFrame || + window.mozRequestAnimationFrame || + window.oRequestAnimationFrame || + window.msRequestAnimationFrame || + function (callback) { window.setTimeout(callback, 1000 / 60); }; + +var utils = (function () { + var me = {}; + + var _elementStyle = document.createElement('div').style; + var _vendor = (function () { + var vendors = ['t', 'webkitT', 'MozT', 'msT', 'OT'], + transform, + i = 0, + l = vendors.length; + + for ( ; i < l; i++ ) { + transform = vendors[i] + 'ransform'; + if ( transform in _elementStyle ) return vendors[i].substr(0, vendors[i].length-1); + } + + return false; + })(); + + function _prefixStyle (style) { + if ( _vendor === false ) return false; + if ( _vendor === '' ) return style; + return _vendor + style.charAt(0).toUpperCase() + style.substr(1); + } + + me.getTime = Date.now || function getTime () { return new Date().getTime(); }; + + me.extend = function (target, obj) { + for ( var i in obj ) { + target[i] = obj[i]; + } + }; + + me.addEvent = function (el, type, fn, capture) { + el.addEventListener(type, fn, !!capture); + }; + + me.removeEvent = function (el, type, fn, capture) { + el.removeEventListener(type, fn, !!capture); + }; + + me.prefixPointerEvent = function (pointerEvent) { + return window.MSPointerEvent ? + 'MSPointer' + pointerEvent.charAt(7).toUpperCase() + pointerEvent.substr(8): + pointerEvent; + }; + + me.momentum = function (current, start, time, lowerMargin, wrapperSize, deceleration) { + var distance = current - start, + speed = Math.abs(distance) / time, + destination, + duration; + + deceleration = deceleration === undefined ? 0.0006 : deceleration; + + destination = current + ( speed * speed ) / ( 2 * deceleration ) * ( distance < 0 ? -1 : 1 ); + duration = speed / deceleration; + + if ( destination < lowerMargin ) { + destination = wrapperSize ? lowerMargin - ( wrapperSize / 2.5 * ( speed / 8 ) ) : lowerMargin; + distance = Math.abs(destination - current); + duration = distance / speed; + } else if ( destination > 0 ) { + destination = wrapperSize ? wrapperSize / 2.5 * ( speed / 8 ) : 0; + distance = Math.abs(current) + destination; + duration = distance / speed; + } + + return { + destination: Math.round(destination), + duration: duration + }; + }; + + var _transform = _prefixStyle('transform'); + + me.extend(me, { + hasTransform: _transform !== false, + hasPerspective: _prefixStyle('perspective') in _elementStyle, + hasTouch: 'ontouchstart' in window, + hasPointer: !!(window.PointerEvent || window.MSPointerEvent), // IE10 is prefixed + hasTransition: _prefixStyle('transition') in _elementStyle + }); + + /* + This should find all Android browsers lower than build 535.19 (both stock browser and webview) + - galaxy S2 is ok + - 2.3.6 : `AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1` + - 4.0.4 : `AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30` + - galaxy S3 is badAndroid (stock brower, webview) + `AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30` + - galaxy S4 is badAndroid (stock brower, webview) + `AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30` + - galaxy S5 is OK + `AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Mobile Safari/537.36 (Chrome/)` + - galaxy S6 is OK + `AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Mobile Safari/537.36 (Chrome/)` + */ + me.isBadAndroid = (function() { + var appVersion = window.navigator.appVersion; + // Android browser is not a chrome browser. + if (/Android/.test(appVersion) && !(/Chrome\/\d/.test(appVersion))) { + var safariVersion = appVersion.match(/Safari\/(\d+.\d)/); + if(safariVersion && typeof safariVersion === "object" && safariVersion.length >= 2) { + return parseFloat(safariVersion[1]) < 535.19; + } else { + return true; + } + } else { + return false; + } + })(); + + me.extend(me.style = {}, { + transform: _transform, + transitionTimingFunction: _prefixStyle('transitionTimingFunction'), + transitionDuration: _prefixStyle('transitionDuration'), + transitionDelay: _prefixStyle('transitionDelay'), + transformOrigin: _prefixStyle('transformOrigin'), + touchAction: _prefixStyle('touchAction') + }); + + me.hasClass = function (e, c) { + var re = new RegExp("(^|\\s)" + c + "(\\s|$)"); + return re.test(e.className); + }; + + me.addClass = function (e, c) { + if ( me.hasClass(e, c) ) { + return; + } + + var newclass = e.className.split(' '); + newclass.push(c); + e.className = newclass.join(' '); + }; + + me.removeClass = function (e, c) { + if ( !me.hasClass(e, c) ) { + return; + } + + var re = new RegExp("(^|\\s)" + c + "(\\s|$)", 'g'); + e.className = e.className.replace(re, ' '); + }; + + me.offset = function (el) { + var left = -el.offsetLeft, + top = -el.offsetTop; + + // jshint -W084 + while (el = el.offsetParent) { + left -= el.offsetLeft; + top -= el.offsetTop; + } + // jshint +W084 + + return { + left: left, + top: top + }; + }; + + me.preventDefaultException = function (el, exceptions) { + for ( var i in exceptions ) { + if ( exceptions[i].test(el[i]) ) { + return true; + } + } + + return false; + }; + + me.extend(me.eventType = {}, { + touchstart: 1, + touchmove: 1, + touchend: 1, + + mousedown: 2, + mousemove: 2, + mouseup: 2, + + pointerdown: 3, + pointermove: 3, + pointerup: 3, + + MSPointerDown: 3, + MSPointerMove: 3, + MSPointerUp: 3 + }); + + me.extend(me.ease = {}, { + quadratic: { + style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)', + fn: function (k) { + return k * ( 2 - k ); + } + }, + circular: { + style: 'cubic-bezier(0.1, 0.57, 0.1, 1)', // Not properly "circular" but this looks better, it should be (0.075, 0.82, 0.165, 1) + fn: function (k) { + return Math.sqrt( 1 - ( --k * k ) ); + } + }, + back: { + style: 'cubic-bezier(0.175, 0.885, 0.32, 1.275)', + fn: function (k) { + var b = 4; + return ( k = k - 1 ) * k * ( ( b + 1 ) * k + b ) + 1; + } + }, + bounce: { + style: '', + fn: function (k) { + if ( ( k /= 1 ) < ( 1 / 2.75 ) ) { + return 7.5625 * k * k; + } else if ( k < ( 2 / 2.75 ) ) { + return 7.5625 * ( k -= ( 1.5 / 2.75 ) ) * k + 0.75; + } else if ( k < ( 2.5 / 2.75 ) ) { + return 7.5625 * ( k -= ( 2.25 / 2.75 ) ) * k + 0.9375; + } else { + return 7.5625 * ( k -= ( 2.625 / 2.75 ) ) * k + 0.984375; + } + } + }, + elastic: { + style: '', + fn: function (k) { + var f = 0.22, + e = 0.4; + + if ( k === 0 ) { return 0; } + if ( k == 1 ) { return 1; } + + return ( e * Math.pow( 2, - 10 * k ) * Math.sin( ( k - f / 4 ) * ( 2 * Math.PI ) / f ) + 1 ); + } + } + }); + + me.tap = function (e, eventName) { + var ev = document.createEvent('Event'); + ev.initEvent(eventName, true, true); + ev.pageX = e.pageX; + ev.pageY = e.pageY; + e.target.dispatchEvent(ev); + }; + + me.click = function (e) { + var target = e.target, + ev; + + if ( !(/(SELECT|INPUT|TEXTAREA)/i).test(target.tagName) ) { + // https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/initMouseEvent + // initMouseEvent is deprecated. + ev = document.createEvent(window.MouseEvent ? 'MouseEvents' : 'Event'); + ev.initEvent('click', true, true); + ev.view = e.view || window; + ev.detail = 1; + ev.screenX = target.screenX || 0; + ev.screenY = target.screenY || 0; + ev.clientX = target.clientX || 0; + ev.clientY = target.clientY || 0; + ev.ctrlKey = !!e.ctrlKey; + ev.altKey = !!e.altKey; + ev.shiftKey = !!e.shiftKey; + ev.metaKey = !!e.metaKey; + ev.button = 0; + ev.relatedTarget = null; + ev._constructed = true; + target.dispatchEvent(ev); + } + }; + + me.getTouchAction = function(eventPassthrough, addPinch) { + var touchAction = 'none'; + if ( eventPassthrough === 'vertical' ) { + touchAction = 'pan-y'; + } else if (eventPassthrough === 'horizontal' ) { + touchAction = 'pan-x'; + } + if (addPinch && touchAction != 'none') { + // add pinch-zoom support if the browser supports it, but if not (eg. Chrome <55) do nothing + touchAction += ' pinch-zoom'; + } + return touchAction; + }; + + me.getRect = function(el) { + if (el instanceof SVGElement) { + var rect = el.getBoundingClientRect(); + return { + top : rect.top, + left : rect.left, + width : rect.width, + height : rect.height + }; + } else { + return { + top : el.offsetTop, + left : el.offsetLeft, + width : el.offsetWidth, + height : el.offsetHeight + }; + } + }; + + return me; +})(); +function IScroll (el, options) { + this.wrapper = typeof el == 'string' ? document.querySelector(el) : el; + this.scroller = this.wrapper.children[0]; + this.scrollerStyle = this.scroller.style; // cache style for better performance + + this.options = { + + resizeScrollbars: true, + + mouseWheelSpeed: 20, + + snapThreshold: 0.334, + +// INSERT POINT: OPTIONS + disablePointer : !utils.hasPointer, + disableTouch : utils.hasPointer || !utils.hasTouch, + disableMouse : utils.hasPointer || utils.hasTouch, + startX: 0, + startY: 0, + scrollY: true, + directionLockThreshold: 5, + momentum: true, + + bounce: true, + bounceTime: 600, + bounceEasing: '', + + preventDefault: true, + preventDefaultException: { tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT)$/ }, + + HWCompositing: true, + useTransition: true, + useTransform: true, + bindToWrapper: typeof window.onmousedown === "undefined" + }; + + for ( var i in options ) { + this.options[i] = options[i]; + } + + // Normalize options + this.translateZ = this.options.HWCompositing && utils.hasPerspective ? ' translateZ(0)' : ''; + + this.options.useTransition = utils.hasTransition && this.options.useTransition; + this.options.useTransform = utils.hasTransform && this.options.useTransform; + + this.options.eventPassthrough = this.options.eventPassthrough === true ? 'vertical' : this.options.eventPassthrough; + this.options.preventDefault = !this.options.eventPassthrough && this.options.preventDefault; + + // If you want eventPassthrough I have to lock one of the axes + this.options.scrollY = this.options.eventPassthrough == 'vertical' ? false : this.options.scrollY; + this.options.scrollX = this.options.eventPassthrough == 'horizontal' ? false : this.options.scrollX; + + // With eventPassthrough we also need lockDirection mechanism + this.options.freeScroll = this.options.freeScroll && !this.options.eventPassthrough; + this.options.directionLockThreshold = this.options.eventPassthrough ? 0 : this.options.directionLockThreshold; + + this.options.bounceEasing = typeof this.options.bounceEasing == 'string' ? utils.ease[this.options.bounceEasing] || utils.ease.circular : this.options.bounceEasing; + + this.options.resizePolling = this.options.resizePolling === undefined ? 60 : this.options.resizePolling; + + if ( this.options.tap === true ) { + this.options.tap = 'tap'; + } + + // https://github.com/cubiq/iscroll/issues/1029 + if (!this.options.useTransition && !this.options.useTransform) { + if(!(/relative|absolute/i).test(this.scrollerStyle.position)) { + this.scrollerStyle.position = "relative"; + } + } + + if ( this.options.shrinkScrollbars == 'scale' ) { + this.options.useTransition = false; + } + + this.options.invertWheelDirection = this.options.invertWheelDirection ? -1 : 1; + + if ( this.options.probeType == 3 ) { + this.options.useTransition = false; } + +// INSERT POINT: NORMALIZATION + + // Some defaults + this.x = 0; + this.y = 0; + this.directionX = 0; + this.directionY = 0; + this._events = {}; + +// INSERT POINT: DEFAULTS + + this._init(); + this.refresh(); + + this.scrollTo(this.options.startX, this.options.startY); + this.enable(); +} + +IScroll.prototype = { + version: '5.2.0-snapshot', + + _init: function () { + this._initEvents(); + + if ( this.options.scrollbars || this.options.indicators ) { + this._initIndicators(); + } + + if ( this.options.mouseWheel ) { + this._initWheel(); + } + + if ( this.options.snap ) { + this._initSnap(); + } + + if ( this.options.keyBindings ) { + this._initKeys(); + } + +// INSERT POINT: _init + + }, + + destroy: function () { + this._initEvents(true); + clearTimeout(this.resizeTimeout); + this.resizeTimeout = null; + this._execEvent('destroy'); + }, + + _transitionEnd: function (e) { + if ( e.target != this.scroller || !this.isInTransition ) { + return; + } + + this._transitionTime(); + if ( !this.resetPosition(this.options.bounceTime) ) { + this.isInTransition = false; + this._execEvent('scrollEnd'); + } + }, + + _start: function (e) { + // React to left mouse button only + if ( utils.eventType[e.type] != 1 ) { + // for button property + // http://unixpapa.com/js/mouse.html + var button; + if (!e.which) { + /* IE case */ + button = (e.button < 2) ? 0 : + ((e.button == 4) ? 1 : 2); + } else { + /* All others */ + button = e.button; + } + if ( button !== 0 ) { + return; + } + } + + if ( !this.enabled || (this.initiated && utils.eventType[e.type] !== this.initiated) ) { + return; + } + + if ( this.options.preventDefault && !utils.isBadAndroid && !utils.preventDefaultException(e.target, this.options.preventDefaultException) ) { + e.preventDefault(); + } + + var point = e.touches ? e.touches[0] : e, + pos; + + this.initiated = utils.eventType[e.type]; + this.moved = false; + this.distX = 0; + this.distY = 0; + this.directionX = 0; + this.directionY = 0; + this.directionLocked = 0; + + this.startTime = utils.getTime(); + + if ( this.options.useTransition && this.isInTransition ) { + this._transitionTime(); + this.isInTransition = false; + pos = this.getComputedPosition(); + this._translate(Math.round(pos.x), Math.round(pos.y)); + this._execEvent('scrollEnd'); + } else if ( !this.options.useTransition && this.isAnimating ) { + this.isAnimating = false; + this._execEvent('scrollEnd'); + } + + this.startX = this.x; + this.startY = this.y; + this.absStartX = this.x; + this.absStartY = this.y; + this.pointX = point.pageX; + this.pointY = point.pageY; + + this._execEvent('beforeScrollStart'); + }, + + _move: function (e) { + if ( !this.enabled || utils.eventType[e.type] !== this.initiated ) { + return; + } + + if ( this.options.preventDefault ) { // increases performance on Android? TODO: check! + e.preventDefault(); + } + + var point = e.touches ? e.touches[0] : e, + deltaX = point.pageX - this.pointX, + deltaY = point.pageY - this.pointY, + timestamp = utils.getTime(), + newX, newY, + absDistX, absDistY; + + this.pointX = point.pageX; + this.pointY = point.pageY; + + this.distX += deltaX; + this.distY += deltaY; + absDistX = Math.abs(this.distX); + absDistY = Math.abs(this.distY); + + // We need to move at least 10 pixels for the scrolling to initiate + if ( timestamp - this.endTime > 300 && (absDistX < 10 && absDistY < 10) ) { + return; + } + + // If you are scrolling in one direction lock the other + if ( !this.directionLocked && !this.options.freeScroll ) { + if ( absDistX > absDistY + this.options.directionLockThreshold ) { + this.directionLocked = 'h'; // lock horizontally + } else if ( absDistY >= absDistX + this.options.directionLockThreshold ) { + this.directionLocked = 'v'; // lock vertically + } else { + this.directionLocked = 'n'; // no lock + } + } + + if ( this.directionLocked == 'h' ) { + if ( this.options.eventPassthrough == 'vertical' ) { + e.preventDefault(); + } else if ( this.options.eventPassthrough == 'horizontal' ) { + this.initiated = false; + return; + } + + deltaY = 0; + } else if ( this.directionLocked == 'v' ) { + if ( this.options.eventPassthrough == 'horizontal' ) { + e.preventDefault(); + } else if ( this.options.eventPassthrough == 'vertical' ) { + this.initiated = false; + return; + } + + deltaX = 0; + } + + deltaX = this.hasHorizontalScroll ? deltaX : 0; + deltaY = this.hasVerticalScroll ? deltaY : 0; + + newX = this.x + deltaX; + newY = this.y + deltaY; + + // Slow down if outside of the boundaries + if ( newX > 0 || newX < this.maxScrollX ) { + newX = this.options.bounce ? this.x + deltaX / 3 : newX > 0 ? 0 : this.maxScrollX; + } + if ( newY > 0 || newY < this.maxScrollY ) { + newY = this.options.bounce ? this.y + deltaY / 3 : newY > 0 ? 0 : this.maxScrollY; + } + + this.directionX = deltaX > 0 ? -1 : deltaX < 0 ? 1 : 0; + this.directionY = deltaY > 0 ? -1 : deltaY < 0 ? 1 : 0; + + if ( !this.moved ) { + this._execEvent('scrollStart'); + } + + this.moved = true; + + this._translate(newX, newY); + +/* REPLACE START: _move */ + if ( timestamp - this.startTime > 300 ) { + this.startTime = timestamp; + this.startX = this.x; + this.startY = this.y; + + if ( this.options.probeType == 1 ) { + this._execEvent('scroll'); + } + } + + if ( this.options.probeType > 1 ) { + this._execEvent('scroll'); + } +/* REPLACE END: _move */ + + }, + + _end: function (e) { + if ( !this.enabled || utils.eventType[e.type] !== this.initiated ) { + return; + } + + if ( this.options.preventDefault && !utils.preventDefaultException(e.target, this.options.preventDefaultException) ) { + e.preventDefault(); + } + + var point = e.changedTouches ? e.changedTouches[0] : e, + momentumX, + momentumY, + duration = utils.getTime() - this.startTime, + newX = Math.round(this.x), + newY = Math.round(this.y), + distanceX = Math.abs(newX - this.startX), + distanceY = Math.abs(newY - this.startY), + time = 0, + easing = ''; + + this.isInTransition = 0; + this.initiated = 0; + this.endTime = utils.getTime(); + + // reset if we are outside of the boundaries + if ( this.resetPosition(this.options.bounceTime) ) { + return; + } + + this.scrollTo(newX, newY); // ensures that the last position is rounded + + // we scrolled less than 10 pixels + if ( !this.moved ) { + if ( this.options.tap ) { + utils.tap(e, this.options.tap); + } + + if ( this.options.click ) { + utils.click(e); + } + + this._execEvent('scrollCancel'); + return; + } + + if ( this._events.flick && duration < 200 && distanceX < 100 && distanceY < 100 ) { + this._execEvent('flick'); + return; + } + + // start momentum animation if needed + if ( this.options.momentum && duration < 300 ) { + momentumX = this.hasHorizontalScroll ? utils.momentum(this.x, this.startX, duration, this.maxScrollX, this.options.bounce ? this.wrapperWidth : 0, this.options.deceleration) : { destination: newX, duration: 0 }; + momentumY = this.hasVerticalScroll ? utils.momentum(this.y, this.startY, duration, this.maxScrollY, this.options.bounce ? this.wrapperHeight : 0, this.options.deceleration) : { destination: newY, duration: 0 }; + newX = momentumX.destination; + newY = momentumY.destination; + time = Math.max(momentumX.duration, momentumY.duration); + this.isInTransition = 1; + } + + + if ( this.options.snap ) { + var snap = this._nearestSnap(newX, newY); + this.currentPage = snap; + time = this.options.snapSpeed || Math.max( + Math.max( + Math.min(Math.abs(newX - snap.x), 1000), + Math.min(Math.abs(newY - snap.y), 1000) + ), 300); + newX = snap.x; + newY = snap.y; + + this.directionX = 0; + this.directionY = 0; + easing = this.options.bounceEasing; + } + +// INSERT POINT: _end + + if ( newX != this.x || newY != this.y ) { + // change easing function when scroller goes out of the boundaries + if ( newX > 0 || newX < this.maxScrollX || newY > 0 || newY < this.maxScrollY ) { + easing = utils.ease.quadratic; + } + + this.scrollTo(newX, newY, time, easing); + return; + } + + this._execEvent('scrollEnd'); + }, + + _resize: function () { + var that = this; + + clearTimeout(this.resizeTimeout); + + this.resizeTimeout = setTimeout(function () { + that.refresh(); + }, this.options.resizePolling); + }, + + resetPosition: function (time) { + var x = this.x, + y = this.y; + + time = time || 0; + + if ( !this.hasHorizontalScroll || this.x > 0 ) { + x = 0; + } else if ( this.x < this.maxScrollX ) { + x = this.maxScrollX; + } + + if ( !this.hasVerticalScroll || this.y > 0 ) { + y = 0; + } else if ( this.y < this.maxScrollY ) { + y = this.maxScrollY; + } + + if ( x == this.x && y == this.y ) { + return false; + } + + this.scrollTo(x, y, time, this.options.bounceEasing); + + return true; + }, + + disable: function () { + this.enabled = false; + }, + + enable: function () { + this.enabled = true; + }, + + refresh: function () { + utils.getRect(this.wrapper); // Force reflow + + this.wrapperWidth = this.wrapper.clientWidth; + this.wrapperHeight = this.wrapper.clientHeight; + + var rect = utils.getRect(this.scroller); +/* REPLACE START: refresh */ + + this.scrollerWidth = rect.width; + this.scrollerHeight = rect.height; + + this.maxScrollX = this.wrapperWidth - this.scrollerWidth; + this.maxScrollY = this.wrapperHeight - this.scrollerHeight; + +/* REPLACE END: refresh */ + + this.hasHorizontalScroll = this.options.scrollX && this.maxScrollX < 0; + this.hasVerticalScroll = this.options.scrollY && this.maxScrollY < 0; + + if ( !this.hasHorizontalScroll ) { + this.maxScrollX = 0; + this.scrollerWidth = this.wrapperWidth; + } + + if ( !this.hasVerticalScroll ) { + this.maxScrollY = 0; + this.scrollerHeight = this.wrapperHeight; + } + + this.endTime = 0; + this.directionX = 0; + this.directionY = 0; + + if(utils.hasPointer && !this.options.disablePointer) { + // The wrapper should have `touchAction` property for using pointerEvent. + this.wrapper.style[utils.style.touchAction] = utils.getTouchAction(this.options.eventPassthrough, true); + + // case. not support 'pinch-zoom' + // https://github.com/cubiq/iscroll/issues/1118#issuecomment-270057583 + if (!this.wrapper.style[utils.style.touchAction]) { + this.wrapper.style[utils.style.touchAction] = utils.getTouchAction(this.options.eventPassthrough, false); + } + } + this.wrapperOffset = utils.offset(this.wrapper); + + this._execEvent('refresh'); + + this.resetPosition(); + +// INSERT POINT: _refresh + + }, + + on: function (type, fn) { + if ( !this._events[type] ) { + this._events[type] = []; + } + + this._events[type].push(fn); + }, + + off: function (type, fn) { + if ( !this._events[type] ) { + return; + } + + var index = this._events[type].indexOf(fn); + + if ( index > -1 ) { + this._events[type].splice(index, 1); + } + }, + + _execEvent: function (type) { + if ( !this._events[type] ) { + return; + } + + var i = 0, + l = this._events[type].length; + + if ( !l ) { + return; + } + + for ( ; i < l; i++ ) { + this._events[type][i].apply(this, [].slice.call(arguments, 1)); + } + }, + + scrollBy: function (x, y, time, easing) { + x = this.x + x; + y = this.y + y; + time = time || 0; + + this.scrollTo(x, y, time, easing); + }, + + scrollTo: function (x, y, time, easing) { + easing = easing || utils.ease.circular; + + this.isInTransition = this.options.useTransition && time > 0; + var transitionType = this.options.useTransition && easing.style; + if ( !time || transitionType ) { + if(transitionType) { + this._transitionTimingFunction(easing.style); + this._transitionTime(time); + } + this._translate(x, y); + } else { + this._animate(x, y, time, easing.fn); + } + }, + + scrollToElement: function (el, time, offsetX, offsetY, easing) { + el = el.nodeType ? el : this.scroller.querySelector(el); + + if ( !el ) { + return; + } + + var pos = utils.offset(el); + + pos.left -= this.wrapperOffset.left; + pos.top -= this.wrapperOffset.top; + + // if offsetX/Y are true we center the element to the screen + var elRect = utils.getRect(el); + var wrapperRect = utils.getRect(this.wrapper); + if ( offsetX === true ) { + offsetX = Math.round(elRect.width / 2 - wrapperRect.width / 2); + } + if ( offsetY === true ) { + offsetY = Math.round(elRect.height / 2 - wrapperRect.height / 2); + } + + pos.left -= offsetX || 0; + pos.top -= offsetY || 0; + + pos.left = pos.left > 0 ? 0 : pos.left < this.maxScrollX ? this.maxScrollX : pos.left; + pos.top = pos.top > 0 ? 0 : pos.top < this.maxScrollY ? this.maxScrollY : pos.top; + + time = time === undefined || time === null || time === 'auto' ? Math.max(Math.abs(this.x-pos.left), Math.abs(this.y-pos.top)) : time; + + this.scrollTo(pos.left, pos.top, time, easing); + }, + + _transitionTime: function (time) { + if (!this.options.useTransition) { + return; + } + time = time || 0; + var durationProp = utils.style.transitionDuration; + if(!durationProp) { + return; + } + + this.scrollerStyle[durationProp] = time + 'ms'; + + if ( !time && utils.isBadAndroid ) { + this.scrollerStyle[durationProp] = '0.0001ms'; + // remove 0.0001ms + var self = this; + rAF(function() { + if(self.scrollerStyle[durationProp] === '0.0001ms') { + self.scrollerStyle[durationProp] = '0s'; + } + }); + } + + + if ( this.indicators ) { + for ( var i = this.indicators.length; i--; ) { + this.indicators[i].transitionTime(time); + } + } + + +// INSERT POINT: _transitionTime + + }, + + _transitionTimingFunction: function (easing) { + this.scrollerStyle[utils.style.transitionTimingFunction] = easing; + + + if ( this.indicators ) { + for ( var i = this.indicators.length; i--; ) { + this.indicators[i].transitionTimingFunction(easing); + } + } + + +// INSERT POINT: _transitionTimingFunction + + }, + + _translate: function (x, y) { + if ( this.options.useTransform ) { + +/* REPLACE START: _translate */ + + this.scrollerStyle[utils.style.transform] = 'translate(' + x + 'px,' + y + 'px)' + this.translateZ; + +/* REPLACE END: _translate */ + + } else { + x = Math.round(x); + y = Math.round(y); + this.scrollerStyle.left = x + 'px'; + this.scrollerStyle.top = y + 'px'; + } + + this.x = x; + this.y = y; + + + if ( this.indicators ) { + for ( var i = this.indicators.length; i--; ) { + this.indicators[i].updatePosition(); + } + } + + +// INSERT POINT: _translate + + }, + + _initEvents: function (remove) { + var eventType = remove ? utils.removeEvent : utils.addEvent, + target = this.options.bindToWrapper ? this.wrapper : window; + + eventType(window, 'orientationchange', this); + eventType(window, 'resize', this); + + if ( this.options.click ) { + eventType(this.wrapper, 'click', this, true); + } + + if ( !this.options.disableMouse ) { + eventType(this.wrapper, 'mousedown', this); + eventType(target, 'mousemove', this); + eventType(target, 'mousecancel', this); + eventType(target, 'mouseup', this); + } + + if ( utils.hasPointer && !this.options.disablePointer ) { + eventType(this.wrapper, utils.prefixPointerEvent('pointerdown'), this); + eventType(target, utils.prefixPointerEvent('pointermove'), this); + eventType(target, utils.prefixPointerEvent('pointercancel'), this); + eventType(target, utils.prefixPointerEvent('pointerup'), this); + } + + if ( utils.hasTouch && !this.options.disableTouch ) { + eventType(this.wrapper, 'touchstart', this); + eventType(target, 'touchmove', this); + eventType(target, 'touchcancel', this); + eventType(target, 'touchend', this); + } + + eventType(this.scroller, 'transitionend', this); + eventType(this.scroller, 'webkitTransitionEnd', this); + eventType(this.scroller, 'oTransitionEnd', this); + eventType(this.scroller, 'MSTransitionEnd', this); + }, + + getComputedPosition: function () { + var matrix = window.getComputedStyle(this.scroller, null), + x, y; + + if ( this.options.useTransform ) { + matrix = matrix[utils.style.transform].split(')')[0].split(', '); + x = +(matrix[12] || matrix[4]); + y = +(matrix[13] || matrix[5]); + } else { + x = +matrix.left.replace(/[^-\d.]/g, ''); + y = +matrix.top.replace(/[^-\d.]/g, ''); + } + + return { x: x, y: y }; + }, + _initIndicators: function () { + var interactive = this.options.interactiveScrollbars, + customStyle = typeof this.options.scrollbars != 'string', + indicators = [], + indicator; + + var that = this; + + this.indicators = []; + + if ( this.options.scrollbars ) { + // Vertical scrollbar + if ( this.options.scrollY ) { + indicator = { + el: createDefaultScrollbar('v', interactive, this.options.scrollbars), + interactive: interactive, + defaultScrollbars: true, + customStyle: customStyle, + resize: this.options.resizeScrollbars, + shrink: this.options.shrinkScrollbars, + fade: this.options.fadeScrollbars, + listenX: false + }; + + this.wrapper.appendChild(indicator.el); + indicators.push(indicator); + } + + // Horizontal scrollbar + if ( this.options.scrollX ) { + indicator = { + el: createDefaultScrollbar('h', interactive, this.options.scrollbars), + interactive: interactive, + defaultScrollbars: true, + customStyle: customStyle, + resize: this.options.resizeScrollbars, + shrink: this.options.shrinkScrollbars, + fade: this.options.fadeScrollbars, + listenY: false + }; + + this.wrapper.appendChild(indicator.el); + indicators.push(indicator); + } + } + + if ( this.options.indicators ) { + // TODO: check concat compatibility + indicators = indicators.concat(this.options.indicators); + } + + for ( var i = indicators.length; i--; ) { + this.indicators.push( new Indicator(this, indicators[i]) ); + } + + // TODO: check if we can use array.map (wide compatibility and performance issues) + function _indicatorsMap (fn) { + if (that.indicators) { + for ( var i = that.indicators.length; i--; ) { + fn.call(that.indicators[i]); + } + } + } + + if ( this.options.fadeScrollbars ) { + this.on('scrollEnd', function () { + _indicatorsMap(function () { + this.fade(); + }); + }); + + this.on('scrollCancel', function () { + _indicatorsMap(function () { + this.fade(); + }); + }); + + this.on('scrollStart', function () { + _indicatorsMap(function () { + this.fade(1); + }); + }); + + this.on('beforeScrollStart', function () { + _indicatorsMap(function () { + this.fade(1, true); + }); + }); + } + + + this.on('refresh', function () { + _indicatorsMap(function () { + this.refresh(); + }); + }); + + this.on('destroy', function () { + _indicatorsMap(function () { + this.destroy(); + }); + + delete this.indicators; + }); + }, + + _initWheel: function () { + utils.addEvent(this.wrapper, 'wheel', this); + utils.addEvent(this.wrapper, 'mousewheel', this); + utils.addEvent(this.wrapper, 'DOMMouseScroll', this); + + this.on('destroy', function () { + clearTimeout(this.wheelTimeout); + this.wheelTimeout = null; + utils.removeEvent(this.wrapper, 'wheel', this); + utils.removeEvent(this.wrapper, 'mousewheel', this); + utils.removeEvent(this.wrapper, 'DOMMouseScroll', this); + }); + }, + + _wheel: function (e) { + if ( !this.enabled ) { + return; + } + + e.preventDefault(); + + var wheelDeltaX, wheelDeltaY, + newX, newY, + that = this; + + if ( this.wheelTimeout === undefined ) { + that._execEvent('scrollStart'); + } + + // Execute the scrollEnd event after 400ms the wheel stopped scrolling + clearTimeout(this.wheelTimeout); + this.wheelTimeout = setTimeout(function () { + if(!that.options.snap) { + that._execEvent('scrollEnd'); + } + that.wheelTimeout = undefined; + }, 400); + + if ( 'deltaX' in e ) { + if (e.deltaMode === 1) { + wheelDeltaX = -e.deltaX * this.options.mouseWheelSpeed; + wheelDeltaY = -e.deltaY * this.options.mouseWheelSpeed; + } else { + wheelDeltaX = -e.deltaX; + wheelDeltaY = -e.deltaY; + } + } else if ( 'wheelDeltaX' in e ) { + wheelDeltaX = e.wheelDeltaX / 120 * this.options.mouseWheelSpeed; + wheelDeltaY = e.wheelDeltaY / 120 * this.options.mouseWheelSpeed; + } else if ( 'wheelDelta' in e ) { + wheelDeltaX = wheelDeltaY = e.wheelDelta / 120 * this.options.mouseWheelSpeed; + } else if ( 'detail' in e ) { + wheelDeltaX = wheelDeltaY = -e.detail / 3 * this.options.mouseWheelSpeed; + } else { + return; + } + + wheelDeltaX *= this.options.invertWheelDirection; + wheelDeltaY *= this.options.invertWheelDirection; + + if ( !this.hasVerticalScroll ) { + wheelDeltaX = wheelDeltaY; + wheelDeltaY = 0; + } + + if ( this.options.snap ) { + newX = this.currentPage.pageX; + newY = this.currentPage.pageY; + + if ( wheelDeltaX > 0 ) { + newX--; + } else if ( wheelDeltaX < 0 ) { + newX++; + } + + if ( wheelDeltaY > 0 ) { + newY--; + } else if ( wheelDeltaY < 0 ) { + newY++; + } + + this.goToPage(newX, newY); + + return; + } + + newX = this.x + Math.round(this.hasHorizontalScroll ? wheelDeltaX : 0); + newY = this.y + Math.round(this.hasVerticalScroll ? wheelDeltaY : 0); + + this.directionX = wheelDeltaX > 0 ? -1 : wheelDeltaX < 0 ? 1 : 0; + this.directionY = wheelDeltaY > 0 ? -1 : wheelDeltaY < 0 ? 1 : 0; + + if ( newX > 0 ) { + newX = 0; + } else if ( newX < this.maxScrollX ) { + newX = this.maxScrollX; + } + + if ( newY > 0 ) { + newY = 0; + } else if ( newY < this.maxScrollY ) { + newY = this.maxScrollY; + } + + this.scrollTo(newX, newY, 0); + + if ( this.options.probeType > 1 ) { + this._execEvent('scroll'); + } + +// INSERT POINT: _wheel + }, + + _initSnap: function () { + this.currentPage = {}; + + if ( typeof this.options.snap == 'string' ) { + this.options.snap = this.scroller.querySelectorAll(this.options.snap); + } + + this.on('refresh', function () { + var i = 0, l, + m = 0, n, + cx, cy, + x = 0, y, + stepX = this.options.snapStepX || this.wrapperWidth, + stepY = this.options.snapStepY || this.wrapperHeight, + el, + rect; + + this.pages = []; + + if ( !this.wrapperWidth || !this.wrapperHeight || !this.scrollerWidth || !this.scrollerHeight ) { + return; + } + + if ( this.options.snap === true ) { + cx = Math.round( stepX / 2 ); + cy = Math.round( stepY / 2 ); + + while ( x > -this.scrollerWidth ) { + this.pages[i] = []; + l = 0; + y = 0; + + while ( y > -this.scrollerHeight ) { + this.pages[i][l] = { + x: Math.max(x, this.maxScrollX), + y: Math.max(y, this.maxScrollY), + width: stepX, + height: stepY, + cx: x - cx, + cy: y - cy + }; + + y -= stepY; + l++; + } + + x -= stepX; + i++; + } + } else { + el = this.options.snap; + l = el.length; + n = -1; + + for ( ; i < l; i++ ) { + rect = utils.getRect(el[i]); + if ( i === 0 || rect.left <= utils.getRect(el[i-1]).left ) { + m = 0; + n++; + } + + if ( !this.pages[m] ) { + this.pages[m] = []; + } + + x = Math.max(-rect.left, this.maxScrollX); + y = Math.max(-rect.top, this.maxScrollY); + cx = x - Math.round(rect.width / 2); + cy = y - Math.round(rect.height / 2); + + this.pages[m][n] = { + x: x, + y: y, + width: rect.width, + height: rect.height, + cx: cx, + cy: cy + }; + + if ( x > this.maxScrollX ) { + m++; + } + } + } + + this.goToPage(this.currentPage.pageX || 0, this.currentPage.pageY || 0, 0); + + // Update snap threshold if needed + if ( this.options.snapThreshold % 1 === 0 ) { + this.snapThresholdX = this.options.snapThreshold; + this.snapThresholdY = this.options.snapThreshold; + } else { + this.snapThresholdX = Math.round(this.pages[this.currentPage.pageX][this.currentPage.pageY].width * this.options.snapThreshold); + this.snapThresholdY = Math.round(this.pages[this.currentPage.pageX][this.currentPage.pageY].height * this.options.snapThreshold); + } + }); + + this.on('flick', function () { + var time = this.options.snapSpeed || Math.max( + Math.max( + Math.min(Math.abs(this.x - this.startX), 1000), + Math.min(Math.abs(this.y - this.startY), 1000) + ), 300); + + this.goToPage( + this.currentPage.pageX + this.directionX, + this.currentPage.pageY + this.directionY, + time + ); + }); + }, + + _nearestSnap: function (x, y) { + if ( !this.pages.length ) { + return { x: 0, y: 0, pageX: 0, pageY: 0 }; + } + + var i = 0, + l = this.pages.length, + m = 0; + + // Check if we exceeded the snap threshold + if ( Math.abs(x - this.absStartX) < this.snapThresholdX && + Math.abs(y - this.absStartY) < this.snapThresholdY ) { + return this.currentPage; + } + + if ( x > 0 ) { + x = 0; + } else if ( x < this.maxScrollX ) { + x = this.maxScrollX; + } + + if ( y > 0 ) { + y = 0; + } else if ( y < this.maxScrollY ) { + y = this.maxScrollY; + } + + for ( ; i < l; i++ ) { + if ( x >= this.pages[i][0].cx ) { + x = this.pages[i][0].x; + break; + } + } + + l = this.pages[i].length; + + for ( ; m < l; m++ ) { + if ( y >= this.pages[0][m].cy ) { + y = this.pages[0][m].y; + break; + } + } + + if ( i == this.currentPage.pageX ) { + i += this.directionX; + + if ( i < 0 ) { + i = 0; + } else if ( i >= this.pages.length ) { + i = this.pages.length - 1; + } + + x = this.pages[i][0].x; + } + + if ( m == this.currentPage.pageY ) { + m += this.directionY; + + if ( m < 0 ) { + m = 0; + } else if ( m >= this.pages[0].length ) { + m = this.pages[0].length - 1; + } + + y = this.pages[0][m].y; + } + + return { + x: x, + y: y, + pageX: i, + pageY: m + }; + }, + + goToPage: function (x, y, time, easing) { + easing = easing || this.options.bounceEasing; + + if ( x >= this.pages.length ) { + x = this.pages.length - 1; + } else if ( x < 0 ) { + x = 0; + } + + if ( y >= this.pages[x].length ) { + y = this.pages[x].length - 1; + } else if ( y < 0 ) { + y = 0; + } + + var posX = this.pages[x][y].x, + posY = this.pages[x][y].y; + + time = time === undefined ? this.options.snapSpeed || Math.max( + Math.max( + Math.min(Math.abs(posX - this.x), 1000), + Math.min(Math.abs(posY - this.y), 1000) + ), 300) : time; + + this.currentPage = { + x: posX, + y: posY, + pageX: x, + pageY: y + }; + + this.scrollTo(posX, posY, time, easing); + }, + + next: function (time, easing) { + var x = this.currentPage.pageX, + y = this.currentPage.pageY; + + x++; + + if ( x >= this.pages.length && this.hasVerticalScroll ) { + x = 0; + y++; + } + + this.goToPage(x, y, time, easing); + }, + + prev: function (time, easing) { + var x = this.currentPage.pageX, + y = this.currentPage.pageY; + + x--; + + if ( x < 0 && this.hasVerticalScroll ) { + x = 0; + y--; + } + + this.goToPage(x, y, time, easing); + }, + + _initKeys: function (e) { + // default key bindings + var keys = { + pageUp: 33, + pageDown: 34, + end: 35, + home: 36, + left: 37, + up: 38, + right: 39, + down: 40 + }; + var i; + + // if you give me characters I give you keycode + if ( typeof this.options.keyBindings == 'object' ) { + for ( i in this.options.keyBindings ) { + if ( typeof this.options.keyBindings[i] == 'string' ) { + this.options.keyBindings[i] = this.options.keyBindings[i].toUpperCase().charCodeAt(0); + } + } + } else { + this.options.keyBindings = {}; + } + + for ( i in keys ) { + this.options.keyBindings[i] = this.options.keyBindings[i] || keys[i]; + } + + utils.addEvent(window, 'keydown', this); + + this.on('destroy', function () { + utils.removeEvent(window, 'keydown', this); + }); + }, + + _key: function (e) { + if ( !this.enabled ) { + return; + } + + var snap = this.options.snap, // we are using this alot, better to cache it + newX = snap ? this.currentPage.pageX : this.x, + newY = snap ? this.currentPage.pageY : this.y, + now = utils.getTime(), + prevTime = this.keyTime || 0, + acceleration = 0.250, + pos; + + if ( this.options.useTransition && this.isInTransition ) { + pos = this.getComputedPosition(); + + this._translate(Math.round(pos.x), Math.round(pos.y)); + this.isInTransition = false; + } + + this.keyAcceleration = now - prevTime < 200 ? Math.min(this.keyAcceleration + acceleration, 50) : 0; + + switch ( e.keyCode ) { + case this.options.keyBindings.pageUp: + if ( this.hasHorizontalScroll && !this.hasVerticalScroll ) { + newX += snap ? 1 : this.wrapperWidth; + } else { + newY += snap ? 1 : this.wrapperHeight; + } + break; + case this.options.keyBindings.pageDown: + if ( this.hasHorizontalScroll && !this.hasVerticalScroll ) { + newX -= snap ? 1 : this.wrapperWidth; + } else { + newY -= snap ? 1 : this.wrapperHeight; + } + break; + case this.options.keyBindings.end: + newX = snap ? this.pages.length-1 : this.maxScrollX; + newY = snap ? this.pages[0].length-1 : this.maxScrollY; + break; + case this.options.keyBindings.home: + newX = 0; + newY = 0; + break; + case this.options.keyBindings.left: + newX += snap ? -1 : 5 + this.keyAcceleration>>0; + break; + case this.options.keyBindings.up: + newY += snap ? 1 : 5 + this.keyAcceleration>>0; + break; + case this.options.keyBindings.right: + newX -= snap ? -1 : 5 + this.keyAcceleration>>0; + break; + case this.options.keyBindings.down: + newY -= snap ? 1 : 5 + this.keyAcceleration>>0; + break; + default: + return; + } + + if ( snap ) { + this.goToPage(newX, newY); + return; + } + + if ( newX > 0 ) { + newX = 0; + this.keyAcceleration = 0; + } else if ( newX < this.maxScrollX ) { + newX = this.maxScrollX; + this.keyAcceleration = 0; + } + + if ( newY > 0 ) { + newY = 0; + this.keyAcceleration = 0; + } else if ( newY < this.maxScrollY ) { + newY = this.maxScrollY; + this.keyAcceleration = 0; + } + + this.scrollTo(newX, newY, 0); + + this.keyTime = now; + }, + + _animate: function (destX, destY, duration, easingFn) { + var that = this, + startX = this.x, + startY = this.y, + startTime = utils.getTime(), + destTime = startTime + duration; + + function step () { + var now = utils.getTime(), + newX, newY, + easing; + + if ( now >= destTime ) { + that.isAnimating = false; + that._translate(destX, destY); + + if ( !that.resetPosition(that.options.bounceTime) ) { + that._execEvent('scrollEnd'); + } + + return; + } + + now = ( now - startTime ) / duration; + easing = easingFn(now); + newX = ( destX - startX ) * easing + startX; + newY = ( destY - startY ) * easing + startY; + that._translate(newX, newY); + + if ( that.isAnimating ) { + rAF(step); + } + + if ( that.options.probeType == 3 ) { + that._execEvent('scroll'); + } + } + + this.isAnimating = true; + step(); + }, + + handleEvent: function (e) { + switch ( e.type ) { + case 'touchstart': + case 'pointerdown': + case 'MSPointerDown': + case 'mousedown': + this._start(e); + break; + case 'touchmove': + case 'pointermove': + case 'MSPointerMove': + case 'mousemove': + this._move(e); + break; + case 'touchend': + case 'pointerup': + case 'MSPointerUp': + case 'mouseup': + case 'touchcancel': + case 'pointercancel': + case 'MSPointerCancel': + case 'mousecancel': + this._end(e); + break; + case 'orientationchange': + case 'resize': + this._resize(); + break; + case 'transitionend': + case 'webkitTransitionEnd': + case 'oTransitionEnd': + case 'MSTransitionEnd': + this._transitionEnd(e); + break; + case 'wheel': + case 'DOMMouseScroll': + case 'mousewheel': + this._wheel(e); + break; + case 'keydown': + this._key(e); + break; + case 'click': + if ( this.enabled && !e._constructed ) { + e.preventDefault(); + e.stopPropagation(); + } + break; + } + } +}; +function createDefaultScrollbar (direction, interactive, type) { + var scrollbar = document.createElement('div'), + indicator = document.createElement('div'); + + if ( type === true ) { + scrollbar.style.cssText = 'position:absolute;z-index:9999'; + indicator.style.cssText = '-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);border-radius:3px'; + } + + indicator.className = 'iScrollIndicator'; + + if ( direction == 'h' ) { + if ( type === true ) { + scrollbar.style.cssText += ';height:7px;left:2px;right:2px;bottom:0'; + indicator.style.height = '100%'; + } + scrollbar.className = 'iScrollHorizontalScrollbar'; + } else { + if ( type === true ) { + scrollbar.style.cssText += ';width:7px;bottom:2px;top:2px;right:1px'; + indicator.style.width = '100%'; + } + scrollbar.className = 'iScrollVerticalScrollbar'; + } + + scrollbar.style.cssText += ';overflow:hidden'; + + if ( !interactive ) { + scrollbar.style.pointerEvents = 'none'; + } + + scrollbar.appendChild(indicator); + + return scrollbar; +} + +function Indicator (scroller, options) { + this.wrapper = typeof options.el == 'string' ? document.querySelector(options.el) : options.el; + this.wrapperStyle = this.wrapper.style; + this.indicator = this.wrapper.children[0]; + this.indicatorStyle = this.indicator.style; + this.scroller = scroller; + + this.options = { + listenX: true, + listenY: true, + interactive: false, + resize: true, + defaultScrollbars: false, + shrink: false, + fade: false, + speedRatioX: 0, + speedRatioY: 0 + }; + + for ( var i in options ) { + this.options[i] = options[i]; + } + + this.sizeRatioX = 1; + this.sizeRatioY = 1; + this.maxPosX = 0; + this.maxPosY = 0; + + if ( this.options.interactive ) { + if ( !this.options.disableTouch ) { + utils.addEvent(this.indicator, 'touchstart', this); + utils.addEvent(window, 'touchend', this); + } + if ( !this.options.disablePointer ) { + utils.addEvent(this.indicator, utils.prefixPointerEvent('pointerdown'), this); + utils.addEvent(window, utils.prefixPointerEvent('pointerup'), this); + } + if ( !this.options.disableMouse ) { + utils.addEvent(this.indicator, 'mousedown', this); + utils.addEvent(window, 'mouseup', this); + } + } + + if ( this.options.fade ) { + this.wrapperStyle[utils.style.transform] = this.scroller.translateZ; + var durationProp = utils.style.transitionDuration; + if(!durationProp) { + return; + } + this.wrapperStyle[durationProp] = utils.isBadAndroid ? '0.0001ms' : '0ms'; + // remove 0.0001ms + var self = this; + if(utils.isBadAndroid) { + rAF(function() { + if(self.wrapperStyle[durationProp] === '0.0001ms') { + self.wrapperStyle[durationProp] = '0s'; + } + }); + } + this.wrapperStyle.opacity = '0'; + } +} + +Indicator.prototype = { + handleEvent: function (e) { + switch ( e.type ) { + case 'touchstart': + case 'pointerdown': + case 'MSPointerDown': + case 'mousedown': + this._start(e); + break; + case 'touchmove': + case 'pointermove': + case 'MSPointerMove': + case 'mousemove': + this._move(e); + break; + case 'touchend': + case 'pointerup': + case 'MSPointerUp': + case 'mouseup': + case 'touchcancel': + case 'pointercancel': + case 'MSPointerCancel': + case 'mousecancel': + this._end(e); + break; + } + }, + + destroy: function () { + if ( this.options.fadeScrollbars ) { + clearTimeout(this.fadeTimeout); + this.fadeTimeout = null; + } + if ( this.options.interactive ) { + utils.removeEvent(this.indicator, 'touchstart', this); + utils.removeEvent(this.indicator, utils.prefixPointerEvent('pointerdown'), this); + utils.removeEvent(this.indicator, 'mousedown', this); + + utils.removeEvent(window, 'touchmove', this); + utils.removeEvent(window, utils.prefixPointerEvent('pointermove'), this); + utils.removeEvent(window, 'mousemove', this); + + utils.removeEvent(window, 'touchend', this); + utils.removeEvent(window, utils.prefixPointerEvent('pointerup'), this); + utils.removeEvent(window, 'mouseup', this); + } + + if ( this.options.defaultScrollbars && this.wrapper.parentNode ) { + this.wrapper.parentNode.removeChild(this.wrapper); + } + }, + + _start: function (e) { + var point = e.touches ? e.touches[0] : e; + + e.preventDefault(); + e.stopPropagation(); + + this.transitionTime(); + + this.initiated = true; + this.moved = false; + this.lastPointX = point.pageX; + this.lastPointY = point.pageY; + + this.startTime = utils.getTime(); + + if ( !this.options.disableTouch ) { + utils.addEvent(window, 'touchmove', this); + } + if ( !this.options.disablePointer ) { + utils.addEvent(window, utils.prefixPointerEvent('pointermove'), this); + } + if ( !this.options.disableMouse ) { + utils.addEvent(window, 'mousemove', this); + } + + this.scroller._execEvent('beforeScrollStart'); + }, + + _move: function (e) { + var point = e.touches ? e.touches[0] : e, + deltaX, deltaY, + newX, newY, + timestamp = utils.getTime(); + + if ( !this.moved ) { + this.scroller._execEvent('scrollStart'); + } + + this.moved = true; + + deltaX = point.pageX - this.lastPointX; + this.lastPointX = point.pageX; + + deltaY = point.pageY - this.lastPointY; + this.lastPointY = point.pageY; + + newX = this.x + deltaX; + newY = this.y + deltaY; + + this._pos(newX, newY); + + + if ( this.scroller.options.probeType == 1 && timestamp - this.startTime > 300 ) { + this.startTime = timestamp; + this.scroller._execEvent('scroll'); + } else if ( this.scroller.options.probeType > 1 ) { + this.scroller._execEvent('scroll'); + } + + +// INSERT POINT: indicator._move + + e.preventDefault(); + e.stopPropagation(); + }, + + _end: function (e) { + if ( !this.initiated ) { + return; + } + + this.initiated = false; + + e.preventDefault(); + e.stopPropagation(); + + utils.removeEvent(window, 'touchmove', this); + utils.removeEvent(window, utils.prefixPointerEvent('pointermove'), this); + utils.removeEvent(window, 'mousemove', this); + + if ( this.scroller.options.snap ) { + var snap = this.scroller._nearestSnap(this.scroller.x, this.scroller.y); + + var time = this.options.snapSpeed || Math.max( + Math.max( + Math.min(Math.abs(this.scroller.x - snap.x), 1000), + Math.min(Math.abs(this.scroller.y - snap.y), 1000) + ), 300); + + if ( this.scroller.x != snap.x || this.scroller.y != snap.y ) { + this.scroller.directionX = 0; + this.scroller.directionY = 0; + this.scroller.currentPage = snap; + this.scroller.scrollTo(snap.x, snap.y, time, this.scroller.options.bounceEasing); + } + } + + if ( this.moved ) { + this.scroller._execEvent('scrollEnd'); + } + }, + + transitionTime: function (time) { + time = time || 0; + var durationProp = utils.style.transitionDuration; + if(!durationProp) { + return; + } + + this.indicatorStyle[durationProp] = time + 'ms'; + + if ( !time && utils.isBadAndroid ) { + this.indicatorStyle[durationProp] = '0.0001ms'; + // remove 0.0001ms + var self = this; + rAF(function() { + if(self.indicatorStyle[durationProp] === '0.0001ms') { + self.indicatorStyle[durationProp] = '0s'; + } + }); + } + }, + + transitionTimingFunction: function (easing) { + this.indicatorStyle[utils.style.transitionTimingFunction] = easing; + }, + + refresh: function () { + this.transitionTime(); + + if ( this.options.listenX && !this.options.listenY ) { + this.indicatorStyle.display = this.scroller.hasHorizontalScroll ? 'block' : 'none'; + } else if ( this.options.listenY && !this.options.listenX ) { + this.indicatorStyle.display = this.scroller.hasVerticalScroll ? 'block' : 'none'; + } else { + this.indicatorStyle.display = this.scroller.hasHorizontalScroll || this.scroller.hasVerticalScroll ? 'block' : 'none'; + } + + if ( this.scroller.hasHorizontalScroll && this.scroller.hasVerticalScroll ) { + utils.addClass(this.wrapper, 'iScrollBothScrollbars'); + utils.removeClass(this.wrapper, 'iScrollLoneScrollbar'); + + if ( this.options.defaultScrollbars && this.options.customStyle ) { + if ( this.options.listenX ) { + this.wrapper.style.right = '8px'; + } else { + this.wrapper.style.bottom = '8px'; + } + } + } else { + utils.removeClass(this.wrapper, 'iScrollBothScrollbars'); + utils.addClass(this.wrapper, 'iScrollLoneScrollbar'); + + if ( this.options.defaultScrollbars && this.options.customStyle ) { + if ( this.options.listenX ) { + this.wrapper.style.right = '2px'; + } else { + this.wrapper.style.bottom = '2px'; + } + } + } + + utils.getRect(this.wrapper); // force refresh + + if ( this.options.listenX ) { + this.wrapperWidth = this.wrapper.clientWidth; + if ( this.options.resize ) { + this.indicatorWidth = Math.max(Math.round(this.wrapperWidth * this.wrapperWidth / (this.scroller.scrollerWidth || this.wrapperWidth || 1)), 8); + this.indicatorStyle.width = this.indicatorWidth + 'px'; + } else { + this.indicatorWidth = this.indicator.clientWidth; + } + + this.maxPosX = this.wrapperWidth - this.indicatorWidth; + + if ( this.options.shrink == 'clip' ) { + this.minBoundaryX = -this.indicatorWidth + 8; + this.maxBoundaryX = this.wrapperWidth - 8; + } else { + this.minBoundaryX = 0; + this.maxBoundaryX = this.maxPosX; + } + + this.sizeRatioX = this.options.speedRatioX || (this.scroller.maxScrollX && (this.maxPosX / this.scroller.maxScrollX)); + } + + if ( this.options.listenY ) { + this.wrapperHeight = this.wrapper.clientHeight; + if ( this.options.resize ) { + this.indicatorHeight = Math.max(Math.round(this.wrapperHeight * this.wrapperHeight / (this.scroller.scrollerHeight || this.wrapperHeight || 1)), 8); + this.indicatorStyle.height = this.indicatorHeight + 'px'; + } else { + this.indicatorHeight = this.indicator.clientHeight; + } + + this.maxPosY = this.wrapperHeight - this.indicatorHeight; + + if ( this.options.shrink == 'clip' ) { + this.minBoundaryY = -this.indicatorHeight + 8; + this.maxBoundaryY = this.wrapperHeight - 8; + } else { + this.minBoundaryY = 0; + this.maxBoundaryY = this.maxPosY; + } + + this.maxPosY = this.wrapperHeight - this.indicatorHeight; + this.sizeRatioY = this.options.speedRatioY || (this.scroller.maxScrollY && (this.maxPosY / this.scroller.maxScrollY)); + } + + this.updatePosition(); + }, + + updatePosition: function () { + var x = this.options.listenX && Math.round(this.sizeRatioX * this.scroller.x) || 0, + y = this.options.listenY && Math.round(this.sizeRatioY * this.scroller.y) || 0; + + if ( !this.options.ignoreBoundaries ) { + if ( x < this.minBoundaryX ) { + if ( this.options.shrink == 'scale' ) { + this.width = Math.max(this.indicatorWidth + x, 8); + this.indicatorStyle.width = this.width + 'px'; + } + x = this.minBoundaryX; + } else if ( x > this.maxBoundaryX ) { + if ( this.options.shrink == 'scale' ) { + this.width = Math.max(this.indicatorWidth - (x - this.maxPosX), 8); + this.indicatorStyle.width = this.width + 'px'; + x = this.maxPosX + this.indicatorWidth - this.width; + } else { + x = this.maxBoundaryX; + } + } else if ( this.options.shrink == 'scale' && this.width != this.indicatorWidth ) { + this.width = this.indicatorWidth; + this.indicatorStyle.width = this.width + 'px'; + } + + if ( y < this.minBoundaryY ) { + if ( this.options.shrink == 'scale' ) { + this.height = Math.max(this.indicatorHeight + y * 3, 8); + this.indicatorStyle.height = this.height + 'px'; + } + y = this.minBoundaryY; + } else if ( y > this.maxBoundaryY ) { + if ( this.options.shrink == 'scale' ) { + this.height = Math.max(this.indicatorHeight - (y - this.maxPosY) * 3, 8); + this.indicatorStyle.height = this.height + 'px'; + y = this.maxPosY + this.indicatorHeight - this.height; + } else { + y = this.maxBoundaryY; + } + } else if ( this.options.shrink == 'scale' && this.height != this.indicatorHeight ) { + this.height = this.indicatorHeight; + this.indicatorStyle.height = this.height + 'px'; + } + } + + this.x = x; + this.y = y; + + if ( this.scroller.options.useTransform ) { + this.indicatorStyle[utils.style.transform] = 'translate(' + x + 'px,' + y + 'px)' + this.scroller.translateZ; + } else { + this.indicatorStyle.left = x + 'px'; + this.indicatorStyle.top = y + 'px'; + } + }, + + _pos: function (x, y) { + if ( x < 0 ) { + x = 0; + } else if ( x > this.maxPosX ) { + x = this.maxPosX; + } + + if ( y < 0 ) { + y = 0; + } else if ( y > this.maxPosY ) { + y = this.maxPosY; + } + + x = this.options.listenX ? Math.round(x / this.sizeRatioX) : this.scroller.x; + y = this.options.listenY ? Math.round(y / this.sizeRatioY) : this.scroller.y; + + this.scroller.scrollTo(x, y); + }, + + fade: function (val, hold) { + if ( hold && !this.visible ) { + return; + } + + clearTimeout(this.fadeTimeout); + this.fadeTimeout = null; + + var time = val ? 250 : 500, + delay = val ? 0 : 300; + + val = val ? '1' : '0'; + + this.wrapperStyle[utils.style.transitionDuration] = time + 'ms'; + + this.fadeTimeout = setTimeout((function (val) { + this.wrapperStyle.opacity = val; + this.visible = +val; + }).bind(this, val), delay); + } +}; + +IScroll.utils = utils; + +if ( typeof module != 'undefined' && module.exports ) { + module.exports = IScroll; +} else if ( typeof define == 'function' && define.amd ) { + define( function () { return IScroll; } ); +} else { + window.IScroll = IScroll; +} + +})(window, document, Math); diff --git a/common/js/iscroll.js b/common/js/iscroll.js new file mode 100644 index 0000000..3c92662 --- /dev/null +++ b/common/js/iscroll.js @@ -0,0 +1,2170 @@ +/*! iScroll v5.2.0-snapshot ~ (c) 2008-2017 Matteo Spinelli ~ http://cubiq.org/license */ +(function (window, document, Math) { +var rAF = window.requestAnimationFrame || + window.webkitRequestAnimationFrame || + window.mozRequestAnimationFrame || + window.oRequestAnimationFrame || + window.msRequestAnimationFrame || + function (callback) { window.setTimeout(callback, 1000 / 60); }; + +var utils = (function () { + var me = {}; + + var _elementStyle = document.createElement('div').style; + var _vendor = (function () { + var vendors = ['t', 'webkitT', 'MozT', 'msT', 'OT'], + transform, + i = 0, + l = vendors.length; + + for ( ; i < l; i++ ) { + transform = vendors[i] + 'ransform'; + if ( transform in _elementStyle ) return vendors[i].substr(0, vendors[i].length-1); + } + + return false; + })(); + + function _prefixStyle (style) { + if ( _vendor === false ) return false; + if ( _vendor === '' ) return style; + return _vendor + style.charAt(0).toUpperCase() + style.substr(1); + } + + me.getTime = Date.now || function getTime () { return new Date().getTime(); }; + + me.extend = function (target, obj) { + for ( var i in obj ) { + target[i] = obj[i]; + } + }; + + me.addEvent = function (el, type, fn, capture) { + el.addEventListener(type, fn, !!capture); + }; + + me.removeEvent = function (el, type, fn, capture) { + el.removeEventListener(type, fn, !!capture); + }; + + me.prefixPointerEvent = function (pointerEvent) { + return window.MSPointerEvent ? + 'MSPointer' + pointerEvent.charAt(7).toUpperCase() + pointerEvent.substr(8): + pointerEvent; + }; + + me.momentum = function (current, start, time, lowerMargin, wrapperSize, deceleration) { + var distance = current - start, + speed = Math.abs(distance) / time, + destination, + duration; + + deceleration = deceleration === undefined ? 0.0006 : deceleration; + + destination = current + ( speed * speed ) / ( 2 * deceleration ) * ( distance < 0 ? -1 : 1 ); + duration = speed / deceleration; + + if ( destination < lowerMargin ) { + destination = wrapperSize ? lowerMargin - ( wrapperSize / 2.5 * ( speed / 8 ) ) : lowerMargin; + distance = Math.abs(destination - current); + duration = distance / speed; + } else if ( destination > 0 ) { + destination = wrapperSize ? wrapperSize / 2.5 * ( speed / 8 ) : 0; + distance = Math.abs(current) + destination; + duration = distance / speed; + } + + return { + destination: Math.round(destination), + duration: duration + }; + }; + + var _transform = _prefixStyle('transform'); + + me.extend(me, { + hasTransform: _transform !== false, + hasPerspective: _prefixStyle('perspective') in _elementStyle, + hasTouch: 'ontouchstart' in window, + hasPointer: !!(window.PointerEvent || window.MSPointerEvent), // IE10 is prefixed + hasTransition: _prefixStyle('transition') in _elementStyle + }); + + /* + This should find all Android browsers lower than build 535.19 (both stock browser and webview) + - galaxy S2 is ok + - 2.3.6 : `AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1` + - 4.0.4 : `AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30` + - galaxy S3 is badAndroid (stock brower, webview) + `AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30` + - galaxy S4 is badAndroid (stock brower, webview) + `AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30` + - galaxy S5 is OK + `AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Mobile Safari/537.36 (Chrome/)` + - galaxy S6 is OK + `AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Mobile Safari/537.36 (Chrome/)` + */ + me.isBadAndroid = (function() { + var appVersion = window.navigator.appVersion; + // Android browser is not a chrome browser. + if (/Android/.test(appVersion) && !(/Chrome\/\d/.test(appVersion))) { + var safariVersion = appVersion.match(/Safari\/(\d+.\d)/); + if(safariVersion && typeof safariVersion === "object" && safariVersion.length >= 2) { + return parseFloat(safariVersion[1]) < 535.19; + } else { + return true; + } + } else { + return false; + } + })(); + + me.extend(me.style = {}, { + transform: _transform, + transitionTimingFunction: _prefixStyle('transitionTimingFunction'), + transitionDuration: _prefixStyle('transitionDuration'), + transitionDelay: _prefixStyle('transitionDelay'), + transformOrigin: _prefixStyle('transformOrigin'), + touchAction: _prefixStyle('touchAction') + }); + + me.hasClass = function (e, c) { + var re = new RegExp("(^|\\s)" + c + "(\\s|$)"); + return re.test(e.className); + }; + + me.addClass = function (e, c) { + if ( me.hasClass(e, c) ) { + return; + } + + var newclass = e.className.split(' '); + newclass.push(c); + e.className = newclass.join(' '); + }; + + me.removeClass = function (e, c) { + if ( !me.hasClass(e, c) ) { + return; + } + + var re = new RegExp("(^|\\s)" + c + "(\\s|$)", 'g'); + e.className = e.className.replace(re, ' '); + }; + + me.offset = function (el) { + var left = -el.offsetLeft, + top = -el.offsetTop; + + // jshint -W084 + while (el = el.offsetParent) { + left -= el.offsetLeft; + top -= el.offsetTop; + } + // jshint +W084 + + return { + left: left, + top: top + }; + }; + + me.preventDefaultException = function (el, exceptions) { + for ( var i in exceptions ) { + if ( exceptions[i].test(el[i]) ) { + return true; + } + } + + return false; + }; + + me.extend(me.eventType = {}, { + touchstart: 1, + touchmove: 1, + touchend: 1, + + mousedown: 2, + mousemove: 2, + mouseup: 2, + + pointerdown: 3, + pointermove: 3, + pointerup: 3, + + MSPointerDown: 3, + MSPointerMove: 3, + MSPointerUp: 3 + }); + + me.extend(me.ease = {}, { + quadratic: { + style: 'cubic-bezier(0.25, 0.46, 0.45, 0.94)', + fn: function (k) { + return k * ( 2 - k ); + } + }, + circular: { + style: 'cubic-bezier(0.1, 0.57, 0.1, 1)', // Not properly "circular" but this looks better, it should be (0.075, 0.82, 0.165, 1) + fn: function (k) { + return Math.sqrt( 1 - ( --k * k ) ); + } + }, + back: { + style: 'cubic-bezier(0.175, 0.885, 0.32, 1.275)', + fn: function (k) { + var b = 4; + return ( k = k - 1 ) * k * ( ( b + 1 ) * k + b ) + 1; + } + }, + bounce: { + style: '', + fn: function (k) { + if ( ( k /= 1 ) < ( 1 / 2.75 ) ) { + return 7.5625 * k * k; + } else if ( k < ( 2 / 2.75 ) ) { + return 7.5625 * ( k -= ( 1.5 / 2.75 ) ) * k + 0.75; + } else if ( k < ( 2.5 / 2.75 ) ) { + return 7.5625 * ( k -= ( 2.25 / 2.75 ) ) * k + 0.9375; + } else { + return 7.5625 * ( k -= ( 2.625 / 2.75 ) ) * k + 0.984375; + } + } + }, + elastic: { + style: '', + fn: function (k) { + var f = 0.22, + e = 0.4; + + if ( k === 0 ) { return 0; } + if ( k == 1 ) { return 1; } + + return ( e * Math.pow( 2, - 10 * k ) * Math.sin( ( k - f / 4 ) * ( 2 * Math.PI ) / f ) + 1 ); + } + } + }); + + me.tap = function (e, eventName) { + var ev = document.createEvent('Event'); + ev.initEvent(eventName, true, true); + ev.pageX = e.pageX; + ev.pageY = e.pageY; + e.target.dispatchEvent(ev); + }; + + me.click = function (e) { + var target = e.target, + ev; + + if ( !(/(SELECT|INPUT|TEXTAREA)/i).test(target.tagName) ) { + // https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/initMouseEvent + // initMouseEvent is deprecated. + ev = document.createEvent(window.MouseEvent ? 'MouseEvents' : 'Event'); + ev.initEvent('click', true, true); + ev.view = e.view || window; + ev.detail = 1; + ev.screenX = target.screenX || 0; + ev.screenY = target.screenY || 0; + ev.clientX = target.clientX || 0; + ev.clientY = target.clientY || 0; + ev.ctrlKey = !!e.ctrlKey; + ev.altKey = !!e.altKey; + ev.shiftKey = !!e.shiftKey; + ev.metaKey = !!e.metaKey; + ev.button = 0; + ev.relatedTarget = null; + ev._constructed = true; + target.dispatchEvent(ev); + } + }; + + me.getTouchAction = function(eventPassthrough, addPinch) { + var touchAction = 'none'; + if ( eventPassthrough === 'vertical' ) { + touchAction = 'pan-y'; + } else if (eventPassthrough === 'horizontal' ) { + touchAction = 'pan-x'; + } + if (addPinch && touchAction != 'none') { + // add pinch-zoom support if the browser supports it, but if not (eg. Chrome <55) do nothing + touchAction += ' pinch-zoom'; + } + return touchAction; + }; + + me.getRect = function(el) { + if (el instanceof SVGElement) { + var rect = el.getBoundingClientRect(); + return { + top : rect.top, + left : rect.left, + width : rect.width, + height : rect.height + }; + } else { + return { + top : el.offsetTop, + left : el.offsetLeft, + width : el.offsetWidth, + height : el.offsetHeight + }; + } + }; + + return me; +})(); +function IScroll (el, options) { + this.wrapper = typeof el == 'string' ? document.querySelector(el) : el; + this.scroller = this.wrapper.children[0]; + this.scrollerStyle = this.scroller.style; // cache style for better performance + + this.options = { + + resizeScrollbars: true, + + mouseWheelSpeed: 20, + + snapThreshold: 0.334, + +// INSERT POINT: OPTIONS + disablePointer : !utils.hasPointer, + disableTouch : utils.hasPointer || !utils.hasTouch, + disableMouse : utils.hasPointer || utils.hasTouch, + startX: 0, + startY: 0, + scrollY: true, + directionLockThreshold: 5, + momentum: true, + + bounce: true, + bounceTime: 600, + bounceEasing: '', + + preventDefault: true, + preventDefaultException: { tagName: /^(INPUT|TEXTAREA|BUTTON|SELECT)$/ }, + + HWCompositing: true, + useTransition: true, + useTransform: true, + bindToWrapper: typeof window.onmousedown === "undefined" + }; + + for ( var i in options ) { + this.options[i] = options[i]; + } + + // Normalize options + this.translateZ = this.options.HWCompositing && utils.hasPerspective ? ' translateZ(0)' : ''; + + this.options.useTransition = utils.hasTransition && this.options.useTransition; + this.options.useTransform = utils.hasTransform && this.options.useTransform; + + this.options.eventPassthrough = this.options.eventPassthrough === true ? 'vertical' : this.options.eventPassthrough; + this.options.preventDefault = !this.options.eventPassthrough && this.options.preventDefault; + + // If you want eventPassthrough I have to lock one of the axes + this.options.scrollY = this.options.eventPassthrough == 'vertical' ? false : this.options.scrollY; + this.options.scrollX = this.options.eventPassthrough == 'horizontal' ? false : this.options.scrollX; + + // With eventPassthrough we also need lockDirection mechanism + this.options.freeScroll = this.options.freeScroll && !this.options.eventPassthrough; + this.options.directionLockThreshold = this.options.eventPassthrough ? 0 : this.options.directionLockThreshold; + + this.options.bounceEasing = typeof this.options.bounceEasing == 'string' ? utils.ease[this.options.bounceEasing] || utils.ease.circular : this.options.bounceEasing; + + this.options.resizePolling = this.options.resizePolling === undefined ? 60 : this.options.resizePolling; + + if ( this.options.tap === true ) { + this.options.tap = 'tap'; + } + + // https://github.com/cubiq/iscroll/issues/1029 + if (!this.options.useTransition && !this.options.useTransform) { + if(!(/relative|absolute/i).test(this.scrollerStyle.position)) { + this.scrollerStyle.position = "relative"; + } + } + + if ( this.options.shrinkScrollbars == 'scale' ) { + this.options.useTransition = false; + } + + this.options.invertWheelDirection = this.options.invertWheelDirection ? -1 : 1; + +// INSERT POINT: NORMALIZATION + + // Some defaults + this.x = 0; + this.y = 0; + this.directionX = 0; + this.directionY = 0; + this._events = {}; + +// INSERT POINT: DEFAULTS + + this._init(); + this.refresh(); + + this.scrollTo(this.options.startX, this.options.startY); + this.enable(); +} + +IScroll.prototype = { + version: '5.2.0-snapshot', + + _init: function () { + this._initEvents(); + + if ( this.options.scrollbars || this.options.indicators ) { + this._initIndicators(); + } + + if ( this.options.mouseWheel ) { + this._initWheel(); + } + + if ( this.options.snap ) { + this._initSnap(); + } + + if ( this.options.keyBindings ) { + this._initKeys(); + } + +// INSERT POINT: _init + + }, + + destroy: function () { + this._initEvents(true); + clearTimeout(this.resizeTimeout); + this.resizeTimeout = null; + this._execEvent('destroy'); + }, + + _transitionEnd: function (e) { + if ( e.target != this.scroller || !this.isInTransition ) { + return; + } + + this._transitionTime(); + if ( !this.resetPosition(this.options.bounceTime) ) { + this.isInTransition = false; + this._execEvent('scrollEnd'); + } + }, + + _start: function (e) { + // React to left mouse button only + if ( utils.eventType[e.type] != 1 ) { + // for button property + // http://unixpapa.com/js/mouse.html + var button; + if (!e.which) { + /* IE case */ + button = (e.button < 2) ? 0 : + ((e.button == 4) ? 1 : 2); + } else { + /* All others */ + button = e.button; + } + if ( button !== 0 ) { + return; + } + } + + if ( !this.enabled || (this.initiated && utils.eventType[e.type] !== this.initiated) ) { + return; + } + + if ( this.options.preventDefault && !utils.isBadAndroid && !utils.preventDefaultException(e.target, this.options.preventDefaultException) ) { + e.preventDefault(); + } + + var point = e.touches ? e.touches[0] : e, + pos; + + this.initiated = utils.eventType[e.type]; + this.moved = false; + this.distX = 0; + this.distY = 0; + this.directionX = 0; + this.directionY = 0; + this.directionLocked = 0; + + this.startTime = utils.getTime(); + + if ( this.options.useTransition && this.isInTransition ) { + this._transitionTime(); + this.isInTransition = false; + pos = this.getComputedPosition(); + this._translate(Math.round(pos.x), Math.round(pos.y)); + this._execEvent('scrollEnd'); + } else if ( !this.options.useTransition && this.isAnimating ) { + this.isAnimating = false; + this._execEvent('scrollEnd'); + } + + this.startX = this.x; + this.startY = this.y; + this.absStartX = this.x; + this.absStartY = this.y; + this.pointX = point.pageX; + this.pointY = point.pageY; + + this._execEvent('beforeScrollStart'); + }, + + _move: function (e) { + if ( !this.enabled || utils.eventType[e.type] !== this.initiated ) { + return; + } + + if ( this.options.preventDefault ) { // increases performance on Android? TODO: check! + e.preventDefault(); + } + + var point = e.touches ? e.touches[0] : e, + deltaX = point.pageX - this.pointX, + deltaY = point.pageY - this.pointY, + timestamp = utils.getTime(), + newX, newY, + absDistX, absDistY; + + this.pointX = point.pageX; + this.pointY = point.pageY; + + this.distX += deltaX; + this.distY += deltaY; + absDistX = Math.abs(this.distX); + absDistY = Math.abs(this.distY); + + // We need to move at least 10 pixels for the scrolling to initiate + if ( timestamp - this.endTime > 300 && (absDistX < 10 && absDistY < 10) ) { + return; + } + + // If you are scrolling in one direction lock the other + if ( !this.directionLocked && !this.options.freeScroll ) { + if ( absDistX > absDistY + this.options.directionLockThreshold ) { + this.directionLocked = 'h'; // lock horizontally + } else if ( absDistY >= absDistX + this.options.directionLockThreshold ) { + this.directionLocked = 'v'; // lock vertically + } else { + this.directionLocked = 'n'; // no lock + } + } + + if ( this.directionLocked == 'h' ) { + if ( this.options.eventPassthrough == 'vertical' ) { + e.preventDefault(); + } else if ( this.options.eventPassthrough == 'horizontal' ) { + this.initiated = false; + return; + } + + deltaY = 0; + } else if ( this.directionLocked == 'v' ) { + if ( this.options.eventPassthrough == 'horizontal' ) { + e.preventDefault(); + } else if ( this.options.eventPassthrough == 'vertical' ) { + this.initiated = false; + return; + } + + deltaX = 0; + } + + deltaX = this.hasHorizontalScroll ? deltaX : 0; + deltaY = this.hasVerticalScroll ? deltaY : 0; + + newX = this.x + deltaX; + newY = this.y + deltaY; + + // Slow down if outside of the boundaries + if ( newX > 0 || newX < this.maxScrollX ) { + newX = this.options.bounce ? this.x + deltaX / 3 : newX > 0 ? 0 : this.maxScrollX; + } + if ( newY > 0 || newY < this.maxScrollY ) { + newY = this.options.bounce ? this.y + deltaY / 3 : newY > 0 ? 0 : this.maxScrollY; + } + + this.directionX = deltaX > 0 ? -1 : deltaX < 0 ? 1 : 0; + this.directionY = deltaY > 0 ? -1 : deltaY < 0 ? 1 : 0; + + if ( !this.moved ) { + this._execEvent('scrollStart'); + } + + this.moved = true; + + this._translate(newX, newY); + +/* REPLACE START: _move */ + + if ( timestamp - this.startTime > 300 ) { + this.startTime = timestamp; + this.startX = this.x; + this.startY = this.y; + } + +/* REPLACE END: _move */ + + }, + + _end: function (e) { + if ( !this.enabled || utils.eventType[e.type] !== this.initiated ) { + return; + } + + if ( this.options.preventDefault && !utils.preventDefaultException(e.target, this.options.preventDefaultException) ) { + e.preventDefault(); + } + + var point = e.changedTouches ? e.changedTouches[0] : e, + momentumX, + momentumY, + duration = utils.getTime() - this.startTime, + newX = Math.round(this.x), + newY = Math.round(this.y), + distanceX = Math.abs(newX - this.startX), + distanceY = Math.abs(newY - this.startY), + time = 0, + easing = ''; + + this.isInTransition = 0; + this.initiated = 0; + this.endTime = utils.getTime(); + + // reset if we are outside of the boundaries + if ( this.resetPosition(this.options.bounceTime) ) { + return; + } + + this.scrollTo(newX, newY); // ensures that the last position is rounded + + // we scrolled less than 10 pixels + if ( !this.moved ) { + if ( this.options.tap ) { + utils.tap(e, this.options.tap); + } + + if ( this.options.click ) { + utils.click(e); + } + + this._execEvent('scrollCancel'); + return; + } + + if ( this._events.flick && duration < 200 && distanceX < 100 && distanceY < 100 ) { + this._execEvent('flick'); + return; + } + + // start momentum animation if needed + if ( this.options.momentum && duration < 300 ) { + momentumX = this.hasHorizontalScroll ? utils.momentum(this.x, this.startX, duration, this.maxScrollX, this.options.bounce ? this.wrapperWidth : 0, this.options.deceleration) : { destination: newX, duration: 0 }; + momentumY = this.hasVerticalScroll ? utils.momentum(this.y, this.startY, duration, this.maxScrollY, this.options.bounce ? this.wrapperHeight : 0, this.options.deceleration) : { destination: newY, duration: 0 }; + newX = momentumX.destination; + newY = momentumY.destination; + time = Math.max(momentumX.duration, momentumY.duration); + this.isInTransition = 1; + } + + + if ( this.options.snap ) { + var snap = this._nearestSnap(newX, newY); + this.currentPage = snap; + time = this.options.snapSpeed || Math.max( + Math.max( + Math.min(Math.abs(newX - snap.x), 1000), + Math.min(Math.abs(newY - snap.y), 1000) + ), 300); + newX = snap.x; + newY = snap.y; + + this.directionX = 0; + this.directionY = 0; + easing = this.options.bounceEasing; + } + +// INSERT POINT: _end + + if ( newX != this.x || newY != this.y ) { + // change easing function when scroller goes out of the boundaries + if ( newX > 0 || newX < this.maxScrollX || newY > 0 || newY < this.maxScrollY ) { + easing = utils.ease.quadratic; + } + + this.scrollTo(newX, newY, time, easing); + return; + } + + this._execEvent('scrollEnd'); + }, + + _resize: function () { + var that = this; + + clearTimeout(this.resizeTimeout); + + this.resizeTimeout = setTimeout(function () { + that.refresh(); + }, this.options.resizePolling); + }, + + resetPosition: function (time) { + var x = this.x, + y = this.y; + + time = time || 0; + + if ( !this.hasHorizontalScroll || this.x > 0 ) { + x = 0; + } else if ( this.x < this.maxScrollX ) { + x = this.maxScrollX; + } + + if ( !this.hasVerticalScroll || this.y > 0 ) { + y = 0; + } else if ( this.y < this.maxScrollY ) { + y = this.maxScrollY; + } + + if ( x == this.x && y == this.y ) { + return false; + } + + this.scrollTo(x, y, time, this.options.bounceEasing); + + return true; + }, + + disable: function () { + this.enabled = false; + }, + + enable: function () { + this.enabled = true; + }, + + refresh: function () { + utils.getRect(this.wrapper); // Force reflow + + this.wrapperWidth = this.wrapper.clientWidth; + this.wrapperHeight = this.wrapper.clientHeight; + + var rect = utils.getRect(this.scroller); +/* REPLACE START: refresh */ + + this.scrollerWidth = rect.width; + this.scrollerHeight = rect.height; + + this.maxScrollX = this.wrapperWidth - this.scrollerWidth; + this.maxScrollY = this.wrapperHeight - this.scrollerHeight; + +/* REPLACE END: refresh */ + + this.hasHorizontalScroll = this.options.scrollX && this.maxScrollX < 0; + this.hasVerticalScroll = this.options.scrollY && this.maxScrollY < 0; + + if ( !this.hasHorizontalScroll ) { + this.maxScrollX = 0; + this.scrollerWidth = this.wrapperWidth; + } + + if ( !this.hasVerticalScroll ) { + this.maxScrollY = 0; + this.scrollerHeight = this.wrapperHeight; + } + + this.endTime = 0; + this.directionX = 0; + this.directionY = 0; + + if(utils.hasPointer && !this.options.disablePointer) { + // The wrapper should have `touchAction` property for using pointerEvent. + this.wrapper.style[utils.style.touchAction] = utils.getTouchAction(this.options.eventPassthrough, true); + + // case. not support 'pinch-zoom' + // https://github.com/cubiq/iscroll/issues/1118#issuecomment-270057583 + if (!this.wrapper.style[utils.style.touchAction]) { + this.wrapper.style[utils.style.touchAction] = utils.getTouchAction(this.options.eventPassthrough, false); + } + } + this.wrapperOffset = utils.offset(this.wrapper); + + this._execEvent('refresh'); + + this.resetPosition(); + +// INSERT POINT: _refresh + + }, + + on: function (type, fn) { + if ( !this._events[type] ) { + this._events[type] = []; + } + + this._events[type].push(fn); + }, + + off: function (type, fn) { + if ( !this._events[type] ) { + return; + } + + var index = this._events[type].indexOf(fn); + + if ( index > -1 ) { + this._events[type].splice(index, 1); + } + }, + + _execEvent: function (type) { + if ( !this._events[type] ) { + return; + } + + var i = 0, + l = this._events[type].length; + + if ( !l ) { + return; + } + + for ( ; i < l; i++ ) { + this._events[type][i].apply(this, [].slice.call(arguments, 1)); + } + }, + + scrollBy: function (x, y, time, easing) { + x = this.x + x; + y = this.y + y; + time = time || 0; + + this.scrollTo(x, y, time, easing); + }, + + scrollTo: function (x, y, time, easing) { + easing = easing || utils.ease.circular; + + this.isInTransition = this.options.useTransition && time > 0; + var transitionType = this.options.useTransition && easing.style; + if ( !time || transitionType ) { + if(transitionType) { + this._transitionTimingFunction(easing.style); + this._transitionTime(time); + } + this._translate(x, y); + } else { + this._animate(x, y, time, easing.fn); + } + }, + + scrollToElement: function (el, time, offsetX, offsetY, easing) { + el = el.nodeType ? el : this.scroller.querySelector(el); + + if ( !el ) { + return; + } + + var pos = utils.offset(el); + + pos.left -= this.wrapperOffset.left; + pos.top -= this.wrapperOffset.top; + + // if offsetX/Y are true we center the element to the screen + var elRect = utils.getRect(el); + var wrapperRect = utils.getRect(this.wrapper); + if ( offsetX === true ) { + offsetX = Math.round(elRect.width / 2 - wrapperRect.width / 2); + } + if ( offsetY === true ) { + offsetY = Math.round(elRect.height / 2 - wrapperRect.height / 2); + } + + pos.left -= offsetX || 0; + pos.top -= offsetY || 0; + + pos.left = pos.left > 0 ? 0 : pos.left < this.maxScrollX ? this.maxScrollX : pos.left; + pos.top = pos.top > 0 ? 0 : pos.top < this.maxScrollY ? this.maxScrollY : pos.top; + + time = time === undefined || time === null || time === 'auto' ? Math.max(Math.abs(this.x-pos.left), Math.abs(this.y-pos.top)) : time; + + this.scrollTo(pos.left, pos.top, time, easing); + }, + + _transitionTime: function (time) { + if (!this.options.useTransition) { + return; + } + time = time || 0; + var durationProp = utils.style.transitionDuration; + if(!durationProp) { + return; + } + + this.scrollerStyle[durationProp] = time + 'ms'; + + if ( !time && utils.isBadAndroid ) { + this.scrollerStyle[durationProp] = '0.0001ms'; + // remove 0.0001ms + var self = this; + rAF(function() { + if(self.scrollerStyle[durationProp] === '0.0001ms') { + self.scrollerStyle[durationProp] = '0s'; + } + }); + } + + + if ( this.indicators ) { + for ( var i = this.indicators.length; i--; ) { + this.indicators[i].transitionTime(time); + } + } + + +// INSERT POINT: _transitionTime + + }, + + _transitionTimingFunction: function (easing) { + this.scrollerStyle[utils.style.transitionTimingFunction] = easing; + + + if ( this.indicators ) { + for ( var i = this.indicators.length; i--; ) { + this.indicators[i].transitionTimingFunction(easing); + } + } + + +// INSERT POINT: _transitionTimingFunction + + }, + + _translate: function (x, y) { + if ( this.options.useTransform ) { + +/* REPLACE START: _translate */ + + this.scrollerStyle[utils.style.transform] = 'translate(' + x + 'px,' + y + 'px)' + this.translateZ; + +/* REPLACE END: _translate */ + + } else { + x = Math.round(x); + y = Math.round(y); + this.scrollerStyle.left = x + 'px'; + this.scrollerStyle.top = y + 'px'; + } + + this.x = x; + this.y = y; + + + if ( this.indicators ) { + for ( var i = this.indicators.length; i--; ) { + this.indicators[i].updatePosition(); + } + } + + +// INSERT POINT: _translate + + }, + + _initEvents: function (remove) { + var eventType = remove ? utils.removeEvent : utils.addEvent, + target = this.options.bindToWrapper ? this.wrapper : window; + + eventType(window, 'orientationchange', this); + eventType(window, 'resize', this); + + if ( this.options.click ) { + eventType(this.wrapper, 'click', this, true); + } + + if ( !this.options.disableMouse ) { + eventType(this.wrapper, 'mousedown', this); + eventType(target, 'mousemove', this); + eventType(target, 'mousecancel', this); + eventType(target, 'mouseup', this); + } + + if ( utils.hasPointer && !this.options.disablePointer ) { + eventType(this.wrapper, utils.prefixPointerEvent('pointerdown'), this); + eventType(target, utils.prefixPointerEvent('pointermove'), this); + eventType(target, utils.prefixPointerEvent('pointercancel'), this); + eventType(target, utils.prefixPointerEvent('pointerup'), this); + } + + if ( utils.hasTouch && !this.options.disableTouch ) { + eventType(this.wrapper, 'touchstart', this); + eventType(target, 'touchmove', this); + eventType(target, 'touchcancel', this); + eventType(target, 'touchend', this); + } + + eventType(this.scroller, 'transitionend', this); + eventType(this.scroller, 'webkitTransitionEnd', this); + eventType(this.scroller, 'oTransitionEnd', this); + eventType(this.scroller, 'MSTransitionEnd', this); + }, + + getComputedPosition: function () { + var matrix = window.getComputedStyle(this.scroller, null), + x, y; + + if ( this.options.useTransform ) { + matrix = matrix[utils.style.transform].split(')')[0].split(', '); + x = +(matrix[12] || matrix[4]); + y = +(matrix[13] || matrix[5]); + } else { + x = +matrix.left.replace(/[^-\d.]/g, ''); + y = +matrix.top.replace(/[^-\d.]/g, ''); + } + + return { x: x, y: y }; + }, + _initIndicators: function () { + var interactive = this.options.interactiveScrollbars, + customStyle = typeof this.options.scrollbars != 'string', + indicators = [], + indicator; + + var that = this; + + this.indicators = []; + + if ( this.options.scrollbars ) { + // Vertical scrollbar + if ( this.options.scrollY ) { + indicator = { + el: createDefaultScrollbar('v', interactive, this.options.scrollbars), + interactive: interactive, + defaultScrollbars: true, + customStyle: customStyle, + resize: this.options.resizeScrollbars, + shrink: this.options.shrinkScrollbars, + fade: this.options.fadeScrollbars, + listenX: false + }; + + this.wrapper.appendChild(indicator.el); + indicators.push(indicator); + } + + // Horizontal scrollbar + if ( this.options.scrollX ) { + indicator = { + el: createDefaultScrollbar('h', interactive, this.options.scrollbars), + interactive: interactive, + defaultScrollbars: true, + customStyle: customStyle, + resize: this.options.resizeScrollbars, + shrink: this.options.shrinkScrollbars, + fade: this.options.fadeScrollbars, + listenY: false + }; + + this.wrapper.appendChild(indicator.el); + indicators.push(indicator); + } + } + + if ( this.options.indicators ) { + // TODO: check concat compatibility + indicators = indicators.concat(this.options.indicators); + } + + for ( var i = indicators.length; i--; ) { + this.indicators.push( new Indicator(this, indicators[i]) ); + } + + // TODO: check if we can use array.map (wide compatibility and performance issues) + function _indicatorsMap (fn) { + if (that.indicators) { + for ( var i = that.indicators.length; i--; ) { + fn.call(that.indicators[i]); + } + } + } + + if ( this.options.fadeScrollbars ) { + this.on('scrollEnd', function () { + _indicatorsMap(function () { + this.fade(); + }); + }); + + this.on('scrollCancel', function () { + _indicatorsMap(function () { + this.fade(); + }); + }); + + this.on('scrollStart', function () { + _indicatorsMap(function () { + this.fade(1); + }); + }); + + this.on('beforeScrollStart', function () { + _indicatorsMap(function () { + this.fade(1, true); + }); + }); + } + + + this.on('refresh', function () { + _indicatorsMap(function () { + this.refresh(); + }); + }); + + this.on('destroy', function () { + _indicatorsMap(function () { + this.destroy(); + }); + + delete this.indicators; + }); + }, + + _initWheel: function () { + utils.addEvent(this.wrapper, 'wheel', this); + utils.addEvent(this.wrapper, 'mousewheel', this); + utils.addEvent(this.wrapper, 'DOMMouseScroll', this); + + this.on('destroy', function () { + clearTimeout(this.wheelTimeout); + this.wheelTimeout = null; + utils.removeEvent(this.wrapper, 'wheel', this); + utils.removeEvent(this.wrapper, 'mousewheel', this); + utils.removeEvent(this.wrapper, 'DOMMouseScroll', this); + }); + }, + + _wheel: function (e) { + if ( !this.enabled ) { + return; + } + + e.preventDefault(); + + var wheelDeltaX, wheelDeltaY, + newX, newY, + that = this; + + if ( this.wheelTimeout === undefined ) { + that._execEvent('scrollStart'); + } + + // Execute the scrollEnd event after 400ms the wheel stopped scrolling + clearTimeout(this.wheelTimeout); + this.wheelTimeout = setTimeout(function () { + if(!that.options.snap) { + that._execEvent('scrollEnd'); + } + that.wheelTimeout = undefined; + }, 400); + + if ( 'deltaX' in e ) { + if (e.deltaMode === 1) { + wheelDeltaX = -e.deltaX * this.options.mouseWheelSpeed; + wheelDeltaY = -e.deltaY * this.options.mouseWheelSpeed; + } else { + wheelDeltaX = -e.deltaX; + wheelDeltaY = -e.deltaY; + } + } else if ( 'wheelDeltaX' in e ) { + wheelDeltaX = e.wheelDeltaX / 120 * this.options.mouseWheelSpeed; + wheelDeltaY = e.wheelDeltaY / 120 * this.options.mouseWheelSpeed; + } else if ( 'wheelDelta' in e ) { + wheelDeltaX = wheelDeltaY = e.wheelDelta / 120 * this.options.mouseWheelSpeed; + } else if ( 'detail' in e ) { + wheelDeltaX = wheelDeltaY = -e.detail / 3 * this.options.mouseWheelSpeed; + } else { + return; + } + + wheelDeltaX *= this.options.invertWheelDirection; + wheelDeltaY *= this.options.invertWheelDirection; + + if ( !this.hasVerticalScroll ) { + wheelDeltaX = wheelDeltaY; + wheelDeltaY = 0; + } + + if ( this.options.snap ) { + newX = this.currentPage.pageX; + newY = this.currentPage.pageY; + + if ( wheelDeltaX > 0 ) { + newX--; + } else if ( wheelDeltaX < 0 ) { + newX++; + } + + if ( wheelDeltaY > 0 ) { + newY--; + } else if ( wheelDeltaY < 0 ) { + newY++; + } + + this.goToPage(newX, newY); + + return; + } + + newX = this.x + Math.round(this.hasHorizontalScroll ? wheelDeltaX : 0); + newY = this.y + Math.round(this.hasVerticalScroll ? wheelDeltaY : 0); + + this.directionX = wheelDeltaX > 0 ? -1 : wheelDeltaX < 0 ? 1 : 0; + this.directionY = wheelDeltaY > 0 ? -1 : wheelDeltaY < 0 ? 1 : 0; + + if ( newX > 0 ) { + newX = 0; + } else if ( newX < this.maxScrollX ) { + newX = this.maxScrollX; + } + + if ( newY > 0 ) { + newY = 0; + } else if ( newY < this.maxScrollY ) { + newY = this.maxScrollY; + } + + this.scrollTo(newX, newY, 0); + +// INSERT POINT: _wheel + }, + + _initSnap: function () { + this.currentPage = {}; + + if ( typeof this.options.snap == 'string' ) { + this.options.snap = this.scroller.querySelectorAll(this.options.snap); + } + + this.on('refresh', function () { + var i = 0, l, + m = 0, n, + cx, cy, + x = 0, y, + stepX = this.options.snapStepX || this.wrapperWidth, + stepY = this.options.snapStepY || this.wrapperHeight, + el, + rect; + + this.pages = []; + + if ( !this.wrapperWidth || !this.wrapperHeight || !this.scrollerWidth || !this.scrollerHeight ) { + return; + } + + if ( this.options.snap === true ) { + cx = Math.round( stepX / 2 ); + cy = Math.round( stepY / 2 ); + + while ( x > -this.scrollerWidth ) { + this.pages[i] = []; + l = 0; + y = 0; + + while ( y > -this.scrollerHeight ) { + this.pages[i][l] = { + x: Math.max(x, this.maxScrollX), + y: Math.max(y, this.maxScrollY), + width: stepX, + height: stepY, + cx: x - cx, + cy: y - cy + }; + + y -= stepY; + l++; + } + + x -= stepX; + i++; + } + } else { + el = this.options.snap; + l = el.length; + n = -1; + + for ( ; i < l; i++ ) { + rect = utils.getRect(el[i]); + if ( i === 0 || rect.left <= utils.getRect(el[i-1]).left ) { + m = 0; + n++; + } + + if ( !this.pages[m] ) { + this.pages[m] = []; + } + + x = Math.max(-rect.left, this.maxScrollX); + y = Math.max(-rect.top, this.maxScrollY); + cx = x - Math.round(rect.width / 2); + cy = y - Math.round(rect.height / 2); + + this.pages[m][n] = { + x: x, + y: y, + width: rect.width, + height: rect.height, + cx: cx, + cy: cy + }; + + if ( x > this.maxScrollX ) { + m++; + } + } + } + + this.goToPage(this.currentPage.pageX || 0, this.currentPage.pageY || 0, 0); + + // Update snap threshold if needed + if ( this.options.snapThreshold % 1 === 0 ) { + this.snapThresholdX = this.options.snapThreshold; + this.snapThresholdY = this.options.snapThreshold; + } else { + this.snapThresholdX = Math.round(this.pages[this.currentPage.pageX][this.currentPage.pageY].width * this.options.snapThreshold); + this.snapThresholdY = Math.round(this.pages[this.currentPage.pageX][this.currentPage.pageY].height * this.options.snapThreshold); + } + }); + + this.on('flick', function () { + var time = this.options.snapSpeed || Math.max( + Math.max( + Math.min(Math.abs(this.x - this.startX), 1000), + Math.min(Math.abs(this.y - this.startY), 1000) + ), 300); + + this.goToPage( + this.currentPage.pageX + this.directionX, + this.currentPage.pageY + this.directionY, + time + ); + }); + }, + + _nearestSnap: function (x, y) { + if ( !this.pages.length ) { + return { x: 0, y: 0, pageX: 0, pageY: 0 }; + } + + var i = 0, + l = this.pages.length, + m = 0; + + // Check if we exceeded the snap threshold + if ( Math.abs(x - this.absStartX) < this.snapThresholdX && + Math.abs(y - this.absStartY) < this.snapThresholdY ) { + return this.currentPage; + } + + if ( x > 0 ) { + x = 0; + } else if ( x < this.maxScrollX ) { + x = this.maxScrollX; + } + + if ( y > 0 ) { + y = 0; + } else if ( y < this.maxScrollY ) { + y = this.maxScrollY; + } + + for ( ; i < l; i++ ) { + if ( x >= this.pages[i][0].cx ) { + x = this.pages[i][0].x; + break; + } + } + + l = this.pages[i].length; + + for ( ; m < l; m++ ) { + if ( y >= this.pages[0][m].cy ) { + y = this.pages[0][m].y; + break; + } + } + + if ( i == this.currentPage.pageX ) { + i += this.directionX; + + if ( i < 0 ) { + i = 0; + } else if ( i >= this.pages.length ) { + i = this.pages.length - 1; + } + + x = this.pages[i][0].x; + } + + if ( m == this.currentPage.pageY ) { + m += this.directionY; + + if ( m < 0 ) { + m = 0; + } else if ( m >= this.pages[0].length ) { + m = this.pages[0].length - 1; + } + + y = this.pages[0][m].y; + } + + return { + x: x, + y: y, + pageX: i, + pageY: m + }; + }, + + goToPage: function (x, y, time, easing) { + easing = easing || this.options.bounceEasing; + + if ( x >= this.pages.length ) { + x = this.pages.length - 1; + } else if ( x < 0 ) { + x = 0; + } + + if ( y >= this.pages[x].length ) { + y = this.pages[x].length - 1; + } else if ( y < 0 ) { + y = 0; + } + + var posX = this.pages[x][y].x, + posY = this.pages[x][y].y; + + time = time === undefined ? this.options.snapSpeed || Math.max( + Math.max( + Math.min(Math.abs(posX - this.x), 1000), + Math.min(Math.abs(posY - this.y), 1000) + ), 300) : time; + + this.currentPage = { + x: posX, + y: posY, + pageX: x, + pageY: y + }; + + this.scrollTo(posX, posY, time, easing); + }, + + next: function (time, easing) { + var x = this.currentPage.pageX, + y = this.currentPage.pageY; + + x++; + + if ( x >= this.pages.length && this.hasVerticalScroll ) { + x = 0; + y++; + } + + this.goToPage(x, y, time, easing); + }, + + prev: function (time, easing) { + var x = this.currentPage.pageX, + y = this.currentPage.pageY; + + x--; + + if ( x < 0 && this.hasVerticalScroll ) { + x = 0; + y--; + } + + this.goToPage(x, y, time, easing); + }, + + _initKeys: function (e) { + // default key bindings + var keys = { + pageUp: 33, + pageDown: 34, + end: 35, + home: 36, + left: 37, + up: 38, + right: 39, + down: 40 + }; + var i; + + // if you give me characters I give you keycode + if ( typeof this.options.keyBindings == 'object' ) { + for ( i in this.options.keyBindings ) { + if ( typeof this.options.keyBindings[i] == 'string' ) { + this.options.keyBindings[i] = this.options.keyBindings[i].toUpperCase().charCodeAt(0); + } + } + } else { + this.options.keyBindings = {}; + } + + for ( i in keys ) { + this.options.keyBindings[i] = this.options.keyBindings[i] || keys[i]; + } + + utils.addEvent(window, 'keydown', this); + + this.on('destroy', function () { + utils.removeEvent(window, 'keydown', this); + }); + }, + + _key: function (e) { + if ( !this.enabled ) { + return; + } + + var snap = this.options.snap, // we are using this alot, better to cache it + newX = snap ? this.currentPage.pageX : this.x, + newY = snap ? this.currentPage.pageY : this.y, + now = utils.getTime(), + prevTime = this.keyTime || 0, + acceleration = 0.250, + pos; + + if ( this.options.useTransition && this.isInTransition ) { + pos = this.getComputedPosition(); + + this._translate(Math.round(pos.x), Math.round(pos.y)); + this.isInTransition = false; + } + + this.keyAcceleration = now - prevTime < 200 ? Math.min(this.keyAcceleration + acceleration, 50) : 0; + + switch ( e.keyCode ) { + case this.options.keyBindings.pageUp: + if ( this.hasHorizontalScroll && !this.hasVerticalScroll ) { + newX += snap ? 1 : this.wrapperWidth; + } else { + newY += snap ? 1 : this.wrapperHeight; + } + break; + case this.options.keyBindings.pageDown: + if ( this.hasHorizontalScroll && !this.hasVerticalScroll ) { + newX -= snap ? 1 : this.wrapperWidth; + } else { + newY -= snap ? 1 : this.wrapperHeight; + } + break; + case this.options.keyBindings.end: + newX = snap ? this.pages.length-1 : this.maxScrollX; + newY = snap ? this.pages[0].length-1 : this.maxScrollY; + break; + case this.options.keyBindings.home: + newX = 0; + newY = 0; + break; + case this.options.keyBindings.left: + newX += snap ? -1 : 5 + this.keyAcceleration>>0; + break; + case this.options.keyBindings.up: + newY += snap ? 1 : 5 + this.keyAcceleration>>0; + break; + case this.options.keyBindings.right: + newX -= snap ? -1 : 5 + this.keyAcceleration>>0; + break; + case this.options.keyBindings.down: + newY -= snap ? 1 : 5 + this.keyAcceleration>>0; + break; + default: + return; + } + + if ( snap ) { + this.goToPage(newX, newY); + return; + } + + if ( newX > 0 ) { + newX = 0; + this.keyAcceleration = 0; + } else if ( newX < this.maxScrollX ) { + newX = this.maxScrollX; + this.keyAcceleration = 0; + } + + if ( newY > 0 ) { + newY = 0; + this.keyAcceleration = 0; + } else if ( newY < this.maxScrollY ) { + newY = this.maxScrollY; + this.keyAcceleration = 0; + } + + this.scrollTo(newX, newY, 0); + + this.keyTime = now; + }, + + _animate: function (destX, destY, duration, easingFn) { + var that = this, + startX = this.x, + startY = this.y, + startTime = utils.getTime(), + destTime = startTime + duration; + + function step () { + var now = utils.getTime(), + newX, newY, + easing; + + if ( now >= destTime ) { + that.isAnimating = false; + that._translate(destX, destY); + + if ( !that.resetPosition(that.options.bounceTime) ) { + that._execEvent('scrollEnd'); + } + + return; + } + + now = ( now - startTime ) / duration; + easing = easingFn(now); + newX = ( destX - startX ) * easing + startX; + newY = ( destY - startY ) * easing + startY; + that._translate(newX, newY); + + if ( that.isAnimating ) { + rAF(step); + } + } + + this.isAnimating = true; + step(); + }, + handleEvent: function (e) { + switch ( e.type ) { + case 'touchstart': + case 'pointerdown': + case 'MSPointerDown': + case 'mousedown': + this._start(e); + break; + case 'touchmove': + case 'pointermove': + case 'MSPointerMove': + case 'mousemove': + this._move(e); + break; + case 'touchend': + case 'pointerup': + case 'MSPointerUp': + case 'mouseup': + case 'touchcancel': + case 'pointercancel': + case 'MSPointerCancel': + case 'mousecancel': + this._end(e); + break; + case 'orientationchange': + case 'resize': + this._resize(); + break; + case 'transitionend': + case 'webkitTransitionEnd': + case 'oTransitionEnd': + case 'MSTransitionEnd': + this._transitionEnd(e); + break; + case 'wheel': + case 'DOMMouseScroll': + case 'mousewheel': + this._wheel(e); + break; + case 'keydown': + this._key(e); + break; + case 'click': + if ( this.enabled && !e._constructed ) { + e.preventDefault(); + e.stopPropagation(); + } + break; + } + } +}; +function createDefaultScrollbar (direction, interactive, type) { + var scrollbar = document.createElement('div'), + indicator = document.createElement('div'); + + if ( type === true ) { + scrollbar.style.cssText = 'position:absolute;z-index:9999'; + indicator.style.cssText = '-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:absolute;background:rgba(0,0,0,0.5);border:1px solid rgba(255,255,255,0.9);border-radius:3px'; + } + + indicator.className = 'iScrollIndicator'; + + if ( direction == 'h' ) { + if ( type === true ) { + scrollbar.style.cssText += ';height:7px;left:2px;right:2px;bottom:0'; + indicator.style.height = '100%'; + } + scrollbar.className = 'iScrollHorizontalScrollbar'; + } else { + if ( type === true ) { + scrollbar.style.cssText += ';width:7px;bottom:2px;top:2px;right:1px'; + indicator.style.width = '100%'; + } + scrollbar.className = 'iScrollVerticalScrollbar'; + } + + scrollbar.style.cssText += ';overflow:hidden'; + + if ( !interactive ) { + scrollbar.style.pointerEvents = 'none'; + } + + scrollbar.appendChild(indicator); + + return scrollbar; +} + +function Indicator (scroller, options) { + this.wrapper = typeof options.el == 'string' ? document.querySelector(options.el) : options.el; + this.wrapperStyle = this.wrapper.style; + this.indicator = this.wrapper.children[0]; + this.indicatorStyle = this.indicator.style; + this.scroller = scroller; + + this.options = { + listenX: true, + listenY: true, + interactive: false, + resize: true, + defaultScrollbars: false, + shrink: false, + fade: false, + speedRatioX: 0, + speedRatioY: 0 + }; + + for ( var i in options ) { + this.options[i] = options[i]; + } + + this.sizeRatioX = 1; + this.sizeRatioY = 1; + this.maxPosX = 0; + this.maxPosY = 0; + + if ( this.options.interactive ) { + if ( !this.options.disableTouch ) { + utils.addEvent(this.indicator, 'touchstart', this); + utils.addEvent(window, 'touchend', this); + } + if ( !this.options.disablePointer ) { + utils.addEvent(this.indicator, utils.prefixPointerEvent('pointerdown'), this); + utils.addEvent(window, utils.prefixPointerEvent('pointerup'), this); + } + if ( !this.options.disableMouse ) { + utils.addEvent(this.indicator, 'mousedown', this); + utils.addEvent(window, 'mouseup', this); + } + } + + if ( this.options.fade ) { + this.wrapperStyle[utils.style.transform] = this.scroller.translateZ; + var durationProp = utils.style.transitionDuration; + if(!durationProp) { + return; + } + this.wrapperStyle[durationProp] = utils.isBadAndroid ? '0.0001ms' : '0ms'; + // remove 0.0001ms + var self = this; + if(utils.isBadAndroid) { + rAF(function() { + if(self.wrapperStyle[durationProp] === '0.0001ms') { + self.wrapperStyle[durationProp] = '0s'; + } + }); + } + this.wrapperStyle.opacity = '0'; + } +} + +Indicator.prototype = { + handleEvent: function (e) { + switch ( e.type ) { + case 'touchstart': + case 'pointerdown': + case 'MSPointerDown': + case 'mousedown': + this._start(e); + break; + case 'touchmove': + case 'pointermove': + case 'MSPointerMove': + case 'mousemove': + this._move(e); + break; + case 'touchend': + case 'pointerup': + case 'MSPointerUp': + case 'mouseup': + case 'touchcancel': + case 'pointercancel': + case 'MSPointerCancel': + case 'mousecancel': + this._end(e); + break; + } + }, + + destroy: function () { + if ( this.options.fadeScrollbars ) { + clearTimeout(this.fadeTimeout); + this.fadeTimeout = null; + } + if ( this.options.interactive ) { + utils.removeEvent(this.indicator, 'touchstart', this); + utils.removeEvent(this.indicator, utils.prefixPointerEvent('pointerdown'), this); + utils.removeEvent(this.indicator, 'mousedown', this); + + utils.removeEvent(window, 'touchmove', this); + utils.removeEvent(window, utils.prefixPointerEvent('pointermove'), this); + utils.removeEvent(window, 'mousemove', this); + + utils.removeEvent(window, 'touchend', this); + utils.removeEvent(window, utils.prefixPointerEvent('pointerup'), this); + utils.removeEvent(window, 'mouseup', this); + } + + if ( this.options.defaultScrollbars && this.wrapper.parentNode ) { + this.wrapper.parentNode.removeChild(this.wrapper); + } + }, + + _start: function (e) { + var point = e.touches ? e.touches[0] : e; + + e.preventDefault(); + e.stopPropagation(); + + this.transitionTime(); + + this.initiated = true; + this.moved = false; + this.lastPointX = point.pageX; + this.lastPointY = point.pageY; + + this.startTime = utils.getTime(); + + if ( !this.options.disableTouch ) { + utils.addEvent(window, 'touchmove', this); + } + if ( !this.options.disablePointer ) { + utils.addEvent(window, utils.prefixPointerEvent('pointermove'), this); + } + if ( !this.options.disableMouse ) { + utils.addEvent(window, 'mousemove', this); + } + + this.scroller._execEvent('beforeScrollStart'); + }, + + _move: function (e) { + var point = e.touches ? e.touches[0] : e, + deltaX, deltaY, + newX, newY, + timestamp = utils.getTime(); + + if ( !this.moved ) { + this.scroller._execEvent('scrollStart'); + } + + this.moved = true; + + deltaX = point.pageX - this.lastPointX; + this.lastPointX = point.pageX; + + deltaY = point.pageY - this.lastPointY; + this.lastPointY = point.pageY; + + newX = this.x + deltaX; + newY = this.y + deltaY; + + this._pos(newX, newY); + +// INSERT POINT: indicator._move + + e.preventDefault(); + e.stopPropagation(); + }, + + _end: function (e) { + if ( !this.initiated ) { + return; + } + + this.initiated = false; + + e.preventDefault(); + e.stopPropagation(); + + utils.removeEvent(window, 'touchmove', this); + utils.removeEvent(window, utils.prefixPointerEvent('pointermove'), this); + utils.removeEvent(window, 'mousemove', this); + + if ( this.scroller.options.snap ) { + var snap = this.scroller._nearestSnap(this.scroller.x, this.scroller.y); + + var time = this.options.snapSpeed || Math.max( + Math.max( + Math.min(Math.abs(this.scroller.x - snap.x), 1000), + Math.min(Math.abs(this.scroller.y - snap.y), 1000) + ), 300); + + if ( this.scroller.x != snap.x || this.scroller.y != snap.y ) { + this.scroller.directionX = 0; + this.scroller.directionY = 0; + this.scroller.currentPage = snap; + this.scroller.scrollTo(snap.x, snap.y, time, this.scroller.options.bounceEasing); + } + } + + if ( this.moved ) { + this.scroller._execEvent('scrollEnd'); + } + }, + + transitionTime: function (time) { + time = time || 0; + var durationProp = utils.style.transitionDuration; + if(!durationProp) { + return; + } + + this.indicatorStyle[durationProp] = time + 'ms'; + + if ( !time && utils.isBadAndroid ) { + this.indicatorStyle[durationProp] = '0.0001ms'; + // remove 0.0001ms + var self = this; + rAF(function() { + if(self.indicatorStyle[durationProp] === '0.0001ms') { + self.indicatorStyle[durationProp] = '0s'; + } + }); + } + }, + + transitionTimingFunction: function (easing) { + this.indicatorStyle[utils.style.transitionTimingFunction] = easing; + }, + + refresh: function () { + this.transitionTime(); + + if ( this.options.listenX && !this.options.listenY ) { + this.indicatorStyle.display = this.scroller.hasHorizontalScroll ? 'block' : 'none'; + } else if ( this.options.listenY && !this.options.listenX ) { + this.indicatorStyle.display = this.scroller.hasVerticalScroll ? 'block' : 'none'; + } else { + this.indicatorStyle.display = this.scroller.hasHorizontalScroll || this.scroller.hasVerticalScroll ? 'block' : 'none'; + } + + if ( this.scroller.hasHorizontalScroll && this.scroller.hasVerticalScroll ) { + utils.addClass(this.wrapper, 'iScrollBothScrollbars'); + utils.removeClass(this.wrapper, 'iScrollLoneScrollbar'); + + if ( this.options.defaultScrollbars && this.options.customStyle ) { + if ( this.options.listenX ) { + this.wrapper.style.right = '8px'; + } else { + this.wrapper.style.bottom = '8px'; + } + } + } else { + utils.removeClass(this.wrapper, 'iScrollBothScrollbars'); + utils.addClass(this.wrapper, 'iScrollLoneScrollbar'); + + if ( this.options.defaultScrollbars && this.options.customStyle ) { + if ( this.options.listenX ) { + this.wrapper.style.right = '2px'; + } else { + this.wrapper.style.bottom = '2px'; + } + } + } + + utils.getRect(this.wrapper); // force refresh + + if ( this.options.listenX ) { + this.wrapperWidth = this.wrapper.clientWidth; + if ( this.options.resize ) { + this.indicatorWidth = Math.max(Math.round(this.wrapperWidth * this.wrapperWidth / (this.scroller.scrollerWidth || this.wrapperWidth || 1)), 8); + this.indicatorStyle.width = this.indicatorWidth + 'px'; + } else { + this.indicatorWidth = this.indicator.clientWidth; + } + + this.maxPosX = this.wrapperWidth - this.indicatorWidth; + + if ( this.options.shrink == 'clip' ) { + this.minBoundaryX = -this.indicatorWidth + 8; + this.maxBoundaryX = this.wrapperWidth - 8; + } else { + this.minBoundaryX = 0; + this.maxBoundaryX = this.maxPosX; + } + + this.sizeRatioX = this.options.speedRatioX || (this.scroller.maxScrollX && (this.maxPosX / this.scroller.maxScrollX)); + } + + if ( this.options.listenY ) { + this.wrapperHeight = this.wrapper.clientHeight; + if ( this.options.resize ) { + this.indicatorHeight = Math.max(Math.round(this.wrapperHeight * this.wrapperHeight / (this.scroller.scrollerHeight || this.wrapperHeight || 1)), 8); + this.indicatorStyle.height = this.indicatorHeight + 'px'; + } else { + this.indicatorHeight = this.indicator.clientHeight; + } + + this.maxPosY = this.wrapperHeight - this.indicatorHeight; + + if ( this.options.shrink == 'clip' ) { + this.minBoundaryY = -this.indicatorHeight + 8; + this.maxBoundaryY = this.wrapperHeight - 8; + } else { + this.minBoundaryY = 0; + this.maxBoundaryY = this.maxPosY; + } + + this.maxPosY = this.wrapperHeight - this.indicatorHeight; + this.sizeRatioY = this.options.speedRatioY || (this.scroller.maxScrollY && (this.maxPosY / this.scroller.maxScrollY)); + } + + this.updatePosition(); + }, + + updatePosition: function () { + var x = this.options.listenX && Math.round(this.sizeRatioX * this.scroller.x) || 0, + y = this.options.listenY && Math.round(this.sizeRatioY * this.scroller.y) || 0; + + if ( !this.options.ignoreBoundaries ) { + if ( x < this.minBoundaryX ) { + if ( this.options.shrink == 'scale' ) { + this.width = Math.max(this.indicatorWidth + x, 8); + this.indicatorStyle.width = this.width + 'px'; + } + x = this.minBoundaryX; + } else if ( x > this.maxBoundaryX ) { + if ( this.options.shrink == 'scale' ) { + this.width = Math.max(this.indicatorWidth - (x - this.maxPosX), 8); + this.indicatorStyle.width = this.width + 'px'; + x = this.maxPosX + this.indicatorWidth - this.width; + } else { + x = this.maxBoundaryX; + } + } else if ( this.options.shrink == 'scale' && this.width != this.indicatorWidth ) { + this.width = this.indicatorWidth; + this.indicatorStyle.width = this.width + 'px'; + } + + if ( y < this.minBoundaryY ) { + if ( this.options.shrink == 'scale' ) { + this.height = Math.max(this.indicatorHeight + y * 3, 8); + this.indicatorStyle.height = this.height + 'px'; + } + y = this.minBoundaryY; + } else if ( y > this.maxBoundaryY ) { + if ( this.options.shrink == 'scale' ) { + this.height = Math.max(this.indicatorHeight - (y - this.maxPosY) * 3, 8); + this.indicatorStyle.height = this.height + 'px'; + y = this.maxPosY + this.indicatorHeight - this.height; + } else { + y = this.maxBoundaryY; + } + } else if ( this.options.shrink == 'scale' && this.height != this.indicatorHeight ) { + this.height = this.indicatorHeight; + this.indicatorStyle.height = this.height + 'px'; + } + } + + this.x = x; + this.y = y; + + if ( this.scroller.options.useTransform ) { + this.indicatorStyle[utils.style.transform] = 'translate(' + x + 'px,' + y + 'px)' + this.scroller.translateZ; + } else { + this.indicatorStyle.left = x + 'px'; + this.indicatorStyle.top = y + 'px'; + } + }, + + _pos: function (x, y) { + if ( x < 0 ) { + x = 0; + } else if ( x > this.maxPosX ) { + x = this.maxPosX; + } + + if ( y < 0 ) { + y = 0; + } else if ( y > this.maxPosY ) { + y = this.maxPosY; + } + + x = this.options.listenX ? Math.round(x / this.sizeRatioX) : this.scroller.x; + y = this.options.listenY ? Math.round(y / this.sizeRatioY) : this.scroller.y; + + this.scroller.scrollTo(x, y); + }, + + fade: function (val, hold) { + if ( hold && !this.visible ) { + return; + } + + clearTimeout(this.fadeTimeout); + this.fadeTimeout = null; + + var time = val ? 250 : 500, + delay = val ? 0 : 300; + + val = val ? '1' : '0'; + + this.wrapperStyle[utils.style.transitionDuration] = time + 'ms'; + + this.fadeTimeout = setTimeout((function (val) { + this.wrapperStyle.opacity = val; + this.visible = +val; + }).bind(this, val), delay); + } +}; + +IScroll.utils = utils; + +if ( typeof module != 'undefined' && module.exports ) { + module.exports = IScroll; +} else if ( typeof define == 'function' && define.amd ) { + define( function () { return IScroll; } ); +} else { + window.IScroll = IScroll; +} + +})(window, document, Math); diff --git a/common/js/jQueryExtend.js b/common/js/jQueryExtend.js new file mode 100644 index 0000000..5cd6a51 --- /dev/null +++ b/common/js/jQueryExtend.js @@ -0,0 +1,22 @@ +/** + * Created by raymondjack on 2019/1/18. + * jQuery extends function + */ +(function ($) { + jQuery.fn.extend({ + addEvent: function (type, handle, bool) { + var el,thisLen = this.length; + bool = bool ? bool : false; + if(thisLen == 1){ + el = this[0]; + el.addEventListener ? el.addEventListener(type,handle,bool):el.attachEvent('on' + type,handle); + }else{ + for(var i = 0;i < thisLen;i++){ + el = this[i]; + el.addEventListener ? el.addEventListener(type, handle, bool ): + el.attachEvent('on'+type, handle); + } + } + } + }); +})(jQuery); \ No newline at end of file diff --git a/common/js/jQueryRotate.js b/common/js/jQueryRotate.js new file mode 100644 index 0000000..bcea68b --- /dev/null +++ b/common/js/jQueryRotate.js @@ -0,0 +1,339 @@ +// VERSION: 2.3 LAST UPDATE: 11.07.2013 +/* + * Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php + * + * Made by Wilq32, wilq32@gmail.com, Wroclaw, Poland, 01.2009 + * Website: http://code.google.com/p/jqueryrotate/ + */ + +(function($) { + var supportedCSS,supportedCSSOrigin, styles=document.getElementsByTagName("head")[0].style,toCheck="transformProperty WebkitTransform OTransform msTransform MozTransform".split(" "); + for (var a = 0; a < toCheck.length; a++) if (styles[toCheck[a]] !== undefined) { supportedCSS = toCheck[a]; } + if (supportedCSS) { + supportedCSSOrigin = supportedCSS.replace(/[tT]ransform/,"TransformOrigin"); + if (supportedCSSOrigin[0] == "T") supportedCSSOrigin[0] = "t"; + } + + // Bad eval to preven google closure to remove it from code o_O + eval('IE = "v"=="\v"'); + + jQuery.fn.extend({ + rotate:function(parameters) + { + if (this.length===0||typeof parameters=="undefined") return; + if (typeof parameters=="number") parameters={angle:parameters}; + var returned=[]; + for (var i=0,i0=this.length;i this._parameters.duration; + + // TODO: Bug for animatedGif for static rotation ? (to test) + if (checkEnd && !this._parameters.animatedGif) + { + clearTimeout(this._timer); + } + else + { + if (this._canvas||this._vimage||this._img) { + var angle = this._parameters.easing(0, actualTime - this._animateStartTime, this._animateStartAngle, this._parameters.animateTo - this._animateStartAngle, this._parameters.duration); + this._rotate((~~(angle*10))/10); + } + if (this._parameters.step) { + this._parameters.step(this._angle); + } + var self = this; + this._timer = setTimeout(function() + { + self._animate.call(self); + }, 10); + } + + // To fix Bug that prevents using recursive function in callback I moved this function to back + if (this._parameters.callback && checkEnd){ + this._angle = this._parameters.animateTo; + this._rotate(this._angle); + this._parameters.callback.call(this._rootObj); + } + }, + + _rotate : (function() + { + var rad = Math.PI/180; + if (IE) + return function(angle) + { + this._angle = angle; + this._container.style.rotation=(angle%360)+"deg"; + this._vimage.style.top = -(this._rotationCenterY - this._imgHeight/2) + "px"; + this._vimage.style.left = -(this._rotationCenterX - this._imgWidth/2) + "px"; + this._container.style.top = this._rotationCenterY - this._imgHeight/2 + "px"; + this._container.style.left = this._rotationCenterX - this._imgWidth/2 + "px"; + + } + else if (supportedCSS) + return function(angle){ + this._angle = angle; + this._img.style[supportedCSS]="rotate("+(angle%360)+"deg)"; + this._img.style[supportedCSSOrigin]=this._parameters.center.join(" "); + } + else + return function(angle) + { + this._angle = angle; + angle=(angle%360)* rad; + // clear canvas + this._canvas.width = this._width;//+this._widthAdd; + this._canvas.height = this._height;//+this._heightAdd; + + // REMEMBER: all drawings are read from backwards.. so first function is translate, then rotate, then translate, translate.. + this._cnv.translate(this._imgWidth*this._aspectW,this._imgHeight*this._aspectH); // at least center image on screen + this._cnv.translate(this._rotationCenterX,this._rotationCenterY); // we move image back to its orginal + this._cnv.rotate(angle); // rotate image + this._cnv.translate(-this._rotationCenterX,-this._rotationCenterY); // move image to its center, so we can rotate around its center + this._cnv.scale(this._aspectW,this._aspectH); // SCALE - if needed ;) + this._cnv.drawImage(this._img, 0, 0); // First - we draw image + } + + })() + } + + if (IE) + { + Wilq32.PhotoEffect.prototype.createVMLNode=(function(){ + document.createStyleSheet().addRule(".rvml", "behavior:url(#default#VML)"); + try { + !document.namespaces.rvml && document.namespaces.add("rvml", "urn:schemas-microsoft-com:vml"); + return function (tagName) { + return document.createElement(''); + }; + } catch (e) { + return function (tagName) { + return document.createElement('<' + tagName + ' xmlns="urn:schemas-microsoft.com:vml" class="rvml">'); + }; + } + })(); + } + +})(jQuery); diff --git a/common/js/jquery-1.8.3.min.js b/common/js/jquery-1.8.3.min.js new file mode 100644 index 0000000..3883779 --- /dev/null +++ b/common/js/jquery-1.8.3.min.js @@ -0,0 +1,2 @@ +/*! jQuery v1.8.3 jquery.com | jquery.org/license */ +(function(e,t){function _(e){var t=M[e]={};return v.each(e.split(y),function(e,n){t[n]=!0}),t}function H(e,n,r){if(r===t&&e.nodeType===1){var i="data-"+n.replace(P,"-$1").toLowerCase();r=e.getAttribute(i);if(typeof r=="string"){try{r=r==="true"?!0:r==="false"?!1:r==="null"?null:+r+""===r?+r:D.test(r)?v.parseJSON(r):r}catch(s){}v.data(e,n,r)}else r=t}return r}function B(e){var t;for(t in e){if(t==="data"&&v.isEmptyObject(e[t]))continue;if(t!=="toJSON")return!1}return!0}function et(){return!1}function tt(){return!0}function ut(e){return!e||!e.parentNode||e.parentNode.nodeType===11}function at(e,t){do e=e[t];while(e&&e.nodeType!==1);return e}function ft(e,t,n){t=t||0;if(v.isFunction(t))return v.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return v.grep(e,function(e,r){return e===t===n});if(typeof t=="string"){var r=v.grep(e,function(e){return e.nodeType===1});if(it.test(t))return v.filter(t,r,!n);t=v.filter(t,r)}return v.grep(e,function(e,r){return v.inArray(e,t)>=0===n})}function lt(e){var t=ct.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function At(e,t){if(t.nodeType!==1||!v.hasData(e))return;var n,r,i,s=v._data(e),o=v._data(t,s),u=s.events;if(u){delete o.handle,o.events={};for(n in u)for(r=0,i=u[n].length;r").appendTo(i.body),n=t.css("display");t.remove();if(n==="none"||n===""){Pt=i.body.appendChild(Pt||v.extend(i.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!Ht||!Pt.createElement)Ht=(Pt.contentWindow||Pt.contentDocument).document,Ht.write(""),Ht.close();t=Ht.body.appendChild(Ht.createElement(e)),n=Dt(t,"display"),i.body.removeChild(Pt)}return Wt[e]=n,n}function fn(e,t,n,r){var i;if(v.isArray(t))v.each(t,function(t,i){n||sn.test(e)?r(e,i):fn(e+"["+(typeof i=="object"?t:"")+"]",i,n,r)});else if(!n&&v.type(t)==="object")for(i in t)fn(e+"["+i+"]",t[i],n,r);else r(e,t)}function Cn(e){return function(t,n){typeof t!="string"&&(n=t,t="*");var r,i,s,o=t.toLowerCase().split(y),u=0,a=o.length;if(v.isFunction(n))for(;u)[^>]*$|#([\w\-]*)$)/,E=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,S=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,T=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,N=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,C=/^-ms-/,k=/-([\da-z])/gi,L=function(e,t){return(t+"").toUpperCase()},A=function(){i.addEventListener?(i.removeEventListener("DOMContentLoaded",A,!1),v.ready()):i.readyState==="complete"&&(i.detachEvent("onreadystatechange",A),v.ready())},O={};v.fn=v.prototype={constructor:v,init:function(e,n,r){var s,o,u,a;if(!e)return this;if(e.nodeType)return this.context=this[0]=e,this.length=1,this;if(typeof e=="string"){e.charAt(0)==="<"&&e.charAt(e.length-1)===">"&&e.length>=3?s=[null,e,null]:s=w.exec(e);if(s&&(s[1]||!n)){if(s[1])return n=n instanceof v?n[0]:n,a=n&&n.nodeType?n.ownerDocument||n:i,e=v.parseHTML(s[1],a,!0),E.test(s[1])&&v.isPlainObject(n)&&this.attr.call(e,n,!0),v.merge(this,e);o=i.getElementById(s[2]);if(o&&o.parentNode){if(o.id!==s[2])return r.find(e);this.length=1,this[0]=o}return this.context=i,this.selector=e,this}return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e)}return v.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),v.makeArray(e,this))},selector:"",jquery:"1.8.3",length:0,size:function(){return this.length},toArray:function(){return l.call(this)},get:function(e){return e==null?this.toArray():e<0?this[this.length+e]:this[e]},pushStack:function(e,t,n){var r=v.merge(this.constructor(),e);return r.prevObject=this,r.context=this.context,t==="find"?r.selector=this.selector+(this.selector?" ":"")+n:t&&(r.selector=this.selector+"."+t+"("+n+")"),r},each:function(e,t){return v.each(this,e,t)},ready:function(e){return v.ready.promise().done(e),this},eq:function(e){return e=+e,e===-1?this.slice(e):this.slice(e,e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(l.apply(this,arguments),"slice",l.call(arguments).join(","))},map:function(e){return this.pushStack(v.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:[].sort,splice:[].splice},v.fn.init.prototype=v.fn,v.extend=v.fn.extend=function(){var e,n,r,i,s,o,u=arguments[0]||{},a=1,f=arguments.length,l=!1;typeof u=="boolean"&&(l=u,u=arguments[1]||{},a=2),typeof u!="object"&&!v.isFunction(u)&&(u={}),f===a&&(u=this,--a);for(;a0)return;r.resolveWith(i,[v]),v.fn.trigger&&v(i).trigger("ready").off("ready")},isFunction:function(e){return v.type(e)==="function"},isArray:Array.isArray||function(e){return v.type(e)==="array"},isWindow:function(e){return e!=null&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return e==null?String(e):O[h.call(e)]||"object"},isPlainObject:function(e){if(!e||v.type(e)!=="object"||e.nodeType||v.isWindow(e))return!1;try{if(e.constructor&&!p.call(e,"constructor")&&!p.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||p.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw new Error(e)},parseHTML:function(e,t,n){var r;return!e||typeof e!="string"?null:(typeof t=="boolean"&&(n=t,t=0),t=t||i,(r=E.exec(e))?[t.createElement(r[1])]:(r=v.buildFragment([e],t,n?null:[]),v.merge([],(r.cacheable?v.clone(r.fragment):r.fragment).childNodes)))},parseJSON:function(t){if(!t||typeof t!="string")return null;t=v.trim(t);if(e.JSON&&e.JSON.parse)return e.JSON.parse(t);if(S.test(t.replace(T,"@").replace(N,"]").replace(x,"")))return(new Function("return "+t))();v.error("Invalid JSON: "+t)},parseXML:function(n){var r,i;if(!n||typeof n!="string")return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(s){r=t}return(!r||!r.documentElement||r.getElementsByTagName("parsererror").length)&&v.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&g.test(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(C,"ms-").replace(k,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,n,r){var i,s=0,o=e.length,u=o===t||v.isFunction(e);if(r){if(u){for(i in e)if(n.apply(e[i],r)===!1)break}else for(;s0&&e[0]&&e[a-1]||a===0||v.isArray(e));if(f)for(;u-1)a.splice(n,1),i&&(n<=o&&o--,n<=u&&u--)}),this},has:function(e){return v.inArray(e,a)>-1},empty:function(){return a=[],this},disable:function(){return a=f=n=t,this},disabled:function(){return!a},lock:function(){return f=t,n||c.disable(),this},locked:function(){return!f},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],a&&(!r||f)&&(i?f.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},v.extend({Deferred:function(e){var t=[["resolve","done",v.Callbacks("once memory"),"resolved"],["reject","fail",v.Callbacks("once memory"),"rejected"],["notify","progress",v.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return v.Deferred(function(n){v.each(t,function(t,r){var s=r[0],o=e[t];i[r[1]](v.isFunction(o)?function(){var e=o.apply(this,arguments);e&&v.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+"With"](this===i?n:this,[e])}:n[s])}),e=null}).promise()},promise:function(e){return e!=null?v.extend(e,r):r}},i={};return r.pipe=r.then,v.each(t,function(e,s){var o=s[2],u=s[3];r[s[1]]=o.add,u&&o.add(function(){n=u},t[e^1][2].disable,t[2][2].lock),i[s[0]]=o.fire,i[s[0]+"With"]=o.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=l.call(arguments),r=n.length,i=r!==1||e&&v.isFunction(e.promise)?r:0,s=i===1?e:v.Deferred(),o=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?l.call(arguments):r,n===u?s.notifyWith(t,n):--i||s.resolveWith(t,n)}},u,a,f;if(r>1){u=new Array(r),a=new Array(r),f=new Array(r);for(;t
                                                a",n=p.getElementsByTagName("*"),r=p.getElementsByTagName("a")[0];if(!n||!r||!n.length)return{};s=i.createElement("select"),o=s.appendChild(i.createElement("option")),u=p.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:r.getAttribute("href")==="/a",opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:u.value==="on",optSelected:o.selected,getSetAttribute:p.className!=="t",enctype:!!i.createElement("form").enctype,html5Clone:i.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",boxModel:i.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},u.checked=!0,t.noCloneChecked=u.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!o.disabled;try{delete p.test}catch(d){t.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",h=function(){t.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick"),p.detachEvent("onclick",h)),u=i.createElement("input"),u.value="t",u.setAttribute("type","radio"),t.radioValue=u.value==="t",u.setAttribute("checked","checked"),u.setAttribute("name","t"),p.appendChild(u),a=i.createDocumentFragment(),a.appendChild(p.lastChild),t.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,t.appendChecked=u.checked,a.removeChild(u),a.appendChild(p);if(p.attachEvent)for(l in{submit:!0,change:!0,focusin:!0})f="on"+l,c=f in p,c||(p.setAttribute(f,"return;"),c=typeof p[f]=="function"),t[l+"Bubbles"]=c;return v(function(){var n,r,s,o,u="padding:0;margin:0;border:0;display:block;overflow:hidden;",a=i.getElementsByTagName("body")[0];if(!a)return;n=i.createElement("div"),n.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",a.insertBefore(n,a.firstChild),r=i.createElement("div"),n.appendChild(r),r.innerHTML="
                                                t
                                                ",s=r.getElementsByTagName("td"),s[0].style.cssText="padding:0;margin:0;border:0;display:none",c=s[0].offsetHeight===0,s[0].style.display="",s[1].style.display="none",t.reliableHiddenOffsets=c&&s[0].offsetHeight===0,r.innerHTML="",r.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=r.offsetWidth===4,t.doesNotIncludeMarginInBodyOffset=a.offsetTop!==1,e.getComputedStyle&&(t.pixelPosition=(e.getComputedStyle(r,null)||{}).top!=="1%",t.boxSizingReliable=(e.getComputedStyle(r,null)||{width:"4px"}).width==="4px",o=i.createElement("div"),o.style.cssText=r.style.cssText=u,o.style.marginRight=o.style.width="0",r.style.width="1px",r.appendChild(o),t.reliableMarginRight=!parseFloat((e.getComputedStyle(o,null)||{}).marginRight)),typeof r.style.zoom!="undefined"&&(r.innerHTML="",r.style.cssText=u+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=r.offsetWidth===3,r.style.display="block",r.style.overflow="visible",r.innerHTML="
                                                ",r.firstChild.style.width="5px",t.shrinkWrapBlocks=r.offsetWidth!==3,n.style.zoom=1),a.removeChild(n),n=r=s=o=null}),a.removeChild(p),n=r=s=o=u=a=p=null,t}();var D=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;v.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(v.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?v.cache[e[v.expando]]:e[v.expando],!!e&&!B(e)},data:function(e,n,r,i){if(!v.acceptData(e))return;var s,o,u=v.expando,a=typeof n=="string",f=e.nodeType,l=f?v.cache:e,c=f?e[u]:e[u]&&u;if((!c||!l[c]||!i&&!l[c].data)&&a&&r===t)return;c||(f?e[u]=c=v.deletedIds.pop()||v.guid++:c=u),l[c]||(l[c]={},f||(l[c].toJSON=v.noop));if(typeof n=="object"||typeof n=="function")i?l[c]=v.extend(l[c],n):l[c].data=v.extend(l[c].data,n);return s=l[c],i||(s.data||(s.data={}),s=s.data),r!==t&&(s[v.camelCase(n)]=r),a?(o=s[n],o==null&&(o=s[v.camelCase(n)])):o=s,o},removeData:function(e,t,n){if(!v.acceptData(e))return;var r,i,s,o=e.nodeType,u=o?v.cache:e,a=o?e[v.expando]:v.expando;if(!u[a])return;if(t){r=n?u[a]:u[a].data;if(r){v.isArray(t)||(t in r?t=[t]:(t=v.camelCase(t),t in r?t=[t]:t=t.split(" ")));for(i=0,s=t.length;i1,null,!1))},removeData:function(e){return this.each(function(){v.removeData(this,e)})}}),v.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=v._data(e,t),n&&(!r||v.isArray(n)?r=v._data(e,t,v.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=v.queue(e,t),r=n.length,i=n.shift(),s=v._queueHooks(e,t),o=function(){v.dequeue(e,t)};i==="inprogress"&&(i=n.shift(),r--),i&&(t==="fx"&&n.unshift("inprogress"),delete s.stop,i.call(e,o,s)),!r&&s&&s.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return v._data(e,n)||v._data(e,n,{empty:v.Callbacks("once memory").add(function(){v.removeData(e,t+"queue",!0),v.removeData(e,n,!0)})})}}),v.fn.extend({queue:function(e,n){var r=2;return typeof e!="string"&&(n=e,e="fx",r--),arguments.length1)},removeAttr:function(e){return this.each(function(){v.removeAttr(this,e)})},prop:function(e,t){return v.access(this,v.prop,e,t,arguments.length>1)},removeProp:function(e){return e=v.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,s,o,u;if(v.isFunction(e))return this.each(function(t){v(this).addClass(e.call(this,t,this.className))});if(e&&typeof e=="string"){t=e.split(y);for(n=0,r=this.length;n=0)r=r.replace(" "+n[s]+" "," ");i.className=e?v.trim(r):""}}}return this},toggleClass:function(e,t){var n=typeof e,r=typeof t=="boolean";return v.isFunction(e)?this.each(function(n){v(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if(n==="string"){var i,s=0,o=v(this),u=t,a=e.split(y);while(i=a[s++])u=r?u:!o.hasClass(i),o[u?"addClass":"removeClass"](i)}else if(n==="undefined"||n==="boolean")this.className&&v._data(this,"__className__",this.className),this.className=this.className||e===!1?"":v._data(this,"__className__")||""})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;n=0)return!0;return!1},val:function(e){var n,r,i,s=this[0];if(!arguments.length){if(s)return n=v.valHooks[s.type]||v.valHooks[s.nodeName.toLowerCase()],n&&"get"in n&&(r=n.get(s,"value"))!==t?r:(r=s.value,typeof r=="string"?r.replace(R,""):r==null?"":r);return}return i=v.isFunction(e),this.each(function(r){var s,o=v(this);if(this.nodeType!==1)return;i?s=e.call(this,r,o.val()):s=e,s==null?s="":typeof s=="number"?s+="":v.isArray(s)&&(s=v.map(s,function(e){return e==null?"":e+""})),n=v.valHooks[this.type]||v.valHooks[this.nodeName.toLowerCase()];if(!n||!("set"in n)||n.set(this,s,"value")===t)this.value=s})}}),v.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,s=e.type==="select-one"||i<0,o=s?null:[],u=s?i+1:r.length,a=i<0?u:s?i:0;for(;a=0}),n.length||(e.selectedIndex=-1),n}}},attrFn:{},attr:function(e,n,r,i){var s,o,u,a=e.nodeType;if(!e||a===3||a===8||a===2)return;if(i&&v.isFunction(v.fn[n]))return v(e)[n](r);if(typeof e.getAttribute=="undefined")return v.prop(e,n,r);u=a!==1||!v.isXMLDoc(e),u&&(n=n.toLowerCase(),o=v.attrHooks[n]||(X.test(n)?F:j));if(r!==t){if(r===null){v.removeAttr(e,n);return}return o&&"set"in o&&u&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r)}return o&&"get"in o&&u&&(s=o.get(e,n))!==null?s:(s=e.getAttribute(n),s===null?t:s)},removeAttr:function(e,t){var n,r,i,s,o=0;if(t&&e.nodeType===1){r=t.split(y);for(;o=0}})});var $=/^(?:textarea|input|select)$/i,J=/^([^\.]*|)(?:\.(.+)|)$/,K=/(?:^|\s)hover(\.\S+|)\b/,Q=/^key/,G=/^(?:mouse|contextmenu)|click/,Y=/^(?:focusinfocus|focusoutblur)$/,Z=function(e){return v.event.special.hover?e:e.replace(K,"mouseenter$1 mouseleave$1")};v.event={add:function(e,n,r,i,s){var o,u,a,f,l,c,h,p,d,m,g;if(e.nodeType===3||e.nodeType===8||!n||!r||!(o=v._data(e)))return;r.handler&&(d=r,r=d.handler,s=d.selector),r.guid||(r.guid=v.guid++),a=o.events,a||(o.events=a={}),u=o.handle,u||(o.handle=u=function(e){return typeof v=="undefined"||!!e&&v.event.triggered===e.type?t:v.event.dispatch.apply(u.elem,arguments)},u.elem=e),n=v.trim(Z(n)).split(" ");for(f=0;f=0&&(y=y.slice(0,-1),a=!0),y.indexOf(".")>=0&&(b=y.split("."),y=b.shift(),b.sort());if((!s||v.event.customEvent[y])&&!v.event.global[y])return;n=typeof n=="object"?n[v.expando]?n:new v.Event(y,n):new v.Event(y),n.type=y,n.isTrigger=!0,n.exclusive=a,n.namespace=b.join("."),n.namespace_re=n.namespace?new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,h=y.indexOf(":")<0?"on"+y:"";if(!s){u=v.cache;for(f in u)u[f].events&&u[f].events[y]&&v.event.trigger(n,r,u[f].handle.elem,!0);return}n.result=t,n.target||(n.target=s),r=r!=null?v.makeArray(r):[],r.unshift(n),p=v.event.special[y]||{};if(p.trigger&&p.trigger.apply(s,r)===!1)return;m=[[s,p.bindType||y]];if(!o&&!p.noBubble&&!v.isWindow(s)){g=p.delegateType||y,l=Y.test(g+y)?s:s.parentNode;for(c=s;l;l=l.parentNode)m.push([l,g]),c=l;c===(s.ownerDocument||i)&&m.push([c.defaultView||c.parentWindow||e,g])}for(f=0;f=0:v.find(h,this,null,[s]).length),u[h]&&f.push(c);f.length&&w.push({elem:s,matches:f})}d.length>m&&w.push({elem:this,matches:d.slice(m)});for(r=0;r0?this.on(t,null,e,n):this.trigger(t)},Q.test(t)&&(v.event.fixHooks[t]=v.event.keyHooks),G.test(t)&&(v.event.fixHooks[t]=v.event.mouseHooks)}),function(e,t){function nt(e,t,n,r){n=n||[],t=t||g;var i,s,a,f,l=t.nodeType;if(!e||typeof e!="string")return n;if(l!==1&&l!==9)return[];a=o(t);if(!a&&!r)if(i=R.exec(e))if(f=i[1]){if(l===9){s=t.getElementById(f);if(!s||!s.parentNode)return n;if(s.id===f)return n.push(s),n}else if(t.ownerDocument&&(s=t.ownerDocument.getElementById(f))&&u(t,s)&&s.id===f)return n.push(s),n}else{if(i[2])return S.apply(n,x.call(t.getElementsByTagName(e),0)),n;if((f=i[3])&&Z&&t.getElementsByClassName)return S.apply(n,x.call(t.getElementsByClassName(f),0)),n}return vt(e.replace(j,"$1"),t,n,r,a)}function rt(e){return function(t){var n=t.nodeName.toLowerCase();return n==="input"&&t.type===e}}function it(e){return function(t){var n=t.nodeName.toLowerCase();return(n==="input"||n==="button")&&t.type===e}}function st(e){return N(function(t){return t=+t,N(function(n,r){var i,s=e([],n.length,t),o=s.length;while(o--)n[i=s[o]]&&(n[i]=!(r[i]=n[i]))})})}function ot(e,t,n){if(e===t)return n;var r=e.nextSibling;while(r){if(r===t)return-1;r=r.nextSibling}return 1}function ut(e,t){var n,r,s,o,u,a,f,l=L[d][e+" "];if(l)return t?0:l.slice(0);u=e,a=[],f=i.preFilter;while(u){if(!n||(r=F.exec(u)))r&&(u=u.slice(r[0].length)||u),a.push(s=[]);n=!1;if(r=I.exec(u))s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=r[0].replace(j," ");for(o in i.filter)(r=J[o].exec(u))&&(!f[o]||(r=f[o](r)))&&(s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=o,n.matches=r);if(!n)break}return t?u.length:u?nt.error(e):L(e,a).slice(0)}function at(e,t,r){var i=t.dir,s=r&&t.dir==="parentNode",o=w++;return t.first?function(t,n,r){while(t=t[i])if(s||t.nodeType===1)return e(t,n,r)}:function(t,r,u){if(!u){var a,f=b+" "+o+" ",l=f+n;while(t=t[i])if(s||t.nodeType===1){if((a=t[d])===l)return t.sizset;if(typeof a=="string"&&a.indexOf(f)===0){if(t.sizset)return t}else{t[d]=l;if(e(t,r,u))return t.sizset=!0,t;t.sizset=!1}}}else while(t=t[i])if(s||t.nodeType===1)if(e(t,r,u))return t}}function ft(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function lt(e,t,n,r,i){var s,o=[],u=0,a=e.length,f=t!=null;for(;u-1&&(s[f]=!(o[f]=c))}}else g=lt(g===o?g.splice(d,g.length):g),i?i(null,o,g,a):S.apply(o,g)})}function ht(e){var t,n,r,s=e.length,o=i.relative[e[0].type],u=o||i.relative[" "],a=o?1:0,f=at(function(e){return e===t},u,!0),l=at(function(e){return T.call(t,e)>-1},u,!0),h=[function(e,n,r){return!o&&(r||n!==c)||((t=n).nodeType?f(e,n,r):l(e,n,r))}];for(;a1&&ft(h),a>1&&e.slice(0,a-1).join("").replace(j,"$1"),n,a0,s=e.length>0,o=function(u,a,f,l,h){var p,d,v,m=[],y=0,w="0",x=u&&[],T=h!=null,N=c,C=u||s&&i.find.TAG("*",h&&a.parentNode||a),k=b+=N==null?1:Math.E;T&&(c=a!==g&&a,n=o.el);for(;(p=C[w])!=null;w++){if(s&&p){for(d=0;v=e[d];d++)if(v(p,a,f)){l.push(p);break}T&&(b=k,n=++o.el)}r&&((p=!v&&p)&&y--,u&&x.push(p))}y+=w;if(r&&w!==y){for(d=0;v=t[d];d++)v(x,m,a,f);if(u){if(y>0)while(w--)!x[w]&&!m[w]&&(m[w]=E.call(l));m=lt(m)}S.apply(l,m),T&&!u&&m.length>0&&y+t.length>1&&nt.uniqueSort(l)}return T&&(b=k,c=N),x};return o.el=0,r?N(o):o}function dt(e,t,n){var r=0,i=t.length;for(;r2&&(f=u[0]).type==="ID"&&t.nodeType===9&&!s&&i.relative[u[1].type]){t=i.find.ID(f.matches[0].replace($,""),t,s)[0];if(!t)return n;e=e.slice(u.shift().length)}for(o=J.POS.test(e)?-1:u.length-1;o>=0;o--){f=u[o];if(i.relative[l=f.type])break;if(c=i.find[l])if(r=c(f.matches[0].replace($,""),z.test(u[0].type)&&t.parentNode||t,s)){u.splice(o,1),e=r.length&&u.join("");if(!e)return S.apply(n,x.call(r,0)),n;break}}}return a(e,h)(r,t,s,n,z.test(e)),n}function mt(){}var n,r,i,s,o,u,a,f,l,c,h=!0,p="undefined",d=("sizcache"+Math.random()).replace(".",""),m=String,g=e.document,y=g.documentElement,b=0,w=0,E=[].pop,S=[].push,x=[].slice,T=[].indexOf||function(e){var t=0,n=this.length;for(;ti.cacheLength&&delete e[t.shift()],e[n+" "]=r},e)},k=C(),L=C(),A=C(),O="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",_=M.replace("w","w#"),D="([*^$|!~]?=)",P="\\["+O+"*("+M+")"+O+"*(?:"+D+O+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+_+")|)|)"+O+"*\\]",H=":("+M+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+P+")|[^:]|\\\\.)*|.*))\\)|)",B=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+O+"*((?:-\\d)?\\d*)"+O+"*\\)|)(?=[^-]|$)",j=new RegExp("^"+O+"+|((?:^|[^\\\\])(?:\\\\.)*)"+O+"+$","g"),F=new RegExp("^"+O+"*,"+O+"*"),I=new RegExp("^"+O+"*([\\x20\\t\\r\\n\\f>+~])"+O+"*"),q=new RegExp(H),R=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,U=/^:not/,z=/[\x20\t\r\n\f]*[+~]/,W=/:not\($/,X=/h\d/i,V=/input|select|textarea|button/i,$=/\\(?!\\)/g,J={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),NAME:new RegExp("^\\[name=['\"]?("+M+")['\"]?\\]"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+H),POS:new RegExp(B,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+O+"*(even|odd|(([+-]|)(\\d*)n|)"+O+"*(?:([+-]|)"+O+"*(\\d+)|))"+O+"*\\)|)","i"),needsContext:new RegExp("^"+O+"*[>+~]|"+B,"i")},K=function(e){var t=g.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}},Q=K(function(e){return e.appendChild(g.createComment("")),!e.getElementsByTagName("*").length}),G=K(function(e){return e.innerHTML="",e.firstChild&&typeof e.firstChild.getAttribute!==p&&e.firstChild.getAttribute("href")==="#"}),Y=K(function(e){e.innerHTML="";var t=typeof e.lastChild.getAttribute("multiple");return t!=="boolean"&&t!=="string"}),Z=K(function(e){return e.innerHTML="",!e.getElementsByClassName||!e.getElementsByClassName("e").length?!1:(e.lastChild.className="e",e.getElementsByClassName("e").length===2)}),et=K(function(e){e.id=d+0,e.innerHTML="
                                                ",y.insertBefore(e,y.firstChild);var t=g.getElementsByName&&g.getElementsByName(d).length===2+g.getElementsByName(d+0).length;return r=!g.getElementById(d),y.removeChild(e),t});try{x.call(y.childNodes,0)[0].nodeType}catch(tt){x=function(e){var t,n=[];for(;t=this[e];e++)n.push(t);return n}}nt.matches=function(e,t){return nt(e,null,null,t)},nt.matchesSelector=function(e,t){return nt(t,null,null,[e]).length>0},s=nt.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(i===1||i===9||i===11){if(typeof e.textContent=="string")return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=s(e)}else if(i===3||i===4)return e.nodeValue}else for(;t=e[r];r++)n+=s(t);return n},o=nt.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?t.nodeName!=="HTML":!1},u=nt.contains=y.contains?function(e,t){var n=e.nodeType===9?e.documentElement:e,r=t&&t.parentNode;return e===r||!!(r&&r.nodeType===1&&n.contains&&n.contains(r))}:y.compareDocumentPosition?function(e,t){return t&&!!(e.compareDocumentPosition(t)&16)}:function(e,t){while(t=t.parentNode)if(t===e)return!0;return!1},nt.attr=function(e,t){var n,r=o(e);return r||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):r||Y?e.getAttribute(t):(n=e.getAttributeNode(t),n?typeof e[t]=="boolean"?e[t]?t:null:n.specified?n.value:null:null)},i=nt.selectors={cacheLength:50,createPseudo:N,match:J,attrHandle:G?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},find:{ID:r?function(e,t,n){if(typeof t.getElementById!==p&&!n){var r=t.getElementById(e);return r&&r.parentNode?[r]:[]}}:function(e,n,r){if(typeof n.getElementById!==p&&!r){var i=n.getElementById(e);return i?i.id===e||typeof i.getAttributeNode!==p&&i.getAttributeNode("id").value===e?[i]:t:[]}},TAG:Q?function(e,t){if(typeof t.getElementsByTagName!==p)return t.getElementsByTagName(e)}:function(e,t){var n=t.getElementsByTagName(e);if(e==="*"){var r,i=[],s=0;for(;r=n[s];s++)r.nodeType===1&&i.push(r);return i}return n},NAME:et&&function(e,t){if(typeof t.getElementsByName!==p)return t.getElementsByName(name)},CLASS:Z&&function(e,t,n){if(typeof t.getElementsByClassName!==p&&!n)return t.getElementsByClassName(e)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace($,""),e[3]=(e[4]||e[5]||"").replace($,""),e[2]==="~="&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),e[1]==="nth"?(e[2]||nt.error(e[0]),e[3]=+(e[3]?e[4]+(e[5]||1):2*(e[2]==="even"||e[2]==="odd")),e[4]=+(e[6]+e[7]||e[2]==="odd")):e[2]&&nt.error(e[0]),e},PSEUDO:function(e){var t,n;if(J.CHILD.test(e[0]))return null;if(e[3])e[2]=e[3];else if(t=e[4])q.test(t)&&(n=ut(t,!0))&&(n=t.indexOf(")",t.length-n)-t.length)&&(t=t.slice(0,n),e[0]=e[0].slice(0,n)),e[2]=t;return e.slice(0,3)}},filter:{ID:r?function(e){return e=e.replace($,""),function(t){return t.getAttribute("id")===e}}:function(e){return e=e.replace($,""),function(t){var n=typeof t.getAttributeNode!==p&&t.getAttributeNode("id");return n&&n.value===e}},TAG:function(e){return e==="*"?function(){return!0}:(e=e.replace($,"").toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[d][e+" "];return t||(t=new RegExp("(^|"+O+")"+e+"("+O+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==p&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r,i){var s=nt.attr(r,e);return s==null?t==="!=":t?(s+="",t==="="?s===n:t==="!="?s!==n:t==="^="?n&&s.indexOf(n)===0:t==="*="?n&&s.indexOf(n)>-1:t==="$="?n&&s.substr(s.length-n.length)===n:t==="~="?(" "+s+" ").indexOf(n)>-1:t==="|="?s===n||s.substr(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r){return e==="nth"?function(e){var t,i,s=e.parentNode;if(n===1&&r===0)return!0;if(s){i=0;for(t=s.firstChild;t;t=t.nextSibling)if(t.nodeType===1){i++;if(e===t)break}}return i-=r,i===n||i%n===0&&i/n>=0}:function(t){var n=t;switch(e){case"only":case"first":while(n=n.previousSibling)if(n.nodeType===1)return!1;if(e==="first")return!0;n=t;case"last":while(n=n.nextSibling)if(n.nodeType===1)return!1;return!0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||nt.error("unsupported pseudo: "+e);return r[d]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?N(function(e,n){var i,s=r(e,t),o=s.length;while(o--)i=T.call(e,s[o]),e[i]=!(n[i]=s[o])}):function(e){return r(e,0,n)}):r}},pseudos:{not:N(function(e){var t=[],n=[],r=a(e.replace(j,"$1"));return r[d]?N(function(e,t,n,i){var s,o=r(e,null,i,[]),u=e.length;while(u--)if(s=o[u])e[u]=!(t[u]=s)}):function(e,i,s){return t[0]=e,r(t,null,s,n),!n.pop()}}),has:N(function(e){return function(t){return nt(e,t).length>0}}),contains:N(function(e){return function(t){return(t.textContent||t.innerText||s(t)).indexOf(e)>-1}}),enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&!!e.checked||t==="option"&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},parent:function(e){return!i.pseudos.empty(e)},empty:function(e){var t;e=e.firstChild;while(e){if(e.nodeName>"@"||(t=e.nodeType)===3||t===4)return!1;e=e.nextSibling}return!0},header:function(e){return X.test(e.nodeName)},text:function(e){var t,n;return e.nodeName.toLowerCase()==="input"&&(t=e.type)==="text"&&((n=e.getAttribute("type"))==null||n.toLowerCase()===t)},radio:rt("radio"),checkbox:rt("checkbox"),file:rt("file"),password:rt("password"),image:rt("image"),submit:it("submit"),reset:it("reset"),button:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&e.type==="button"||t==="button"},input:function(e){return V.test(e.nodeName)},focus:function(e){var t=e.ownerDocument;return e===t.activeElement&&(!t.hasFocus||t.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},active:function(e){return e===e.ownerDocument.activeElement},first:st(function(){return[0]}),last:st(function(e,t){return[t-1]}),eq:st(function(e,t,n){return[n<0?n+t:n]}),even:st(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:st(function(e,t,n){for(var r=n<0?n+t:n;++r",e.querySelectorAll("[selected]").length||i.push("\\["+O+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||i.push(":checked")}),K(function(e){e.innerHTML="

                                                ",e.querySelectorAll("[test^='']").length&&i.push("[*^$]="+O+"*(?:\"\"|'')"),e.innerHTML="",e.querySelectorAll(":enabled").length||i.push(":enabled",":disabled")}),i=new RegExp(i.join("|")),vt=function(e,r,s,o,u){if(!o&&!u&&!i.test(e)){var a,f,l=!0,c=d,h=r,p=r.nodeType===9&&e;if(r.nodeType===1&&r.nodeName.toLowerCase()!=="object"){a=ut(e),(l=r.getAttribute("id"))?c=l.replace(n,"\\$&"):r.setAttribute("id",c),c="[id='"+c+"'] ",f=a.length;while(f--)a[f]=c+a[f].join("");h=z.test(e)&&r.parentNode||r,p=a.join(",")}if(p)try{return S.apply(s,x.call(h.querySelectorAll(p),0)),s}catch(v){}finally{l||r.removeAttribute("id")}}return t(e,r,s,o,u)},u&&(K(function(t){e=u.call(t,"div");try{u.call(t,"[test!='']:sizzle"),s.push("!=",H)}catch(n){}}),s=new RegExp(s.join("|")),nt.matchesSelector=function(t,n){n=n.replace(r,"='$1']");if(!o(t)&&!s.test(n)&&!i.test(n))try{var a=u.call(t,n);if(a||e||t.document&&t.document.nodeType!==11)return a}catch(f){}return nt(n,null,null,[t]).length>0})}(),i.pseudos.nth=i.pseudos.eq,i.filters=mt.prototype=i.pseudos,i.setFilters=new mt,nt.attr=v.attr,v.find=nt,v.expr=nt.selectors,v.expr[":"]=v.expr.pseudos,v.unique=nt.uniqueSort,v.text=nt.getText,v.isXMLDoc=nt.isXML,v.contains=nt.contains}(e);var nt=/Until$/,rt=/^(?:parents|prev(?:Until|All))/,it=/^.[^:#\[\.,]*$/,st=v.expr.match.needsContext,ot={children:!0,contents:!0,next:!0,prev:!0};v.fn.extend({find:function(e){var t,n,r,i,s,o,u=this;if(typeof e!="string")return v(e).filter(function(){for(t=0,n=u.length;t0)for(i=r;i=0:v.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,s=[],o=st.test(e)||typeof e!="string"?v(e,t||this.context):0;for(;r-1:v.find.matchesSelector(n,e)){s.push(n);break}n=n.parentNode}}return s=s.length>1?v.unique(s):s,this.pushStack(s,"closest",e)},index:function(e){return e?typeof e=="string"?v.inArray(this[0],v(e)):v.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(e,t){var n=typeof e=="string"?v(e,t):v.makeArray(e&&e.nodeType?[e]:e),r=v.merge(this.get(),n);return this.pushStack(ut(n[0])||ut(r[0])?r:v.unique(r))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}}),v.fn.andSelf=v.fn.addBack,v.each({parent:function(e){var t=e.parentNode;return t&&t.nodeType!==11?t:null},parents:function(e){return v.dir(e,"parentNode")},parentsUntil:function(e,t,n){return v.dir(e,"parentNode",n)},next:function(e){return at(e,"nextSibling")},prev:function(e){return at(e,"previousSibling")},nextAll:function(e){return v.dir(e,"nextSibling")},prevAll:function(e){return v.dir(e,"previousSibling")},nextUntil:function(e,t,n){return v.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return v.dir(e,"previousSibling",n)},siblings:function(e){return v.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return v.sibling(e.firstChild)},contents:function(e){return v.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:v.merge([],e.childNodes)}},function(e,t){v.fn[e]=function(n,r){var i=v.map(this,t,n);return nt.test(e)||(r=n),r&&typeof r=="string"&&(i=v.filter(r,i)),i=this.length>1&&!ot[e]?v.unique(i):i,this.length>1&&rt.test(e)&&(i=i.reverse()),this.pushStack(i,e,l.call(arguments).join(","))}}),v.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),t.length===1?v.find.matchesSelector(t[0],e)?[t[0]]:[]:v.find.matches(e,t)},dir:function(e,n,r){var i=[],s=e[n];while(s&&s.nodeType!==9&&(r===t||s.nodeType!==1||!v(s).is(r)))s.nodeType===1&&i.push(s),s=s[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)e.nodeType===1&&e!==t&&n.push(e);return n}});var ct="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ht=/ jQuery\d+="(?:null|\d+)"/g,pt=/^\s+/,dt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,vt=/<([\w:]+)/,mt=/]","i"),Et=/^(?:checkbox|radio)$/,St=/checked\s*(?:[^=]|=\s*.checked.)/i,xt=/\/(java|ecma)script/i,Tt=/^\s*\s*$/g,Nt={option:[1,""],legend:[1,"
                                                ","
                                                "],thead:[1,"","
                                                "],tr:[2,"","
                                                "],td:[3,"","
                                                "],col:[2,"","
                                                "],area:[1,"",""],_default:[0,"",""]},Ct=lt(i),kt=Ct.appendChild(i.createElement("div"));Nt.optgroup=Nt.option,Nt.tbody=Nt.tfoot=Nt.colgroup=Nt.caption=Nt.thead,Nt.th=Nt.td,v.support.htmlSerialize||(Nt._default=[1,"X
                                                ","
                                                "]),v.fn.extend({text:function(e){return v.access(this,function(e){return e===t?v.text(this):this.empty().append((this[0]&&this[0].ownerDocument||i).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(v.isFunction(e))return this.each(function(t){v(this).wrapAll(e.call(this,t))});if(this[0]){var t=v(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&e.firstChild.nodeType===1)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return v.isFunction(e)?this.each(function(t){v(this).wrapInner(e.call(this,t))}):this.each(function(){var t=v(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=v.isFunction(e);return this.each(function(n){v(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){v.nodeName(this,"body")||v(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(e,this.firstChild)})},before:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(e,this),"before",this.selector)}},after:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this.nextSibling)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(this,e),"after",this.selector)}},remove:function(e,t){var n,r=0;for(;(n=this[r])!=null;r++)if(!e||v.filter(e,[n]).length)!t&&n.nodeType===1&&(v.cleanData(n.getElementsByTagName("*")),v.cleanData([n])),n.parentNode&&n.parentNode.removeChild(n);return this},empty:function(){var e,t=0;for(;(e=this[t])!=null;t++){e.nodeType===1&&v.cleanData(e.getElementsByTagName("*"));while(e.firstChild)e.removeChild(e.firstChild)}return this},clone:function(e,t){return e=e==null?!1:e,t=t==null?e:t,this.map(function(){return v.clone(this,e,t)})},html:function(e){return v.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return n.nodeType===1?n.innerHTML.replace(ht,""):t;if(typeof e=="string"&&!yt.test(e)&&(v.support.htmlSerialize||!wt.test(e))&&(v.support.leadingWhitespace||!pt.test(e))&&!Nt[(vt.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(dt,"<$1>");try{for(;r1&&typeof f=="string"&&St.test(f))return this.each(function(){v(this).domManip(e,n,r)});if(v.isFunction(f))return this.each(function(i){var s=v(this);e[0]=f.call(this,i,n?s.html():t),s.domManip(e,n,r)});if(this[0]){i=v.buildFragment(e,this,l),o=i.fragment,s=o.firstChild,o.childNodes.length===1&&(o=s);if(s){n=n&&v.nodeName(s,"tr");for(u=i.cacheable||c-1;a0?this.clone(!0):this).get(),v(o[i])[t](r),s=s.concat(r);return this.pushStack(s,e,o.selector)}}),v.extend({clone:function(e,t,n){var r,i,s,o;v.support.html5Clone||v.isXMLDoc(e)||!wt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(kt.innerHTML=e.outerHTML,kt.removeChild(o=kt.firstChild));if((!v.support.noCloneEvent||!v.support.noCloneChecked)&&(e.nodeType===1||e.nodeType===11)&&!v.isXMLDoc(e)){Ot(e,o),r=Mt(e),i=Mt(o);for(s=0;r[s];++s)i[s]&&Ot(r[s],i[s])}if(t){At(e,o);if(n){r=Mt(e),i=Mt(o);for(s=0;r[s];++s)At(r[s],i[s])}}return r=i=null,o},clean:function(e,t,n,r){var s,o,u,a,f,l,c,h,p,d,m,g,y=t===i&&Ct,b=[];if(!t||typeof t.createDocumentFragment=="undefined")t=i;for(s=0;(u=e[s])!=null;s++){typeof u=="number"&&(u+="");if(!u)continue;if(typeof u=="string")if(!gt.test(u))u=t.createTextNode(u);else{y=y||lt(t),c=t.createElement("div"),y.appendChild(c),u=u.replace(dt,"<$1>"),a=(vt.exec(u)||["",""])[1].toLowerCase(),f=Nt[a]||Nt._default,l=f[0],c.innerHTML=f[1]+u+f[2];while(l--)c=c.lastChild;if(!v.support.tbody){h=mt.test(u),p=a==="table"&&!h?c.firstChild&&c.firstChild.childNodes:f[1]===""&&!h?c.childNodes:[];for(o=p.length-1;o>=0;--o)v.nodeName(p[o],"tbody")&&!p[o].childNodes.length&&p[o].parentNode.removeChild(p[o])}!v.support.leadingWhitespace&&pt.test(u)&&c.insertBefore(t.createTextNode(pt.exec(u)[0]),c.firstChild),u=c.childNodes,c.parentNode.removeChild(c)}u.nodeType?b.push(u):v.merge(b,u)}c&&(u=c=y=null);if(!v.support.appendChecked)for(s=0;(u=b[s])!=null;s++)v.nodeName(u,"input")?_t(u):typeof u.getElementsByTagName!="undefined"&&v.grep(u.getElementsByTagName("input"),_t);if(n){m=function(e){if(!e.type||xt.test(e.type))return r?r.push(e.parentNode?e.parentNode.removeChild(e):e):n.appendChild(e)};for(s=0;(u=b[s])!=null;s++)if(!v.nodeName(u,"script")||!m(u))n.appendChild(u),typeof u.getElementsByTagName!="undefined"&&(g=v.grep(v.merge([],u.getElementsByTagName("script")),m),b.splice.apply(b,[s+1,0].concat(g)),s+=g.length)}return b},cleanData:function(e,t){var n,r,i,s,o=0,u=v.expando,a=v.cache,f=v.support.deleteExpando,l=v.event.special;for(;(i=e[o])!=null;o++)if(t||v.acceptData(i)){r=i[u],n=r&&a[r];if(n){if(n.events)for(s in n.events)l[s]?v.event.remove(i,s):v.removeEvent(i,s,n.handle);a[r]&&(delete a[r],f?delete i[u]:i.removeAttribute?i.removeAttribute(u):i[u]=null,v.deletedIds.push(r))}}}}),function(){var e,t;v.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e=v.uaMatch(o.userAgent),t={},e.browser&&(t[e.browser]=!0,t.version=e.version),t.chrome?t.webkit=!0:t.webkit&&(t.safari=!0),v.browser=t,v.sub=function(){function e(t,n){return new e.fn.init(t,n)}v.extend(!0,e,this),e.superclass=this,e.fn=e.prototype=this(),e.fn.constructor=e,e.sub=this.sub,e.fn.init=function(r,i){return i&&i instanceof v&&!(i instanceof e)&&(i=e(i)),v.fn.init.call(this,r,i,t)},e.fn.init.prototype=e.fn;var t=e(i);return e}}();var Dt,Pt,Ht,Bt=/alpha\([^)]*\)/i,jt=/opacity=([^)]*)/,Ft=/^(top|right|bottom|left)$/,It=/^(none|table(?!-c[ea]).+)/,qt=/^margin/,Rt=new RegExp("^("+m+")(.*)$","i"),Ut=new RegExp("^("+m+")(?!px)[a-z%]+$","i"),zt=new RegExp("^([-+])=("+m+")","i"),Wt={BODY:"block"},Xt={position:"absolute",visibility:"hidden",display:"block"},Vt={letterSpacing:0,fontWeight:400},$t=["Top","Right","Bottom","Left"],Jt=["Webkit","O","Moz","ms"],Kt=v.fn.toggle;v.fn.extend({css:function(e,n){return v.access(this,function(e,n,r){return r!==t?v.style(e,n,r):v.css(e,n)},e,n,arguments.length>1)},show:function(){return Yt(this,!0)},hide:function(){return Yt(this)},toggle:function(e,t){var n=typeof e=="boolean";return v.isFunction(e)&&v.isFunction(t)?Kt.apply(this,arguments):this.each(function(){(n?e:Gt(this))?v(this).show():v(this).hide()})}}),v.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Dt(e,"opacity");return n===""?"1":n}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":v.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(!e||e.nodeType===3||e.nodeType===8||!e.style)return;var s,o,u,a=v.camelCase(n),f=e.style;n=v.cssProps[a]||(v.cssProps[a]=Qt(f,a)),u=v.cssHooks[n]||v.cssHooks[a];if(r===t)return u&&"get"in u&&(s=u.get(e,!1,i))!==t?s:f[n];o=typeof r,o==="string"&&(s=zt.exec(r))&&(r=(s[1]+1)*s[2]+parseFloat(v.css(e,n)),o="number");if(r==null||o==="number"&&isNaN(r))return;o==="number"&&!v.cssNumber[a]&&(r+="px");if(!u||!("set"in u)||(r=u.set(e,r,i))!==t)try{f[n]=r}catch(l){}},css:function(e,n,r,i){var s,o,u,a=v.camelCase(n);return n=v.cssProps[a]||(v.cssProps[a]=Qt(e.style,a)),u=v.cssHooks[n]||v.cssHooks[a],u&&"get"in u&&(s=u.get(e,!0,i)),s===t&&(s=Dt(e,n)),s==="normal"&&n in Vt&&(s=Vt[n]),r||i!==t?(o=parseFloat(s),r||v.isNumeric(o)?o||0:s):s},swap:function(e,t,n){var r,i,s={};for(i in t)s[i]=e.style[i],e.style[i]=t[i];r=n.call(e);for(i in t)e.style[i]=s[i];return r}}),e.getComputedStyle?Dt=function(t,n){var r,i,s,o,u=e.getComputedStyle(t,null),a=t.style;return u&&(r=u.getPropertyValue(n)||u[n],r===""&&!v.contains(t.ownerDocument,t)&&(r=v.style(t,n)),Ut.test(r)&&qt.test(n)&&(i=a.width,s=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=r,r=u.width,a.width=i,a.minWidth=s,a.maxWidth=o)),r}:i.documentElement.currentStyle&&(Dt=function(e,t){var n,r,i=e.currentStyle&&e.currentStyle[t],s=e.style;return i==null&&s&&s[t]&&(i=s[t]),Ut.test(i)&&!Ft.test(t)&&(n=s.left,r=e.runtimeStyle&&e.runtimeStyle.left,r&&(e.runtimeStyle.left=e.currentStyle.left),s.left=t==="fontSize"?"1em":i,i=s.pixelLeft+"px",s.left=n,r&&(e.runtimeStyle.left=r)),i===""?"auto":i}),v.each(["height","width"],function(e,t){v.cssHooks[t]={get:function(e,n,r){if(n)return e.offsetWidth===0&&It.test(Dt(e,"display"))?v.swap(e,Xt,function(){return tn(e,t,r)}):tn(e,t,r)},set:function(e,n,r){return Zt(e,n,r?en(e,t,r,v.support.boxSizing&&v.css(e,"boxSizing")==="border-box"):0)}}}),v.support.opacity||(v.cssHooks.opacity={get:function(e,t){return jt.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=v.isNumeric(t)?"alpha(opacity="+t*100+")":"",s=r&&r.filter||n.filter||"";n.zoom=1;if(t>=1&&v.trim(s.replace(Bt,""))===""&&n.removeAttribute){n.removeAttribute("filter");if(r&&!r.filter)return}n.filter=Bt.test(s)?s.replace(Bt,i):s+" "+i}}),v(function(){v.support.reliableMarginRight||(v.cssHooks.marginRight={get:function(e,t){return v.swap(e,{display:"inline-block"},function(){if(t)return Dt(e,"marginRight")})}}),!v.support.pixelPosition&&v.fn.position&&v.each(["top","left"],function(e,t){v.cssHooks[t]={get:function(e,n){if(n){var r=Dt(e,t);return Ut.test(r)?v(e).position()[t]+"px":r}}}})}),v.expr&&v.expr.filters&&(v.expr.filters.hidden=function(e){return e.offsetWidth===0&&e.offsetHeight===0||!v.support.reliableHiddenOffsets&&(e.style&&e.style.display||Dt(e,"display"))==="none"},v.expr.filters.visible=function(e){return!v.expr.filters.hidden(e)}),v.each({margin:"",padding:"",border:"Width"},function(e,t){v.cssHooks[e+t]={expand:function(n){var r,i=typeof n=="string"?n.split(" "):[n],s={};for(r=0;r<4;r++)s[e+$t[r]+t]=i[r]||i[r-2]||i[0];return s}},qt.test(e)||(v.cssHooks[e+t].set=Zt)});var rn=/%20/g,sn=/\[\]$/,on=/\r?\n/g,un=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,an=/^(?:select|textarea)/i;v.fn.extend({serialize:function(){return v.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?v.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||an.test(this.nodeName)||un.test(this.type))}).map(function(e,t){var n=v(this).val();return n==null?null:v.isArray(n)?v.map(n,function(e,n){return{name:t.name,value:e.replace(on,"\r\n")}}):{name:t.name,value:n.replace(on,"\r\n")}}).get()}}),v.param=function(e,n){var r,i=[],s=function(e,t){t=v.isFunction(t)?t():t==null?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};n===t&&(n=v.ajaxSettings&&v.ajaxSettings.traditional);if(v.isArray(e)||e.jquery&&!v.isPlainObject(e))v.each(e,function(){s(this.name,this.value)});else for(r in e)fn(r,e[r],n,s);return i.join("&").replace(rn,"+")};var ln,cn,hn=/#.*$/,pn=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,dn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,vn=/^(?:GET|HEAD)$/,mn=/^\/\//,gn=/\?/,yn=/)<[^<]*)*<\/script>/gi,bn=/([?&])_=[^&]*/,wn=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,En=v.fn.load,Sn={},xn={},Tn=["*/"]+["*"];try{cn=s.href}catch(Nn){cn=i.createElement("a"),cn.href="",cn=cn.href}ln=wn.exec(cn.toLowerCase())||[],v.fn.load=function(e,n,r){if(typeof e!="string"&&En)return En.apply(this,arguments);if(!this.length)return this;var i,s,o,u=this,a=e.indexOf(" ");return a>=0&&(i=e.slice(a,e.length),e=e.slice(0,a)),v.isFunction(n)?(r=n,n=t):n&&typeof n=="object"&&(s="POST"),v.ajax({url:e,type:s,dataType:"html",data:n,complete:function(e,t){r&&u.each(r,o||[e.responseText,t,e])}}).done(function(e){o=arguments,u.html(i?v("
                                                ").append(e.replace(yn,"")).find(i):e)}),this},v.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,t){v.fn[t]=function(e){return this.on(t,e)}}),v.each(["get","post"],function(e,n){v[n]=function(e,r,i,s){return v.isFunction(r)&&(s=s||i,i=r,r=t),v.ajax({type:n,url:e,data:r,success:i,dataType:s})}}),v.extend({getScript:function(e,n){return v.get(e,t,n,"script")},getJSON:function(e,t,n){return v.get(e,t,n,"json")},ajaxSetup:function(e,t){return t?Ln(e,v.ajaxSettings):(t=e,e=v.ajaxSettings),Ln(e,t),e},ajaxSettings:{url:cn,isLocal:dn.test(ln[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":Tn},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":v.parseJSON,"text xml":v.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:Cn(Sn),ajaxTransport:Cn(xn),ajax:function(e,n){function T(e,n,s,a){var l,y,b,w,S,T=n;if(E===2)return;E=2,u&&clearTimeout(u),o=t,i=a||"",x.readyState=e>0?4:0,s&&(w=An(c,x,s));if(e>=200&&e<300||e===304)c.ifModified&&(S=x.getResponseHeader("Last-Modified"),S&&(v.lastModified[r]=S),S=x.getResponseHeader("Etag"),S&&(v.etag[r]=S)),e===304?(T="notmodified",l=!0):(l=On(c,w),T=l.state,y=l.data,b=l.error,l=!b);else{b=T;if(!T||e)T="error",e<0&&(e=0)}x.status=e,x.statusText=(n||T)+"",l?d.resolveWith(h,[y,T,x]):d.rejectWith(h,[x,T,b]),x.statusCode(g),g=t,f&&p.trigger("ajax"+(l?"Success":"Error"),[x,c,l?y:b]),m.fireWith(h,[x,T]),f&&(p.trigger("ajaxComplete",[x,c]),--v.active||v.event.trigger("ajaxStop"))}typeof e=="object"&&(n=e,e=t),n=n||{};var r,i,s,o,u,a,f,l,c=v.ajaxSetup({},n),h=c.context||c,p=h!==c&&(h.nodeType||h instanceof v)?v(h):v.event,d=v.Deferred(),m=v.Callbacks("once memory"),g=c.statusCode||{},b={},w={},E=0,S="canceled",x={readyState:0,setRequestHeader:function(e,t){if(!E){var n=e.toLowerCase();e=w[n]=w[n]||e,b[e]=t}return this},getAllResponseHeaders:function(){return E===2?i:null},getResponseHeader:function(e){var n;if(E===2){if(!s){s={};while(n=pn.exec(i))s[n[1].toLowerCase()]=n[2]}n=s[e.toLowerCase()]}return n===t?null:n},overrideMimeType:function(e){return E||(c.mimeType=e),this},abort:function(e){return e=e||S,o&&o.abort(e),T(0,e),this}};d.promise(x),x.success=x.done,x.error=x.fail,x.complete=m.add,x.statusCode=function(e){if(e){var t;if(E<2)for(t in e)g[t]=[g[t],e[t]];else t=e[x.status],x.always(t)}return this},c.url=((e||c.url)+"").replace(hn,"").replace(mn,ln[1]+"//"),c.dataTypes=v.trim(c.dataType||"*").toLowerCase().split(y),c.crossDomain==null&&(a=wn.exec(c.url.toLowerCase()),c.crossDomain=!(!a||a[1]===ln[1]&&a[2]===ln[2]&&(a[3]||(a[1]==="http:"?80:443))==(ln[3]||(ln[1]==="http:"?80:443)))),c.data&&c.processData&&typeof c.data!="string"&&(c.data=v.param(c.data,c.traditional)),kn(Sn,c,n,x);if(E===2)return x;f=c.global,c.type=c.type.toUpperCase(),c.hasContent=!vn.test(c.type),f&&v.active++===0&&v.event.trigger("ajaxStart");if(!c.hasContent){c.data&&(c.url+=(gn.test(c.url)?"&":"?")+c.data,delete c.data),r=c.url;if(c.cache===!1){var N=v.now(),C=c.url.replace(bn,"$1_="+N);c.url=C+(C===c.url?(gn.test(c.url)?"&":"?")+"_="+N:"")}}(c.data&&c.hasContent&&c.contentType!==!1||n.contentType)&&x.setRequestHeader("Content-Type",c.contentType),c.ifModified&&(r=r||c.url,v.lastModified[r]&&x.setRequestHeader("If-Modified-Since",v.lastModified[r]),v.etag[r]&&x.setRequestHeader("If-None-Match",v.etag[r])),x.setRequestHeader("Accept",c.dataTypes[0]&&c.accepts[c.dataTypes[0]]?c.accepts[c.dataTypes[0]]+(c.dataTypes[0]!=="*"?", "+Tn+"; q=0.01":""):c.accepts["*"]);for(l in c.headers)x.setRequestHeader(l,c.headers[l]);if(!c.beforeSend||c.beforeSend.call(h,x,c)!==!1&&E!==2){S="abort";for(l in{success:1,error:1,complete:1})x[l](c[l]);o=kn(xn,c,n,x);if(!o)T(-1,"No Transport");else{x.readyState=1,f&&p.trigger("ajaxSend",[x,c]),c.async&&c.timeout>0&&(u=setTimeout(function(){x.abort("timeout")},c.timeout));try{E=1,o.send(b,T)}catch(k){if(!(E<2))throw k;T(-1,k)}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var Mn=[],_n=/\?/,Dn=/(=)\?(?=&|$)|\?\?/,Pn=v.now();v.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Mn.pop()||v.expando+"_"+Pn++;return this[e]=!0,e}}),v.ajaxPrefilter("json jsonp",function(n,r,i){var s,o,u,a=n.data,f=n.url,l=n.jsonp!==!1,c=l&&Dn.test(f),h=l&&!c&&typeof a=="string"&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Dn.test(a);if(n.dataTypes[0]==="jsonp"||c||h)return s=n.jsonpCallback=v.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,o=e[s],c?n.url=f.replace(Dn,"$1"+s):h?n.data=a.replace(Dn,"$1"+s):l&&(n.url+=(_n.test(f)?"&":"?")+n.jsonp+"="+s),n.converters["script json"]=function(){return u||v.error(s+" was not called"),u[0]},n.dataTypes[0]="json",e[s]=function(){u=arguments},i.always(function(){e[s]=o,n[s]&&(n.jsonpCallback=r.jsonpCallback,Mn.push(s)),u&&v.isFunction(o)&&o(u[0]),u=o=t}),"script"}),v.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){return v.globalEval(e),e}}}),v.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),v.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=i.head||i.getElementsByTagName("head")[0]||i.documentElement;return{send:function(s,o){n=i.createElement("script"),n.async="async",e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,i){if(i||!n.readyState||/loaded|complete/.test(n.readyState))n.onload=n.onreadystatechange=null,r&&n.parentNode&&r.removeChild(n),n=t,i||o(200,"success")},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(0,1)}}}});var Hn,Bn=e.ActiveXObject?function(){for(var e in Hn)Hn[e](0,1)}:!1,jn=0;v.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&Fn()||In()}:Fn,function(e){v.extend(v.support,{ajax:!!e,cors:!!e&&"withCredentials"in e})}(v.ajaxSettings.xhr()),v.support.ajax&&v.ajaxTransport(function(n){if(!n.crossDomain||v.support.cors){var r;return{send:function(i,s){var o,u,a=n.xhr();n.username?a.open(n.type,n.url,n.async,n.username,n.password):a.open(n.type,n.url,n.async);if(n.xhrFields)for(u in n.xhrFields)a[u]=n.xhrFields[u];n.mimeType&&a.overrideMimeType&&a.overrideMimeType(n.mimeType),!n.crossDomain&&!i["X-Requested-With"]&&(i["X-Requested-With"]="XMLHttpRequest");try{for(u in i)a.setRequestHeader(u,i[u])}catch(f){}a.send(n.hasContent&&n.data||null),r=function(e,i){var u,f,l,c,h;try{if(r&&(i||a.readyState===4)){r=t,o&&(a.onreadystatechange=v.noop,Bn&&delete Hn[o]);if(i)a.readyState!==4&&a.abort();else{u=a.status,l=a.getAllResponseHeaders(),c={},h=a.responseXML,h&&h.documentElement&&(c.xml=h);try{c.text=a.responseText}catch(p){}try{f=a.statusText}catch(p){f=""}!u&&n.isLocal&&!n.crossDomain?u=c.text?200:404:u===1223&&(u=204)}}}catch(d){i||s(-1,d)}c&&s(u,f,c,l)},n.async?a.readyState===4?setTimeout(r,0):(o=++jn,Bn&&(Hn||(Hn={},v(e).unload(Bn)),Hn[o]=r),a.onreadystatechange=r):r()},abort:function(){r&&r(0,1)}}}});var qn,Rn,Un=/^(?:toggle|show|hide)$/,zn=new RegExp("^(?:([-+])=|)("+m+")([a-z%]*)$","i"),Wn=/queueHooks$/,Xn=[Gn],Vn={"*":[function(e,t){var n,r,i=this.createTween(e,t),s=zn.exec(t),o=i.cur(),u=+o||0,a=1,f=20;if(s){n=+s[2],r=s[3]||(v.cssNumber[e]?"":"px");if(r!=="px"&&u){u=v.css(i.elem,e,!0)||n||1;do a=a||".5",u/=a,v.style(i.elem,e,u+r);while(a!==(a=i.cur()/o)&&a!==1&&--f)}i.unit=r,i.start=u,i.end=s[1]?u+(s[1]+1)*n:n}return i}]};v.Animation=v.extend(Kn,{tweener:function(e,t){v.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;r-1,f={},l={},c,h;a?(l=i.position(),c=l.top,h=l.left):(c=parseFloat(o)||0,h=parseFloat(u)||0),v.isFunction(t)&&(t=t.call(e,n,s)),t.top!=null&&(f.top=t.top-s.top+c),t.left!=null&&(f.left=t.left-s.left+h),"using"in t?t.using.call(e,f):i.css(f)}},v.fn.extend({position:function(){if(!this[0])return;var e=this[0],t=this.offsetParent(),n=this.offset(),r=er.test(t[0].nodeName)?{top:0,left:0}:t.offset();return n.top-=parseFloat(v.css(e,"marginTop"))||0,n.left-=parseFloat(v.css(e,"marginLeft"))||0,r.top+=parseFloat(v.css(t[0],"borderTopWidth"))||0,r.left+=parseFloat(v.css(t[0],"borderLeftWidth"))||0,{top:n.top-r.top,left:n.left-r.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||i.body;while(e&&!er.test(e.nodeName)&&v.css(e,"position")==="static")e=e.offsetParent;return e||i.body})}}),v.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);v.fn[e]=function(i){return v.access(this,function(e,i,s){var o=tr(e);if(s===t)return o?n in o?o[n]:o.document.documentElement[i]:e[i];o?o.scrollTo(r?v(o).scrollLeft():s,r?s:v(o).scrollTop()):e[i]=s},e,i,arguments.length,null)}}),v.each({Height:"height",Width:"width"},function(e,n){v.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){v.fn[i]=function(i,s){var o=arguments.length&&(r||typeof i!="boolean"),u=r||(i===!0||s===!0?"margin":"border");return v.access(this,function(n,r,i){var s;return v.isWindow(n)?n.document.documentElement["client"+e]:n.nodeType===9?(s=n.documentElement,Math.max(n.body["scroll"+e],s["scroll"+e],n.body["offset"+e],s["offset"+e],s["client"+e])):i===t?v.css(n,r,i,u):v.style(n,r,i,u)},n,o?i:t,o,null)}})}),e.jQuery=e.$=v,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return v})})(window); \ No newline at end of file diff --git a/common/js/jquery-3.2.1.min.js b/common/js/jquery-3.2.1.min.js new file mode 100644 index 0000000..644d35e --- /dev/null +++ b/common/js/jquery-3.2.1.min.js @@ -0,0 +1,4 @@ +/*! jQuery v3.2.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(a,b){"use strict";"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){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.2.1",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null==a?f.call(this):a<0?this[a+this.length]:this[a]},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0&&("form"in a||"label"in a)},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"form"in b?b.parentNode&&b.disabled===!1?"label"in b?"label"in b.parentNode?b.parentNode.disabled===a:b.disabled===a:b.isDisabled===a||b.isDisabled!==!a&&ea(b)===a:b.disabled===a:"label"in b&&b.disabled===a}}function pa(a){return ia(function(b){return b=+b,ia(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 qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}}):(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c,d,e,f=b.getElementById(a);if(f){if(c=f.getAttributeNode("id"),c&&c.value===a)return[f];e=b.getElementsByName(a),d=0;while(f=e[d++])if(c=f.getAttributeNode("id"),c&&c.value===a)return[f]}return[]}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(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){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.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===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!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 ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.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},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.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=ga.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=ga.selectors={cacheLength:50,createPseudo:ia,match:V,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(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===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]||ga.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]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.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(_,aa).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("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.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.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},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,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(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),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).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:oa(!1),disabled:oa(!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 X.test(a.nodeName)},input:function(a){return W.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:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,c,e){var f,i,j,k,l,m="function"==typeof a&&a,n=!e&&g(a=m.selector||a);if(c=c||[],1===n.length){if(i=n[0]=n[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&9===b.nodeType&&p&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(_,aa),b)||[])[0],!b)return c;m&&(b=b.parentNode),a=a.slice(i.shift().value.length)}f=V.needsContext.test(a)?0:i.length;while(f--){if(j=i[f],d.relative[k=j.type])break;if((l=d.find[k])&&(e=l(j.matches[0].replace(_,aa),$.test(i[0].type)&&qa(b.parentNode)||b))){if(i.splice(f,1),a=e.length&&sa(i),!a)return G.apply(c,e),c;break}}}return(m||h(a,n))(e,b,!p,c,!b||$.test(a)&&qa(b.parentNode)||b),c},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext;function B(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()}var C=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,D=/^.[^:#\[\.,]*$/;function E(a,b,c){return r.isFunction(b)?r.grep(a,function(a,d){return!!b.call(a,d,a)!==c}):b.nodeType?r.grep(a,function(a){return a===b!==c}):"string"!=typeof b?r.grep(a,function(a){return i.call(b,a)>-1!==c}):D.test(b)?r.filter(b,a,c):(b=r.filter(b,a),r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType}))}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(E(this,a||[],!1))},not:function(a){return this.pushStack(E(this,a||[],!0))},is:function(a){return!!E(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var F,G=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,H=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||F,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:G.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),C.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};H.prototype=r.fn,F=r(d);var I=/^(?:parents|prev(?:Until|All))/,J={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function K(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return K(a,"nextSibling")},prev:function(a){return K(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return B(a,"iframe")?a.contentDocument:(B(a,"template")&&(a=a.content||a),r.merge([],a.childNodes))}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(J[a]||r.uniqueSort(e),I.test(a)&&e.reverse()),this.pushStack(e)}});var L=/[^\x20\t\r\n\f]+/g;function M(a){var b={};return r.each(a.match(L)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?M(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=e||a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function N(a){return a}function O(a){throw a}function P(a,b,c,d){var e;try{a&&r.isFunction(e=a.promise)?e.call(a).done(b).fail(c):a&&r.isFunction(e=a.then)?e.call(a,b,c):b.apply(void 0,[a].slice(d))}catch(a){c.apply(void 0,[a])}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b=f&&(d!==O&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:N,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:N)),c[2][3].add(g(0,a,r.isFunction(d)?d:O))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(P(a,g.done(h(c)).resolve,g.reject,!b),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)P(e[c],h(c),g.reject);return g.promise()}});var Q=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&Q.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var R=r.Deferred();r.fn.ready=function(a){return R.then(a)["catch"](function(a){r.readyException(a)}),this},r.extend({isReady:!1,readyWait:1,ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||R.resolveWith(d,[r]))}}),r.ready.then=R.then;function S(){d.removeEventListener("DOMContentLoaded",S), +a.removeEventListener("load",S),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",S),a.addEventListener("load",S));var T=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)T(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h1,null,!0)},removeData:function(a){return this.each(function(){X.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=W.get(a,b),c&&(!d||Array.isArray(c)?d=W.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.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 W.get(a,c)||W.access(a,c,{empty:r.Callbacks("once memory").add(function(){W.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length\x20\t\r\n\f]+)/i,la=/^$|\/(?:java|ecma)script/i,ma={option:[1,""],thead:[1,"
                                                ","
                                                "],col:[2,"","
                                                "],tr:[2,"","
                                                "],td:[3,"","
                                                "],_default:[0,"",""]};ma.optgroup=ma.option,ma.tbody=ma.tfoot=ma.colgroup=ma.caption=ma.thead,ma.th=ma.td;function na(a,b){var c;return c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[],void 0===b||b&&B(a,b)?r.merge([a],c):c}function oa(a,b){for(var c=0,d=a.length;c-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=na(l.appendChild(f),"script"),j&&oa(g),c){k=0;while(f=g[k++])la.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var ra=d.documentElement,sa=/^key/,ta=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ua=/^([^.]*)(?:\.(.+)|)/;function va(){return!0}function wa(){return!1}function xa(){try{return d.activeElement}catch(a){}}function ya(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)ya(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=wa;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(ra,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(L)||[""],j=b.length;while(j--)h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=W.hasData(a)&&W.get(a);if(q&&(i=q.events)){b=(b||"").match(L)||[""],j=b.length;while(j--)if(h=ua.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&W.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(W.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c=1))for(;j!==this;j=j.parentNode||this)if(1===j.nodeType&&("click"!==a.type||j.disabled!==!0)){for(f=[],g={},c=0;c-1:r.find(e,this,null,[j]).length),g[e]&&f.push(d);f.length&&h.push({elem:j,handlers:f})}return j=this,i\x20\t\r\n\f]*)[^>]*)\/>/gi,Aa=/\s*$/g;function Ea(a,b){return B(a,"table")&&B(11!==b.nodeType?b:b.firstChild,"tr")?r(">tbody",a)[0]||a:a}function Fa(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Ga(a){var b=Ca.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ha(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(W.hasData(a)&&(f=W.access(a),g=W.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c1&&"string"==typeof q&&!o.checkClone&&Ba.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ja(f,b,c,d)});if(m&&(e=qa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(na(e,"script"),Fa),i=h.length;l")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=na(h),f=na(a),d=0,e=f.length;d0&&oa(g,!i&&na(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(U(c)){if(b=c[W.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[W.expando]=void 0}c[X.expando]&&(c[X.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ka(this,a,!0)},remove:function(a){return Ka(this,a)},text:function(a){return T(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.appendChild(a)}})},prepend:function(){return Ja(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Ea(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ja(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(na(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return T(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!Aa.test(a)&&!ma[(ka.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c1)}});function _a(a,b,c,d,e){return new _a.prototype.init(a,b,c,d,e)}r.Tween=_a,_a.prototype={constructor:_a,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=_a.propHooks[this.prop];return a&&a.get?a.get(this):_a.propHooks._default.get(this)},run:function(a){var b,c=_a.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):_a.propHooks._default.set(this),this}},_a.prototype.init.prototype=_a.prototype,_a.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},_a.propHooks.scrollTop=_a.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=_a.prototype.init,r.fx.step={};var ab,bb,cb=/^(?:toggle|show|hide)$/,db=/queueHooks$/;function eb(){bb&&(d.hidden===!1&&a.requestAnimationFrame?a.requestAnimationFrame(eb):a.setTimeout(eb,r.fx.interval),r.fx.tick())}function fb(){return a.setTimeout(function(){ab=void 0}),ab=r.now()}function gb(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=ca[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function hb(a,b,c){for(var d,e=(kb.tweeners[b]||[]).concat(kb.tweeners["*"]),f=0,g=e.length;f1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?lb:void 0)),void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b), +null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&B(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(L);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),lb={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=mb[b]||r.find.attr;mb[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=mb[g],mb[g]=e,e=null!=c(a,b,d)?g:null,mb[g]=f),e}});var nb=/^(?:input|select|textarea|button)$/i,ob=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return T(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):nb.test(a.nodeName)||ob.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});function pb(a){var b=a.match(L)||[];return b.join(" ")}function qb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,qb(this)))});if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=qb(c),d=1===c.nodeType&&" "+pb(e)+" "){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=pb(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,qb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(L)||[];while(c=this[i++])if(e=qb(c),d=1===c.nodeType&&" "+pb(e)+" "){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=pb(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,qb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(L)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=qb(this),b&&W.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":W.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+pb(qb(c))+" ").indexOf(b)>-1)return!0;return!1}});var rb=/\r/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":Array.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(rb,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:pb(r.text(a))}},select:{get:function(a){var b,c,d,e=a.options,f=a.selectedIndex,g="select-one"===a.type,h=g?null:[],i=g?f+1:e.length;for(d=f<0?i:g?f:0;d-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(Array.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var sb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!sb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,sb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(W.get(h,"events")||{})[b.type]&&W.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&U(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!U(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=W.access(d,b);e||d.addEventListener(a,c,!0),W.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=W.access(d,b)-1;e?W.access(d,b,e):(d.removeEventListener(a,c,!0),W.remove(d,b))}}});var tb=a.location,ub=r.now(),vb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var wb=/\[\]$/,xb=/\r?\n/g,yb=/^(?:submit|button|image|reset|file)$/i,zb=/^(?:input|select|textarea|keygen)/i;function Ab(a,b,c,d){var e;if(Array.isArray(b))r.each(b,function(b,e){c||wb.test(a)?d(a,e):Ab(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)Ab(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(Array.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)Ab(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&zb.test(this.nodeName)&&!yb.test(a)&&(this.checked||!ja.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:Array.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(xb,"\r\n")}}):{name:b.name,value:c.replace(xb,"\r\n")}}).get()}});var Bb=/%20/g,Cb=/#.*$/,Db=/([?&])_=[^&]*/,Eb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Fb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Gb=/^(?:GET|HEAD)$/,Hb=/^\/\//,Ib={},Jb={},Kb="*/".concat("*"),Lb=d.createElement("a");Lb.href=tb.href;function Mb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(L)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Nb(a,b,c,d){var e={},f=a===Jb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Ob(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Pb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Qb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:tb.href,type:"GET",isLocal:Fb.test(tb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Kb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Ob(Ob(a,r.ajaxSettings),b):Ob(r.ajaxSettings,a)},ajaxPrefilter:Mb(Ib),ajaxTransport:Mb(Jb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Eb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||tb.href)+"").replace(Hb,tb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(L)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Lb.protocol+"//"+Lb.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Nb(Ib,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Gb.test(o.type),f=o.url.replace(Cb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(Bb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(vb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Db,"$1"),n=(vb.test(f)?"&":"?")+"_="+ub++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Kb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Nb(Jb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Pb(o,y,d)),v=Qb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Rb={0:200,1223:204},Sb=r.ajaxSettings.xhr();o.cors=!!Sb&&"withCredentials"in Sb,o.ajax=Sb=!!Sb,r.ajaxTransport(function(b){var c,d;if(o.cors||Sb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Rb[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r("