├── .babelrc ├── .eslintignore ├── src ├── images │ ├── 1.png │ ├── 2.png │ ├── 3.png │ ├── bg.jpg │ ├── myself.png │ ├── slider.png │ ├── example2.png │ ├── fullPage.png │ ├── myself.jpeg │ ├── tablets.png │ └── product │ │ ├── p1-1.png │ │ ├── p1-2.png │ │ ├── p1-3.png │ │ ├── p1-4.png │ │ ├── p2-1.png │ │ ├── p2-2.png │ │ ├── p2-3.png │ │ ├── p2-4.png │ │ ├── p3-1.png │ │ ├── p3-2.png │ │ ├── p3-3.png │ │ ├── p3-4.png │ │ ├── p4-0.png │ │ ├── p4-1.png │ │ ├── p4-2.png │ │ ├── p4-3.png │ │ ├── p4-4.png │ │ ├── p5-1.png │ │ ├── p5-2.png │ │ ├── p5-3.png │ │ ├── p5-4.png │ │ ├── p6-1.png │ │ ├── p6-2.png │ │ ├── p6-3.png │ │ └── p6-4.png ├── locale.js ├── config │ └── config.js ├── vendors.js ├── app.vue ├── libs │ ├── util.js │ ├── test.js │ ├── three │ │ ├── stats.js │ │ └── three.js │ ├── jquery.fullpage.min.css │ └── jquery.fullpage.js ├── template │ └── index.ejs ├── router.js ├── main.js ├── styles │ └── index.less └── views │ ├── index.vue │ ├── product.vue │ └── resume.vue ├── .gitignore ├── .editorconfig ├── .eslintrc.json ├── index.html ├── index_prod.html ├── webpack.dev.config.js ├── webpack.prod.config.js ├── package.json └── webpack.base.config.js /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | "es2015" 4 | ] 5 | } -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | src/router.js 2 | src/libs/util.js 3 | src/vendors.js -------------------------------------------------------------------------------- /src/images/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/person-site/master/src/images/1.png -------------------------------------------------------------------------------- /src/images/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/person-site/master/src/images/2.png -------------------------------------------------------------------------------- /src/images/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/person-site/master/src/images/3.png -------------------------------------------------------------------------------- /src/images/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/person-site/master/src/images/bg.jpg -------------------------------------------------------------------------------- /src/images/myself.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/person-site/master/src/images/myself.png -------------------------------------------------------------------------------- /src/images/slider.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/person-site/master/src/images/slider.png -------------------------------------------------------------------------------- /src/images/example2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/person-site/master/src/images/example2.png -------------------------------------------------------------------------------- /src/images/fullPage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/person-site/master/src/images/fullPage.png -------------------------------------------------------------------------------- /src/images/myself.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/person-site/master/src/images/myself.jpeg -------------------------------------------------------------------------------- /src/images/tablets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/person-site/master/src/images/tablets.png -------------------------------------------------------------------------------- /src/locale.js: -------------------------------------------------------------------------------- 1 | export default { 2 | 'zh-CN': { 3 | 4 | }, 5 | 'en-US': { 6 | 7 | } 8 | }; -------------------------------------------------------------------------------- /src/images/product/p1-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/person-site/master/src/images/product/p1-1.png -------------------------------------------------------------------------------- /src/images/product/p1-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/person-site/master/src/images/product/p1-2.png -------------------------------------------------------------------------------- /src/images/product/p1-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/person-site/master/src/images/product/p1-3.png -------------------------------------------------------------------------------- /src/images/product/p1-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/person-site/master/src/images/product/p1-4.png -------------------------------------------------------------------------------- /src/images/product/p2-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/person-site/master/src/images/product/p2-1.png -------------------------------------------------------------------------------- /src/images/product/p2-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/person-site/master/src/images/product/p2-2.png -------------------------------------------------------------------------------- /src/images/product/p2-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/person-site/master/src/images/product/p2-3.png -------------------------------------------------------------------------------- /src/images/product/p2-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/person-site/master/src/images/product/p2-4.png -------------------------------------------------------------------------------- /src/images/product/p3-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/person-site/master/src/images/product/p3-1.png -------------------------------------------------------------------------------- /src/images/product/p3-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/person-site/master/src/images/product/p3-2.png -------------------------------------------------------------------------------- /src/images/product/p3-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/person-site/master/src/images/product/p3-3.png -------------------------------------------------------------------------------- /src/images/product/p3-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/person-site/master/src/images/product/p3-4.png -------------------------------------------------------------------------------- /src/images/product/p4-0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/person-site/master/src/images/product/p4-0.png -------------------------------------------------------------------------------- /src/images/product/p4-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/person-site/master/src/images/product/p4-1.png -------------------------------------------------------------------------------- /src/images/product/p4-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/person-site/master/src/images/product/p4-2.png -------------------------------------------------------------------------------- /src/images/product/p4-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/person-site/master/src/images/product/p4-3.png -------------------------------------------------------------------------------- /src/images/product/p4-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/person-site/master/src/images/product/p4-4.png -------------------------------------------------------------------------------- /src/images/product/p5-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/person-site/master/src/images/product/p5-1.png -------------------------------------------------------------------------------- /src/images/product/p5-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/person-site/master/src/images/product/p5-2.png -------------------------------------------------------------------------------- /src/images/product/p5-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/person-site/master/src/images/product/p5-3.png -------------------------------------------------------------------------------- /src/images/product/p5-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/person-site/master/src/images/product/p5-4.png -------------------------------------------------------------------------------- /src/images/product/p6-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/person-site/master/src/images/product/p6-1.png -------------------------------------------------------------------------------- /src/images/product/p6-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/person-site/master/src/images/product/p6-2.png -------------------------------------------------------------------------------- /src/images/product/p6-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/person-site/master/src/images/product/p6-3.png -------------------------------------------------------------------------------- /src/images/product/p6-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gytai/person-site/master/src/images/product/p6-4.png -------------------------------------------------------------------------------- /src/config/config.js: -------------------------------------------------------------------------------- 1 | import Env from './env'; 2 | 3 | let config = { 4 | env: Env 5 | }; 6 | export default config; -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | .idea/ 3 | .DS_Store 4 | node_modules/ 5 | .project 6 | dist 7 | dist/* 8 | src/config/*.tmp 9 | src/config/env.js 10 | npm-debug.log -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | charset = utf-8 4 | indent_style = space 5 | indent_size = 4 6 | end_of_line = lf 7 | insert_final_newline = true 8 | trim_trailing_whitespace = true -------------------------------------------------------------------------------- /src/vendors.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue'; 2 | import iView from 'iview'; 3 | import VueRouter from 'vue-router'; 4 | import axios from 'axios'; 5 | 6 | import echarts from 'echarts'; 7 | import Cookies from 'js-cookie'; 8 | import clipboard from 'clipboard'; -------------------------------------------------------------------------------- /src/app.vue: -------------------------------------------------------------------------------- 1 | 6 | -------------------------------------------------------------------------------- /.eslintrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | "parserOptions": { 4 | "ecmaVersion": 6, 5 | "sourceType": "module" 6 | }, 7 | "env": { 8 | "browser": true 9 | }, 10 | "extends": "eslint:recommended", 11 | "plugins": ["html"], 12 | "rules": { 13 | "indent": ["error", 4, { 14 | "SwitchCase": 1 15 | }], 16 | "quotes": ["error", "single"], 17 | "semi": ["error", "always"], 18 | "no-console": ["error"] 19 | } 20 | } -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 邰广银个人站 6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/libs/util.js: -------------------------------------------------------------------------------- 1 | import axios from 'axios'; 2 | import env from '../config/env'; 3 | 4 | let util = { 5 | 6 | }; 7 | util.title = function(title) { 8 | title = title ? title + ' - Home' : '邰广银个人站'; 9 | window.document.title = title; 10 | }; 11 | 12 | const ajaxUrl = env === 'development' ? 13 | 'http://127.0.0.1:8888' : 14 | env === 'production' ? 15 | 'https://www.url.com' : 16 | 'https://debug.url.com'; 17 | 18 | util.ajax = axios.create({ 19 | baseURL: ajaxUrl, 20 | timeout: 30000 21 | }); 22 | 23 | export default util; -------------------------------------------------------------------------------- /src/template/index.ejs: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 邰广银个人站 6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/router.js: -------------------------------------------------------------------------------- 1 | const routers = [ 2 | { 3 | path: '/', 4 | meta: { 5 | title: '' 6 | }, 7 | component: (resolve) => require(['./views/index.vue'], resolve) 8 | }, 9 | { 10 | path: '/resume', 11 | meta: { 12 | title: '我的简历' 13 | }, 14 | component: (resolve) => require(['./views/resume.vue'], resolve) 15 | }, 16 | { 17 | path: '/product', 18 | meta: { 19 | title: '作品集' 20 | }, 21 | component: (resolve) => require(['./views/product.vue'], resolve) 22 | } 23 | ]; 24 | export default routers; -------------------------------------------------------------------------------- /index_prod.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 邰广银个人站 6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /src/libs/test.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * fullPage 2.9.4 3 | * https://github.com/alvarotrigo/fullPage.js 4 | * @license MIT licensed 5 | * 6 | * Copyright (C) 2015 alvarotrigo.com - A project by Alvaro Trigo 7 | */ 8 | (function(global, factory) { 9 | 'use strict'; 10 | if (typeof define === 'function' && define.amd) { 11 | define(['jquery'], function($) { 12 | return factory($, global, global.document, global.Math); 13 | }); 14 | } else if (typeof exports === "object" && exports) { 15 | module.exports = factory(require('jquery'), global, global.document, global.Math); 16 | } else { 17 | factory(jQuery, global, global.document, global.Math); 18 | } 19 | })(typeof window !== 'undefined' ? window : this, function($, window, document, Math, undefined) { 20 | 'use strict'; 21 | 22 | export function alert_test() { 23 | alert('11111'); 24 | } 25 | }); 26 | -------------------------------------------------------------------------------- /webpack.dev.config.js: -------------------------------------------------------------------------------- 1 | const webpack = require('webpack'); 2 | const HtmlWebpackPlugin = require('html-webpack-plugin'); 3 | const ExtractTextPlugin = require('extract-text-webpack-plugin'); 4 | const merge = require('webpack-merge'); 5 | const webpackBaseConfig = require('./webpack.base.config.js'); 6 | const fs = require('fs'); 7 | 8 | fs.open('./src/config/env.js', 'w', function(err, fd) { 9 | const buf = 'export default "development";'; 10 | fs.write(fd, buf, 0, buf.length, 0, function(err, written, buffer) {}); 11 | }); 12 | 13 | module.exports = merge(webpackBaseConfig, { 14 | devtool: '#source-map', 15 | output: { 16 | publicPath: '/dist/', 17 | filename: '[name].js', 18 | chunkFilename: '[name].chunk.js' 19 | }, 20 | plugins: [ 21 | new ExtractTextPlugin({ 22 | filename: '[name].css', 23 | allChunks: true 24 | }), 25 | new webpack.optimize.CommonsChunkPlugin({ 26 | name: 'vendors', 27 | filename: 'vendors.js' 28 | }), 29 | new HtmlWebpackPlugin({ 30 | filename: '../index.html', 31 | template: './src/template/index.ejs', 32 | inject: false 33 | }) 34 | ] 35 | }); -------------------------------------------------------------------------------- /webpack.prod.config.js: -------------------------------------------------------------------------------- 1 | const webpack = require('webpack'); 2 | const HtmlWebpackPlugin = require('html-webpack-plugin'); 3 | const ExtractTextPlugin = require('extract-text-webpack-plugin'); 4 | const merge = require('webpack-merge'); 5 | const webpackBaseConfig = require('./webpack.base.config.js'); 6 | const fs = require('fs'); 7 | 8 | fs.open('./src/config/env.js', 'w', function(err, fd) { 9 | const buf = 'export default "production";'; 10 | fs.write(fd, buf, 0, buf.length, 0, function(err, written, buffer) {}); 11 | }); 12 | 13 | module.exports = merge(webpackBaseConfig, { 14 | output: { 15 | publicPath: '/dist/', 16 | filename: '[name].[hash].js', 17 | chunkFilename: '[name].[hash].chunk.js' 18 | }, 19 | plugins: [ 20 | new ExtractTextPlugin({ 21 | filename: '[name].[hash].css', 22 | allChunks: true 23 | }), 24 | new webpack.optimize.CommonsChunkPlugin({ 25 | name: 'vendors', 26 | filename: 'vendors.[hash].js' 27 | }), 28 | new webpack.DefinePlugin({ 29 | 'process.env': { 30 | NODE_ENV: '"production"' 31 | } 32 | }), 33 | new webpack.optimize.UglifyJsPlugin({ 34 | compress: { 35 | warnings: false 36 | } 37 | }), 38 | new HtmlWebpackPlugin({ 39 | filename: '../index_prod.html', 40 | template: './src/template/index.ejs', 41 | inject: false 42 | }) 43 | ] 44 | }); -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue'; 2 | import iView from 'iview'; 3 | import VueRouter from 'vue-router'; 4 | import Routers from './router'; 5 | 6 | import Util from './libs/util'; 7 | import App from './app.vue'; 8 | import 'iview/dist/styles/iview.css'; 9 | 10 | import VueI18n from 'vue-i18n'; 11 | import Locales from './locale'; 12 | import zhLocale from 'iview/src/locale/lang/zh-CN'; 13 | import enLocale from 'iview/src/locale/lang/en-US'; 14 | 15 | Vue.use(VueRouter); 16 | 17 | Vue.use(VueI18n); 18 | Vue.use(iView); 19 | 20 | // 自动设置语言 21 | const navLang = navigator.language; 22 | const localLang = (navLang === 'zh-CN' || navLang === 'en-US') ? navLang : false; 23 | const lang = window.localStorage.getItem('language') || localLang || 'zh-CN'; 24 | 25 | Vue.config.lang = lang; 26 | 27 | // 多语言配置 28 | const locales = Locales; 29 | const mergeZH = Object.assign(zhLocale, locales['zh-CN']); 30 | const mergeEN = Object.assign(enLocale, locales['en-US']); 31 | Vue.locale('zh-CN', mergeZH); 32 | Vue.locale('en-US', mergeEN); 33 | 34 | 35 | // 路由配置 36 | const RouterConfig = { 37 | mode: 'history', 38 | routes: Routers 39 | }; 40 | const router = new VueRouter(RouterConfig); 41 | 42 | router.beforeEach((to, from, next) => { 43 | iView.LoadingBar.start(); 44 | Util.title(to.meta.title); 45 | next(); 46 | }); 47 | 48 | router.afterEach(() => { 49 | iView.LoadingBar.finish(); 50 | window.scrollTo(0, 0); 51 | }); 52 | 53 | 54 | 55 | new Vue({ 56 | el: '#app', 57 | router: router, 58 | render: h => h(App) 59 | }); -------------------------------------------------------------------------------- /src/styles/index.less: -------------------------------------------------------------------------------- 1 | .index{ 2 | width: 100%; 3 | position: absolute; 4 | top: 0; 5 | bottom: 0; 6 | left: 0; 7 | text-align: center; 8 | background-color: #141a48; 9 | overflow: hidden; 10 | .list{ 11 | position: absolute; 12 | z-index: 100; 13 | width: 100%; 14 | margin: 340px 0 200px; 15 | a{ 16 | color: #0099fb; 17 | font-size: 16px; 18 | display: inline-block; 19 | padding: 10px; 20 | position: relative; 21 | transition: color 0.3s; 22 | &:before, &:after{ 23 | position: absolute; 24 | left: 0; 25 | width: 100%; 26 | height: 2px; 27 | background: #fff; 28 | content: ''; 29 | opacity: 0; 30 | transition: opacity 0.3s, transform 0.3s; 31 | transform: translateY(-10px); 32 | } 33 | &:before{ 34 | top: 0; 35 | transform: translateY(-10px); 36 | } 37 | &:after{ 38 | bottom: 0; 39 | transform: translateY(10px); 40 | } 41 | 42 | &:hover{ 43 | color: #fff 44 | } 45 | &:hover::before,&:hover::after{ 46 | opacity: 1; 47 | transform: translateY(0px); 48 | } 49 | } 50 | } 51 | 52 | .photo{ 53 | position: absolute; 54 | margin-top: 80px; 55 | text-align: center; 56 | width: 100%; 57 | img{ 58 | position: relative; 59 | width: 150px; 60 | height: 150px; 61 | border-radius: 150px; 62 | } 63 | } 64 | } 65 | 66 | #indexLizi{ 67 | position: absolute; 68 | width: 100%; 69 | top: 0; 70 | bottom: 0; 71 | overflow: hidden; 72 | } -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "iview-doc", 3 | "version": "1.0.0", 4 | "description": "Doc of iView", 5 | "main": "index.js", 6 | "scripts": { 7 | "init": "webpack --progress --config webpack.dev.config.js", 8 | "dev": "webpack-dev-server --content-base ./ --open --inline --hot --compress --history-api-fallback --port 8085 --config webpack.dev.config.js", 9 | "build": "webpack --progress --hide-modules --config webpack.prod.config.js", 10 | "local": "webpack --progress --hide-modules --config webpack.local.config.js" 11 | }, 12 | "repository": { 13 | "type": "git", 14 | "url": "https://github.com/iview/iview-doc" 15 | }, 16 | "author": "Aresn", 17 | "license": "MIT", 18 | "dependencies": { 19 | "animate.css": "^3.5.2", 20 | "axios": "^0.16.2", 21 | "clipboard": "^1.7.1", 22 | "fullpage.js": "^2.9.4", 23 | "highlightjs": "^8.7.0", 24 | "ityped": "0.0.6", 25 | "iview": "^2.0.0", 26 | "vue": "^2.4.1", 27 | "vue-fullpage": "^2.0.3", 28 | "vue-i18n": "^5.0.3", 29 | "vue-router": "^2.7.0" 30 | }, 31 | "devDependencies": { 32 | "autoprefixer-loader": "^2.0.0", 33 | "babel": "^6.23.0", 34 | "babel-core": "^6.25.0", 35 | "babel-loader": "^6.2.4", 36 | "babel-plugin-transform-runtime": "^6.12.0", 37 | "babel-polyfill": "^6.23.0", 38 | "babel-preset-es2015": "^6.9.0", 39 | "babel-runtime": "^6.11.6", 40 | "css-loader": "^0.23.1", 41 | "extract-text-webpack-plugin": "^2.1.2", 42 | "file-loader": "^0.8.5", 43 | "html-loader": "^0.3.0", 44 | "html-webpack-plugin": "^2.29.0", 45 | "less": "^2.7.1", 46 | "less-loader": "^2.2.3", 47 | "style-loader": "^0.13.1", 48 | "url-loader": "^0.5.9", 49 | "vue-hot-reload-api": "^1.3.3", 50 | "vue-html-loader": "^1.2.3", 51 | "vue-loader": "^11.0.0", 52 | "vue-style-loader": "^1.0.0", 53 | "vue-template-compiler": "^2.4.1", 54 | "webpack": "^2.7.0", 55 | "webpack-dev-server": "^2.5.1", 56 | "webpack-merge": "^3.0.0" 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /webpack.base.config.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Created by aresn on 16/7/5. 3 | */ 4 | 5 | var path = require('path'); 6 | var webpack = require('webpack'); 7 | var ExtractTextPlugin = require('extract-text-webpack-plugin'); 8 | function resolve (dir) { 9 | return path.join(__dirname, '..', dir) 10 | } 11 | 12 | module.exports = { 13 | // 入口 14 | entry: { 15 | main: './src/main', 16 | vendors: ['vue', 'vue-router', 'iview', 'highlightjs/highlight.pack.js', 'clipboard'] 17 | }, 18 | // 输出 19 | output: { 20 | path: path.join(__dirname, './dist') 21 | }, 22 | // 加载器 23 | module: { 24 | rules: [ 25 | { 26 | test: /\.vue$/, 27 | loader: 'vue-loader', 28 | options: { 29 | loaders: { 30 | less: ExtractTextPlugin.extract({ 31 | use: ['css-loader?minimize', 'autoprefixer-loader', 'less-loader'], 32 | fallback: 'vue-style-loader' 33 | }), 34 | css: ExtractTextPlugin.extract({ 35 | use: ['css-loader?minimize', 'autoprefixer-loader', 'less-loader'], 36 | fallback: 'vue-style-loader' 37 | }), 38 | }, 39 | postLoaders: { 40 | html: 'babel-loader' 41 | } 42 | } 43 | }, 44 | { 45 | test: /iview\/.*?js$/, 46 | loader: 'babel-loader' 47 | }, 48 | { 49 | test: /\.js$/, 50 | loader: 'babel-loader', 51 | exclude: /node_modules/ 52 | }, 53 | { 54 | test: /\.css$/, 55 | use: ExtractTextPlugin.extract({ 56 | use: 'css-loader?minimize', 57 | fallback: 'style-loader' 58 | }) 59 | }, 60 | { 61 | test: /\.less/, 62 | use: ExtractTextPlugin.extract({ 63 | use: 'less-loader', 64 | fallback: 'style-loader' 65 | }) 66 | }, 67 | { 68 | test: /\.scss$/, 69 | use: [ 70 | 'style-loader', 71 | 'css-loader', 72 | 'sass-loader?sourceMap' 73 | ] 74 | }, 75 | { 76 | test: /\.(gif|jpg|png|woff|svg|eot|ttf)\??.*$/, 77 | loader: 'url-loader?limit=1024' 78 | }, 79 | { 80 | test: /\.(html|tpl)$/, 81 | loader: 'html-loader' 82 | } 83 | ] 84 | }, 85 | resolve: { 86 | extensions: ['.js', '.vue'], 87 | alias: { 88 | 'hljs': 'highlightjs/highlight.pack.js', 89 | 'iCode': '../../components/code.vue', 90 | // 'vue': 'vue/dist/vue.esm.js', 91 | 'vue': 'vue/dist/vue.runtime.js' 92 | // '@': resolve('src') 93 | } 94 | } 95 | }; -------------------------------------------------------------------------------- /src/libs/three/stats.js: -------------------------------------------------------------------------------- 1 | export default function () { 2 | var j=0,u=2,r,C=0,E=new Date().getTime(),w=E,f=E,m=0,e=1000,i=0,F,q,c,d,B,k=0,G=1000,a=0,A,t,p,D,l,v=0,o=1000,s=0,h,n,z,g,b,y={fps:{bg:{r:16,g:16,b:48},fg:{r:0,g:255,b:255}},ms:{bg:{r:16,g:48,b:16},fg:{r:0,g:255,b:0}},mem:{bg:{r:48,g:16,b:26},fg:{r:255,g:0,b:128}}};r=document.createElement("div");r.style.fontFamily="Helvetica, Arial, sans-serif";r.style.textAlign="left";r.style.fontSize="9px";r.style.opacity="0.9";r.style.width="80px";r.style.cursor="pointer";r.addEventListener("click",H,false);F=document.createElement("div");F.style.backgroundColor="rgb("+Math.floor(y.fps.bg.r/2)+","+Math.floor(y.fps.bg.g/2)+","+Math.floor(y.fps.bg.b/2)+")";F.style.padding="2px 0px 3px 0px";r.appendChild(F);q=document.createElement("div");q.innerHTML="FPS";q.style.color="rgb("+y.fps.fg.r+","+y.fps.fg.g+","+y.fps.fg.b+")";q.style.margin="0px 0px 1px 3px";F.appendChild(q);c=document.createElement("canvas");c.width=74;c.height=30;c.style.display="block";c.style.marginLeft="3px";F.appendChild(c);d=c.getContext("2d");d.fillStyle="rgb("+y.fps.bg.r+","+y.fps.bg.g+","+y.fps.bg.b+")";d.fillRect(0,0,c.width,c.height);B=d.getImageData(0,0,c.width,c.height);A=document.createElement("div");A.style.backgroundColor="rgb("+Math.floor(y.ms.bg.r/2)+","+Math.floor(y.ms.bg.g/2)+","+Math.floor(y.ms.bg.b/2)+")";A.style.padding="2px 0px 3px 0px";A.style.display="none";r.appendChild(A);t=document.createElement("div");t.innerHTML="MS";t.style.color="rgb("+y.ms.fg.r+","+y.ms.fg.g+","+y.ms.fg.b+")";t.style.margin="0px 0px 1px 3px";A.appendChild(t);p=document.createElement("canvas");p.width=74;p.height=30;p.style.display="block";p.style.marginLeft="3px";A.appendChild(p);D=p.getContext("2d");D.fillStyle="rgb("+y.ms.bg.r+","+y.ms.bg.g+","+y.ms.bg.b+")";D.fillRect(0,0,p.width,p.height);l=D.getImageData(0,0,p.width,p.height);try{if(webkitPerformance&&webkitPerformance.memory.totalJSHeapSize){u=3}}catch(x){}h=document.createElement("div");h.style.backgroundColor="rgb("+Math.floor(y.mem.bg.r/2)+","+Math.floor(y.mem.bg.g/2)+","+Math.floor(y.mem.bg.b/2)+")";h.style.padding="2px 0px 3px 0px";h.style.display="none";r.appendChild(h);n=document.createElement("div");n.innerHTML="MEM";n.style.color="rgb("+y.mem.fg.r+","+y.mem.fg.g+","+y.mem.fg.b+")";n.style.margin="0px 0px 1px 3px";h.appendChild(n);z=document.createElement("canvas");z.width=74;z.height=30;z.style.display="block";z.style.marginLeft="3px";h.appendChild(z);g=z.getContext("2d");g.fillStyle="#301010";g.fillRect(0,0,z.width,z.height);b=g.getImageData(0,0,z.width,z.height);function I(N,M,K){var J,O,L;for(O=0;O<30;O++){for(J=0;J<73;J++){L=(J+O*74)*4;N[L]=N[L+4];N[L+1]=N[L+5];N[L+2]=N[L+6]}}for(O=0;O<30;O++){L=(73+O*74)*4;if(O"+k+" MS ("+G+"-"+a+")";D.putImageData(l,0,0);w=E;if(E>f+1000){m=Math.round((C*1000)/(E-f));e=Math.min(e,m);i=Math.max(i,m);I(B.data,Math.min(30,30-(m/100)*30),"fps");q.innerHTML=""+m+" FPS ("+e+"-"+i+")";d.putImageData(B,0,0);if(u==3){v=webkitPerformance.memory.usedJSHeapSize*9.54e-7;o=Math.min(o,v);s=Math.max(s,v);I(b.data,Math.min(30,30-(v/2)),"mem");n.innerHTML=""+Math.round(v)+" MEM ("+Math.round(o)+"-"+Math.round(s)+")";g.putImageData(b,0,0)}f=E;C=0}}} 3 | }; -------------------------------------------------------------------------------- /src/libs/jquery.fullpage.min.css: -------------------------------------------------------------------------------- 1 | /*! 2 | * fullPage 2.9.4 3 | * https://github.com/alvarotrigo/fullPage.js 4 | * MIT licensed 5 | * 6 | * Copyright (C) 2013 alvarotrigo.com - A project by Alvaro Trigo 7 | */.fp-enabled body,html.fp-enabled{margin:0;padding:0;overflow:hidden;-webkit-tap-highlight-color:rgba(0,0,0,0)}#superContainer{height:100%;position:relative;-ms-touch-action:none;touch-action:none}.fp-section{position:relative;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.fp-slide{float:left}.fp-slide,.fp-slidesContainer{height:100%;display:block}.fp-slides{z-index:1;height:100%;overflow:hidden;position:relative;-webkit-transition:all .3s ease-out;transition:all .3s ease-out}.fp-section.fp-table,.fp-slide.fp-table{display:table;table-layout:fixed;width:100%}.fp-tableCell{display:table-cell;vertical-align:middle;width:100%;height:100%}.fp-slidesContainer{float:left;position:relative}.fp-controlArrow{-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-ms-user-select:none;position:absolute;z-index:4;top:50%;cursor:pointer;width:0;height:0;border-style:solid;margin-top:-38px;-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.fp-controlArrow.fp-prev{left:15px;width:0;border-width:38.5px 34px 38.5px 0;border-color:transparent #fff transparent transparent}.fp-controlArrow.fp-next{right:15px;border-width:38.5px 0 38.5px 34px;border-color:transparent transparent transparent #fff}.fp-scrollable{overflow:hidden;position:relative}.fp-scroller{overflow:hidden}.iScrollIndicator{border:0!important}.fp-notransition{-webkit-transition:none!important;transition:none!important}#fp-nav{position:fixed;z-index:100;margin-top:-32px;top:50%;opacity:1;-webkit-transform:translate3d(0,0,0)}#fp-nav.right{right:17px}#fp-nav.left{left:17px}.fp-slidesNav{position:absolute;z-index:4;left:50%;opacity:1;-webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.fp-slidesNav.bottom{bottom:17px}.fp-slidesNav.top{top:17px}#fp-nav ul,.fp-slidesNav ul{margin:0;padding:0}#fp-nav ul li,.fp-slidesNav ul li{display:block;width:14px;height:13px;margin:7px;position:relative}.fp-slidesNav ul li{display:inline-block}#fp-nav ul li a,.fp-slidesNav ul li a{display:block;position:relative;z-index:1;width:100%;height:100%;cursor:pointer;text-decoration:none}#fp-nav ul li a.active span,#fp-nav ul li:hover a.active span,.fp-slidesNav ul li a.active span,.fp-slidesNav ul li:hover a.active span{height:12px;width:12px;margin:-6px 0 0 -6px;border-radius:100%}#fp-nav ul li a span,.fp-slidesNav ul li a span{border-radius:50%;position:absolute;z-index:1;height:4px;width:4px;border:0;background:#333;left:50%;top:50%;margin:-2px 0 0 -2px;-webkit-transition:all .1s ease-in-out;-moz-transition:all .1s ease-in-out;-o-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#fp-nav ul li:hover a span,.fp-slidesNav ul li:hover a span{width:10px;height:10px;margin:-5px 0 0 -5px}#fp-nav ul li .fp-tooltip{position:absolute;top:-2px;color:#fff;font-size:14px;font-family:arial,helvetica,sans-serif;white-space:nowrap;max-width:220px;overflow:hidden;display:block;opacity:0;width:0;cursor:pointer}#fp-nav ul li:hover .fp-tooltip,#fp-nav.fp-show-active a.active+.fp-tooltip{-webkit-transition:opacity .2s ease-in;transition:opacity .2s ease-in;width:auto;opacity:1}#fp-nav ul li .fp-tooltip.right{right:20px}#fp-nav ul li .fp-tooltip.left{left:20px}.fp-auto-height .fp-slide,.fp-auto-height .fp-tableCell,.fp-auto-height.fp-section{height:auto!important}.fp-responsive .fp-auto-height-responsive .fp-slide,.fp-responsive .fp-auto-height-responsive .fp-tableCell,.fp-responsive .fp-auto-height-responsive.fp-section{height:auto!important} 8 | /*# sourceMappingURL=jquery.fullpage.min.css.map */ 9 | -------------------------------------------------------------------------------- /src/views/index.vue: -------------------------------------------------------------------------------- 1 | 4 | 7 | 25 | 26 | -------------------------------------------------------------------------------- /src/views/product.vue: -------------------------------------------------------------------------------- 1 | 16 | 145 | 146 | -------------------------------------------------------------------------------- /src/views/resume.vue: -------------------------------------------------------------------------------- 1 | 127 | 294 | 295 | -------------------------------------------------------------------------------- /src/libs/jquery.fullpage.js: -------------------------------------------------------------------------------- 1 | 'use strict';import $ from'./jquery-3.2.1';var WRAPPER='fullpage-wrapper';var WRAPPER_SEL='.'+WRAPPER;var SCROLLABLE='fp-scrollable';var SCROLLABLE_SEL='.'+SCROLLABLE;var RESPONSIVE='fp-responsive';var NO_TRANSITION='fp-notransition';var DESTROYED='fp-destroyed';var ENABLED='fp-enabled';var VIEWING_PREFIX='fp-viewing';var ACTIVE='active';var ACTIVE_SEL='.'+ACTIVE;var COMPLETELY='fp-completely';var COMPLETELY_SEL='.'+COMPLETELY;var SECTION_DEFAULT_SEL='.section';var SECTION='fp-section';var SECTION_SEL='.'+SECTION;var SECTION_ACTIVE_SEL=SECTION_SEL+ACTIVE_SEL;var SECTION_FIRST_SEL=SECTION_SEL+':first';var SECTION_LAST_SEL=SECTION_SEL+':last';var TABLE_CELL='fp-tableCell';var TABLE_CELL_SEL='.'+TABLE_CELL;var AUTO_HEIGHT='fp-auto-height';var AUTO_HEIGHT_SEL='.fp-auto-height';var NORMAL_SCROLL='fp-normal-scroll';var NORMAL_SCROLL_SEL='.fp-normal-scroll';var SECTION_NAV='fp-nav';var SECTION_NAV_SEL='#'+SECTION_NAV;var SECTION_NAV_TOOLTIP='fp-tooltip';var SECTION_NAV_TOOLTIP_SEL='.'+SECTION_NAV_TOOLTIP;var SHOW_ACTIVE_TOOLTIP='fp-show-active';var SLIDE_DEFAULT_SEL='.slide';var SLIDE='fp-slide';var SLIDE_SEL='.'+SLIDE;var SLIDE_ACTIVE_SEL=SLIDE_SEL+ACTIVE_SEL;var SLIDES_WRAPPER='fp-slides';var SLIDES_WRAPPER_SEL='.'+SLIDES_WRAPPER;var SLIDES_CONTAINER='fp-slidesContainer';var SLIDES_CONTAINER_SEL='.'+SLIDES_CONTAINER;var TABLE='fp-table';var SLIDES_NAV='fp-slidesNav';var SLIDES_NAV_SEL='.'+SLIDES_NAV;var SLIDES_NAV_LINK_SEL=SLIDES_NAV_SEL+' a';var SLIDES_ARROW='fp-controlArrow';var SLIDES_ARROW_SEL='.'+SLIDES_ARROW;var SLIDES_PREV='fp-prev';var SLIDES_PREV_SEL='.'+SLIDES_PREV;var SLIDES_ARROW_PREV=SLIDES_ARROW+' '+SLIDES_PREV;var SLIDES_ARROW_PREV_SEL=SLIDES_ARROW_SEL+SLIDES_PREV_SEL;var SLIDES_NEXT='fp-next';var SLIDES_NEXT_SEL='.'+SLIDES_NEXT;var SLIDES_ARROW_NEXT=SLIDES_ARROW+' '+SLIDES_NEXT;var SLIDES_ARROW_NEXT_SEL=SLIDES_ARROW_SEL+SLIDES_NEXT_SEL;var $window=$(window);var $document=$(document);var iscrollOptions={scrollbars:true,mouseWheel:true,hideScrollbars:false,fadeScrollbars:false,disableMouse:true,interactiveScrollbars:true};export default $.fn.fullpage=function(options){if($('html').hasClass(ENABLED)){displayWarnings();return}var $htmlBody=$('html, body');var $body=$('body');var FP=$.fn.fullpage;options=$.extend({menu:false,anchors:[],lockAnchors:false,navigation:false,navigationPosition:'right',navigationTooltips:[],showActiveTooltip:false,slidesNavigation:false,slidesNavPosition:'bottom',scrollBar:false,hybrid:false,css3:true,scrollingSpeed:700,autoScrolling:true,fitToSection:true,fitToSectionDelay:1000,easing:'easeInOutCubic',easingcss3:'ease',loopBottom:false,loopTop:false,loopHorizontal:true,continuousVertical:false,continuousHorizontal:false,scrollHorizontally:false,interlockedSlides:false,dragAndMove:false,offsetSections:false,resetSliders:false,fadingEffect:false,normalScrollElements:null,scrollOverflow:false,scrollOverflowReset:false,scrollOverflowHandler:iscrollHandler,scrollOverflowOptions:null,touchSensitivity:5,normalScrollElementTouchThreshold:5,bigSectionsDestination:null,keyboardScrolling:true,animateAnchor:true,recordHistory:true,controlArrows:true,controlArrowColor:'#fff',verticalCentered:true,sectionsColor:[],paddingTop:0,paddingBottom:0,fixedElements:null,responsive:0,responsiveWidth:0,responsiveHeight:0,responsiveSlides:false,parallax:false,parallaxOptions:{type:'reveal',percentage:62,property:'translate'},sectionSelector:SECTION_DEFAULT_SEL,slideSelector:SLIDE_DEFAULT_SEL,afterLoad:null,onLeave:null,afterRender:null,afterResize:null,afterReBuild:null,afterSlideLoad:null,onSlideLeave:null,afterResponsive:null,lazyLoading:true},options);var slideMoving=false;var isTouchDevice=navigator.userAgent.match(/(iPhone|iPod|iPad|Android|playbook|silk|BlackBerry|BB10|Windows Phone|Tizen|Bada|webOS|IEMobile|Opera Mini)/);var isTouch=(('ontouchstart'in window)||(navigator.msMaxTouchPoints>0)||(navigator.maxTouchPoints));var container=$(this);var windowsHeight=$window.height();var isResizing=false;var isWindowFocused=true;var lastScrolledDestiny;var lastScrolledSlide;var canScroll=true;var scrollings=[];var controlPressed;var startingSection;var isScrollAllowed={};isScrollAllowed.m={'up':true,'down':true,'left':true,'right':true};isScrollAllowed.k=$.extend(true,{},isScrollAllowed.m);var MSPointer=getMSPointer();var events={touchmove:'ontouchmove'in window?'touchmove':MSPointer.move,touchstart:'ontouchstart'in window?'touchstart':MSPointer.down};var resizeId;var afterSectionLoadsId;var afterSlideLoadsId;var scrollId;var scrollId2;var keydownId;var originals=$.extend(true,{},options);displayWarnings();iscrollOptions.click=isTouch;iscrollOptions=$.extend(iscrollOptions,options.scrollOverflowOptions);$.extend($.easing,{easeInOutCubic:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t*t+b;return c/2*((t-=2)*t*t+2)+b}});function setAutoScrolling(value,type){if(!value){silentScroll(0)}setVariableState('autoScrolling',value,type);var element=$(SECTION_ACTIVE_SEL);if(options.autoScrolling&&!options.scrollBar){$htmlBody.css({'overflow':'hidden','height':'100%'});setRecordHistory(originals.recordHistory,'internal');container.css({'-ms-touch-action':'none','touch-action':'none'});if(element.length){silentScroll(element.position().top)}}else{$htmlBody.css({'overflow':'visible','height':'initial'});setRecordHistory(false,'internal');container.css({'-ms-touch-action':'','touch-action':''});if(element.length){$htmlBody.scrollTop(element.position().top)}}}function setRecordHistory(value,type){setVariableState('recordHistory',value,type)}function setScrollingSpeed(value,type){setVariableState('scrollingSpeed',value,type)}function setFitToSection(value,type){setVariableState('fitToSection',value,type)}function setLockAnchors(value){options.lockAnchors=value}function setMouseWheelScrolling(value){if(value){addMouseWheelHandler();addMiddleWheelHandler()}else{removeMouseWheelHandler();removeMiddleWheelHandler()}}function setAllowScrolling(value,directions){if(typeof directions!=='undefined'){directions=directions.replace(/ /g,'').split(',');$.each(directions,function(index,direction){setIsScrollAllowed(value,direction,'m')})}else if(value){setMouseWheelScrolling(true);addTouchHandler()}else{setMouseWheelScrolling(false);removeTouchHandler()}}function setKeyboardScrolling(value,directions){if(typeof directions!=='undefined'){directions=directions.replace(/ /g,'').split(',');$.each(directions,function(index,direction){setIsScrollAllowed(value,direction,'k')})}else{options.keyboardScrolling=value}}function moveSectionUp(){var prev=$(SECTION_ACTIVE_SEL).prev(SECTION_SEL);if(!prev.length&&(options.loopTop||options.continuousVertical)){prev=$(SECTION_SEL).last()}if(prev.length){scrollPage(prev,null,true)}}function moveSectionDown(){var next=$(SECTION_ACTIVE_SEL).next(SECTION_SEL);if(!next.length&&(options.loopBottom||options.continuousVertical)){next=$(SECTION_SEL).first()}if(next.length){scrollPage(next,null,false)}}function silentMoveTo(sectionAnchor,slideAnchor){setScrollingSpeed(0,'internal');moveTo(sectionAnchor,slideAnchor);setScrollingSpeed(originals.scrollingSpeed,'internal')}function moveTo(sectionAnchor,slideAnchor){var destiny=getSectionByAnchor(sectionAnchor);if(typeof slideAnchor!=='undefined'){scrollPageAndSlide(sectionAnchor,slideAnchor)}else if(destiny.length>0){scrollPage(destiny)}}function moveSlideRight(section){moveSlide('right',section)}function moveSlideLeft(section){moveSlide('left',section)}function reBuild(resizing){if(container.hasClass(DESTROYED)){return}isResizing=true;windowsHeight=$window.height();$(SECTION_SEL).each(function(){var slidesWrap=$(this).find(SLIDES_WRAPPER_SEL);var slides=$(this).find(SLIDE_SEL);if(options.verticalCentered){$(this).find(TABLE_CELL_SEL).css('height',getTableHeight($(this))+'px')}$(this).css('height',windowsHeight+'px');if(options.scrollOverflow){if(slides.length){slides.each(function(){createScrollBar($(this))})}else{createScrollBar($(this))}}if(slides.length>1){landscapeScroll(slidesWrap,slidesWrap.find(SLIDE_ACTIVE_SEL))}});var activeSection=$(SECTION_ACTIVE_SEL);var sectionIndex=activeSection.index(SECTION_SEL);if(sectionIndex){silentMoveTo(sectionIndex+1)}isResizing=false;$.isFunction(options.afterResize)&&resizing&&options.afterResize.call(container);$.isFunction(options.afterReBuild)&&!resizing&&options.afterReBuild.call(container)}function setResponsive(active){var isResponsive=$body.hasClass(RESPONSIVE);if(active){if(!isResponsive){setAutoScrolling(false,'internal');setFitToSection(false,'internal');$(SECTION_NAV_SEL).hide();$body.addClass(RESPONSIVE);$.isFunction(options.afterResponsive)&&options.afterResponsive.call(container,active)}}else if(isResponsive){setAutoScrolling(originals.autoScrolling,'internal');setFitToSection(originals.autoScrolling,'internal');$(SECTION_NAV_SEL).show();$body.removeClass(RESPONSIVE);$.isFunction(options.afterResponsive)&&options.afterResponsive.call(container,active)}}if($(this).length){FP.setAutoScrolling=setAutoScrolling;FP.setRecordHistory=setRecordHistory;FP.setScrollingSpeed=setScrollingSpeed;FP.setFitToSection=setFitToSection;FP.setLockAnchors=setLockAnchors;FP.setMouseWheelScrolling=setMouseWheelScrolling;FP.setAllowScrolling=setAllowScrolling;FP.setKeyboardScrolling=setKeyboardScrolling;FP.moveSectionUp=moveSectionUp;FP.moveSectionDown=moveSectionDown;FP.silentMoveTo=silentMoveTo;FP.moveTo=moveTo;FP.moveSlideRight=moveSlideRight;FP.moveSlideLeft=moveSlideLeft;FP.fitToSection=fitToSection;FP.reBuild=reBuild;FP.setResponsive=setResponsive;FP.destroy=destroy;init();bindEvents()}function init(){if(options.css3){options.css3=support3d()}options.scrollBar=options.scrollBar||options.hybrid;setOptionsFromDOM();prepareDom();setAllowScrolling(true);setAutoScrolling(options.autoScrolling,'internal');responsive();setBodyClass();if(document.readyState==='complete'){scrollToAnchor()}$window.on('load',scrollToAnchor)}function bindEvents(){$window.on('scroll',scrollHandler).on('hashchange',hashChangeHandler).blur(blurHandler).resize(resizeHandler);$document.keydown(keydownHandler).keyup(keyUpHandler).on('click touchstart',SECTION_NAV_SEL+' a',sectionBulletHandler).on('click touchstart',SLIDES_NAV_LINK_SEL,slideBulletHandler).on('click',SECTION_NAV_TOOLTIP_SEL,tooltipTextHandler);$(SECTION_SEL).on('click touchstart',SLIDES_ARROW_SEL,slideArrowHandler);if(options.normalScrollElements){$document.on('mouseenter',options.normalScrollElements,function(){setMouseWheelScrolling(false)});$document.on('mouseleave',options.normalScrollElements,function(){setMouseWheelScrolling(true)})}}function setOptionsFromDOM(){var sections=container.find(options.sectionSelector);if(!options.anchors.length){options.anchors=sections.filter('[data-anchor]').map(function(){return $(this).data('anchor').toString()}).get()}if(!options.navigationTooltips.length){options.navigationTooltips=sections.filter('[data-tooltip]').map(function(){return $(this).data('tooltip').toString()}).get()}}function prepareDom(){container.css({'height':'100%','position':'relative'});container.addClass(WRAPPER);$('html').addClass(ENABLED);windowsHeight=$window.height();container.removeClass(DESTROYED);addInternalSelectors();$(SECTION_SEL).each(function(index){var section=$(this);var slides=section.find(SLIDE_SEL);var numSlides=slides.length;styleSection(section,index);styleMenu(section,index);if(numSlides>0){styleSlides(section,slides,numSlides)}else{if(options.verticalCentered){addTableClass(section)}}});if(options.fixedElements&&options.css3){$(options.fixedElements).appendTo($body)}if(options.navigation){addVerticalNavigation()}enableYoutubeAPI();if(options.scrollOverflow){if(document.readyState==='complete'){createScrollBarHandler()}$window.on('load',createScrollBarHandler)}else{afterRenderActions()}}function styleSlides(section,slides,numSlides){var sliderWidth=numSlides*100;var slideWidth=100/numSlides;slides.wrapAll('
');slides.parent().wrap('
');section.find(SLIDES_CONTAINER_SEL).css('width',sliderWidth+'%');if(numSlides>1){if(options.controlArrows){createSlideArrows(section)}if(options.slidesNavigation){addSlidesNavigation(section,numSlides)}}slides.each(function(index){$(this).css('width',slideWidth+'%');if(options.verticalCentered){addTableClass($(this))}});var startingSlide=section.find(SLIDE_ACTIVE_SEL);if(startingSlide.length&&($(SECTION_ACTIVE_SEL).index(SECTION_SEL)!==0||($(SECTION_ACTIVE_SEL).index(SECTION_SEL)===0&&startingSlide.index()!==0))){silentLandscapeScroll(startingSlide,'internal')}else{slides.eq(0).addClass(ACTIVE)}}function styleSection(section,index){if(!index&&$(SECTION_ACTIVE_SEL).length===0){section.addClass(ACTIVE)}startingSection=$(SECTION_ACTIVE_SEL);section.css('height',windowsHeight+'px');if(options.paddingTop){section.css('padding-top',options.paddingTop)}if(options.paddingBottom){section.css('padding-bottom',options.paddingBottom)}if(typeof options.sectionsColor[index]!=='undefined'){section.css('background-color',options.sectionsColor[index])}if(typeof options.anchors[index]!=='undefined'){section.attr('data-anchor',options.anchors[index])}}function styleMenu(section,index){if(typeof options.anchors[index]!=='undefined'){if(section.hasClass(ACTIVE)){activateMenuAndNav(options.anchors[index],index)}}if(options.menu&&options.css3&&$(options.menu).closest(WRAPPER_SEL).length){$(options.menu).appendTo($body)}}function addInternalSelectors(){container.find(options.sectionSelector).addClass(SECTION);container.find(options.slideSelector).addClass(SLIDE)}function createSlideArrows(section){section.find(SLIDES_WRAPPER_SEL).after('
');if(options.controlArrowColor!='#fff'){section.find(SLIDES_ARROW_NEXT_SEL).css('border-color','transparent transparent transparent '+options.controlArrowColor);section.find(SLIDES_ARROW_PREV_SEL).css('border-color','transparent '+options.controlArrowColor+' transparent transparent')}if(!options.loopHorizontal){section.find(SLIDES_ARROW_PREV_SEL).hide()}}function addVerticalNavigation(){$body.append('
    ');var nav=$(SECTION_NAV_SEL);nav.addClass(function(){return options.showActiveTooltip?SHOW_ACTIVE_TOOLTIP+' '+options.navigationPosition:options.navigationPosition});for(var i=0;i<$(SECTION_SEL).length;i++){var link='';if(options.anchors.length){link=options.anchors[i]}var li='
  • ';var tooltip=options.navigationTooltips[i];if(typeof tooltip!=='undefined'&&tooltip!==''){li+='
    '+tooltip+'
    '}li+='
  • ';nav.find('ul').append(li)}$(SECTION_NAV_SEL).css('margin-top','-'+($(SECTION_NAV_SEL).height()/2)+'px');$(SECTION_NAV_SEL).find('li').eq($(SECTION_ACTIVE_SEL).index(SECTION_SEL)).find('a').addClass(ACTIVE)}function createScrollBarHandler(){$(SECTION_SEL).each(function(){var slides=$(this).find(SLIDE_SEL);if(slides.length){slides.each(function(){createScrollBar($(this))})}else{createScrollBar($(this))}});afterRenderActions()}function enableYoutubeAPI(){container.find('iframe[src*="youtube.com/embed/"]').each(function(){addURLParam($(this),'enablejsapi=1')})}function addURLParam(element,newParam){var originalSrc=element.attr('src');element.attr('src',originalSrc+getUrlParamSign(originalSrc)+newParam)}function getUrlParamSign(url){return(!/\?/.test(url))?'?':'&'}function afterRenderActions(){var section=$(SECTION_ACTIVE_SEL);section.addClass(COMPLETELY);if(options.scrollOverflowHandler.afterRender){options.scrollOverflowHandler.afterRender(section)}lazyLoad(section);playMedia(section);options.scrollOverflowHandler.afterLoad();if(isDestinyTheStartingSection()){$.isFunction(options.afterLoad)&&options.afterLoad.call(section,section.data('anchor'),(section.index(SECTION_SEL)+1))}$.isFunction(options.afterRender)&&options.afterRender.call(container)}function isDestinyTheStartingSection(){var anchors=window.location.hash.replace('#','').split('/');var destinationSection=getSectionByAnchor(decodeURIComponent(anchors[0]));return!destinationSection.length||destinationSection.length&&destinationSection.index()===startingSection.index()}var isScrolling=false;var lastScroll=0;function scrollHandler(){var currentSection;if(!options.autoScrolling||options.scrollBar){var currentScroll=$window.scrollTop();var scrollDirection=getScrollDirection(currentScroll);var visibleSectionIndex=0;var screen_mid=currentScroll+($window.height()/2.0);var isAtBottom=$body.height()-$window.height()===currentScroll;var sections=document.querySelectorAll(SECTION_SEL);if(isAtBottom){visibleSectionIndex=sections.length-1}else if(!currentScroll){visibleSectionIndex=0}else{for(var i=0;i=($window.scrollTop()+$window.height())}return top<=$window.scrollTop()}function getScrollDirection(currentScroll){var direction=currentScroll>lastScroll?'down':'up';lastScroll=currentScroll;previousDestTop=currentScroll;return direction}function scrolling(type,scrollable){if(!isScrollAllowed.m[type]){return}var check=(type==='down')?'bottom':'top';var scrollSection=(type==='down')?moveSectionDown:moveSectionUp;if(scrollable.length>0){if(options.scrollOverflowHandler.isScrolled(check,scrollable)){scrollSection()}else{return true}}else{scrollSection()}}function preventBouncing(event){var e=event.originalEvent;if(!checkParentForNormalScrollElement(event.target)&&options.autoScrolling&&isReallyTouch(e)){event.preventDefault()}}var touchStartY=0;var touchStartX=0;var touchEndY=0;var touchEndX=0;function touchMoveHandler(event){var e=event.originalEvent;var activeSection=$(e.target).closest(SECTION_SEL);if(!checkParentForNormalScrollElement(event.target)&&isReallyTouch(e)){if(options.autoScrolling){event.preventDefault()}var scrollable=options.scrollOverflowHandler.scrollable(activeSection);var touchEvents=getEventsPage(e);touchEndY=touchEvents.y;touchEndX=touchEvents.x;if(activeSection.find(SLIDES_WRAPPER_SEL).length&&Math.abs(touchStartX-touchEndX)>(Math.abs(touchStartY-touchEndY))){if(!slideMoving&&Math.abs(touchStartX-touchEndX)>($window.outerWidth()/100*options.touchSensitivity)){if(touchStartX>touchEndX){if(isScrollAllowed.m.right){moveSlideRight(activeSection)}}else{if(isScrollAllowed.m.left){moveSlideLeft(activeSection)}}}}else if(options.autoScrolling&&canScroll){if(Math.abs(touchStartY-touchEndY)>($window.height()/100*options.touchSensitivity)){if(touchStartY>touchEndY){scrolling('down',scrollable)}else if(touchEndY>touchStartY){scrolling('up',scrollable)}}}}}function checkParentForNormalScrollElement(el,hop){hop=hop||0;var parent=$(el).parent();if(hop149){scrollings.shift()}scrollings.push(Math.abs(value));if(options.scrollBar){e.preventDefault?e.preventDefault():e.returnValue=false}var activeSection=$(SECTION_ACTIVE_SEL);var scrollable=options.scrollOverflowHandler.scrollable(activeSection);var timeDiff=curTime-prevTime;prevTime=curTime;if(timeDiff>200){scrollings=[]}if(canScroll){var averageEnd=getAverage(scrollings,10);var averageMiddle=getAverage(scrollings,70);var isAccelerating=averageEnd>=averageMiddle;if(isAccelerating&&isScrollingVertically){if(delta<0){scrolling('down',scrollable)}else{scrolling('up',scrollable)}}}return false}if(options.fitToSection){$htmlBody.stop()}}function moveSlide(direction,section){var activeSection=typeof section==='undefined'?$(SECTION_ACTIVE_SEL):section;var slides=activeSection.find(SLIDES_WRAPPER_SEL);var numSlides=slides.find(SLIDE_SEL).length;if(!slides.length||slideMoving||numSlides<2){return}var currentSlide=slides.find(SLIDE_ACTIVE_SEL);var destiny=null;if(direction==='left'){destiny=currentSlide.prev(SLIDE_SEL)}else{destiny=currentSlide.next(SLIDE_SEL)}if(!destiny.length){if(!options.loopHorizontal)return;if(direction==='left'){destiny=currentSlide.siblings(':last')}else{destiny=currentSlide.siblings(':first')}}slideMoving=true;landscapeScroll(slides,destiny,direction)}function keepSlidesPosition(){$(SLIDE_ACTIVE_SEL).each(function(){silentLandscapeScroll($(this),'internal')})}var previousDestTop=0;function getDestinationPosition(element){var elemPosition=element.position();var position=elemPosition.top;var isScrollingDown=elemPosition.top>previousDestTop;var sectionBottom=position-windowsHeight+element.outerHeight();var bigSectionsDestination=options.bigSectionsDestination;if(element.outerHeight()>windowsHeight){if(!isScrollingDown&&!bigSectionsDestination||bigSectionsDestination==='bottom'){position=sectionBottom}}else if(isScrollingDown||(isResizing&&element.is(':last-child'))){position=sectionBottom}previousDestTop=position;return position}function scrollPage(element,callback,isMovementUp){if(typeof element==='undefined'){return}var dtop=getDestinationPosition(element);var slideAnchorLink;var slideIndex;var v={element:element,callback:callback,isMovementUp:isMovementUp,dtop:dtop,yMovement:getYmovement(element),anchorLink:element.data('anchor'),sectionIndex:element.index(SECTION_SEL),activeSlide:element.find(SLIDE_ACTIVE_SEL),activeSection:$(SECTION_ACTIVE_SEL),leavingSection:$(SECTION_ACTIVE_SEL).index(SECTION_SEL)+1,localIsResizing:isResizing};if((v.activeSection.is(element)&&!isResizing)||(options.scrollBar&&$window.scrollTop()===v.dtop&&!element.hasClass(AUTO_HEIGHT))){return}if(v.activeSlide.length){slideAnchorLink=v.activeSlide.data('anchor');slideIndex=v.activeSlide.index()}if(options.autoScrolling&&options.continuousVertical&&typeof(v.isMovementUp)!=="undefined"&&((!v.isMovementUp&&v.yMovement=='up')||(v.isMovementUp&&v.yMovement=='down'))){v=createInfiniteSections(v)}if($.isFunction(options.onLeave)&&!v.localIsResizing){if(options.onLeave.call(v.activeSection,v.leavingSection,(v.sectionIndex+1),v.yMovement)===false){return}}if(!v.localIsResizing){stopMedia(v.activeSection)}options.scrollOverflowHandler.beforeLeave();element.addClass(ACTIVE).siblings().removeClass(ACTIVE);lazyLoad(element);options.scrollOverflowHandler.onLeave();canScroll=false;setState(slideIndex,slideAnchorLink,v.anchorLink,v.sectionIndex);performMovement(v);lastScrolledDestiny=v.anchorLink;activateMenuAndNav(v.anchorLink,v.sectionIndex)}function performMovement(v){if(options.css3&&options.autoScrolling&&!options.scrollBar){var translate3d='translate3d(0px, -'+Math.round(v.dtop)+'px, 0px)';transformContainer(translate3d,true);if(options.scrollingSpeed){clearTimeout(afterSectionLoadsId);afterSectionLoadsId=setTimeout(function(){afterSectionLoads(v)},options.scrollingSpeed)}else{afterSectionLoads(v)}}else{var scrollSettings=getScrollSettings(v);$(scrollSettings.element).animate(scrollSettings.options,options.scrollingSpeed,options.easing).promise().done(function(){if(options.scrollBar){setTimeout(function(){afterSectionLoads(v)},30)}else{afterSectionLoads(v)}})}}function getScrollSettings(v){var scroll={};if(options.autoScrolling&&!options.scrollBar){scroll.options={'top':-v.dtop};scroll.element=WRAPPER_SEL}else{scroll.options={'scrollTop':v.dtop};scroll.element='html, body'}return scroll}function createInfiniteSections(v){if(!v.isMovementUp){$(SECTION_ACTIVE_SEL).after(v.activeSection.prevAll(SECTION_SEL).get().reverse())}else{$(SECTION_ACTIVE_SEL).before(v.activeSection.nextAll(SECTION_SEL))}silentScroll($(SECTION_ACTIVE_SEL).position().top);keepSlidesPosition();v.wrapAroundElements=v.activeSection;v.dtop=v.element.position().top;v.yMovement=getYmovement(v.element);return v}function continuousVerticalFixSectionOrder(v){if(!v.wrapAroundElements||!v.wrapAroundElements.length){return}if(v.isMovementUp){$(SECTION_FIRST_SEL).before(v.wrapAroundElements)}else{$(SECTION_LAST_SEL).after(v.wrapAroundElements)}silentScroll($(SECTION_ACTIVE_SEL).position().top);keepSlidesPosition()}function afterSectionLoads(v){continuousVerticalFixSectionOrder(v);$.isFunction(options.afterLoad)&&!v.localIsResizing&&options.afterLoad.call(v.element,v.anchorLink,(v.sectionIndex+1));options.scrollOverflowHandler.afterLoad();if(!v.localIsResizing){playMedia(v.element)}v.element.addClass(COMPLETELY).siblings().removeClass(COMPLETELY);canScroll=true;$.isFunction(v.callback)&&v.callback.call(this)}function setSrc(element,attribute){element.attr(attribute,element.data(attribute)).removeAttr('data-'+attribute)}function lazyLoad(destiny){if(!options.lazyLoading){return}var panel=getSlideOrSection(destiny);var element;panel.find('img[data-src], img[data-srcset], source[data-src], audio[data-src], iframe[data-src]').each(function(){element=$(this);$.each(['src','srcset'],function(index,type){var attribute=element.attr('data-'+type);if(typeof attribute!=='undefined'&&attribute){setSrc(element,type)}});if(element.is('source')){element.closest('video').get(0).load()}})}function playMedia(destiny){var panel=getSlideOrSection(destiny);panel.find('video, audio').each(function(){var element=$(this).get(0);if(element.hasAttribute('data-autoplay')&&typeof element.play==='function'){element.play()}});panel.find('iframe[src*="youtube.com/embed/"]').each(function(){var element=$(this).get(0);if(element.hasAttribute('data-autoplay')){playYoutube(element)}element.onload=function(){if(element.hasAttribute('data-autoplay')){playYoutube(element)}}})}function playYoutube(element){element.contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}','*')}function stopMedia(destiny){var panel=getSlideOrSection(destiny);panel.find('video, audio').each(function(){var element=$(this).get(0);if(!element.hasAttribute('data-keepplaying')&&typeof element.pause==='function'){element.pause()}});panel.find('iframe[src*="youtube.com/embed/"]').each(function(){var element=$(this).get(0);if(/youtube\.com\/embed\//.test($(this).attr('src'))&&!element.hasAttribute('data-keepplaying')){$(this).get(0).contentWindow.postMessage('{"event":"command","func":"pauseVideo","args":""}','*')}})}function getSlideOrSection(destiny){var slide=destiny.find(SLIDE_ACTIVE_SEL);if(slide.length){destiny=$(slide)}return destiny}function scrollToAnchor(){var value=window.location.hash.replace('#','').split('/');var sectionAnchor=decodeURIComponent(value[0]);var slideAnchor=decodeURIComponent(value[1]);if(sectionAnchor){if(options.animateAnchor){scrollPageAndSlide(sectionAnchor,slideAnchor)}else{silentMoveTo(sectionAnchor,slideAnchor)}}}function hashChangeHandler(){if(!isScrolling&&!options.lockAnchors){var value=window.location.hash.replace('#','').split('/');var sectionAnchor=decodeURIComponent(value[0]);var slideAnchor=decodeURIComponent(value[1]);var isFirstSlideMove=(typeof lastScrolledDestiny==='undefined');var isFirstScrollMove=(typeof lastScrolledDestiny==='undefined'&&typeof slideAnchor==='undefined'&&!slideMoving);if(sectionAnchor.length){if((sectionAnchor&§ionAnchor!==lastScrolledDestiny)&&!isFirstSlideMove||isFirstScrollMove||(!slideMoving&&lastScrolledSlide!=slideAnchor)){scrollPageAndSlide(sectionAnchor,slideAnchor)}}}}function keydownHandler(e){clearTimeout(keydownId);var activeElement=$(':focus');if(!activeElement.is('textarea')&&!activeElement.is('input')&&!activeElement.is('select')&&activeElement.attr('contentEditable')!=="true"&&activeElement.attr('contentEditable')!==''&&options.keyboardScrolling&&options.autoScrolling){var keyCode=e.which;var keyControls=[40,38,32,33,34];if($.inArray(keyCode,keyControls)>-1){e.preventDefault()}controlPressed=e.ctrlKey;keydownId=setTimeout(function(){onkeydown(e)},150)}}function tooltipTextHandler(){$(this).prev().trigger('click')}function keyUpHandler(e){if(isWindowFocused){controlPressed=e.ctrlKey}}function mouseDownHandler(e){if(e.which==2){oldPageY=e.pageY;container.on('mousemove',mouseMoveHandler)}}function mouseUpHandler(e){if(e.which==2){container.off('mousemove')}}function slideArrowHandler(){var section=$(this).closest(SECTION_SEL);if($(this).hasClass(SLIDES_PREV)){if(isScrollAllowed.m.left){moveSlideLeft(section)}}else{if(isScrollAllowed.m.right){moveSlideRight(section)}}}function blurHandler(){isWindowFocused=false;controlPressed=false}function sectionBulletHandler(e){e.preventDefault();var index=$(this).parent().index();scrollPage($(SECTION_SEL).eq(index))}function slideBulletHandler(e){e.preventDefault();var slides=$(this).closest(SECTION_SEL).find(SLIDES_WRAPPER_SEL);var destiny=slides.find(SLIDE_SEL).eq($(this).closest('li').index());landscapeScroll(slides,destiny)}function onkeydown(e){var shiftPressed=e.shiftKey;if(!canScroll&&[37,39].indexOf(e.which)<0){return}switch(e.which){case 38:case 33:if(isScrollAllowed.k.up){moveSectionUp()}break;case 32:if(shiftPressed&&isScrollAllowed.k.up){moveSectionUp();break}case 40:case 34:if(isScrollAllowed.k.down){moveSectionDown()}break;case 36:if(isScrollAllowed.k.up){moveTo(1)}break;case 35:if(isScrollAllowed.k.down){moveTo($(SECTION_SEL).length)}break;case 37:if(isScrollAllowed.k.left){moveSlideLeft()}break;case 39:if(isScrollAllowed.k.right){moveSlideRight()}break;default:return}}var oldPageY=0;function mouseMoveHandler(e){if(canScroll){if(e.pageYoldPageY&&isScrollAllowed.m.down){moveSectionDown()}}oldPageY=e.pageY}function landscapeScroll(slides,destiny,direction){var section=slides.closest(SECTION_SEL);var v={slides:slides,destiny:destiny,direction:direction,destinyPos:destiny.position(),slideIndex:destiny.index(),section:section,sectionIndex:section.index(SECTION_SEL),anchorLink:section.data('anchor'),slidesNav:section.find(SLIDES_NAV_SEL),slideAnchor:getAnchor(destiny),prevSlide:section.find(SLIDE_ACTIVE_SEL),prevSlideIndex:section.find(SLIDE_ACTIVE_SEL).index(),localIsResizing:isResizing};v.xMovement=getXmovement(v.prevSlideIndex,v.slideIndex);if(!v.localIsResizing){canScroll=false}if(options.onSlideLeave){if(!v.localIsResizing&&v.xMovement!=='none'){if($.isFunction(options.onSlideLeave)){if(options.onSlideLeave.call(v.prevSlide,v.anchorLink,(v.sectionIndex+1),v.prevSlideIndex,v.xMovement,v.slideIndex)===false){slideMoving=false;return}}}}destiny.addClass(ACTIVE).siblings().removeClass(ACTIVE);if(!v.localIsResizing){stopMedia(v.prevSlide);lazyLoad(destiny)}if(!options.loopHorizontal&&options.controlArrows){section.find(SLIDES_ARROW_PREV_SEL).toggle(v.slideIndex!==0);section.find(SLIDES_ARROW_NEXT_SEL).toggle(!destiny.is(':last-child'))}if(section.hasClass(ACTIVE)&&!v.localIsResizing){setState(v.slideIndex,v.slideAnchor,v.anchorLink,v.sectionIndex)}performHorizontalMove(slides,v,true)}function afterSlideLoads(v){activeSlidesNavigation(v.slidesNav,v.slideIndex);if(!v.localIsResizing){$.isFunction(options.afterSlideLoad)&&options.afterSlideLoad.call(v.destiny,v.anchorLink,(v.sectionIndex+1),v.slideAnchor,v.slideIndex);canScroll=true;playMedia(v.destiny)}slideMoving=false}function performHorizontalMove(slides,v,fireCallback){var destinyPos=v.destinyPos;if(options.css3){var translate3d='translate3d(-'+Math.round(destinyPos.left)+'px, 0px, 0px)';addAnimation(slides.find(SLIDES_CONTAINER_SEL)).css(getTransforms(translate3d));afterSlideLoadsId=setTimeout(function(){fireCallback&&afterSlideLoads(v)},options.scrollingSpeed,options.easing)}else{slides.animate({scrollLeft:Math.round(destinyPos.left)},options.scrollingSpeed,options.easing,function(){fireCallback&&afterSlideLoads(v)})}}function activeSlidesNavigation(slidesNav,slideIndex){slidesNav.find(ACTIVE_SEL).removeClass(ACTIVE);slidesNav.find('li').eq(slideIndex).find('a').addClass(ACTIVE)}var previousHeight=windowsHeight;function resizeHandler(){responsive();if(isTouchDevice){var activeElement=$(document.activeElement);if(!activeElement.is('textarea')&&!activeElement.is('input')&&!activeElement.is('select')){var currentHeight=$window.height();if(Math.abs(currentHeight-previousHeight)>(20*Math.max(previousHeight,currentHeight)/100)){reBuild(true);previousHeight=currentHeight}}}else{clearTimeout(resizeId);resizeId=setTimeout(function(){reBuild(true)},350)}}function responsive(){var widthLimit=options.responsive||options.responsiveWidth;var heightLimit=options.responsiveHeight;var isBreakingPointWidth=widthLimit&&$window.outerWidth()toIndex){return'up'}return'down'}function getXmovement(fromIndex,toIndex){if(fromIndex==toIndex){return'none'}if(fromIndex>toIndex){return'left'}return'right'}function createScrollBar(element){if(element.hasClass('fp-noscroll'))return;element.css('overflow','hidden');var scrollOverflowHandler=options.scrollOverflowHandler;var wrap=scrollOverflowHandler.wrapContent();var section=element.closest(SECTION_SEL);var scrollable=scrollOverflowHandler.scrollable(element);var contentHeight;if(scrollable.length){contentHeight=scrollOverflowHandler.scrollHeight(element)}else{contentHeight=element.get(0).scrollHeight;if(options.verticalCentered){contentHeight=element.find(TABLE_CELL_SEL).get(0).scrollHeight}}var scrollHeight=windowsHeight-parseInt(section.css('padding-bottom'))-parseInt(section.css('padding-top'));if(contentHeight>scrollHeight){if(scrollable.length){scrollOverflowHandler.update(element,scrollHeight)}else{if(options.verticalCentered){element.find(TABLE_CELL_SEL).wrapInner(wrap)}else{element.wrapInner(wrap)}scrollOverflowHandler.create(element,scrollHeight)}}else{scrollOverflowHandler.remove(element)}element.css('overflow','')}function addTableClass(element){if(!element.hasClass(TABLE)){element.addClass(TABLE).wrapInner('
    ')}}function getTableHeight(element){var sectionHeight=windowsHeight;if(options.paddingTop||options.paddingBottom){var section=element;if(!section.hasClass(SECTION)){section=element.closest(SECTION_SEL)}var paddings=parseInt(section.css('padding-top'))+parseInt(section.css('padding-bottom'));sectionHeight=(windowsHeight-paddings)}return sectionHeight}function transformContainer(translate3d,animated){if(animated){addAnimation(container)}else{removeAnimation(container)}container.css(getTransforms(translate3d));setTimeout(function(){container.removeClass(NO_TRANSITION)},10)}function getSectionByAnchor(sectionAnchor){if(!sectionAnchor)return[];var section=container.find(SECTION_SEL+'[data-anchor="'+sectionAnchor+'"]');if(!section.length){section=$(SECTION_SEL).eq(sectionAnchor-1)}return section}function getSlideByAnchor(slideAnchor,section){var slides=section.find(SLIDES_WRAPPER_SEL);var slide=slides.find(SLIDE_SEL+'[data-anchor="'+slideAnchor+'"]');if(!slide.length){slide=slides.find(SLIDE_SEL).eq(slideAnchor)}return slide}function scrollPageAndSlide(destiny,slide){var section=getSectionByAnchor(destiny);if(!section.length)return;if(typeof slide==='undefined'){slide=0}if(destiny!==lastScrolledDestiny&&!section.hasClass(ACTIVE)){scrollPage(section,function(){scrollSlider(section,slide)})}else{scrollSlider(section,slide)}}function scrollSlider(section,slideAnchor){if(typeof slideAnchor!=='undefined'){var slides=section.find(SLIDES_WRAPPER_SEL);var destiny=getSlideByAnchor(slideAnchor,section);if(destiny.length){landscapeScroll(slides,destiny)}}}function addSlidesNavigation(section,numSlides){section.append('
      ');var nav=section.find(SLIDES_NAV_SEL);nav.addClass(options.slidesNavPosition);for(var i=0;i')}nav.css('margin-left','-'+(nav.width()/2)+'px');nav.find('li').first().find('a').addClass(ACTIVE)}function setState(slideIndex,slideAnchor,anchorLink,sectionIndex){var sectionHash='';if(options.anchors.length&&!options.lockAnchors){if(slideIndex){if(typeof anchorLink!=='undefined'){sectionHash=anchorLink}if(typeof slideAnchor==='undefined'){slideAnchor=slideIndex}lastScrolledSlide=slideAnchor;setUrlHash(sectionHash+'/'+slideAnchor)}else if(typeof slideIndex!=='undefined'){lastScrolledSlide=slideAnchor;setUrlHash(anchorLink)}else{setUrlHash(anchorLink)}}setBodyClass()}function setUrlHash(url){if(options.recordHistory){location.hash=url}else{if(isTouchDevice||isTouch){window.history.replaceState(undefined,undefined,'#'+url)}else{var baseUrl=window.location.href.split('#')[0];window.location.replace(baseUrl+'#'+url)}}}function getAnchor(element){var anchor=element.data('anchor');var index=element.index();if(typeof anchor==='undefined'){anchor=index}return anchor}function setBodyClass(){var section=$(SECTION_ACTIVE_SEL);var slide=section.find(SLIDE_ACTIVE_SEL);var sectionAnchor=getAnchor(section);var slideAnchor=getAnchor(slide);var text=String(sectionAnchor);if(slide.length){text=text+'-'+slideAnchor}text=text.replace('/','-').replace('#','');var classRe=new RegExp('\\b\\s?'+VIEWING_PREFIX+'-[^\\s]+\\b',"g");$body[0].className=$body[0].className.replace(classRe,'');$body.addClass(VIEWING_PREFIX+'-'+text)}function support3d(){var el=document.createElement('p'),has3d,transforms={'webkitTransform':'-webkit-transform','OTransform':'-o-transform','msTransform':'-ms-transform','MozTransform':'-moz-transform','transform':'transform'};document.body.insertBefore(el,null);for(var t in transforms){if(el.style[t]!==undefined){el.style[t]='translate3d(1px,1px,1px)';has3d=window.getComputedStyle(el).getPropertyValue(transforms[t])}}document.body.removeChild(el);return(has3d!==undefined&&has3d.length>0&&has3d!=='none')}function removeMouseWheelHandler(){if(document.addEventListener){document.removeEventListener('mousewheel',MouseWheelHandler,false);document.removeEventListener('wheel',MouseWheelHandler,false);document.removeEventListener('MozMousePixelScroll',MouseWheelHandler,false)}else{document.detachEvent('onmousewheel',MouseWheelHandler)}}function addMouseWheelHandler(){var prefix='';var _addEventListener;if(window.addEventListener){_addEventListener="addEventListener"}else{_addEventListener="attachEvent";prefix='on'}var support='onwheel'in document.createElement('div')?'wheel':document.onmousewheel!==undefined?'mousewheel':'DOMMouseScroll';if(support=='DOMMouseScroll'){document[_addEventListener](prefix+'MozMousePixelScroll',MouseWheelHandler,false)}else{document[_addEventListener](prefix+support,MouseWheelHandler,false)}}function addMiddleWheelHandler(){container.on('mousedown',mouseDownHandler).on('mouseup',mouseUpHandler)}function removeMiddleWheelHandler(){container.off('mousedown',mouseDownHandler).off('mouseup',mouseUpHandler)}function addTouchHandler(){if(isTouchDevice||isTouch){if(options.autoScrolling){$body.off(events.touchmove).on(events.touchmove,preventBouncing)}$(WRAPPER_SEL).off(events.touchstart).on(events.touchstart,touchStartHandler).off(events.touchmove).on(events.touchmove,touchMoveHandler)}}function removeTouchHandler(){if(isTouchDevice||isTouch){$(WRAPPER_SEL).off(events.touchstart).off(events.touchmove)}}function getMSPointer(){var pointer;if(window.PointerEvent){pointer={down:'pointerdown',move:'pointermove'}}else{pointer={down:'MSPointerDown',move:'MSPointerMove'}}return pointer}function getEventsPage(e){var events=[];events.y=(typeof e.pageY!=='undefined'&&(e.pageY||e.pageX)?e.pageY:e.touches[0].pageY);events.x=(typeof e.pageX!=='undefined'&&(e.pageY||e.pageX)?e.pageX:e.touches[0].pageX);if(isTouch&&isReallyTouch(e)&&options.scrollBar){events.y=e.touches[0].pageY;events.x=e.touches[0].pageX}return events}function silentLandscapeScroll(activeSlide,noCallbacks){setScrollingSpeed(0,'internal');if(typeof noCallbacks!=='undefined'){isResizing=true}landscapeScroll(activeSlide.closest(SLIDES_WRAPPER_SEL),activeSlide);if(typeof noCallbacks!=='undefined'){isResizing=false}setScrollingSpeed(originals.scrollingSpeed,'internal')}function silentScroll(top){var roundedTop=Math.round(top);if(options.css3&&options.autoScrolling&&!options.scrollBar){var translate3d='translate3d(0px, -'+roundedTop+'px, 0px)';transformContainer(translate3d,false)}else if(options.autoScrolling&&!options.scrollBar){container.css('top',-roundedTop)}else{$htmlBody.scrollTop(roundedTop)}}function getTransforms(translate3d){return{'-webkit-transform':translate3d,'-moz-transform':translate3d,'-ms-transform':translate3d,'transform':translate3d}}function setIsScrollAllowed(value,direction,type){switch(direction){case'up':isScrollAllowed[type].up=value;break;case'down':isScrollAllowed[type].down=value;break;case'left':isScrollAllowed[type].left=value;break;case'right':isScrollAllowed[type].right=value;break;case'all':if(type=='m'){setAllowScrolling(value)}else{setKeyboardScrolling(value)}}}function destroy(all){setAutoScrolling(false,'internal');setAllowScrolling(false);setKeyboardScrolling(false);container.addClass(DESTROYED);clearTimeout(afterSlideLoadsId);clearTimeout(afterSectionLoadsId);clearTimeout(resizeId);clearTimeout(scrollId);clearTimeout(scrollId2);$window.off('scroll',scrollHandler).off('hashchange',hashChangeHandler).off('resize',resizeHandler);$document.off('click touchstart',SECTION_NAV_SEL+' a').off('mouseenter',SECTION_NAV_SEL+' li').off('mouseleave',SECTION_NAV_SEL+' li').off('click touchstart',SLIDES_NAV_LINK_SEL).off('mouseover',options.normalScrollElements).off('mouseout',options.normalScrollElements);$(SECTION_SEL).off('click touchstart',SLIDES_ARROW_SEL);clearTimeout(afterSlideLoadsId);clearTimeout(afterSectionLoadsId);if(all){destroyStructure()}}function destroyStructure(){silentScroll(0);container.find('img[data-src], source[data-src], audio[data-src], iframe[data-src]').each(function(){setSrc($(this),'src')});container.find('img[data-srcset]').each(function(){setSrc($(this),'srcset')});$(SECTION_NAV_SEL+', '+SLIDES_NAV_SEL+', '+SLIDES_ARROW_SEL).remove();$(SECTION_SEL).css({'height':'','background-color':'','padding':''});$(SLIDE_SEL).css({'width':''});container.css({'height':'','position':'','-ms-touch-action':'','touch-action':''});$htmlBody.css({'overflow':'','height':''});$('html').removeClass(ENABLED);$body.removeClass(RESPONSIVE);$.each($body.get(0).className.split(/\s+/),function(index,className){if(className.indexOf(VIEWING_PREFIX)===0){$body.removeClass(className)}});$(SECTION_SEL+', '+SLIDE_SEL).each(function(){options.scrollOverflowHandler.remove($(this));$(this).removeClass(TABLE+' '+ACTIVE)});removeAnimation(container);container.find(TABLE_CELL_SEL+', '+SLIDES_CONTAINER_SEL+', '+SLIDES_WRAPPER_SEL).each(function(){$(this).replaceWith(this.childNodes)});container.css({'-webkit-transition':'none','transition':'none'});$htmlBody.scrollTop(0);var usedSelectors=[SECTION,SLIDE,SLIDES_CONTAINER];$.each(usedSelectors,function(index,value){$('.'+value).removeClass(value)})}function setVariableState(variable,value,type){options[variable]=value;if(type!=='internal'){originals[variable]=value}}function displayWarnings(){var extensions=['fadingEffect','continuousHorizontal','scrollHorizontally','interlockedSlides','resetSliders','responsiveSlides','offsetSections','dragAndMove','scrollOverflowReset','parallax'];if($('html').hasClass(ENABLED)){showError('error','Fullpage.js can only be initialized once and you are doing it multiple times!');return}if(options.continuousVertical&&(options.loopTop||options.loopBottom)){options.continuousVertical=false;showError('warn','Option `loopTop/loopBottom` is mutually exclusive with `continuousVertical`; `continuousVertical` disabled')}if(options.scrollBar&&options.scrollOverflow){showError('warn','Option `scrollBar` is mutually exclusive with `scrollOverflow`. Sections with scrollOverflow might not work well in Firefox')}if(options.continuousVertical&&(options.scrollBar||!options.autoScrolling)){options.continuousVertical=false;showError('warn','Scroll bars (`scrollBar:true` or `autoScrolling:false`) are mutually exclusive with `continuousVertical`; `continuousVertical` disabled')}$.each(extensions,function(index,extension){if(options[extension]){showError('warn','fullpage.js extensions require jquery.fullpage.extensions.min.js file instead of the usual jquery.fullpage.js. Requested: '+extension)}});$.each(options.anchors,function(index,name){var nameAttr=$document.find('[name]').filter(function(){return $(this).attr('name')&&$(this).attr('name').toLowerCase()==name.toLowerCase()});var idAttr=$document.find('[id]').filter(function(){return $(this).attr('id')&&$(this).attr('id').toLowerCase()==name.toLowerCase()});if(idAttr.length||nameAttr.length){showError('error','data-anchor tags can not have the same value as any `id` element on the site (or `name` element for IE).');idAttr.length&&showError('error','"'+name+'" is is being used by another element `id` property');nameAttr.length&&showError('error','"'+name+'" is is being used by another element `name` property')}})}function showError(type,text){console&&console[type]&&console[type]('fullPage: '+text)}};if(typeof IScroll!=='undefined'){IScroll.prototype.wheelOn=function(){this.wrapper.addEventListener('wheel',this);this.wrapper.addEventListener('mousewheel',this);this.wrapper.addEventListener('DOMMouseScroll',this)};IScroll.prototype.wheelOff=function(){this.wrapper.removeEventListener('wheel',this);this.wrapper.removeEventListener('mousewheel',this);this.wrapper.removeEventListener('DOMMouseScroll',this)}}var iscrollHandler={refreshId:null,iScrollInstances:[],toggleWheel:function(value){var scrollable=$(SECTION_ACTIVE_SEL).find(SCROLLABLE_SEL);scrollable.each(function(){var iScrollInstance=$(this).data('iscrollInstance');if(typeof iScrollInstance!=='undefined'&&iScrollInstance){if(value){iScrollInstance.wheelOn()}else{iScrollInstance.wheelOff()}}})},onLeave:function(){iscrollHandler.toggleWheel(false)},beforeLeave:function(){iscrollHandler.onLeave()},afterLoad:function(){iscrollHandler.toggleWheel(true)},create:function(element,scrollHeight){var scrollable=element.find(SCROLLABLE_SEL);scrollable.height(scrollHeight);scrollable.each(function(){var $this=$(this);var iScrollInstance=$this.data('iscrollInstance');if(iScrollInstance){$.each(iscrollHandler.iScrollInstances,function(){$(this).destroy()})}iScrollInstance=new IScroll($this.get(0),iscrollOptions);iscrollHandler.iScrollInstances.push(iScrollInstance);iScrollInstance.wheelOff();$this.data('iscrollInstance',iScrollInstance)})},isScrolled:function(type,scrollable){var scroller=scrollable.data('iscrollInstance');if(!scroller){return true}if(type==='top'){return scroller.y>=0&&!scrollable.scrollTop()}else if(type==='bottom'){return(0-scroller.y)+scrollable.scrollTop()+1+scrollable.innerHeight()>=scrollable[0].scrollHeight}},scrollable:function(activeSection){if(activeSection.find(SLIDES_WRAPPER_SEL).length){return activeSection.find(SLIDE_ACTIVE_SEL).find(SCROLLABLE_SEL)}return activeSection.find(SCROLLABLE_SEL)},scrollHeight:function(element){return element.find(SCROLLABLE_SEL).children().first().get(0).scrollHeight},remove:function(element){var scrollable=element.find(SCROLLABLE_SEL);if(scrollable.length){var iScrollInstance=scrollable.data('iscrollInstance');iScrollInstance.destroy();scrollable.data('iscrollInstance',null)}element.find(SCROLLABLE_SEL).children().first().children().first().unwrap().unwrap()},update:function(element,scrollHeight){clearTimeout(iscrollHandler.refreshId);iscrollHandler.refreshId=setTimeout(function(){$.each(iscrollHandler.iScrollInstances,function(){$(this).get(0).refresh()})},150);element.find(SCROLLABLE_SEL).css('height',scrollHeight+'px').parent().css('height',scrollHeight+'px')},wrapContent:function(){return'
      '}}; -------------------------------------------------------------------------------- /src/libs/three/three.js: -------------------------------------------------------------------------------- 1 | var THREE=THREE||{};THREE.Color=function(a){this.autoUpdate=true;this.setHex(a)};THREE.Color.prototype={setRGBA:function(f,e,c,d){this.r=f;this.g=e;this.b=c;this.a=d;if(this.autoUpdate){this.updateHex();this.updateStyleString()}},setHex:function(a){this.hex=a;if(this.autoUpdate){this.updateRGBA();this.updateStyleString()}},copyRGB:function(a){this.r=a.r;this.g=a.g;this.b=a.b},copyRGBA:function(a){this.r=a.r;this.g=a.g;this.b=a.b;this.a=a.a},multiplySelfRGB:function(a){this.r*=a.r;this.g*=a.g;this.b*=a.b},updateHex:function(){this.hex=Math.floor(this.a*255)<<24|Math.floor(this.r*255)<<16|Math.floor(this.g*255)<<8|Math.floor(this.b*255)},updateRGBA:function(){this.a=(this.hex>>24&255)/255;this.r=(this.hex>>16&255)/255;this.g=(this.hex>>8&255)/255;this.b=(this.hex&255)/255},updateStyleString:function(){this.__styleString="rgba("+Math.floor(this.r*255)+","+Math.floor(this.g*255)+","+Math.floor(this.b*255)+","+this.a+")"},toString:function(){return"THREE.Color ( r: "+this.r+", g: "+this.g+", b: "+this.b+", a: "+this.a+", hex: "+this.hex+" )"}};THREE.Vector2=function(a,b){this.x=a||0;this.y=b||0};THREE.Vector2.prototype={set:function(a,b){this.x=a;this.y=b;return this},copy:function(a){this.x=a.x;this.y=a.y;return this},addSelf:function(a){this.x+=a.x;this.y+=a.y;return this},add:function(b,a){this.x=b.x+a.x;this.y=b.y+a.y;return this},subSelf:function(a){this.x-=a.x;this.y-=a.y;return this},sub:function(b,a){this.x=b.x-a.x;this.y=b.y-a.y;return this},multiplyScalar:function(a){this.x*=a;this.y*=a;return this},unit:function(){this.multiplyScalar(1/this.length());return this},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},lengthSq:function(){return this.x*this.x+this.y*this.y},negate:function(){this.x=-this.x;this.y=-this.y;return this},clone:function(){return new THREE.Vector2(this.x,this.y)},toString:function(){return"THREE.Vector2 ("+this.x+", "+this.y+")"}};THREE.Vector3=function(a,c,b){this.x=a||0;this.y=c||0;this.z=b||0};THREE.Vector3.prototype={set:function(a,c,b){this.x=a;this.y=c;this.z=b;return this},copy:function(a){this.x=a.x;this.y=a.y;this.z=a.z;return this},add:function(b,a){this.x=b.x+a.x;this.y=b.y+a.y;this.z=b.z+a.z;return this},addSelf:function(a){this.x+=a.x;this.y+=a.y;this.z+=a.z;return this},addScalar:function(a){this.x+=a;this.y+=a;this.z+=a;return this},sub:function(b,a){this.x=b.x-a.x;this.y=b.y-a.y;this.z=b.z-a.z;return this},subSelf:function(a){this.x-=a.x;this.y-=a.y;this.z-=a.z;return this},cross:function(b,a){this.x=b.y*a.z-b.z*a.y;this.y=b.z*a.x-b.x*a.z;this.z=b.x*a.y-b.y*a.x;return this},crossSelf:function(c){var b=this.x,a=this.y,d=this.z;this.x=a*c.z-d*c.y;this.y=d*c.x-b*c.z;this.z=b*c.y-a*c.x;return this},multiplySelf:function(a){this.x*=a.x;this.y*=a.y;this.z*=a.z;return this},multiplyScalar:function(a){this.x*=a;this.y*=a;this.z*=a;return this},divideScalar:function(a){this.x/=a;this.y/=a;this.z/=a;return this},dot:function(a){return this.x*a.x+this.y*a.y+this.z*a.z},distanceTo:function(a){return Math.sqrt(this.distanceToSquared(a))},distanceToSquared:function(d){var c=this.x-d.x,b=this.y-d.y,a=this.z-d.z;return c*c+b*b+a*a},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},lengthSq:function(){return this.x*this.x+this.y*this.y+this.z*this.z},negate:function(){this.x=-this.x;this.y=-this.y;this.z=-this.z;return this},normalize:function(){if(this.length()>0){this.multiplyScalar(1/this.length())}else{this.multiplyScalar(0)}return this},setLength:function(a){return this.normalize().multiplyScalar(a)},isZero:function(){var a=0.0001;return(Math.abs(this.x)=0&&Math.min(g,i.getY2())-Math.max(h,i.getY1())>=0};this.empty=function(){e=true;f=0;h=0;d=0;g=0;b()};this.isEmpty=function(){return e};this.toString=function(){return"THREE.Rectangle (x1: "+f+", y1: "+g+", x2: "+d+", y1: "+h+", width: "+a+", height: "+c+")"}};THREE.Matrix3=function(){this.m=[]};THREE.Matrix3.prototype={transpose:function(){var a;a=this.m[1];this.m[1]=this.m[3];this.m[3]=a;a=this.m[2];this.m[2]=this.m[6];this.m[6]=a;a=this.m[5];this.m[5]=this.m[7];this.m[7]=a;return this}};THREE.Matrix4=function(){this._x=new THREE.Vector3();this._y=new THREE.Vector3();this._z=new THREE.Vector3()};THREE.Matrix4.prototype={n11:1,n12:0,n13:0,n14:0,n21:0,n22:1,n23:0,n24:0,n31:0,n32:0,n33:1,n34:0,n41:0,n42:0,n43:0,n44:1,identity:function(){this.n11=1;this.n12=0;this.n13=0;this.n14=0;this.n21=0;this.n22=1;this.n23=0;this.n24=0;this.n31=0;this.n32=0;this.n33=1;this.n34=0;this.n41=0;this.n42=0;this.n43=0;this.n44=1},copy:function(a){this.n11=a.n11;this.n12=a.n12;this.n13=a.n13;this.n14=a.n14;this.n21=a.n21;this.n22=a.n22;this.n23=a.n23;this.n24=a.n24;this.n31=a.n31;this.n32=a.n32;this.n33=a.n33;this.n34=a.n34;this.n41=a.n41;this.n42=a.n42;this.n43=a.n43;this.n44=a.n44},lookAt:function(d,c,b){var a=this._x,f=this._y,e=this._z;e.sub(d,c);e.normalize();a.cross(b,e);a.normalize();f.cross(e,a);f.normalize();this.n11=a.x;this.n12=a.y;this.n13=a.z;this.n14=-a.dot(d);this.n21=f.x;this.n22=f.y;this.n23=f.z;this.n24=-f.dot(d);this.n31=e.x;this.n32=e.y;this.n33=e.z;this.n34=-e.dot(d);this.n41=0;this.n42=0;this.n43=0;this.n44=1},transform:function(a){var d=a.x,c=a.y,b=a.z,e=a.w?a.w:1;a.x=this.n11*d+this.n12*c+this.n13*b+this.n14*e;a.y=this.n21*d+this.n22*c+this.n23*b+this.n24*e;a.z=this.n31*d+this.n32*c+this.n33*b+this.n34*e;e=this.n41*d+this.n42*c+this.n43*b+this.n44*e;if(a.w){a.w=e}else{a.x=a.x/e;a.y=a.y/e;a.z=a.z/e}return a},crossVector:function(b){var c=new THREE.Vector4();c.x=this.n11*b.x+this.n12*b.y+this.n13*b.z+this.n14*b.w;c.y=this.n21*b.x+this.n22*b.y+this.n23*b.z+this.n24*b.w;c.z=this.n31*b.x+this.n32*b.y+this.n33*b.z+this.n34*b.w;c.w=(b.w)?this.n41*b.x+this.n42*b.y+this.n43*b.z+this.n44*b.w:1;return c},multiply:function(d,c){this.n11=d.n11*c.n11+d.n12*c.n21+d.n13*c.n31+d.n14*c.n41;this.n12=d.n11*c.n12+d.n12*c.n22+d.n13*c.n32+d.n14*c.n42;this.n13=d.n11*c.n13+d.n12*c.n23+d.n13*c.n33+d.n14*c.n43;this.n14=d.n11*c.n14+d.n12*c.n24+d.n13*c.n34+d.n14*c.n44;this.n21=d.n21*c.n11+d.n22*c.n21+d.n23*c.n31+d.n24*c.n41;this.n22=d.n21*c.n12+d.n22*c.n22+d.n23*c.n32+d.n24*c.n42;this.n23=d.n21*c.n13+d.n22*c.n23+d.n23*c.n33+d.n24*c.n43;this.n24=d.n21*c.n14+d.n22*c.n24+d.n23*c.n34+d.n24*c.n44;this.n31=d.n31*c.n11+d.n32*c.n21+d.n33*c.n31+d.n34*c.n41;this.n32=d.n31*c.n12+d.n32*c.n22+d.n33*c.n32+d.n34*c.n42;this.n33=d.n31*c.n13+d.n32*c.n23+d.n33*c.n33+d.n34*c.n43;this.n34=d.n31*c.n14+d.n32*c.n24+d.n33*c.n34+d.n34*c.n44;this.n41=d.n41*c.n11+d.n42*c.n21+d.n43*c.n31+d.n44*c.n41;this.n42=d.n41*c.n12+d.n42*c.n22+d.n43*c.n32+d.n44*c.n42;this.n43=d.n41*c.n13+d.n42*c.n23+d.n43*c.n33+d.n44*c.n43;this.n44=d.n41*c.n14+d.n42*c.n24+d.n43*c.n34+d.n44*c.n44},multiplySelf:function(c){var o=this.n11,n=this.n12,k=this.n13,i=this.n14,f=this.n21,e=this.n22,d=this.n23,b=this.n24,a=this.n31,r=this.n32,q=this.n33,p=this.n34,l=this.n41,j=this.n42,h=this.n43,g=this.n44;this.n11=o*c.n11+n*c.n21+k*c.n31+i*c.n41;this.n12=o*c.n12+n*c.n22+k*c.n32+i*c.n42;this.n13=o*c.n13+n*c.n23+k*c.n33+i*c.n43;this.n14=o*c.n14+n*c.n24+k*c.n34+i*c.n44;this.n21=f*c.n11+e*c.n21+d*c.n31+b*c.n41;this.n22=f*c.n12+e*c.n22+d*c.n32+b*c.n42;this.n23=f*c.n13+e*c.n23+d*c.n33+b*c.n43;this.n24=f*c.n14+e*c.n24+d*c.n34+b*c.n44;this.n31=a*c.n11+r*c.n21+q*c.n31+p*c.n41;this.n32=a*c.n12+r*c.n22+q*c.n32+p*c.n42;this.n33=a*c.n13+r*c.n23+q*c.n33+p*c.n43;this.n34=a*c.n14+r*c.n24+q*c.n34+p*c.n44;this.n41=l*c.n11+j*c.n21+h*c.n31+g*c.n41;this.n42=l*c.n12+j*c.n22+h*c.n32+g*c.n42;this.n43=l*c.n13+j*c.n23+h*c.n33+g*c.n43;this.n44=l*c.n14+j*c.n24+h*c.n34+g*c.n44},multiplyScalar:function(a){this.n11*=a;this.n12*=a;this.n13*=a;this.n14*=a;this.n21*=a;this.n22*=a;this.n23*=a;this.n24*=a;this.n31*=a;this.n32*=a;this.n33*=a;this.n34*=a;this.n41*=a;this.n42*=a;this.n43*=a;this.n44*=a},determinant:function(){return(this.n14*this.n23*this.n32*this.n41-this.n13*this.n24*this.n32*this.n41-this.n14*this.n22*this.n33*this.n41+this.n12*this.n24*this.n33*this.n41+this.n13*this.n22*this.n34*this.n41-this.n12*this.n23*this.n34*this.n41-this.n14*this.n23*this.n31*this.n42+this.n13*this.n24*this.n31*this.n42+this.n14*this.n21*this.n33*this.n42-this.n11*this.n24*this.n33*this.n42-this.n13*this.n21*this.n34*this.n42+this.n11*this.n23*this.n34*this.n42+this.n14*this.n22*this.n31*this.n43-this.n12*this.n24*this.n31*this.n43-this.n14*this.n21*this.n32*this.n43+this.n11*this.n24*this.n32*this.n43+this.n12*this.n21*this.n34*this.n43-this.n11*this.n22*this.n34*this.n43-this.n13*this.n22*this.n31*this.n44+this.n12*this.n23*this.n31*this.n44+this.n13*this.n21*this.n32*this.n44-this.n11*this.n23*this.n32*this.n44-this.n12*this.n21*this.n33*this.n44+this.n11*this.n22*this.n33*this.n44)},transpose:function(){function a(d,e,c){var b=d[e];d[e]=d[c];d[c]=b}a(this,"n21","n12");a(this,"n31","n13");a(this,"n32","n23");a(this,"n41","n14");a(this,"n42","n24");a(this,"n43","n34");return this},clone:function(){var a=new THREE.Matrix4();a.n11=this.n11;a.n12=this.n12;a.n13=this.n13;a.n14=this.n14;a.n21=this.n21;a.n22=this.n22;a.n23=this.n23;a.n24=this.n24;a.n31=this.n31;a.n32=this.n32;a.n33=this.n33;a.n34=this.n34;a.n41=this.n41;a.n42=this.n42;a.n43=this.n43;a.n44=this.n44;return a},flatten:function(){return[this.n11,this.n21,this.n31,this.n41,this.n12,this.n22,this.n32,this.n42,this.n13,this.n23,this.n33,this.n43,this.n14,this.n24,this.n34,this.n44]},toString:function(){return"| "+this.n11+" "+this.n12+" "+this.n13+" "+this.n14+" |\n| "+this.n21+" "+this.n22+" "+this.n23+" "+this.n24+" |\n| "+this.n31+" "+this.n32+" "+this.n33+" "+this.n34+" |\n| "+this.n41+" "+this.n42+" "+this.n43+" "+this.n44+" |"}};THREE.Matrix4.translationMatrix=function(b,d,c){var a=new THREE.Matrix4();a.n14=b;a.n24=d;a.n34=c;return a};THREE.Matrix4.scaleMatrix=function(b,d,c){var a=new THREE.Matrix4();a.n11=b;a.n22=d;a.n33=c;return a};THREE.Matrix4.rotationXMatrix=function(b){var a=new THREE.Matrix4();a.n22=a.n33=Math.cos(b);a.n32=Math.sin(b);a.n23=-a.n32;return a};THREE.Matrix4.rotationYMatrix=function(b){var a=new THREE.Matrix4();a.n11=a.n33=Math.cos(b);a.n13=Math.sin(b);a.n31=-a.n13;return a};THREE.Matrix4.rotationZMatrix=function(b){var a=new THREE.Matrix4();a.n11=a.n22=Math.cos(b);a.n21=Math.sin(b);a.n12=-a.n21;return a};THREE.Matrix4.rotationAxisAngleMatrix=function(b,d){var a=new THREE.Matrix4(),f=Math.cos(d),j=Math.sin(d),i=1-f,h=b.x,g=b.y,e=b.z;a.n11=i*h*h+f;a.n12=i*h*g-j*e;a.n13=i*h*e+j*g;a.n21=i*h*g+j*e;a.n22=i*g*g+f;a.n23=i*g*e-j*h;a.n31=i*h*e-j*g;a.n32=i*g*e+j*h;a.n33=i*e*e+f;return a};THREE.Matrix4.makeInvert=function(b){var a=new THREE.Matrix4();a.n11=b.n23*b.n34*b.n42-b.n24*b.n33*b.n42+b.n24*b.n32*b.n43-b.n22*b.n34*b.n43-b.n23*b.n32*b.n44+b.n22*b.n33*b.n44;a.n12=b.n14*b.n33*b.n42-b.n13*b.n34*b.n42-b.n14*b.n32*b.n43+b.n12*b.n34*b.n43+b.n13*b.n32*b.n44-b.n12*b.n33*b.n44;a.n13=b.n13*b.n24*b.n42-b.n14*b.n23*b.n42+b.n14*b.n22*b.n43-b.n12*b.n24*b.n43-b.n13*b.n22*b.n44+b.n12*b.n23*b.n44;a.n14=b.n14*b.n23*b.n32-b.n13*b.n24*b.n32-b.n14*b.n22*b.n33+b.n12*b.n24*b.n33+b.n13*b.n22*b.n34-b.n12*b.n23*b.n34;a.n21=b.n24*b.n33*b.n41-b.n23*b.n34*b.n41-b.n24*b.n31*b.n43+b.n21*b.n34*b.n43+b.n23*b.n31*b.n44-b.n21*b.n33*b.n44;a.n22=b.n13*b.n34*b.n41-b.n14*b.n33*b.n41+b.n14*b.n31*b.n43-b.n11*b.n34*b.n43-b.n13*b.n31*b.n44+b.n11*b.n33*b.n44;a.n23=b.n14*b.n23*b.n41-b.n13*b.n24*b.n41-b.n14*b.n21*b.n43+b.n11*b.n24*b.n43+b.n13*b.n21*b.n44-b.n11*b.n23*b.n44;a.n24=b.n13*b.n24*b.n31-b.n14*b.n23*b.n31+b.n14*b.n21*b.n33-b.n11*b.n24*b.n33-b.n13*b.n21*b.n34+b.n11*b.n23*b.n34;a.n31=b.n22*b.n34*b.n41-b.n24*b.n32*b.n41+b.n24*b.n31*b.n42-b.n21*b.n34*b.n42-b.n22*b.n31*b.n44+b.n21*b.n32*b.n44;a.n32=b.n14*b.n32*b.n41-b.n12*b.n34*b.n41-b.n14*b.n31*b.n42+b.n11*b.n34*b.n42+b.n12*b.n31*b.n44-b.n11*b.n32*b.n44;a.n33=b.n13*b.n24*b.n41-b.n14*b.n22*b.n41+b.n14*b.n21*b.n42-b.n11*b.n24*b.n42-b.n12*b.n21*b.n44+b.n11*b.n22*b.n44;a.n34=b.n14*b.n22*b.n31-b.n12*b.n24*b.n31-b.n14*b.n21*b.n32+b.n11*b.n24*b.n32+b.n12*b.n21*b.n34-b.n11*b.n22*b.n34;a.n41=b.n23*b.n32*b.n41-b.n22*b.n33*b.n41-b.n23*b.n31*b.n42+b.n21*b.n33*b.n42+b.n22*b.n31*b.n43-b.n21*b.n32*b.n43;a.n42=b.n12*b.n33*b.n41-b.n13*b.n32*b.n41+b.n13*b.n31*b.n42-b.n11*b.n33*b.n42-b.n12*b.n31*b.n43+b.n11*b.n32*b.n43;a.n43=b.n13*b.n22*b.n41-b.n12*b.n23*b.n41-b.n13*b.n21*b.n42+b.n11*b.n23*b.n42+b.n12*b.n21*b.n43-b.n11*b.n22*b.n43;a.n44=b.n12*b.n23*b.n31-b.n13*b.n22*b.n31+b.n13*b.n21*b.n32-b.n11*b.n23*b.n32-b.n12*b.n21*b.n33+b.n11*b.n22*b.n33;a.multiplyScalar(1/b.determinant());return a};THREE.Matrix4.makeInvert3x3=function(o){var e=o.flatten(),l=new THREE.Matrix3(),n=e[10]*e[5]-e[6]*e[9],i=-e[10]*e[1]+e[2]*e[9],d=e[6]*e[1]-e[2]*e[5],k=-e[10]*e[4]+e[6]*e[8],g=e[10]*e[0]-e[2]*e[8],c=-e[6]*e[0]+e[2]*e[4],j=e[9]*e[4]-e[5]*e[8],f=-e[9]*e[0]+e[1]*e[8],a=e[5]*e[0]-e[1]*e[4],h=e[0]*(n)+e[1]*(k)+e[2]*(j),b;if(h==0){throw"matrix not invertible"}b=1/h;l.m[0]=b*n;l.m[1]=b*i;l.m[2]=b*d;l.m[3]=b*k;l.m[4]=b*g;l.m[5]=b*c;l.m[6]=b*j;l.m[7]=b*f;l.m[8]=b*a;return l};THREE.Matrix4.makeFrustum=function(f,r,e,o,i,h){var g,q,n,p,l,k,j;g=new THREE.Matrix4();q=2*i/(r-f);n=2*i/(o-e);p=(r+f)/(r-f);l=(o+e)/(o-e);k=-(h+i)/(h-i);j=-2*h*i/(h-i);g.n11=q;g.n12=0;g.n13=p;g.n14=0;g.n21=0;g.n22=n;g.n23=l;g.n24=0;g.n31=0;g.n32=0;g.n33=k;g.n34=j;g.n41=0;g.n42=0;g.n43=-1;g.n44=0;return g};THREE.Matrix4.makePerspective=function(e,c,g,b){var a,f,h,d;a=g*Math.tan(e*Math.PI/360);f=-a;h=f*c;d=a*c;return THREE.Matrix4.makeFrustum(h,d,f,a,g,b)};THREE.Matrix4.makeOrtho=function(c,o,k,a,g,f){var d,l,j,i,n,e,b;d=new THREE.Matrix4();n=o-c;e=a-k;b=f-g;l=(o+c)/n;j=(a+k)/e;i=(f+g)/b;d.n11=2/n;d.n12=0;d.n13=0;d.n14=-l;d.n21=0;d.n22=2/e;d.n23=0;d.n24=-j;d.n31=0;d.n32=0;d.n33=-2/b;d.n34=-i;d.n41=0;d.n42=0;d.n43=0;d.n44=1;return d};THREE.Vertex=function(a,b){this.position=a||new THREE.Vector3();this.positionWorld=new THREE.Vector3();this.positionScreen=new THREE.Vector3();this.normal=b||new THREE.Vector3();this.normalWorld=new THREE.Vector3();this.normalScreen=new THREE.Vector3();this.__visible=true};THREE.Vertex.prototype={toString:function(){return"THREE.Vertex ( position: "+this.position+", normal: "+this.normal+" )"}};THREE.Face3=function(e,d,h,g,f){this.a=e;this.b=d;this.c=h;this.centroid=new THREE.Vector3();this.normal=g instanceof THREE.Vector3?g:new THREE.Vector3();this.vertexNormals=g instanceof Array?g:[];this.material=f instanceof Array?f:[f]};THREE.Face3.prototype={toString:function(){return"THREE.Face3 ( "+this.a+", "+this.b+", "+this.c+" )"}};THREE.Face4=function(f,e,j,i,h,g){this.a=f;this.b=e;this.c=j;this.d=i;this.centroid=new THREE.Vector3();this.normal=h instanceof THREE.Vector3?h:new THREE.Vector3();this.vertexNormals=h instanceof Array?h:[];this.material=g instanceof Array?g:[g]};THREE.Face4.prototype={toString:function(){return"THREE.Face4 ( "+this.a+", "+this.b+", "+this.c+" "+this.d+" )"}};THREE.UV=function(b,a){this.u=b||0;this.v=a||0};THREE.UV.prototype={copy:function(a){this.u=a.u;this.v=a.v},toString:function(){return"THREE.UV ("+this.u+", "+this.v+")"}};THREE.Geometry=function(){this.vertices=[];this.faces=[];this.uvs=[]};THREE.Geometry.prototype={computeCentroids:function(){var c,b,a;for(c=0,b=this.faces.length;c0){this.bbox={x:[this.vertices[0].position.x,this.vertices[0].position.x],y:[this.vertices[0].position.y,this.vertices[0].position.y],z:[this.vertices[0].position.z,this.vertices[0].position.z]};for(var a=1,b=this.vertices.length;athis.bbox.x[1]){this.bbox.x[1]=vertex.position.x}}if(vertex.position.ythis.bbox.y[1]){this.bbox.y[1]=vertex.position.y}}if(vertex.position.zthis.bbox.z[1]){this.bbox.z[1]=vertex.position.z}}}}},toString:function(){return"THREE.Geometry ( vertices: "+this.vertices+", faces: "+this.faces+" )"}};THREE.Camera=function(c,b,d,a){this.fov=c;this.aspect=b;this.position=new THREE.Vector3(0,0,0);this.target={position:new THREE.Vector3(0,0,0)};this.projectionMatrix=THREE.Matrix4.makePerspective(c,b,d,a);this.up=new THREE.Vector3(0,1,0);this.matrix=new THREE.Matrix4();this.autoUpdateMatrix=true;this.updateMatrix=function(){this.matrix.lookAt(this.position,this.target.position,this.up)};this.toString=function(){return"THREE.Camera ( "+this.position+", "+this.target.position+" )"}};THREE.Light=function(a){this.color=new THREE.Color(255<<24|a)};THREE.AmbientLight=function(a){THREE.Light.call(this,a)};THREE.AmbientLight.prototype=new THREE.Light();THREE.AmbientLight.prototype.constructor=THREE.AmbientLight;THREE.DirectionalLight=function(b,a){THREE.Light.call(this,b);this.position=new THREE.Vector3(0,1,0);this.intensity=a||1};THREE.DirectionalLight.prototype=new THREE.Light();THREE.DirectionalLight.prototype.constructor=THREE.DirectionalLight;THREE.PointLight=function(b,a){THREE.Light.call(this,b);this.position=new THREE.Vector3(0,0,0);this.intensity=a||1};THREE.DirectionalLight.prototype=new THREE.Light();THREE.DirectionalLight.prototype.constructor=THREE.PointLight;THREE.Object3D=function(a){this.position=new THREE.Vector3();this.rotation=new THREE.Vector3();this.scale=new THREE.Vector3(1,1,1);this.matrix=new THREE.Matrix4();this.matrixTranslation=new THREE.Matrix4();this.matrixRotation=new THREE.Matrix4();this.matrixScale=new THREE.Matrix4();this.screen=new THREE.Vector3();this.autoUpdateMatrix=true;this.updateMatrix=function(){this.matrixPosition=THREE.Matrix4.translationMatrix(this.position.x,this.position.y,this.position.z);this.matrixRotation=THREE.Matrix4.rotationXMatrix(this.rotation.x);this.matrixRotation.multiplySelf(THREE.Matrix4.rotationYMatrix(this.rotation.y));this.matrixRotation.multiplySelf(THREE.Matrix4.rotationZMatrix(this.rotation.z));this.matrixScale=THREE.Matrix4.scaleMatrix(this.scale.x,this.scale.y,this.scale.z);this.matrix.copy(this.matrixPosition);this.matrix.multiplySelf(this.matrixRotation);this.matrix.multiplySelf(this.matrixScale)}};THREE.Particle=function(a){THREE.Object3D.call(this);this.material=a instanceof Array?a:[a];this.autoUpdateMatrix=false};THREE.Particle.prototype=new THREE.Object3D();THREE.Particle.prototype.constructor=THREE.Particle;THREE.Line=function(b,a){THREE.Object3D.call(this);this.geometry=b;this.material=a instanceof Array?a:[a]};THREE.Line.prototype=new THREE.Object3D();THREE.Line.prototype.constructor=THREE.Line;THREE.Mesh=function(b,a,c){THREE.Object3D.call(this);this.geometry=b;this.material=a instanceof Array?a:[a];this.flipSided=false;this.doubleSided=false;this.overdraw=false;this.materialFaceGroup={};this.sortFacesByMaterial();if(c){this.normalizeUVs()}this.geometry.computeBoundingBox()};THREE.Mesh.prototype=new THREE.Object3D();THREE.Mesh.prototype.constructor=THREE.Mesh;THREE.Mesh.prototype.sortFacesByMaterial=function(){var c,a,h,g,e,d,j;function b(f){j=[];for(c=0,a=f.length;c=0?(b*255)<<24:4278190080)|c)};THREE.LineColorMaterial.prototype={toString:function(){return"THREE.LineColorMaterial ( color: "+this.color+", lineWidth: "+this.lineWidth+" )"}};THREE.MeshPhongMaterial=function(d,a,e,c,b){this.ambient=new THREE.Color((b>=0?(b*255)<<24:4278190080)|d);this.diffuse=new THREE.Color((b>=0?(b*255)<<24:4278190080)|a);this.specular=new THREE.Color((b>=0?(b*255)<<24:4278190080)|e);this.shininess=c;this.opacity=b;this.toString=function(){return"THREE.MeshPhongMaterial (
      ambient: "+this.ambient+",
      diffuse: "+this.diffuse+",
      specular: "+this.specular+",
      shininess: "+this.shininess+",
      opacity: "+this.opacity+")"}};THREE.MeshBitmapMaterial=function(a,b){this.bitmap=a;this.mode=b||THREE.MeshBitmapMaterialMode.UVMAPPING;this.id=THREE.MeshBitmapMaterialCounter.value++;this.toString=function(){return"THREE.MeshBitmapMaterial ( bitmap: "+this.bitmap+", mode: "+this.mode+", id: "+this.id+" )"}};THREE.MeshBitmapMaterialCounter={value:0};THREE.MeshBitmapMaterialMode={UVMAPPING:0};THREE.MeshColorFillMaterial=function(b,a){this.color=new THREE.Color((a>=0?(a*255)<<24:4278190080)|b);this.toString=function(){return"THREE.MeshColorFillMaterial ( color: "+this.color+" )"}};THREE.MeshColorStrokeMaterial=function(c,b,a){this.lineWidth=a||1;this.color=new THREE.Color((b>=0?(b*255)<<24:4278190080)|c);this.toString=function(){return"THREE.MeshColorStrokeMaterial ( lineWidth: "+this.lineWidth+", color: "+this.color+" )"}};THREE.MeshFaceMaterial=function(){this.toString=function(){return"THREE.MeshFaceMaterial"}};THREE.ParticleBitmapMaterial=function(a){this.bitmap=a;this.offset=new THREE.Vector2();this.toString=function(){return"THREE.ParticleBitmapMaterial ( bitmap: "+this.bitmap+" )"}};THREE.ParticleCircleMaterial=function(b,a){this.color=new THREE.Color((a>=0?(a*255)<<24:4278190080)|b);this.toString=function(){return"THREE.ParticleCircleMaterial ( color: "+this.color+" )"}};THREE.ParticleDOMMaterial=function(a){this.domElement=a;this.toString=function(){return"THREE.ParticleDOMMaterial ( domElement: "+this.domElement+" )"}};THREE.Scene=function(){this.objects=[];this.lights=[];this.addObject=function(a){this.objects.push(a)};this.removeObject=function(b){for(var c=0,a=this.objects.length;c0&&u.z<1}w=L.geometry.faces;for(I=0,B=w.length;I0&&u.z<1;if(D>0){C=L.geometry.vertices[D-1];if(H.__visible&&C.__visible){k=i[m]=i[m]||new THREE.RenderableLine();k.v1.copy(H.positionScreen);k.v2.copy(C.positionScreen);k.z=Math.max(H.positionScreen.z,C.positionScreen.z);k.material=L.material;e.push(k);m++}}}}else{if(L instanceof THREE.Particle){g.set(L.position.x,L.position.y,L.position.z,1);G.matrix.transform(g);G.projectionMatrix.transform(g);L.screen.set(g.x/g.w,g.y/g.w,g.z/g.w);if(L.screen.z>0&&L.screen.z<1){j=a[h]=a[h]||new THREE.RenderableParticle();j.x=L.screen.x;j.y=L.screen.y;j.z=L.screen.z;j.rotation=L.rotation.z;j.scale.x=L.scale.x*Math.abs(g.x/g.w-(g.x+G.projectionMatrix.n11)/(g.w+G.projectionMatrix.n14));j.scale.y=L.scale.y*Math.abs(g.y/g.w-(g.y+G.projectionMatrix.n22)/(g.w+G.projectionMatrix.n24));j.material=L.material;j.color=L.color;e.push(j);h++}}}}}e.sort(function(M,v){return v.z-M.z});return e}};THREE.DOMRenderer=function(){THREE.Renderer.call(this);var e=null,g=new THREE.Projector(),b=document.createElement("div"),a,c,f,d;this.domElement=b;this.setSize=function(i,h){a=i;c=h;f=a/2;d=c/2};this.render=function(p,r){var q,h,i,n,o,s,l,k,j;e=g.projectScene(p,r);for(q=0,h=e.length;q0;if(l){B(ac,f)}for(ab=0,K=A.length;ab0){J.r+=H.color.r*K;J.g+=H.color.g*K;J.b+=H.color.b*K}}else{if(H instanceof THREE.PointLight){h.sub(H.position,L.centroidWorld);h.normalize();K=L.normalWorld.dot(h)*H.intensity;if(K>0){J.r+=H.color.r*K;J.g+=H.color.g*K;J.b+=H.color.b*K}}}}}function m(J,I,M,P,O){var H,U,S,R,N,L,Q,T,K;if(P instanceof THREE.ParticleCircleMaterial){if(l){x.copyRGB(f);u(O,M,x);o.copyRGBA(P.color);o.multiplySelfRGB(x);o.updateStyleString()}else{o=P.color}H=M.scale.x*k;U=M.scale.y*p;z.set(J-H,I-U,J+H,I+U);if(!D.instersects(z)){return}t.save();t.translate(J,I);t.rotate(-M.rotation);t.scale(H,U);t.beginPath();t.arc(0,0,1,0,y,true);t.closePath();t.fillStyle=o.__styleString;t.fill();t.restore()}else{if(P instanceof THREE.ParticleBitmapMaterial){Q=P.bitmap;T=Q.width/2;K=Q.height/2;S=M.scale.x*k;R=M.scale.y*p;H=S*T;U=R*K;N=P.offset.x*S;L=P.offset.y*R;z.set(J+N-H,I+L-U,J+N+H,I+L+U);if(!D.instersects(z)){return}t.save();t.translate(J,I);t.rotate(-M.rotation);t.scale(S,-R);t.translate(-T+P.offset.x,-K-P.offset.y);t.drawImage(Q,0,0);t.restore()}}}function e(H,N,J,I,K,L,M){if(L instanceof THREE.LineColorMaterial){if(l){x.copyRGB(f);u(M,K,x);o.copyRGBA(L.color);o.multiplySelfRGB(x);o.updateStyleString()}else{o=L.color}t.lineWidth=L.lineWidth;t.lineJoin="round";t.lineCap="round";t.strokeStyle=o.__styleString;t.stroke();z.inflate(t.lineWidth)}}function i(J,I,H,S,P,O,L,N,M){var Q,R,K;if(N instanceof THREE.MeshColorFillMaterial){if(l){x.copyRGB(f);a(M,L,x);o.copyRGBA(N.color);o.multiplySelfRGB(x);o.updateStyleString()}else{o=N.color}t.beginPath();t.moveTo(J,I);t.lineTo(H,S);t.lineTo(P,O);t.lineTo(J,I);t.closePath();t.fillStyle=o.__styleString;t.fill()}else{if(N instanceof THREE.MeshColorStrokeMaterial){if(l){x.copyRGB(f);a(M,L,x);o.copyRGBA(N.color);o.multiplySelfRGB(x);o.updateStyleString()}else{o=N.color}t.beginPath();t.moveTo(J,I);t.lineTo(H,S);t.lineTo(P,O);t.lineTo(J,I);t.closePath();t.lineWidth=N.lineWidth;t.lineJoin="round";t.lineCap="round";t.strokeStyle=o.__styleString;t.stroke();z.inflate(t.lineWidth)}else{if(N instanceof THREE.MeshBitmapMaterial){Q=N.bitmap;R=Q.width-1;K=Q.height-1;G.copy(L.uvs[0]);F.copy(L.uvs[1]);E.copy(L.uvs[2]);G.u*=R;G.v*=K;F.u*=R;F.v*=K;E.u*=R;E.v*=K;w(Q,J,I,H,S,P,O,G.u,G.v,F.u,F.v,E.u,E.v)}}}}function g(N,M,V,T,I,H,P,O,W,U,K,J,L,R,X){var Y,Q,S;if(R instanceof THREE.MeshColorFillMaterial){if(l){x.copyRGB(f);a(X,L,x);o.copyRGBA(R.color);o.multiplySelfRGB(x);o.updateStyleString()}else{o=R.color}t.beginPath();t.moveTo(N,M);t.lineTo(V,T);t.lineTo(I,H);t.lineTo(P,O);t.lineTo(N,M);t.closePath();t.fillStyle=o.__styleString;t.fill()}else{if(R instanceof THREE.MeshColorStrokeMaterial){if(l){x.copyRGB(f);a(X,L,x);o.copyRGBA(R.color);o.multiplySelfRGB(x);o.updateStyleString()}else{o=R.color}t.beginPath();t.moveTo(N,M);t.lineTo(V,T);t.lineTo(I,H);t.lineTo(P,O);t.lineTo(N,M);t.closePath();t.lineWidth=R.lineWidth;t.lineJoin="round";t.lineCap="round";t.strokeStyle=o.__styleString;t.stroke();z.inflate(t.lineWidth)}else{if(R instanceof THREE.MeshBitmapMaterial){Y=R.bitmap;Q=Y.width-1;S=Y.height-1;G.copy(L.uvs[0]);F.copy(L.uvs[1]);E.copy(L.uvs[2]);C.copy(L.uvs[3]);G.u*=Q;G.v*=S;F.u*=Q;F.v*=S;E.u*=Q;E.v*=S;C.u*=Q;C.v*=S;w(Y,N,M,V,T,P,O,G.u,G.v,F.u,F.v,C.u,C.v);w(Y,W,U,I,H,K,J,F.u,F.v,E.u,E.v,C.u,C.v)}}}}function w(aa,P,O,V,U,J,H,T,S,X,W,L,K){var I,Z,Y,N,M,R,Q;t.beginPath();t.moveTo(P,O);t.lineTo(V,U);t.lineTo(J,H);t.lineTo(P,O);t.closePath();t.save();t.clip();I=T*(K-W)-X*K+L*W+(X-L)*S;Z=-(S*(J-V)-W*J+K*V+(W-K)*P)/I;Y=(W*H+S*(U-H)-K*U+(K-W)*O)/I;N=(T*(J-V)-X*J+L*V+(X-L)*P)/I;M=-(X*H+T*(U-H)-L*U+(L-X)*O)/I;R=(T*(K*V-W*J)+S*(X*J-L*V)+(L*W-X*K)*P)/I;Q=(T*(K*U-W*H)+S*(X*H-L*U)+(L*W-X*K)*O)/I;t.transform(Z,Y,N,M,R,Q);t.drawImage(aa,0,0);t.restore()}function c(I,H){j.sub(H,I);j.unit();j.multiplyScalar(0.75);H.addSelf(j);I.subSelf(j)}};THREE.SVGRenderer=function(){var w=null,r=new THREE.Projector(),s=document.createElementNS("http://www.w3.org/2000/svg","svg"),k,A,p,b,y=new THREE.Rectangle(),v=new THREE.Rectangle(),i=false,l=new THREE.Color(4294967295),u=new THREE.Color(4294967295),c=new THREE.Color(4294967295),g=new THREE.Vector3(),d=[],m=[],B,o,f,z=1;this.domElement=s;this.autoClear=true;this.setQuality=function(C){switch(C){case"high":z=1;break;case"low":z=0;break}};this.setSize=function(D,C){k=D;A=C;p=k/2;b=A/2;s.setAttribute("viewBox",(-p)+" "+(-b)+" "+k+" "+A);s.setAttribute("width",k);s.setAttribute("height",A);y.set(-p,-b,p,b)};this.clear=function(){while(s.childNodes.length>0){s.removeChild(s.childNodes[0])}};this.render=function(T,Q){var S,E,N,R,J,G,F,M,K,H,P,O,D,C,L,I;if(this.autoClear){this.clear()}w=r.projectScene(T,Q);o=0;f=0;i=T.lights.length>0;if(i){x(T,c)}for(S=0,E=w.length;S0){E.r+=C.color.r*F;E.g+=C.color.g*F;E.b+=C.color.b*F}}else{if(C instanceof THREE.PointLight){g.sub(C.position,G.centroidWorld);g.normalize();F=G.normalWorld.dot(g)*C.intensity;if(F>0){E.r+=C.color.r*F;E.g+=C.color.g*F;E.b+=C.color.b*F}}}}}function j(C,G,D,E,F){B=t(f++);B.setAttribute("cx",C);B.setAttribute("cy",G);B.setAttribute("r",D.scale.x*p);if(E instanceof THREE.ParticleCircleMaterial){if(i){u.copyRGB(c);q(F,D,u);l.copyRGBA(E.color);l.multiplySelfRGB(u);l.updateStyleString()}else{l=E.color}B.setAttribute("style","fill: "+l.__styleString)}s.appendChild(B)}function h(E,D,C,K,J,I,F,H,G){B=n(o++);B.setAttribute("d","M "+E+" "+D+" L "+C+" "+K+" L "+J+","+I+"z");if(H instanceof THREE.MeshColorFillMaterial){if(i){u.copyRGB(c);a(G,F,u);l.copyRGBA(H.color);l.multiplySelfRGB(u);l.updateStyleString()}else{l=H.color}B.setAttribute("style","fill: "+l.__styleString)}else{if(H instanceof THREE.MeshColorStrokeMaterial){if(i){u.copyRGB(c);a(G,F,u);l.copyRGBA(H.color);l.multiplySelfRGB(u);l.updateStyleString()}else{l=H.color}B.setAttribute("style","fill: none; stroke: "+l.__styleString+"; stroke-width: "+H.lineWidth+"; stroke-linecap: round; stroke-linejoin: round")}}s.appendChild(B)}function e(G,E,C,M,L,K,F,D,H,J,I){B=n(o++);B.setAttribute("d","M "+G+" "+E+" L "+C+" "+M+" L "+L+","+K+" L "+F+","+D+"z");if(J instanceof THREE.MeshColorFillMaterial){if(i){u.copyRGB(c);a(I,H,u);l.copyRGBA(J.color);l.multiplySelfRGB(u);l.updateStyleString()}else{l=J.color}B.setAttribute("style","fill: "+l.__styleString)}else{if(J instanceof THREE.MeshColorStrokeMaterial){if(i){u.copyRGB(c);a(I,H,u);l.copyRGBA(J.color);l.multiplySelfRGB(u);l.updateStyleString()}else{l=J.color}B.setAttribute("style","fill: none; stroke: "+l.__styleString+"; stroke-width: "+J.lineWidth+"; stroke-linecap: round; stroke-linejoin: round")}}s.appendChild(B)}function n(C){if(d[C]==null){d[C]=document.createElementNS("http://www.w3.org/2000/svg","path");if(z==0){d[C].setAttribute("shape-rendering","crispEdges")}return d[C]}return d[C]}function t(C){if(m[C]==null){m[C]=document.createElementNS("http://www.w3.org/2000/svg","circle");if(z==0){m[C].setAttribute("shape-rendering","crispEdges")}return m[C]}return m[C]}};THREE.WebGLRenderer=function(){var j=document.createElement("canvas"),c,e,l=new THREE.Matrix4(),i,a=0,k=1,h=2,d=3;this.domElement=j;this.autoClear=true;g();f();this.setSize=function(n,m){j.width=n;j.height=m;c.viewport(0,0,j.width,j.height)};this.clear=function(){c.clear(c.COLOR_BUFFER_BIT|c.DEPTH_BUFFER_BIT)};this.setupLights=function(s){var q,r,m,p,o,n;c.uniform1i(e.enableLighting,s.lights.length);for(q=0,r=s.lights.length;q