From 57e8f83fd67307f7471d9b1664e22dbae3d08b8c Mon Sep 17 00:00:00 2001 From: memorywalker Date: Mon, 9 Mar 2020 12:32:48 +0000 Subject: [PATCH 1/2] First commit --- placeholder | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 placeholder diff --git a/placeholder b/placeholder new file mode 100644 index 000000000..e69de29bb From a3835efdf0683cfc24cd7908c9d4a511fc74f027 Mon Sep 17 00:00:00 2001 From: memorywalker Date: Mon, 9 Mar 2020 12:32:48 +0000 Subject: [PATCH 2/2] Site updated: 2020-03-09 12:32:48 --- 2016/03/29/hello-world/index.html | 1152 +++++ 2016/03/29/markdown-study/index.html | 1176 +++++ 2019/06/19/hexo-github-ci/index.html | 1264 ++++++ 2019/06/22/qemu-aarch64-gdbserver/index.html | 1275 ++++++ 2020/02/05/Git/index.html | 1343 ++++++ 2020/02/07/Github/index.html | 1229 ++++++ 2020/02/08/ipa-install-ios/index.html | 1169 +++++ 2020/02/13/code-review/index.html | 1185 +++++ 2020/02/18/Gitlab/index.html | 1181 +++++ 2020/02/22/wireshark-basic/index.html | 1482 +++++++ 2020/02/23/app-proxy-use/index.html | 1207 +++++ 2020/03/06/memory-manage/index.html | 1191 +++++ archives/2016/03/index.html | 1046 +++++ archives/2016/index.html | 1046 +++++ archives/2019/06/index.html | 1046 +++++ archives/2019/index.html | 1046 +++++ archives/2020/02/index.html | 1221 ++++++ archives/2020/03/index.html | 1011 +++++ archives/2020/index.html | 1256 ++++++ archives/index.html | 1335 ++++++ archives/page/2/index.html | 1050 +++++ css/main.css | 2958 +++++++++++++ images/algolia_logo.svg | 9 + images/apple-touch-icon-next.png | Bin 0 -> 1544 bytes images/avatar.gif | Bin 0 -> 1793 bytes images/cc-by-nc-nd.svg | 121 + images/cc-by-nc-sa.svg | 121 + images/cc-by-nc.svg | 121 + images/cc-by-nd.svg | 117 + images/cc-by-sa.svg | 121 + images/cc-by.svg | 121 + images/cc-zero.svg | 72 + images/favicon_16.ico | Bin 0 -> 1150 bytes images/favicon_32.ico | Bin 0 -> 4286 bytes images/loading.gif | Bin 0 -> 35 bytes images/logo.svg | 23 + images/placeholder.gif | Bin 0 -> 35 bytes images/quote-l.svg | 13 + images/quote-r.svg | 12 + images/searchicon.png | Bin 0 -> 759 bytes index.html | 3503 +++++++++++++++ js/affix.js | 168 + js/algolia-search.js | 114 + js/exturl.js | 14 + js/js.cookie.js | 166 + js/motion.js | 372 ++ js/next-boot.js | 53 + js/post-details.js | 104 + js/schemes/muse.js | 9 + js/schemes/pisces.js | 57 + js/scroll-cookie.js | 25 + js/scrollspy.js | 179 + js/utils.js | 340 ++ lib/font-awesome/HELP-US-OUT.txt | 7 + lib/font-awesome/bower.json | 1 + lib/font-awesome/css/font-awesome.css | 2337 ++++++++++ lib/font-awesome/css/font-awesome.css.map | 7 + lib/font-awesome/css/font-awesome.min.css | 4 + .../fonts/fontawesome-webfont.eot | Bin 0 -> 165742 bytes .../fonts/fontawesome-webfont.woff | Bin 0 -> 98024 bytes .../fonts/fontawesome-webfont.woff2 | Bin 0 -> 77160 bytes lib/jquery/index.js | 2 + lib/velocity/velocity.js | 3868 +++++++++++++++++ lib/velocity/velocity.min.js | 4 + lib/velocity/velocity.ui.js | 762 ++++ lib/velocity/velocity.ui.min.js | 2 + page/2/index.html | 1299 ++++++ placeholder | 0 search.xml | 1166 +++++ tags/Gitlab-git/index.html | 990 +++++ tags/blog/index.html | 990 +++++ tags/code-review/index.html | 990 +++++ tags/git/index.html | 990 +++++ tags/github-git/index.html | 990 +++++ tags/ios/index.html | 990 +++++ tags/network-proxifier/index.html | 990 +++++ tags/network-wireshark/index.html | 990 +++++ .../index.html" | 990 +++++ uploads/avatar.gif | Bin 0 -> 13881 bytes uploads/memory/buddyexp.png | Bin 0 -> 48913 bytes uploads/memory/linuxmemory.png | Bin 0 -> 286018 bytes uploads/proxy/proxifier_dns.png | Bin 0 -> 35808 bytes uploads/proxy/proxifier_rules.png | Bin 0 -> 28257 bytes uploads/proxy/proxifier_server.png | Bin 0 -> 16309 bytes uploads/proxy/proxifier_using.png | Bin 0 -> 102416 bytes uploads/wireshark/compound.png | Bin 0 -> 14302 bytes uploads/wireshark/dnscmd.png | Bin 0 -> 4840 bytes uploads/wireshark/dnscmdtcp.png | Bin 0 -> 4979 bytes uploads/wireshark/dnstcp.png | Bin 0 -> 51786 bytes uploads/wireshark/dnsudp.png | Bin 0 -> 47512 bytes uploads/wireshark/handshaketcp.png | Bin 0 -> 40303 bytes uploads/wireshark/mss.png | Bin 0 -> 14506 bytes uploads/wireshark/mtulen.png | Bin 0 -> 25965 bytes uploads/wireshark/tcpall.png | Bin 0 -> 52531 bytes uploads/wireshark/tcpclose.png | Bin 0 -> 38717 bytes uploads/wireshark/tcphandseq.png | Bin 0 -> 10539 bytes uploads/wireshark/tcpsack.png | Bin 0 -> 32916 bytes uploads/wireshark/tcpseq.png | Bin 0 -> 29550 bytes uploads/wireshark/tls.png | Bin 0 -> 41334 bytes uploads/wireshark/wireshark.png | Bin 0 -> 110850 bytes 100 files changed, 52193 insertions(+) create mode 100644 2016/03/29/hello-world/index.html create mode 100644 2016/03/29/markdown-study/index.html create mode 100644 2019/06/19/hexo-github-ci/index.html create mode 100644 2019/06/22/qemu-aarch64-gdbserver/index.html create mode 100644 2020/02/05/Git/index.html create mode 100644 2020/02/07/Github/index.html create mode 100644 2020/02/08/ipa-install-ios/index.html create mode 100644 2020/02/13/code-review/index.html create mode 100644 2020/02/18/Gitlab/index.html create mode 100644 2020/02/22/wireshark-basic/index.html create mode 100644 2020/02/23/app-proxy-use/index.html create mode 100644 2020/03/06/memory-manage/index.html create mode 100644 archives/2016/03/index.html create mode 100644 archives/2016/index.html create mode 100644 archives/2019/06/index.html create mode 100644 archives/2019/index.html create mode 100644 archives/2020/02/index.html create mode 100644 archives/2020/03/index.html create mode 100644 archives/2020/index.html create mode 100644 archives/index.html create mode 100644 archives/page/2/index.html create mode 100644 css/main.css create mode 100644 images/algolia_logo.svg create mode 100644 images/apple-touch-icon-next.png create mode 100644 images/avatar.gif create mode 100644 images/cc-by-nc-nd.svg create mode 100644 images/cc-by-nc-sa.svg create mode 100644 images/cc-by-nc.svg create mode 100644 images/cc-by-nd.svg create mode 100644 images/cc-by-sa.svg create mode 100644 images/cc-by.svg create mode 100644 images/cc-zero.svg create mode 100644 images/favicon_16.ico create mode 100644 images/favicon_32.ico create mode 100644 images/loading.gif create mode 100644 images/logo.svg create mode 100644 images/placeholder.gif create mode 100644 images/quote-l.svg create mode 100644 images/quote-r.svg create mode 100644 images/searchicon.png create mode 100644 index.html create mode 100644 js/affix.js create mode 100644 js/algolia-search.js create mode 100644 js/exturl.js create mode 100644 js/js.cookie.js create mode 100644 js/motion.js create mode 100644 js/next-boot.js create mode 100644 js/post-details.js create mode 100644 js/schemes/muse.js create mode 100644 js/schemes/pisces.js create mode 100644 js/scroll-cookie.js create mode 100644 js/scrollspy.js create mode 100644 js/utils.js create mode 100644 lib/font-awesome/HELP-US-OUT.txt create mode 100644 lib/font-awesome/bower.json create mode 100644 lib/font-awesome/css/font-awesome.css create mode 100644 lib/font-awesome/css/font-awesome.css.map create mode 100644 lib/font-awesome/css/font-awesome.min.css create mode 100644 lib/font-awesome/fonts/fontawesome-webfont.eot create mode 100644 lib/font-awesome/fonts/fontawesome-webfont.woff create mode 100644 lib/font-awesome/fonts/fontawesome-webfont.woff2 create mode 100644 lib/jquery/index.js create mode 100644 lib/velocity/velocity.js create mode 100644 lib/velocity/velocity.min.js create mode 100644 lib/velocity/velocity.ui.js create mode 100644 lib/velocity/velocity.ui.min.js create mode 100644 page/2/index.html delete mode 100644 placeholder create mode 100644 search.xml create mode 100644 tags/Gitlab-git/index.html create mode 100644 tags/blog/index.html create mode 100644 tags/code-review/index.html create mode 100644 tags/git/index.html create mode 100644 tags/github-git/index.html create mode 100644 tags/ios/index.html create mode 100644 tags/network-proxifier/index.html create mode 100644 tags/network-wireshark/index.html create mode 100644 "tags/\345\206\205\345\255\230\345\206\205\345\255\230/index.html" create mode 100644 uploads/avatar.gif create mode 100644 uploads/memory/buddyexp.png create mode 100644 uploads/memory/linuxmemory.png create mode 100644 uploads/proxy/proxifier_dns.png create mode 100644 uploads/proxy/proxifier_rules.png create mode 100644 uploads/proxy/proxifier_server.png create mode 100644 uploads/proxy/proxifier_using.png create mode 100644 uploads/wireshark/compound.png create mode 100644 uploads/wireshark/dnscmd.png create mode 100644 uploads/wireshark/dnscmdtcp.png create mode 100644 uploads/wireshark/dnstcp.png create mode 100644 uploads/wireshark/dnsudp.png create mode 100644 uploads/wireshark/handshaketcp.png create mode 100644 uploads/wireshark/mss.png create mode 100644 uploads/wireshark/mtulen.png create mode 100644 uploads/wireshark/tcpall.png create mode 100644 uploads/wireshark/tcpclose.png create mode 100644 uploads/wireshark/tcphandseq.png create mode 100644 uploads/wireshark/tcpsack.png create mode 100644 uploads/wireshark/tcpseq.png create mode 100644 uploads/wireshark/tls.png create mode 100644 uploads/wireshark/wireshark.png diff --git a/2016/03/29/hello-world/index.html b/2016/03/29/hello-world/index.html new file mode 100644 index 000000000..f7c4deaed --- /dev/null +++ b/2016/03/29/hello-world/index.html @@ -0,0 +1,1152 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Hello World | How Time Flies + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
+
+ + + + +
+ + +
+ + + + + + + + + + +
+ + + +
+ + + + + + + +
+ + + +

Hello World + + + +

+ + + +
+ + + + + +
+ + + + + +

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

+

Quick Start

Create a new post

1
$ hexo new "My New Post"
+ +

More info: Writing

+

Run server

1
$ hexo server
+ +

More info: Server

+

Generate static files

1
$ hexo generate
+ +

More info: Generating

+

Deploy to remote sites

1
$ hexo deploy
+ +

More info: Deployment

+ + +
+ + + + + + + + + + + + + + + + + +
+ + + +
+ + +
+ + +
+ + + + + + +
+ + + + + + + + + + +
+
+ +
+ +
+ + +
+ + + 0% + +
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2016/03/29/markdown-study/index.html b/2016/03/29/markdown-study/index.html new file mode 100644 index 000000000..0ac41b3e0 --- /dev/null +++ b/2016/03/29/markdown-study/index.html @@ -0,0 +1,1176 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + MarkDown学习 | How Time Flies + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
+
+ + + + +
+ + +
+ + + + + + + + + + +
+ + + +
+ + + + + + + +
+ + + +

MarkDown学习 + + + +

+ + + +
+ + + + + +
+ + + + + +

MarkDown学习

2013/9/16 23:46:13

+

网上总结的几个优点:

+
    +
  • 纯文本,意味着别人可以简单的修改编辑,关键是可以放到github上用版本管理工具管理起来
  • +
  • 语法简单,如果只是简单的写作,不写科技论文,你需要知道的就那么几个常用标记
  • +
  • 专心写作,这个优点需要因人而异,没有了word里面各种排版格式设置,你只需要把自己想到的用文字写下来
  • +
  • 格式转换,可以转换为HTML格式,互联网时代,HTML格式就是个万能格式,大家都能懂,还可以转换到其他格式
  • +
+

本文参考主要来自献给写作者的 Markdown 新手指南

+

段落 直接回车换行,一行或多行一个效果

+

粗体

+

斜体

+

标题用#的个数来表示

+

一级标题

二级标题

三级标题

四级标题

五级标题
六级标题

列表

+

无序列表用 “*” 、 “-”

+
    +
  • 中文
  • +
  • 英文
  • +
  • 日文
  • +
+

有序列表用 数字+. 如

+
    +
  1. 早晨
  2. +
  3. 中午
  4. +
  5. 下午
  6. +
  7. 傍晚
  8. +
  9. 夜晚
  10. +
+

引用

+
+

子曾经曰:“学而时习之,不亦乐乎”

+
+

强制换行
最后一个问题?
爱过

+

超链接显示文本

+

Google主页

+

图片
女汉子
三笠女汉子

+

国内网站简书

+

我在使用的软件markdownpad

+

本文预览

+ + +
+ + + + + + + + + + + + + + + + + +
+ + + +
+ + +
+ + +
+ + + + + + +
+ + + + + + + + + + +
+
+ +
+ +
+ + +
+ + + 0% + +
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2019/06/19/hexo-github-ci/index.html b/2019/06/19/hexo-github-ci/index.html new file mode 100644 index 000000000..1bb68924a --- /dev/null +++ b/2019/06/19/hexo-github-ci/index.html @@ -0,0 +1,1264 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + GitPages+Hexo+CI 自动部署个人主页 | How Time Flies + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
+
+ + + + +
+ + +
+ + + + + + + + + + +
+ + + +
+ + + + + + + +
+ + + +

GitPages+Hexo+CI 自动部署个人主页 + + + +

+ + + +
+ + + + + +
+ + + + + +

现在已经习惯了使用Markdown写日志了,个人blog还是要坚持记录,WordPress平台的服务器资源总是不稳定,所以还是恢复很久之前使用gh-pages搭的主页。原来这里只是放了一篇模板文件 ORz

+

HEXO

之前使用了HEXO作为静态blog的框架,虽然Github官方支持的是Jekyll,但是之前创建仓库时用的Hexo,还想继续用原来的仓库,就不再调整了

+

安装

    +
  1. 安装nvm
  2. +
+

$ sudo apt install curl

+

$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash

+

提高npm的安装速度可以使用taobao的镜像服务,地址为cnpm,先安装
$ npm install -g cnpm --registry=https://registry.npm.taobao.org
后续使用cnpm install xxx --save来安装插件

+
    +
  1. 安装node.js $ nvm install stable

    +
  2. +
  3. 使用npm安装Hexo $ npm install -g hexo-cli

    +
  4. +
  5. 非空目录下初始化工程 $ hexo init .

    +
  6. +
  7. 安装相关插件 $ npm install

    +
  8. +
+

最终得到如下结构目录

+
1
2
3
4
5
6
7
8
.
├── _config.yml 配置文件
├── package.json 程序信息
├── scaffolds
├── source
| ├── _drafts
| └── _posts 源码目录,md文件放在这里
└── themes
+ +

写文章

    +
  • 执行命令新建一个文章
  • +
+

$ hexo new "post title with whitespace"

+

source/_post/下会自动生成md文件

+

打开后有文件基本信息,就可以正常写内容了

+
    +
  • 生成文章
  • +
+

$ hexo generate

+
    +
  • 本地预览
  • +
+

$ hexo server
系统提示服务器的地址http://0.0.0.0:4000/memorywalker/

+
1
2
INFO  Start processing
INFO Hexo is running at http://0.0.0.0:4000/memorywalker/. Press Ctrl+C to stop
+ +
    +
  • 执行命令的过程中增加--debug选项可以输出更多的调试信息,方便定位原因例如 hexo s --debug

    +
  • +
  • 支持图片显示

    +

    _config.ymlpost_asset_folder: true设置为true,由于github上只有source目录有直接访问权限,放在_posts目录中无法访问图片文件,所以新建一个uploads目录在source中,可以把需要的图片文件放在这个目录,也可以在这里建立子目录,此时目录结构如下

    +
    1
    2
    source--_posts\xx.md
    --uploads\avatar.gif
    + +

    目前缺点就是本地目录是不正确导致无法查看

    +

    icon

    +
  • +
+

升级Hexo

    +
  1. 升级全局的hexonpm i hexo-cli -g
  2. +
  3. 新建一个目录,$ hexo init .创建一个新的开发环境
  4. +
  5. 删除原来目录中的node_modulesthemes目录,把并把新目录的这两个目录复制到原来的目录中
  6. +
  7. 使用比较工具合并_config.yml文件的内容
  8. +
  9. 使用比较工具package.json文件的内容,把新的文件覆盖的旧目录后,把以前需要的插件再补充安装,例如git部署插件就需要重新安装npm install hexo-deployer-git --save
  10. +
+

安装Next主题

    +
  1. 把next主题下载一份到工程的themes目录下
    $ git clone https://github.com/theme-next/hexo-theme-next themes/next

    +
  2. +
  3. 修改工程的_config.yml中的theme: landscapetheme: next

    +
  4. +
  5. 执行hexo clean清除原来的缓存,hexo s生成新的文件并进行预览

    +
  6. +
  7. 升级主题 $ cd themes/next and then $ git pull

    +
  8. +
  9. 安装next主题后,使用Travis-CI自动部署会出现访问页面时主题用到的资源无法加载,需要修改原来项目_config.yml中的url如下:

    +
    1
    2
    url: http://memorywalker.github.io
    root: /
    +
  10. +
+
    +
  • 安装本地搜索插件
  • +
+

cnpm install hexo-generator-searchdb --save

+

修改themes\next\_config.yml找到local_search,设置为true

+

修改项目的_config.yml 添加如下:

+
1
2
3
4
5
6
search:
path: search.xml
field: post
format: html
limit: 10000
content: true
+ +

Github部署

GitHub Pages是针对个人提供的页面,一个用户只能有一个这样的仓库。这个仓库的名称必须是用户名.github.io,对应的访问网址也是用户名.github.io

+

新建用户名.github.io的仓库后,在这个仓库的Setting页面有GitHub Pages配置

+
+

GitHub Pages is designed to host your personal, organization, or project pages from a GitHub repository.

+
+

这个配置项中说明了发布地址,以及用户page必须放在master分支,master分支最终只会有hexo编译转换出来的静态博客的网页文件,它的文件都来自hexo g产生的public

+

在本地的hexo目录下新建一个Hexo分支,这个分支用来保存博客的源码程序,这个分支中只把上面的Hexo的框架文件和目录添加到分支,对于node_modulesnode的插件文件,public生成的发布文件,db.json这些文件不需要添加到分支更新到仓库。

+
    +
  • 安装git部署插件 $ npm install hexo-deployer-git --save
  • +
  • 修改hexo的配置文件_config.yml,其中增加
  • +
+
1
2
3
4
5
deploy:
type: git
repo: git@github.com:memorywalker/memorywalker.github.io.git
branch: master
message: [message] #leave this blank
+ +
    +
  • 执行$ hexo deploy,hexo会自动把public的文件push到github的master分支
  • +
+

以后每次写完markdown文件后,只需要$ hexo generate --deploy,在生成后自动发布

+

CI 自动发布

如果本地没有node.js的环境,此时如果需要发布文章,还要搭建完整的开发环境,使用TravisCI可以自动编译github上的工程,并把结果进行发布
https://www.travis-ci.org/ 使用github账号可以直接登陆

+
    +
  1. 在自己的所有工程列表中,打开需要自动部署的工程,并点击Settings
  2. +
  3. Settings–General: 只需要打开Build pushed branches,其他两个保持关闭
  4. +
  5. Environment Variables中增加一个Name 为GH_TOKEN,值为自己的Github Personal access Token
  6. +
  7. Github的个人设置中,进入Developer settings,在Personal access tokens中新建一个token,勾选Repo和user两个项,把自动产生的一段token放到刚刚的环境变量value中
  8. +
  9. 在博客的根目录新建.travis.yml文件,内容为
  10. +
+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
language: node_js
node_js: stable

# assign build branches
branches:
only:
- hexo # this branch will be build

# cache this directory
cache:
directories:
- node_modules
- themes

# S: Build Lifecycle
before_install:
- npm install -g hexo-cli # install hexo
- git clone https://github.com/theme-next/hexo-theme-next themes/next

install:
- npm install # install by package.json

script:
- hexo generate

after_success:
- git config --global user.name "memorywalker"
- git config --global user.email "eddy.wd5@gmail.com"
- sed -i "s/gh_token/${GH_TOKEN}/g" _config.yml #使用travisCI中配置的token替换掉_config.yml中对应的占位符
- hexo deploy
# E: Build LifeCycle
+ +
    +
  1. 修改hexo的配置文件,把原来的自动部署的repo地址更新为https的

    +
    1
    2
    3
    4
    deploy:
    type: git
    repo: https://gh_token@github.com/memorywalker/memorywalker.github.io.git
    branch: master
    +
  2. +
  3. 把更新的文件push到博客源码分支hexo

    +
  4. +
  5. https://www.travis-ci.org/memorywalker/memorywalker.github.io可以查看编译运行情况

    +
  6. +
+

基于TravisCI自动化部署Hexo博客到Github

+ + +
+ + + + + + + + + + + + + + + + + +
+ + + +
+ + +
+ + +
+ + + + + + +
+ + + + + + + + + + +
+
+ +
+ +
+ + +
+ + + 0% + +
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2019/06/22/qemu-aarch64-gdbserver/index.html b/2019/06/22/qemu-aarch64-gdbserver/index.html new file mode 100644 index 000000000..321a9ac57 --- /dev/null +++ b/2019/06/22/qemu-aarch64-gdbserver/index.html @@ -0,0 +1,1275 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Qemu下模拟ARM64搭建GDB Server调试环境 | How Time Flies + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
+
+ + + + +
+ + +
+ + + + + + + + + + +
+ + + +
+ + + + + + + +
+ + + +

Qemu下模拟ARM64搭建GDB Server调试环境 + + + +

+ + + +
+ + + + + +
+ + + + + +

OS: ubuntu 18.04 LTS x64

+

Qemu

Install

需要模拟arm64平台,所以要安装aarch64版本
sudo apt-get install qemu-system-aarch64

+

Cross-compile

安装交叉编译工具链,需要把一些依赖的其他库安装好

+

sudo apt-get install flex bison build-essential pkg-config libglib2.0-dev libpixman-1-dev libssl-dev

+

这里不使用系统仓库自带的gcc-aarch64-linux-gnu,仓库里面的gcc版本不好调整为自己需要的,所以直接下载Linaro网站的.

+

Linaro网站提供了多个平台的交叉编译工具,也一直有更新,ubuntu 64位的系统选择x86_64_aarch64-linux-gnu版本,我用的是
gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu

+

下载到开发目录arm下后,解压

+
1
2
$ cd arm
$ tar -xvf gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu.tar.xz
+ +

Busy Box

下载busybox代码也到arm目录下,解压

+
1
2
$ cd arm
$ tar -xvf busybox-1.23.1.tar.gz
+ +

进入busybox根目录,先配置当前的环境变量为arm64

+
1
2
$ export ARCH=arm64
$ export CROSS_COMPILE=/home/arm/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
+ +

执行make menuconfig打开编译配置菜单,其中做以下配置

+
    +
  • 勾选静态编译 Settings->Build static binary (no shared lib)
  • +
  • 指定交叉编译器为:/home/arm/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
  • +
  • General Configuration –> Dont use /usr
  • +
  • Busybox Libary Tuning–> 勾选:[*]Username completion、[*]Fancy shell prompts 、[*]Query cursor position from terminal
  • +
+

保存配置后,会更新.config编译配置文件,可以打开确认编译信息的正确性

+

开始编译make -j4

+

最后执行make install在busybox根目录生成_install目录

+

Linux kernel

Linux Kernel下载

Kernel官网下载4.9.11版本的内核,不能下载太旧的版本,例如3.19和最新的gcc7.4不兼容,编译总是失败,提示COMPILE版本的错误信息。最好选择长期支持的版本,这样功能更稳定一些。

+

解压内核后配置环境变量后,可以对内核进行配置

+

在执行make menuconfig时会遇到

+
+

In file included from scripts/kconfig/mconf.c:23:0:
scripts/kconfig/lxdialog/dialog.h:38:20: fatal error: curses.h: No such file or directory
include CURSES_LOC
compilation terminated.
make[1]: * [scripts/kconfig/mconf.o] Error 1
make: *
[menuconfig] Error 2

+
+

此时需要安装ncurses devel sudo apt-get install libncurses5-dev

+
1
2
3
4
5
6
7
8
9
10
tar -xvf linux-4.19.11.tar
cd linux-4.19.11
# 配置环境变量为arm64
export ARCH=arm64
# 配置交叉工具链
export CROSS_COMPILE=/home/edison/develop/arm/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
# 根据当前的环境变量的arch类型,到内核的arch目录中把arch/arm64/configs/中的配置作为模板
make defconfig
# 打开配置菜单界面,此时配置菜单中可以看到当前的目标类型和工具链类型
make menuconfig
+ +

配置Kernel

根据需要把支持的设备勾选,不想支持的就不要勾选,否则编译时间太长.可以第一次多裁减一些,如果需要,后面在配置增加功能,把每一次修改的.config文件版本管理起来

+

Platform Selection只选择ARMv8 based Freescale Layerscape SoC familyARMv8 software model (Versatile Express)

+

Device Driver中普通程序不要支持的也可删除

+

因为要通过内存镜像启动内核,还需要配置使用内存文件系统

+

General setup->Initial RAM filesystem and RAM disk (initramfs/initrd) support

+

Device Drivers->Block devices-><*> RAM block device support,其中配置1个block(1) Default number of RAM disks内存大小为128M(131072) Default RAM disk size (kbytes)

+

如果需要调试内核,需要打开调试信息

+
1
2
kernel hacking-->
[*]compile the kernel with debug info
+ +

配置完成后,执行make -j12 开始编译内核,时间需要1个多小时

+

Run kernel

创建根文件系统

在编译内核的过程中,可以准备内核启动的根文件系统,这里参考了摩斯电码的脚本文件,做了简单修改

+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/bin/bash

sudo rm -rf rootfs
sudo rm -rf tmpfs
sudo rm -rf ramdisk*
# 创建根文件系统目录
sudo mkdir rootfs
# 把busybox拷贝到这里 _install 里面就2个目录和1个文件`bin\ linuxrc sbin\`
sudo cp ../busybox-1.23.1/_install/* rootfs/ -raf
# 初始化根目录结构
sudo mkdir -p rootfs/proc/
sudo mkdir -p rootfs/sys/
sudo mkdir -p rootfs/tmp/
sudo mkdir -p rootfs/root/
sudo mkdir -p rootfs/var/
sudo mkdir -p rootfs/mnt/
# 系统配置目录
sudo cp etc rootfs/ -arf
# 公共库目录
sudo mkdir -p rootfs/lib
# 后续编译程序也要依赖同样的库文件
sudo cp -arf ../gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/libc/lib/* rootfs/lib/
# 删除静态库,文件太大
sudo rm rootfs/lib/*.a
# strip减小so体积
sudo ../gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-strip rootfs/lib/*
# 初始化的设备
sudo mkdir -p rootfs/dev/
sudo mknod rootfs/dev/tty1 c 4 1
sudo mknod rootfs/dev/tty2 c 4 2
sudo mknod rootfs/dev/tty3 c 4 3
sudo mknod rootfs/dev/tty4 c 4 4
sudo mknod rootfs/dev/console c 5 1
sudo mknod rootfs/dev/null c 1 3
# dd Copy a file, converting and formatting according to the operands.
# if 输入文件 /dev/zero 表示一个尽量满足需要的无限大的文件,且文件内容都初始化为0
# of 输出文件 bs : block size count : num of blocks
# 这里的块数量需要根据rootfs目录文件大小调整,目前我的是57M
sudo dd if=/dev/zero of=ramdisk bs=1M count=64
# mkfs.ext4 will create a file system for use with ext4
sudo mkfs.ext4 -F ramdisk

sudo mkdir -p tmpfs
# -t : fs type -o : option loop : loop device
# 把文件系统镜像文件挂载到一个loop device上,从而可以把roofs的文件拷贝进去
sudo mount -t ext4 ramdisk ./tmpfs/ -o loop

sudo cp -raf rootfs/* tmpfs/
sudo umount tmpfs

sudo gzip --best -c ramdisk > ramdisk.gz
# 创建镜像文件
sudo mkimage -n "ramdisk" -A arm64 -O linux -T ramdisk -C gzip -d ramdisk.gz ramdisk.img
+ +

The loop device is a block device that maps its data blocks not to a
physical device such as a hard disk or optical disk drive, but to the
blocks of a regular file in a filesystem or to another block device. This can be useful for example to provide a block device for a filesystem image stored in a file, so that it can be mounted with the mount(8)
command

+

其中etc目录结构如下

+
1
2
3
4
5
6
7
8
etc
├── init.d #初始脚本目录
| └── rcS #启动时默认执行脚本
├── sysconfig
| └── HOSTNAME #登陆后的主机名保存在这里
├── fstab # fs mount
├── inittab # init
└── profile # shell环境变量
+ +
    +
  • /etc/init.d/rcS

    +
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    #!/bin/sh
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    runlevel=S
    prevlevel=N
    umask 022
    export PATH runlevel prevlevel

    mount -a
    mkdir -p /dev/pts
    mount -t devpts devpts /dev/pts
    #mount -n -t usbfs none /proc/bus/usb
    echo /sbin/mdev > /proc/sys/kernel/hotplug
    mdev -s
    mkdir -p /var/lock

    ifconfig lo 127.0.0.1
    ifconfig eth0 192.168.43.202 netmask 255.255.255.0 broadcast 192.168.43.255

    /bin/hostname -F /etc/sysconfig/HOSTNAME
    +
  • +
  • /etc/sysconfig/HOSTNAME

    +
    1
    aarch64
    +
  • +
  • /etc/fstab

    +
    1
    2
    3
    4
    5
    6
    7
    8
    #device		mount-point	type	options		dump	fsck order
    proc /proc proc defaults 0 0
    tmpfs /tmp tmpfs defaults 0 0
    sysfs /sys sysfs defaults 0 0
    tmpfs /dev tmpfs defaults 0 0
    var /dev tmpfs defaults 0 0
    ramfs /dev ramfs defaults 0 0
    debugfs /sys/kernel/debug debugfs defaults 0 0
    +
  • +
  • /etc/inittab

    +
    1
    2
    3
    4
    5
    6
    # /etc/inittab
    ::sysinit:/etc/init.d/rcS
    console::askfirst:-/bin/sh
    ::ctrlaltdel:/sbin/reboot
    ::shutdown:/bin/umount -a -r
    ::restart:/sbin/init
    +
  • +
  • /etc/profile

    +
    1
    2
    3
    4
    5
    6
    7
    8
    9
    USER="root"
    LOGNAME=$USER
    export HOSTNAME=`/bin/hostname`
    export USER=root
    export HOME=/root
    export PS1="[$USER@$HOSTNAME \W]\# "
    PATH=/bin:/sbin:/usr/bin:/usr/sbin
    LD_LIBRARY_PATH=/lib:/usr/lib:$LD_LIBRARY_PATH
    export PATH LD_LIBRARY_PATH
    + +
  • +
+

对于生成的image文件可以通过mkimage -l ramdisk.img查看文件信息

+
1
2
3
4
5
6
Image Name:   ramdisk
Created: Sun Jun 23 21:18:57 2019
Image Type: AArch64 Linux RAMDisk Image (gzip compressed)
Data Size: 15885428 Bytes = 15513.11 kB = 15.15 MB
Load Address: 00000000
Entry Point: 00000000
+ +

使用Qemu运行

    +
  • run.sh
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    qemu-system-aarch64 \
    -M virt \
    -cpu cortex-a53 \
    -smp 2 \
    -m 1024M \
    -kernel ./linux-4.19.11/arch/arm64/boot/Image \
    -nographic \
    -append "root=/dev/ram0 rw rootfstype=ext4 console=ttyAMA0 init=/linuxrc ignore_loglevel" \
    -initrd ./rootfs/ramdisk.img \
    -netdev tap,helper=/usr/lib/qemu/qemu-bridge-helper,id=hn0 -device virtio-net-pci,netdev=hn0,id=nic1 \
    -fsdev local,security_model=passthrough,id=fsdev0,path=/home/edison/develop/arm/nfsroot \
    -device virtio-9p-pci,id=fs0,fsdev=fsdev0,mount_tag=hostshare
    + +
  • +
+

共享目录

使用9p共享目录,内核在编译时默认是支持的
新建目录
mkdir nfsroot

+

启动时这两个选项

+
1
2
-fsdev local,security_model=passthrough,id=fsdev0,path=/home/edison/arm/nfsroot \
-device virtio-9p-pci,id=fs0,fsdev=fsdev0,mount_tag=hostshare
+ +

指明了共享目录的位置

+

在内核启动起来之后,把共享目录挂载上来,就可以看到文件了
也可以把这个mount添加到内核启动程序中,不用每次都执行一遍

+
1
2
3
[root@aarch64 ]# mount -t 9p -o trans=virtio,version=9p2000.L hostshare /mnt
[root@aarch64 ]# ls /mnt/
code
+ +

Network with Qemu

使用网桥方式,可以让qemu和host主机之间直接进行网络通信

+
    +
  1. 安装网桥工具
    sudo apt install bridge-utilssudo apt install uml-utilities
  2. +
  3. 新建一个网桥 sudo brctl addbr br0 网桥会在重启后消失
  4. +
  5. 启用此网桥 sudo ip link set br0 up
  6. +
  7. 确认/etc/qemu/bridge.confallow br0
  8. +
  9. 给帮助程序权限sudo chmod u+s /usr/lib/qemu/qemu-bridge-helper
  10. +
  11. qemu 启动时增加-netdev tap,helper=/usr/lib/qemu/qemu-bridge-helper,id=hn0 -device virtio-net-pci,netdev=hn0,id=nic1
  12. +
  13. qemu 启动后会自动在host主机上新建一个tap0的网卡
  14. +
  15. 使用brctl show查看br0和tap0已经关联上了
  16. +
  17. 把host主机的一个网卡也和br0关联起来,主机wifi的网卡由于是dhcp获取的ip,无法与br0绑定,需要使用有线网卡绑定sudo brctl addif br0 enp5s0
  18. +
+
1
2
3
bridge name	bridge id		STP enabled	interfaces
br0 8000.3860773ac46e no enp5s0
tap0
+ +
    +
  1. host设置各个网卡和网桥的ip,此处需要注意先设置br0的ip和tap0的ip,再设置host网卡的ip,否则guest里面无法ping外部主机的ip,最终使br0的mac和tap0的mac地址相同,具体原因还没来及查
    sudo ifconfig br0 192.168.43.210 netmask 255.255.255.0
    sudo ifconfig tap0 192.168.43.51 netmask 255.255.255.0
    sudo ifconfig enp5s0 192.168.43.50 netmask 255.255.255.0
  2. +
+
1
2
3
4
5
6
7
8
9
10
11
12
13
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
inet 192.168.43.210 netmask 255.255.255.0 broadcast 192.168.43.255
inet6 fe80::1429:b3ff:fe07:5f92 prefixlen 64 scopeid 0x20<link>
ether fe:16:30:37:22:4f txqueuelen 1000 (Ethernet)

tap0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.43.51 netmask 255.255.255.0 broadcast 192.168.43.255
inet6 fe80::fc16:30ff:fe37:224f prefixlen 64 scopeid 0x20<link>
ether fe:16:30:37:22:4f txqueuelen 1000 (Ethernet)

enp5s0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.43.50 netmask 255.255.255.0 broadcast 192.168.43.255
ether 38:xx:xx:xx:xx:xx txqueuelen 1000 (Ethernet)
+ +
    +
  1. guest设置eth0的ip 与br0的ip在一个网段内 例如 192.168.43.202
  2. +
+

qemu-bridge-helper使用/etc/qemu-ifup/etc/qemu-ifdown来控制虚拟虚拟机网卡tap0启动

+
    +
  • 如果想使用其他定义的网桥, /etc/qemu/bridge.conf中添加allow qemubr0
    1
    2
    qemu linux.img 
    -netdev tap,helper="/usr/local/libexec/qemu-bridge-helper --br=qemubr0",id=hn0 -device virtio-net-pci,netdev=hn0,id=nic1
    + +
  • +
+

Gdbserver

到GDB网站下载gdb的源码,其中gdbserver在里面的子目录gdbserver中,进入gdbserver的源码目录

+
1
2
3
4
5
$ cd ~/develop/arm/gdb-8.3/gdb/gdbserver
$ export CC=/home/edison/develop/arm/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc
$ export CXX=/home/edison/develop/arm/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++

$ ./configure --target=aarch64-linux-gnu --host=aarch64-linux-gnu
+ +

把编译出来的gdbserver放到共享目录

+

qemu 作为客户机执行

+

#./gdbserver 192.168.43.202:10000 all

+

192.168.43.202 is guest ip address
output:

+
1
2
3
Process /mnt/code/all created; pid = 1066
Listening on port 10000
Remote debugging from host 192.168.43.210, port 51730
+ +

主机host run:

+

/home/edison/develop/arm/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gdb all

+

in gdb console, connect to the guest gdbserver:

+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
(gdb) target remote 192.168.43.202:10000
Reading /lib/ld-linux-aarch64.so.1 from remote target...
warning: File transfers from remote targets can be slow. Use "set sysroot" to access files locally instead.
Reading /lib/ld-linux-aarch64.so.1 from remote target...
Reading symbols from target:/lib/ld-linux-aarch64.so.1...(no debugging symbols found)...done.
0x0000ffffbf6d3d00 in ?? () from target:/lib/ld-linux-aarch64.so.1
# 设置一个目录,否则看不到库函数
(gdb) set sysroot /home/edison/develop/arm/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/libc/
warning: .dynamic section for "/home/edison/develop/arm/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/libc/lib/ld-linux-aarch64.so.1" is not at the expected address (wrong library or version mismatch?)
Reading symbols from /home/edison/develop/arm/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/libc/lib/ld-linux-aarch64.so.1...done.
Reading symbols from /home/edison/develop/arm/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/libc/lib/ld-linux-aarch64.so.1...done.
(gdb) b main
Breakpoint 1 at 0x4005f4: file main.cpp, line 7.
(gdb) b func(int)
Breakpoint 2 at 0x400630: file main.cpp, line 16.
(gdb) r
The "remote" target does not support "run". Try "help target" or "continue".
(gdb) c
Continuing.

Breakpoint 1, main () at main.cpp:7
7 int i = 25;
(gdb) list
2
3 int func(int i);
4
5 int main(void)
6 {
7 int i = 25;
8 int v = func(i);
9 printf("value is %d\n", v);
10 getchar();
11 return 0;
(gdb) c
Continuing.

Breakpoint 2, func (i=25) at main.cpp:16
16 int a = 2;
(gdb) c
Continuing.
[Inferior 1 (process 1066) exited normally]
+ +

测试程序

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>

int func(int i);

int main(void)
{
int i = 25;
int v = func(i);
printf("value is %d\n", v);
getchar();
return 0;
}

int func(int i)
{
int a = 2;
return a * i;
}
+ +
    +
  • 简单的makefile
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    # marcros
    CROSS_COMPILE := /home/edison/develop/arm/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-

    CC := $(CROSS_COMPILE)gcc
    LD := $(CC) -nostdlib
    CPP := $(CC) -E

    CCFLAGS := -Wall
    DBGFLAG := -g
    CCOBJFLAG := $(CCFLAG) -c

    # Path

    BIN_PATH := bin
    OBJ_PATH := obj
    SRC_PATH := src
    DBG_PATH := debug

    # compile
    TARGET_NAME := main

    TARGET := $(BIN_PATH)/$(TARGET_NAME)
    TARGET_DEBUG := $(DBG_PATH)/$(TARGET_NAME)

    all: main.o
    $(CC) -o $@ $^

    main.o: main.cpp
    $(CC) $(CCOBJFLAG) $(DBGFLAG) $^

    clean:
    rm -rf *.o all
    + +
  • +
+

启动运行信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[ 0.000000] Linux version 4.19.11 (edison@aquarius) (gcc version 7.4.1 20181213 [linaro-7.4-2019.02 revision 56ec6f6b99cc167ff0c2f8e1a2eed33b1edc85d4] (Linaro GCC 7.4-2019.02)) #3 SMP PREEMPT Sat Jun 15 12:02:57 CST 2019
[ 0.000000] Machine model: linux,dummy-virt
[ 0.000000] debug: ignoring loglevel setting.
[ 0.000000] efi: Getting EFI parameters from FDT:
[ 0.000000] efi: UEFI not found.
[ 0.000000] cma: Reserved 32 MiB at 0x000000007e000000
[ 0.000000] NUMA: No NUMA configuration found
[ 0.000000] NUMA: Faking a node at [mem 0x0000000000000000-0x000000007fffffff]
[ 0.000000] NUMA: NODE_DATA [mem 0x7dfea700-0x7dfebebf]
[ 0.000000] Zone ranges:
[ 0.000000] DMA32 [mem 0x0000000040000000-0x000000007fffffff]
[ 0.000000] Normal empty
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000040000000-0x000000007fffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x000000007fffffff]
[ 0.000000] On node 0 totalpages: 262144
[ 0.000000] DMA32 zone: 4096 pages used for memmap
[ 0.000000] DMA32 zone: 0 pages reserved
[ 0.000000] DMA32 zone: 262144 pages, LIFO batch:63
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: PSCIv0.2 detected in firmware.
[ 0.000000] psci: Using standard PSCI v0.2 function IDs
[ 0.000000] psci: Trusted OS migration not required
[ 0.000000] random: get_random_bytes called from start_kernel+0xa8/0x418 with crng_init=0
[ 0.000000] percpu: Embedded 23 pages/cpu @(____ptrval____) s56984 r8192 d29032 u94208
[ 0.000000] pcpu-alloc: s56984 r8192 d29032 u94208 alloc=23*4096
[ 0.000000] pcpu-alloc: [0] 0 [0] 1
[ 0.000000] Detected VIPT I-cache on CPU0
[ 0.000000] CPU features: enabling workaround for ARM erratum 843419
[ 0.000000] CPU features: enabling workaround for ARM erratum 845719
[ 0.000000] CPU features: detected: Kernel page table isolation (KPTI)
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 258048
[ 0.000000] Policy zone: DMA32
[ 0.000000] Kernel command line: root=/dev/ram0 rw rootfstype=ext4 console=ttyAMA0 init=/linuxrc ignore_loglevel
[ 0.000000] Memory: 969596K/1048576K available (9020K kernel code, 610K rwdata, 3008K rodata, 768K init, 359K bss, 46212K reserved, 32768K cma-reserved)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[ 0.000000] rcu: Preemptible hierarchical RCU implementation.
[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=64 to nr_cpu_ids=2.
[ 0.000000] Tasks RCU enabled.
[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[ 0.000000] GICv2m: range[mem 0x08020000-0x08020fff], SPI[80:143]
[ 0.000000] arch_timer: cp15 timer(s) running at 62.50MHz (virt).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x1cd42e208c, max_idle_ns: 881590405314 ns
[ 0.000185] sched_clock: 56 bits at 62MHz, resolution 16ns, wraps every 4398046511096ns
[ 0.007286] Console: colour dummy device 80x25
[ 0.009634] Calibrating delay loop (skipped), value calculated using timer frequency.. 125.00 BogoMIPS (lpj=250000)
[ 0.009828] pid_max: default: 32768 minimum: 301
[ 0.011320] Security Framework initialized
[ 0.013353] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes)
[ 0.014631] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes)
[ 0.014987] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes)
[ 0.015139] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes)
[ 0.072332] ASID allocator initialised with 32768 entries
[ 0.079862] rcu: Hierarchical SRCU implementation.
[ 0.102195] EFI services will not be available.
[ 0.111945] smp: Bringing up secondary CPUs ...
[ 0.150710] Detected VIPT I-cache on CPU1
[ 0.152735] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[ 0.158057] smp: Brought up 1 node, 2 CPUs
[ 0.158170] SMP: Total of 2 processors activated.
[ 0.158288] CPU features: detected: 32-bit EL0 Support
[ 0.185724] CPU: All CPU(s) started at EL1
[ 0.186917] alternatives: patching kernel code
[ 0.205598] devtmpfs: initialized
[ 0.234248] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.234617] futex hash table entries: 512 (order: 3, 32768 bytes)
[ 0.245880] pinctrl core: initialized pinctrl subsystem
[ 0.275845] DMI not present or invalid.
[ 0.285543] NET: Registered protocol family 16
[ 0.289290] audit: initializing netlink subsys (disabled)
[ 0.292277] audit: type=2000 audit(0.252:1): state=initialized audit_enabled=0 res=1
[ 0.311872] cpuidle: using governor menu
[ 0.314254] vdso: 2 pages (1 code @ (____ptrval____), 1 data @ (____ptrval____))
[ 0.314476] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[ 0.325699] DMA: preallocated 256 KiB pool for atomic allocations
[ 0.328282] Serial: AMBA PL011 UART driver
[ 0.401940] 9000000.pl011: ttyAMA0 at MMIO 0x9000000 (irq = 39, base_baud = 0) is a PL011 rev1
[ 0.433798] console [ttyAMA0] enabled
[ 0.727257] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[ 0.733955] cryptd: max_cpu_qlen set to 1000
[ 0.744142] ACPI: Interpreter disabled.
[ 0.760164] vgaarb: loaded
[ 0.765256] SCSI subsystem initialized
[ 0.773399] libata version 3.00 loaded.
[ 0.785663] usbcore: registered new interface driver usbfs
[ 0.787906] usbcore: registered new interface driver hub
[ 0.789752] usbcore: registered new device driver usb
[ 0.794877] pps_core: LinuxPPS API ver. 1 registered
[ 0.795307] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.796439] PTP clock support registered
[ 0.806539] EDAC MC: Ver: 3.0.0
[ 0.828166] Advanced Linux Sound Architecture Driver Initialized.
[ 0.849084] clocksource: Switched to clocksource arch_sys_counter
[ 0.851823] VFS: Disk quotas dquot_6.6.0
[ 0.854846] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[ 0.858595] pnp: PnP ACPI: disabled
[ 1.017342] NET: Registered protocol family 2
[ 1.031887] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes)
[ 1.033022] TCP established hash table entries: 8192 (order: 4, 65536 bytes)
[ 1.034055] TCP bind hash table entries: 8192 (order: 5, 131072 bytes)
[ 1.034752] TCP: Hash tables configured (established 8192 bind 8192)
[ 1.038780] UDP hash table entries: 512 (order: 2, 16384 bytes)
[ 1.039445] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[ 1.042094] NET: Registered protocol family 1
[ 1.050677] RPC: Registered named UNIX socket transport module.
[ 1.051236] RPC: Registered udp transport module.
[ 1.051576] RPC: Registered tcp transport module.
[ 1.051922] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 1.053121] PCI: CLS 0 bytes, default 64
[ 1.058331] Trying to unpack rootfs image as initramfs...
[ 1.071951] rootfs image is not initramfs (no cpio magic); looks like an initrd
[ 1.219963] Freeing initrd memory: 15512K
[ 1.225178] hw perfevents: enabled with armv8_pmuv3 PMU driver, 1 counters available
[ 1.227220] kvm [1]: HYP mode not available
[ 1.290935] Initialise system trusted keyrings
[ 1.295592] workingset: timestamp_bits=44 max_order=18 bucket_order=0
[ 1.563944] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 1.620068] NFS: Registering the id_resolver key type
[ 1.626786] Key type id_resolver registered
[ 1.627912] Key type id_legacy registered
[ 1.630868] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[ 1.652401] 9p: Installing v9fs 9p2000 file system support
[ 1.664508] pstore: using deflate compression
[ 1.817988] Key type asymmetric registered
[ 1.819643] Asymmetric key parser 'x509' registered
[ 1.823133] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 246)
[ 1.827632] io scheduler noop registered
[ 1.828884] io scheduler deadline registered
[ 1.834561] io scheduler cfq registered (default)
[ 1.836114] io scheduler mq-deadline registered
[ 1.837955] io scheduler kyber registered
[ 1.926575] pl061_gpio 9030000.pl061: PL061 GPIO chip @0x0000000009030000 registered
[ 1.944322] pci-host-generic 3f000000.pcie: host bridge /pcie@10000000 ranges:
[ 1.950902] pci-host-generic 3f000000.pcie: IO 0x3eff0000..0x3effffff -> 0x00000000
[ 1.957916] pci-host-generic 3f000000.pcie: MEM 0x10000000..0x3efeffff -> 0x10000000
[ 1.962099] pci-host-generic 3f000000.pcie: MEM 0x8000000000..0xffffffffff -> 0x8000000000
[ 1.969611] pci-host-generic 3f000000.pcie: ECAM at [mem 0x3f000000-0x3fffffff] for [bus 00-0f]
[ 1.983121] pci-host-generic 3f000000.pcie: PCI host bridge to bus 0000:00
[ 1.987641] pci_bus 0000:00: root bus resource [bus 00-0f]
[ 1.992250] pci_bus 0000:00: root bus resource [io 0x0000-0xffff]
[ 1.995159] pci_bus 0000:00: root bus resource [mem 0x10000000-0x3efeffff]
[ 1.998891] pci_bus 0000:00: root bus resource [mem 0x8000000000-0xffffffffff]
[ 2.010065] pci 0000:00:00.0: [1b36:0008] type 00 class 0x060000
[ 2.038555] pci 0000:00:01.0: [1af4:1000] type 00 class 0x020000
[ 2.042423] pci 0000:00:01.0: reg 0x10: [io 0x0000-0x001f]
[ 2.044329] pci 0000:00:01.0: reg 0x14: [mem 0x00000000-0x00000fff]
[ 2.047344] pci 0000:00:01.0: reg 0x20: [mem 0x00000000-0x00003fff 64bit pref]
[ 2.050395] pci 0000:00:01.0: reg 0x30: [mem 0x00000000-0x0007ffff pref]
[ 2.066248] pci 0000:00:02.0: [1af4:1009] type 00 class 0x000200
[ 2.069640] pci 0000:00:02.0: reg 0x10: [io 0x0000-0x003f]
[ 2.072306] pci 0000:00:02.0: reg 0x14: [mem 0x00000000-0x00000fff]
[ 2.075211] pci 0000:00:02.0: reg 0x20: [mem 0x00000000-0x00003fff 64bit pref]
[ 2.103755] pci 0000:00:01.0: BAR 6: assigned [mem 0x10000000-0x1007ffff pref]
[ 2.109717] pci 0000:00:01.0: BAR 4: assigned [mem 0x8000000000-0x8000003fff 64bit pref]
[ 2.113851] pci 0000:00:02.0: BAR 4: assigned [mem 0x8000004000-0x8000007fff 64bit pref]
[ 2.115820] pci 0000:00:01.0: BAR 1: assigned [mem 0x10080000-0x10080fff]
[ 2.118111] pci 0000:00:02.0: BAR 1: assigned [mem 0x10081000-0x10081fff]
[ 2.119817] pci 0000:00:02.0: BAR 0: assigned [io 0x1000-0x103f]
[ 2.122333] pci 0000:00:01.0: BAR 0: assigned [io 0x1040-0x105f]
[ 2.211197] EINJ: ACPI disabled.
[ 2.330390] virtio-pci 0000:00:01.0: enabling device (0000 -> 0003)
[ 2.354839] virtio-pci 0000:00:02.0: enabling device (0000 -> 0003)
[ 2.512241] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 2.593580] cacheinfo: Unable to detect cache hierarchy for CPU 0
[ 2.638856] brd: module loaded
[ 2.756131] loop: module loaded
[ 2.834762] libphy: Fixed MDIO Bus: probed
[ 2.844183] tun: Universal TUN/TAP device driver, 1.6
[ 2.909715] thunder_xcv, ver 1.0
[ 2.911181] thunder_bgx, ver 1.0
[ 2.912558] nicpf, ver 1.0
[ 2.921499] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
[ 2.922236] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[ 2.925385] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.4.0-k
[ 2.926237] igb: Copyright (c) 2007-2014 Intel Corporation.
[ 2.928072] igbvf: Intel(R) Gigabit Virtual Function Network Driver - version 2.4.0-k
[ 2.929604] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
[ 2.932820] sky2: driver version 1.30
[ 2.948916] VFIO - User Level meta-driver version: 0.3
[ 2.954444] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 2.955462] ehci-pci: EHCI PCI platform driver
[ 2.957773] ehci-platform: EHCI generic platform driver
[ 2.961430] usbcore: registered new interface driver usb-storage
[ 2.991082] rtc-pl031 9010000.pl031: rtc core: registered pl031 as rtc0
[ 2.997556] i2c /dev entries driver
[ 3.024361] sdhci: Secure Digital Host Controller Interface driver
[ 3.030621] sdhci: Copyright(c) Pierre Ossman
[ 3.035477] Synopsys Designware Multimedia Card Interface Driver
[ 3.043428] sdhci-pltfm: SDHCI platform and OF driver helper
[ 3.056220] ledtrig-cpu: registered to indicate activity on CPUs
[ 3.086735] usbcore: registered new interface driver usbhid
[ 3.087646] usbhid: USB HID core driver
[ 3.115425] NET: Registered protocol family 17
[ 3.121396] 9pnet: Installing 9P2000 support
[ 3.127838] Key type dns_resolver registered
[ 3.140496] registered taskstats version 1
[ 3.141477] Loading compiled-in X.509 certificates
[ 3.165868] input: gpio-keys as /devices/platform/gpio-keys/input/input0
[ 3.174798] rtc-pl031 9010000.pl031: setting system clock to 2019-06-23 13:50:18 UTC (1561297818)
[ 3.179007] ALSA device list:
[ 3.179612] No soundcards found.
[ 3.190059] uart-pl011 9000000.pl011: no DMA platform data
[ 3.197681] RAMDISK: gzip image found at block 0
[ 8.860079] EXT4-fs (ram0): mounted filesystem with ordered data mode. Opts: (null)
[ 8.861974] VFS: Mounted root (ext4 filesystem) on device 1:0.
[ 8.870895] devtmpfs: mounted
[ 8.997547] Freeing unused kernel memory: 768K
[ 9.031224] Run /linuxrc as init process

Please press Enter to activate this console.
[root@aarch64 ]# ls
bin etc linuxrc mnt root sys var
dev lib lost+found proc sbin tmp
+ + + +
+ + + + + + + + + + + + + + + + + +
+ + + +
+ + +
+ + +
+ + + + + + +
+ + + + + + + + + + +
+
+ +
+ +
+ + +
+ + + 0% + +
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2020/02/05/Git/index.html b/2020/02/05/Git/index.html new file mode 100644 index 000000000..7773c4a2b --- /dev/null +++ b/2020/02/05/Git/index.html @@ -0,0 +1,1343 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Git study | How Time Flies + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
+
+ + + + +
+ + +
+ + + + + + + + + + +
+ + + +
+ + + + + + + +
+ + + +

Git study + + + +

+ + + +
+ + + + + +
+ + + + + +

Git

/git/

+

BOOK

+

Terminology

/tɜːrmɪˈnɑːlədʒi / (某学科的) 术语; 有特别含义的用语; 专门用语

+

version control system (abbreviated as VCS)

+

source code manager (abbreviated as SCM)

+

commit 保存一份当前项目的state到git中,可以看做游戏保存当前进度

+

Repository / repo 一个仓库中包含了项目的所有文件,由commit组成

+

Working Directory 本地的工作目录

+

checkout 把repo中的所有文件拷贝一份到本地目录

+

staging area as a prep table where Git will take the next commit. Files on the Staging Index are poised to be added to the repository

+

branch 分支 游戏中保存一个新的存档,然后就可以选择不同的结局,在Half Life结尾G Man给你选择前可以新建一个存档位置,可以选择不为他打工

+

Working Directory -(add)-> staging area -(commit)-> Repository

+

Config

    +
  1. 右键打开Git bash,直接输入cd,进入home目录

    +
  2. +
  3. start . 在资源管理器中打开目录

    +
  4. +
  5. 再打开的文件中,右键点收藏夹,将当前文件添加到收藏夹,方便以后打开这个目录

    +
  6. +
  7. 把下载的配置文件中的bash_profile和文件夹udacity-terminal-config拷贝到根目录

    +
  8. +
  9. 由于windows不支持修改文件名为.开始的名字,需要在命令提示符下使用mv命令实现

    +

    $ mv bash_profile .bash_profile

    +

    $ mv udacity-terminal-config .udacity-terminal-config

    +
  10. +
  11. 重新打开一个bash窗口,点击左上角,option,设置前景色为黑色,背景色为白色

    +
  12. +
  13. 执行以下命令进行全局配置

    +
  14. +
+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# sets up Git with your name
git config --global user.name "<Your-Full-Name>"

# sets up Git with your email
git config --global user.email "<your-email-address>"

# makes sure that Git output is colored
git config --global color.ui auto

# displays the original state in a conflict
git config --global merge.conflictstyle diff3

git config --list

# git work with sublime editor
git config --global core.editor "'C:/Program Files/Sublime Text 2/sublime_text.exe' -n -w"

# git work with VS Code
git config --global core.editor "code --wait"
+ +

基本使用

init一个Repo

    +
  1. 新建一个目录并进入到新建目录中mkdir -p udacity-git-course/new-git-project && cd $_
  2. +
  3. 执行git init,会在当前目录下创建一个repo,.git中就是这个repo的目录
  4. +
+

Repo中的内容

+
    +
  • config file - where all project specific configuration settings are stored.
  • +
  • description file - this file is only used by the GitWeb program
  • +
  • hooks directory - this is where we could place client-side or server-side scripts that we can use to hook into Git’s different lifecycle events
  • +
  • info directory - contains the global excludes file
  • +
  • objects directory - this directory will store all of the commits we make
  • +
  • refs directory - this directory holds pointers to commits (basically the “branches” and “tags”)
  • +
+

clone一个Repo

clone可以创建一个现有项目的完全相同的复制

+

执行git clone https://github.com/udacity/course-git-blog-project会创建一个新的项目目录course-git-blog-project在当前目录中

+

执行git clone http://xxx/project newName可以在克隆时直接换一个本地的目录名称

+

status

git status查看当前repo的状态,应该在执行每一个git的命令后都查看一下status

+

log

git log查看所有commit历史记录

+

输出的内容在Less中相同

+
    +
  • 下翻
      +
    • j or 下翻一行
    • +
    • d 下翻半屏
    • +
    • f 下翻一屏
    • +
    +
  • +
  • 上翻
      +
    • k or 上翻一行
    • +
    • u 上翻半屏
    • +
    • b 上翻一屏
    • +
    +
  • +
  • 退出 press q to quit
  • +
+

git log --oneline 简化显示log信息

+

git log --stat显示每一个commit的汇总信息,stat是 statistics 的缩写

+

git log -p p是patch的缩写,显示每个文件具体改了哪些内容

+

git log -p --stat -w可以组合使用标记,-w不显示空白行的更改

+

git以行为单位对文件的更改进行追踪

+
1
2
3
4
5
6
7
8
9
10
11
12
13
diff --git a/index.html b/index.html  (正在显示的文件)
index 0381211..43f5b28 100644 (更改前的前后的这个文件的hash)
--- a/index.html (指明旧的文件)
+++ b/index.html (指明新的文件)
@@ -15,83 +15,85 @@ (-标识旧文件,从15行开始共83行,+标识新文件,15行开始,共85行)
<h1>Expedition</h1>
</header>

- <main> (旧文件删除的行)
- <h2 class="visuallyhidden">Articles</h2>
+ <div class="container"> (新文件增加行)
+ <main>
+ <h2 class="visuallyhidden">Articles</h2>
+ +
    +
  • git log -p fdf5493显示fdf5493和这个commit之前的所有log

    +
  • +
  • git show [SHA]查看指定的一次提交的信息,默认附带了-p标记,如果要加--stat会把默认的-p标记去掉,要手动加上-p, -w不显示对空白行的更改 git show --stat -p 8d3ea36

    +
  • +
+

add

将文件从work directory加入staging index

+
    +
  • git add index.html增加一个文件到staging index,多个文件用空格分隔开
  • +
  • git rm --cached index.html 删除一个staged的文件
  • +
  • git add .把当前目录下的所有文件增加到staging index
  • +
+

commit

git commit会打开配置的默认编辑器,当保存文件,关闭编辑器后,数据才会提交

+

git commit -m "Initial commit"提交信息使用-m

+

每次提交应该只有一个重点,记录一个单位的更改,只是更改项目的一个方面

+

一次提交不能包含不相关的更改

+
提交信息
    +
  • 信息简短,不超过60个英文单词
  • +
  • 解释提交内容做了什么,而不是为什么或怎么做的
  • +
  • 不要解释为什么做了这个更改
  • +
  • 不要解释怎么做了更改
  • +
  • 不要使用and,说明你提交了多个更改
  • +
  • 写完简短的信息后,可以换行增加一个空行,再写详细的更改原因,方便git log --oneline
  • +
+

udacity的commit style guide

+

diff

用来查看当前没有commit的更改

+

gitignore

在和.git目录同级的目录下使用touch .gitignore新建.gitignore文件用来屏蔽那些不需要版本管理的文件

+
globbing规则
    +
  • 空行用来分隔
  • +
  • #标识注释
  • +
  • *匹配0或多个字符
  • +
  • ?匹配1个字符
  • +
  • [abc]匹配a, b, or c
  • +
  • **匹配嵌入的目录 a/**/z匹配a/z,a/b/z, a/b/c/z
  • +
+

tag

tag用来标识一个特殊的版本,比如beta1.0,它和一个commit关联起来

+

git tag -a v1.0会以当前的commit创建一个tag并打开编辑器等待输入tag的备注信息,-a指明创建一个annotated tag,建议始终带有a选项的tag,包含更多的信息,如果不带a,只是一个轻量级的tag,没有创建人和创建日期信息

+

git tag列出当前repo的所有tag,使用git log可以看到当前的tag信息

+

git tag -d v1.0删除tag v1.0

+

git tag -a v1.0 9a2e3bf指定commit创建一个tag

+

branch

一个Tag永久性的指向一个commit,一个branch会移动到最后的一个commit

+

master是git给的默认branch,head指向当前活动的branch

+

git branch列出当前的所有分支,星号标识的是当前分支

+

git branch feature以当前的commit创建一个名为feature的分支

+

git branch feature SHA以SHA对应的commit创建一个名为feature的分支

+

git checkout master切换到master分支,checkout可以在多个branch之间切换,让head指向当前的分支。这个命令会:

+
    +
  1. 删除当前工作目录下的所有被git管理的文件(所有已经commit到repo中的文件),没有被add或commit的文件会保持不变
  2. +
  3. 从repo中取出指定分支的文件到当前工作目录
  4. +
+

git branch -d feature删除名为feature的分支,当前活动的分支不能被删除,如果一个分支上有commit是只有这个分支才有的,还没有合并到其他分支,也不能删除;如果要强制删除这个有自己的commit的分支,使用git branch -D feature

+

git checkout -b footer master基于master分支创建footer分支,并切换到footer分支

+

git log --graph --all --oneline graph用来显示log最左侧的分支路径线all参数用来显示repo中的所有分支

+

merge

把分支的更改进行合并,git可以自动合并不同分支的更改

+
    +
  • 普通merge : 如果两个分支有差异的内容,把另一个分支的内容合并到当前的分支,此时merge也是一次commit,需要提供message,而且git已经提供了默认的message
  • +
  • fast-forward merge 如果一个分支newfeature已经在master的前面(在master的基础上已经有了新的更改,但是master一直没有更改),此时要把它合入master分支,在合并的时候,只是把master指向newfeature的commit即可,并不需要一次新的commit
  • +
+

git merge name-of-branch-to-merge-in把另一个分支合入当前的分支,例如git merge sidebar

+
冲突处理

git以文件中的一行为单位作为文件改变的标识,当两个分支中对同一个文件的同一行都有修改,在自动merge的时候,就不能自动选择用哪一个分支的了

+
1
2
3
4
$ git merge head-update
Auto-merging index.html
CONFLICT (content): Merge conflict in index.html
Automatic merge failed; fix conflicts and then commit the result.
+ +

此时执行git status会提示

+
1
2
3
4
5
6
7
8
On branch master
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)

Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: index.html
+ +

此时文件已经被改动,并且有标记哪些部分是冲突的

+
1
2
3
4
5
6
7
8
9
    <header>
<<<<<<< HEAD 本地分支当前内容
<h1>Future</h1>
||||||| b27a903 合并前的上一次的原始内容
<h1>Expedition Future</h1>
======= 合并内容的结束行标记
<h1>Past</h1>
>>>>>>> head-update 合入的分支的结束标记
</header>
+ +

在编辑器中直接修改文本内容为最终需要的内容,保存后提交,可以在提交之前执行git diff查看更改的内容,避免把标记没有删除也提交上去

+

amend

git commit --amend修改最近一次的commit,而不会产生新的commit。

+

如果当前已经没有需要commit的内容,则会弹出编辑commit message的编辑器,修改message的内容

+

如果有遗漏的文件忘记修改,可以修改文件后并执行add来stage文件,执行git commit --amend让上次的commit增加新的文件

+

revert

revert是对一次commit的恢复,因此也是一次新的commit

+
1
2
3
4
5
6
7
$ git revert ee4190c
[master 65d78c2] Revert "change title"
1 file changed, 1 insertion(+), 1 deletion(-)
Moon (master) newrepo
$ git log --oneline
65d78c2 (HEAD -> master) Revert "change title" #新的一次提交
ee4190c change title
+ +

reset

reset从repo中删除一个commit,git会在删除数据前保存所有的信息30天,可以使用git reflog

+

在执行reset之前可以对当前的commit创建一个backup的新分支用来备份commit的数据git branch backup_somework。需要恢复时,git merge backup即可

+

git reset <reference-to-commit>把Head指向reference commit,删除中间的commit,把已经commit的数据放入staging index,把staged的数据变为unstaged

+

git reset --mixed HEAD^默认的选项,把当前commit的内容回退到work directory,变为unstaged状态

+

git reset --soft HEAD^把当前commit的内容回退到staging index

+

git reset --hard HEAD^把当前commit的内容放入stash

+

git checkout -- <filename>撤销当前工作目录中filename文件的所有更改

+
Relative Commit References

相对commit引用, HEAD指向当前commit,^指向当前的父commit,~指向第一层父commit

+
1
2
HEAD^ = HEAD~ = HEAD~1
HEAD^^ = HEAD~2
+ +

一个merge的commit有两个父commit,^指向执行git merge分支的父commit,^2指向合并过来的分支的父commit

+
1
2
3
4
5
6
7
8
* 9ec05ca (HEAD -> master) Revert "Set page heading to "Quests & Crusades""
* db7e87a Set page heading to "Quests & Crusades"
* 796ddb0 Merge branch 'heading-update'
|\
| * 4c9749e (heading-update) Set page heading to "Crusade"
* | 0c5975a Set page heading to "Quest"
|/
* 1a56a81 Merge branch 'sidebar'
+ +

HEAD^^^ 指向 0c5975a ,只有当前分支路径上带*的commit都是这个分支的

+

HEAD^^^2 指向 4c9749e

+

Vocabulary

    +
  • sneak / sniːk / 偷偷地走; 溜; 偷偷地做; 偷带; 偷拿; 偷走(不重要的或小的东西); 突然的; 出其不意的 ; 打小报告的人,告状者(尤指儿童);

    +

    Wanna have a sneak peak of the next lesson (偷偷看一下)

    +
  • +
  • intro 介绍; (尤指) 前奏,前言,导言

    +
  • +
  • outro 结尾部分

    +
  • +
  • globbing 通配符; 文件名扩展; 文件名代换; 展开

    +
  • +
  • annotated 给…作注解(或评注)

    +
  • +
  • delve /delv/ (在手提包、容器等中) 翻找; delve into her mother’s past探究母亲的过去

    +
  • +
  • nitty 尼堤; 多虱卵的; 很紧甚至有些紧弱;

    +
  • +
  • gritty 含沙砾的; 沙砾般的; 有勇气的; 坚定的; 坚毅的; (对消极事物的描述) 逼真的,真实的,活生生的; The sheets fell on the gritty floor 床单掉到满是沙砾的地板上

    +
  • +
  • nitty gritty 本质; 实质; 基本事实; The city’s newspapers still attempt to get down to the nitty gritty of investigative journalism 该市报纸仍在试图厘清调查性新闻的实质

    +
  • +
  • asterisk / ˈæstərɪsk / 星号(置于词语旁以引起注意或另有注释)

    +
  • +
  • nerve-wracking 令人焦虑的; 使人十分紧张的

    +
  • +
  • grins 露齿而笑; 咧着嘴笑; 龇着牙笑

    +
  • +
  • giggles 咯咯笑; 傻笑; 趣事; 玩笑; 可笑的事; 止不住的咯咯笑

    +
  • +
  • divergent 有分歧的; 不同的; 相异的;

    +
  • +
+ + +
+ + + + + + + + + + + + + + + + + +
+ + + +
+ + +
+ + +
+ + + + + + +
+ + + + + + + + + + +
+
+ +
+ +
+ + +
+ + + 0% + +
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2020/02/07/Github/index.html b/2020/02/07/Github/index.html new file mode 100644 index 000000000..166638c6a --- /dev/null +++ b/2020/02/07/Github/index.html @@ -0,0 +1,1229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Github study | How Time Flies + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
+
+ + + + +
+ + +
+ + + + + + + + + + +
+ + + +
+ + + + + + + +
+ + + +

Github study + + + +

+ + + +
+ + + + + +
+ + + + + +

Github

当多人合作时,可以每个人各自创建一个分支,每个分支都有明确的名称,做完自己的开发后,合并到一起

+

远程仓库

远端仓库是存在远端服务器或PC上的git仓库,可以使用URL或文件系统的路径来访问一个远程仓库

+

可以把本地的repo的分支同步到remote repo,一个本地的repo可以关联多个远端repo

+

remote

git remote可以查看当前关联的remote repo的路径,一般使用origin作为主干的remote repo的名称

+

关联一个remote repo,在本地的repo目录下,执行

+

git remote add origin https://github.com/memorywalker/workflow.git

+

其中的origin只是一个惯例,也可以使用任意一个名称来代表远端repo,然后使用

+

git remote -v查看当前关联的remote repo是否正确

+

git remote rename newname oldname更改一个remote repo的别名

+

push

git push origin master把本地的master分支发送到名为origin的远端repo,会在远端创建一个master分支

+
1
2
To https://github.com/memorywalker/workflow.git
* [new branch] master -> master
+ +

执行git log --oneline --all可以看到当前本地更新的远端分支在哪个commit上,其中的origin/master称作追踪分支,表示一个远端分支当前指向当前的哪个commit

+
1
0f40286 (HEAD -> master, origin/master, backup) change call of duty
+ +

pull

git pull origin hexo从名为origin的远端更新hexo分支的commit到本地,pull会合并远端分支的更改到本地

+

fetch

当本地的更改和远端的commit有冲突时,可能不需要git自动合并remote的更改到本地,此时需要先把远端的更改下载到本地,在本地手动合并冲突后,再把本地的push到远端

+

git fetch origin master从名为origin的远端下载master分支到本地,但是不合并到本地的master分支

+
1
2
3
$ git log --oneline --all
f85bd96 (origin/master) add h2 style
0f40286 (HEAD -> master, backup) change call of duty
+ +

如果要把已经下载下来的合并到本地分支,需要本地执行merge命令

+

git merge origin/master,在本地把冲突处理

+

shortlog

git shortlog可以查看每一个提交者提交了多少次以及每次提交信息,默认使用作者的名称字母顺序,可以增加-n安提交次数降序排列,-s只显示提交次数,不显示提交信息

+

log

git log --author=xxx只显示作者名字以xxx开始提交的日志,如果名字中有空格,需要使用””包住

+

git log --grep=buggit log --grep bug过滤commit的信息中有bug的commit,这里grep的规则和shell的grep相同,如果有空格也需要””包住

+

rebase

rebase可以把多个commit合并到一起,如果和多人一起工作,不要把已经push过的commit执行rebase,这样会导致其他人本地的和库里面的不一致,合并起来很麻烦。

+

git rebase -i HEAD~3HEAD~3的位置重新创建一个base,这个commit之后的会合并到一起,之后git log不会看见已经合并的这些commit,-i标识交互的方式进行rebase

+

在执行rebase之前可以先创建一个backup分支,避免rebase之后被合并的commit被删除了无法恢复

+
1
2
3
4
5
6
7
8
*   c4f25cd (HEAD -> backup, master) change h2 style
|\
| * f85bd96 (origin/master) add h2 style
* | ff309fe add h2 style local
|/
* 0f40286 change call of duty
* 65d78c2 Revert "change title"
* ee4190c change title
+ +

执行git rebase -i HEAD~3

+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
pick 0f40286 change call of duty
pick ff309fe add h2 style local
pick f85bd96 add h2 style

# Rebase 65d78c2..c4f25cd onto 65d78c2 (3 commands)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup <commit> = like "squash", but discard this commit's log message
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
+ +

修改其中的内容,从下向上依次是最早的commit,前缀改为s,说明要把这个commit合并到它的上一个commit,而r对这次提交重新写commit信息,作为最后rebase的新的commit的信息

+
1
2
3
r 0f40286 change call of duty
s ff309fe add h2 style local
s f85bd96 add h2 style
+ +

保存文件后,会提示编辑commit信息

+

合并后65d78c2现在是master的base,中间的其他commit都没有了,不过backup分支还有备份

+
1
2
3
4
5
6
7
8
9
10
11
* fc0772e (HEAD -> master) add h2 style
| * 9848bbf (readme) add readme file
| * c4f25cd (backup) change h2 style
| |\
| | * f85bd96 (origin/master) add h2 style
| * | ff309fe add h2 style local
| |/
| * 0f40286 change call of duty
|/
* 65d78c2 Revert "change title"
* ee4190c change title
+ +

Github

fork

拷贝一份其他人的repo到自己的账户

+

issue

如果要给公共库提交更改,要先查看库的贡献说明文档;查看issue列表是否有类似的问题,咨询库的所有者是否有人在处理这个问题、自己是否可以处理,避免浪费工作时间;是不要提交一个issue来追溯这个更改

+

github的issue不只是bug,可以是项目相关的任何问题,可以把一个issue指派给一个人或一个版本,一个issue下面可以评论,你也可以订阅这个issue,只要有变化,你都会收到通知

+

如果一个项目有CONTRIBUTING.md这个文件,在给项目新建issue时,会在页面的最下提示Remember, contributions to this repository should follow its contributing guidelines. 链接到项目的贡献说明文档

+

master分支作为默认的分支一般用来放所有的commit,而更改一个故障可以创建一个topic分支,分支的命就可以是bug-xxx之类,不要在master分支做自己的更改

+

尽量经常提交小的commit,一个commit的更改一定不能太多,比如十几个文件,几百行代码,因为管理者在合并你的代码时,可能会觉得其中的一部分时合适的,而另一部分不合适,如果全部放在一个commit里,无法单独更改

+

做了更改之后,不要忘记更多readme文件

+

pull request

当你在forked的项目上修改了一个故障,此时需要原始的项目维护者从你forked的项目pull这个更改到原始的项目上时,做的一个request

+

常规流程:

+
    +
  1. fork一个原始项目AA到自己的账户下
  2. +
  3. 把forked的项目下载到本地,并创建一个topic分支进行更改
  4. +
  5. 把topic分支的更改push到自己的账户
  6. +
  7. 在GitHub创建一个pull request并选择更改的topic分支
  8. +
+

watch && star

watch:当项目有任何的变化都会通知到你的邮箱,如果你是项目的维护者,需要这个

+

star:在自己的主页可以看到项目的更改,但是不会主动通知

+

与源项目同步

fork的项目在本地更改后,原始的项目可能已经更新了内容,但是还是需要把源项目的更改同步过来的

+
    +
  1. 在本地的项目中增加源项目作物一个remote repo

    +

    git remote add upstream https://github.com/udacity/course-collaboration-travel-plans.git

    +

    upstream通常作为原始项目的remote的别名

    +
  2. +
  3. git remote -v查看本地的项目应该是关联了两个remote的repo

    +
  4. +
  5. git fetch upstream master从源项目获取最新的更改

    +
  6. +
  7. git checkout master本地的分支切换到master分支

    +
  8. +
  9. git merge upstream/master合并远端upstream的master分支到本地的master分支

    +
  10. +
  11. git push origin master把最新的master推到自己的GitHub的项目的master上

    +
  12. +
+

Reference

http://www.firsttimersonly.com/

+

up for grabs

+

Vocabulary

defacto 事实上; 事实; 事实上的; 实际上; 实际上的

+

substantial 大量的; 价值巨大的; 重大的; 大而坚固的; 结实的; 牢固的

+

a11y stands for “accessibility”. In the word “accessibility”, there are eleven letters between the a and the y, so it gets shortened to just a11y

+

squash 压软(或挤软、压坏、压扁等); 把…压(或挤)变形; (使) 挤进; 塞入; 打断; 制止; 去除; 粉碎; 墙网球; 壁球; 果汁饮料; 南瓜小果

+ + +
+ + + + + + + + + + + + + + + + + +
+ + + +
+ + +
+ + +
+ + + + + + +
+ + + + + + + + + + +
+
+ +
+ +
+ + +
+ + + 0% + +
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2020/02/08/ipa-install-ios/index.html b/2020/02/08/ipa-install-ios/index.html new file mode 100644 index 000000000..e0ef39993 --- /dev/null +++ b/2020/02/08/ipa-install-ios/index.html @@ -0,0 +1,1169 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ipa文件安装 | How Time Flies + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
+
+ + + + +
+ + +
+ + + + + + + + + + +
+ + + +
+ + + + + + + +
+ + + +

ipa文件安装 + + + +

+ + + +
+ + + + + +
+ + + + + +

ipa文件安装

越狱设备

    +
  1. 安装 Cydia 后,安装 AppSync Unified
  2. +
  3. 安装Filza文件管理器
  4. +
  5. 把下载的ipa文件copy到Filza中
  6. +
  7. 在Filza中直接点击ipa文件安装
  8. +
+

非越狱设备

    +
  1. PC安装 cydiaimpactor link
  2. +
  3. 连上设备,启动cydiaimpactor,导入ipa文件
  4. +
  5. 输入自己的Apple ID
  6. +
  7. 如果导入失败,勾选SSL选项
  8. +
+

备注

    +
  • shadowrocket/thor即使使用ipa文件安装之后也无法使用

    +
  • +
  • 星露谷物语、ftpmanager pro可以使用ipa直接安装

    +
  • +
  • ipa下载网站 https://www.iphonecake.com/ 这个网站提供的下载网盘需要fq

    +
  • +
+ + +
+ + + + + + + + + + + + + + + + + +
+ + + +
+ + +
+ + +
+ + + + + + +
+ + + + + + + + + + +
+
+ +
+ +
+ + +
+ + + 0% + +
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2020/02/13/code-review/index.html b/2020/02/13/code-review/index.html new file mode 100644 index 000000000..d36e81463 --- /dev/null +++ b/2020/02/13/code-review/index.html @@ -0,0 +1,1185 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Code Review | How Time Flies + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
+
+ + + + +
+ + +
+ + + + + + + + + + +
+ + + +
+ + + + + + + +
+ + + +

Code Review + + + +

+ + + +
+ + + + + +
+ + + + + +

Code Review

当多人合作时,可以每个人各自创建一个分支,每个分支都有明确的名称,做完自己的开发后,合并到一起

+

评审别人代码

    +
  • 接受这样的事实:很多编程上的主张都是一种个人观点。应该讨论它们的利与弊,提出你的倾向观点,迅速的达成一种解决方案。
  • +
  • 提问,而不是命令。(“把这个变量命名成:user_id你觉得怎样?”)
  • +
  • 请求说明。(“我不明白。你能解释一下吗?”)
  • +
  • 避免代码的归属之争。(“我的”,“不是我的”,“你的”)
  • +
  • 避免使用一些会被认为是有关人身特征的词语。(“笨蛋”,“愚蠢”)要把所有人都看作是有魅力的、聪明的、善意的。
  • +
  • 要明确。要记着并不是每个人都能理解你的意图。
  • +
  • 要谦虚。(“我不能确定——我们来分析一下。”)
  • +
  • 不要用夸张修辞语。(“总是”,“从不”,“永远”,“毫无…”)
  • +
  • 不要讽刺。
  • +
  • 展现真实的你。如果你不是幽默型的人,不喜欢使用一些表情符号或动画gif图,不要勉强。如果你是这种人,请自信的发挥。
  • +
  • 如果有太多的“我不理解”或“另一种方案:”的评论,请专门针对这个人进行交流。可以把你们线下的交流总结成一个帖子附在后面。
  • +
+

被别人评审代码

    +
  • 对审查者的建议表示感激。(“谢谢提醒。我会把它改正。”)
  • +
  • 理解审查是对事不对人。审查的是你的代码,而不是你。
  • +
  • 解释为什么代码写成这样。(“因为xxx原因我才写成这样。如果我把这个类/文件/方法/变量改个名会更清晰些吗?”)
  • +
  • 整理所作的改动,在以后的迭代中重构它们。
  • +
  • 在做修改的版本上注明代码审查的链接。(“Ready for review: http://github.com/organization/project/pull/1″)
  • +
  • push提交要基于最早的一轮反馈,并形成一个独立的分支。等这个分支上的任务完全完成了再合并。这让审查者能够根据早先的反馈找到你的单独的更新。
  • +
  • 努力站在审查者的立场上理解。
  • +
  • 争取回复每个评论。
  • +
  • 直到最后一个人退出登录后再合并分支。
  • +
  • 直到持续集成测试(TDDium, TravisCI,等)告诉你这个分支的测试套件通过后再合并分支。
  • +
+

代码审查的过程

    +
  • 针对你感觉非常好的地方以及不是很好的地方与作者交流。
  • +
  • 找出既能解决问题又能简化代码的方法。
  • +
  • 如果讨论变得过于哲学或理论,把讨论转到线下,做成一个有规律的每周五下午的讨论会。同时,是否采用你提出的实现方案,让作者自己做决定。
  • +
  • 提出你的实现方案,但要表现出作者也在考虑这种方案。(“你觉得这里用一个自定义校验如何?”)
  • +
  • 努力理解作者的立场。
  • +
  • pull请求登出时,加一个 👍 或“可以合并了”的注释。
  • +
+

Reference

[中文原文] (https://www.oschina.net/news/38067/github-code-review)

+

英文原文

+

Vocabulary

+ +
+ + + + + + + + + + + + + + + + + +
+ + + +
+ + +
+ + +
+ + + + + + +
+ + + + + + + + + + +
+
+ +
+ +
+ + +
+ + + 0% + +
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2020/02/18/Gitlab/index.html b/2020/02/18/Gitlab/index.html new file mode 100644 index 000000000..02bf5ccde --- /dev/null +++ b/2020/02/18/Gitlab/index.html @@ -0,0 +1,1181 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gitlab使用 | How Time Flies + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
+
+ + + + +
+ + +
+ + + + + + + + + + +
+ + + +
+ + + + + + + +
+ + + +

Gitlab使用 + + + +

+ + + +
+ + + + + +
+ + + + + +

Gitlab

https://gitlab.com/

+

Gitlab实现了git flow的工作模式,可以进行项目的管理、追溯、任务分配。

+

可以在网站注册账号直接使用gitlab的服务,也可以下载软件,自己在linux系统安装配置服务

+

注册时需要人机验证,需要科学上网

+

远程仓库

使用账号登陆后,可以开始创建一个项目

+

这个项目可以自己从零开始创建,也可以使用现有的模板,甚至从其他平台如GitHub导入

+

项目创建完成后,就可以git clone下来再本地进行开发了

+

项目管理

Milestone

可以看做是一个大的功能版本,这个版本里面有一些小的功能Issue组成

+

例如可以把读一本书作为一个里程碑

+

新建一个里程碑时,可以设置标题开始结束日期

+

Issue

一个Issue是一个独立的功能点,例如可以是读完书的某一个章节

+
    +
  • 一个Issue可以把它指派给某个成员,这个成员的To Do List将会收到通知

    +
  • +
  • 可以把它设置为某个milestone的issue

    +
  • +
  • issue可以设置完成时间

    +
  • +
+

直接在To Do List里点击对应的Issue,就可以看Issue的信息

+

处理Issue

本地新建一个对应Issue的分支git checkout -b wireshark

+

代码完成后,本地commit之后,push到远端

+

git push --set-upstream origin wireshark

+

填写commit的消息时,可以填入issue的编号例如read chapter 1 finished #1.其中的#1可以自动关联到对应的issue

+

此时在第一个issue的信息页面可以看到

+
1
2
3
Memory Walker @memorywalker changed due date to February 22, 2020 11 minutes ago
Memory Walker @memorywalker changed milestone to %wireshark数据包分析 11 minutes ago
Memory Walker @memorywalker mentioned in commit 57932869 5 minutes ago
+ +

在Merge Request中新建一个Request,选择issue的分支合并到master,并选择对应的管理人进行合并

+

管理人会收到一个新的Merge Request的任务,可以自己或再找人审核提交的内容

+

在changes标签页可以看到更改的内容,并进行评注

+

如果没有问题,可以点击merge进行合并,然后就可以关闭这个issue

+

测试项目

https://gitlab.com/memorywalker/blog/

+ + +
+ + + + + + + + + + + + + + + + + +
+ + + +
+ + +
+ + +
+ + + + + + +
+ + + + + + + + + + +
+
+ +
+ +
+ + +
+ + + 0% + +
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2020/02/22/wireshark-basic/index.html b/2020/02/22/wireshark-basic/index.html new file mode 100644 index 000000000..373a73157 --- /dev/null +++ b/2020/02/22/wireshark-basic/index.html @@ -0,0 +1,1482 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Wireshark网络分析 | How Time Flies + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
+
+ + + + +
+ + +
+ + + + + + + + + + +
+ + + +
+ + + + + + + +
+ + + +

Wireshark网络分析 + + + +

+ + + +
+ + + + + +
+ + + + + +

Wireshark基本使用

一个包称为帧更准确

+

主界面分为4个区域:Display Filter, Packet List, Packet Detail, Packet bytes

+

wireshark

+

减小包的大小

为了减小抓包的数据大小,可以对抓包进行设置

+
    +
  1. 只抓包头。一般能抓到包的大小为1514字节,启用了Jumbo Frame之后可达9000字节以上。大多数情况只需要IP或TCP的头就足够了,具体应用数据都是加密的,一般不需要。Capture-->Options中设置Limit each packet to为80字节,这样TCP、网络层、数据链路层的信息都有了。如果还要看应用层的信息,可以适当调大到200字节

    +

    新版本的wireshark中可以在Capture-->Input中的对应网络接口上设置Snaplen(B)的大小

    +

    使用Tcpdump抓eth0上的每个包的前80个字节,并把结果保存到tcpdump.cap文件中tcpdump -i eth0 -s 80 -w /tmp/tcpdump.cap

    +
  2. +
  3. 只抓必要的包。让wireshark在抓包时过滤掉不需要的包。在Capture-->Options-->Input的Capture Filter中输入过滤条件。例如只查看ip为192.168.43.101的包可以输入host 192.168.43.1

    +

    tcpdump -i eth0 host 192.168.43.1 -w /tmp/tcpdump.cap

    +

    需要注意如果自己关注的包可能被过滤掉,例如NAT设备把关注的ip地址改掉了

    +
  4. +
+

显示过滤 Display Filter

显示过滤可以在主界面上直接输入过滤条件

+
    +
  1. 协议过滤

    +

    已经定义好的协议直接输入协议名称即可。对与nfs挂载失败可以使用portmap || mount进行过滤

    +
  2. +
  3. 地址过滤

    +

    ip.addr == 192.168.1.104 && tcp.port == 443

    +

    选择一个包后,可以右键选择follow,再选择一个这个包的协议,可以自动过滤出相关的包。

    +
  4. +
  5. 使用系统右键功能

    +

    选择一个关注的数据包后,可以右键后,选择Prepare as filter,系统会自动提示当前提取的过滤条件,选择select之后,就会填入过滤条件输入框中。Apply as filter则是直接应用这个过滤

    +

    右键列表中还有其他的filter可以使用

    +
  6. +
  7. 对过滤后的包保存

    +

    File -> Export Specified Packets,在对话框中可以选择勾选当前显示的包

    +
  8. +
+

技巧

    +
  1. 标记数据包,在每个关注的操作之前发一个指定数据长度的ping命令,这样知道这个操作的数据包的范围,只需要找到这些ping的特殊的ip地址和对应的数据段的大小,就把所有的数据包分割开了

    +
    1
    2
    3
    4
    5
    ping 192.168.43.1 -n 1 -l 1
    操作1执行
    ping 192.168.43.1 -n 1 -l 2
    操作2执行
    ping 192.168.43.1 -n 1 -l 3
    + + + +
  2. +
+
    +
  1. 设置时间格式

    +

    可以通过View-->Time display format->Date time of Day把时间显示为当前系统的时间,而不出相对的时间

    +

    如果分析其他时区的包文件,需要把本机的时区改为和当地的时区一致,这样不用再去进行时区换算

    +
  2. +
  3. 设置某种类型包的颜色

    +

    可以通过View-->Coloring Rules设置每一种包的颜色,方便一下找到,例如默认的icmp的颜色为粉色

    +
  4. +
  5. 自动分析

    +

    Analyze->Expert Information可以看连接建立、重传、reset的统计信息,分析网络性能和连接问题时有用

    +

    Statistics->Service Response Time可以查看某种协议的响应时间,检测服务器性能时有用

    +

    Statistics->TCP Stream Graphs可以查看TCP数据传输统计,在Time Sequence中可以查看哪段时间sequence没有变化(水平直线),说明没有数据传输

    +
  6. +
  7. 查找

    +

    Ctrl+F后可以在搜索条件中选项查找的范围,数据类型,关键字。例如要查找baidu相关的,数据类型选择string,输入baidu查找

    +
  8. +
  9. 其他

    +
  10. +
+

网络基础

应用层:应用协议

+

传输层:TCP

+

网络层:IP

+

数据链路层:MAC

+

跨子网通信需要默认网关转发,因此需要先ARP查询默认网关的mac地址,如果一个ARP请求来自另一个子网,也会应答。

+

MTU:最大传输单元,大多数的网络MTU是1500字节,除非启用了巨帧(Jumbo Frame)达到9000字节。因此TCP不能一次把5000字节的数据之间给网络层传输,否则因为切分导致只能发送1500字节,会认为发送失败要求重传。

+

TCP建立连接进行三次握手时,双方会把自己的MSS(Max Segment Size)告诉对方,MSS加上TCP头和IP头的长度,就得到MTU的值。

+

TCP和IP头的长度都是20字节,客户端给服务端发送的MSS为1460,服务端应答的MSS为1400,因此通信的最小MTU为1400+20+20为1440

+

mss

+

实际数据传输中网络层的数据大小为1440字节

+

mss

+

TCP

TCP提供可靠有序的数据传输,因此每个数据都有序号,这样接收端可以对数据排序。

+

mss

+

TCP中连接的双方各自维护自己的Seq和Ack编号,数据包中的Len的值不包括Tcp包头的长度

+

seq的规则:对于一个连接,seq(n) = seq(n-1)+Len(n-1),即上次的seq+上次的Len。例如102发出的17号,seq为102发出的上一个包16号的seq 1 加上 Len 224 所以为225,而102发出的下一个20号包的seq为 17号的seq 225 + Len 1448 = 1673。这样可以知道102一共发送了多少数据,只需要看最后一次的seq+len

+

ack规则:收到对端的seq+Len。这样可以告诉对端自己一共收到了多少数据。例如18号包应答为16号的seq+16号的Len,即225,19号包应答为17号的seq+17号的Len,即1673,当收到19号包的时候已经累积收了1673字节的数据

+
    +
  • 对收到的数据包按照seq进行排序,并比较相邻的seq和len就知道少了哪些包
  • +
+

例如接收端抓包获取的seq 和len 分别为

+ + + + + + + + + + + + + + + + + + + + + +
包号123
seq101301401
len100100100
+

对于第二个包的seq为301,而它的上一个包的seq+len为101+100=201,说明201这个包没有收到,需要回复ack:201通知对端把seq为201的包再发送一次

+

TCP的标志

SYN:发起连接请求,由于是双向连接,需要双方都发一次SYN

+

FIN:请求终止连接,也需要双方都发一次FIN

+

RST:重置一个连接,或拒绝一个无效请求,一般有这个标志都是有问题

+

ACK:确认是否有效

+

PSH: 接收端应用程序需要从TCP缓冲区把数据读走

+

TCP 三次握手

tcpall

+

上面的抓包中,

+
    +
  1. 330号包客户端102发起连接SYN( Synchronize Sequence Numbers ),seq为0 (X),客户端进入SYN_SEND状态

    +
  2. +
  3. 331号包服务器1向客户端发SYN,并对客户端应答ACK,应答ack=1 (X+1),自己的序号seq为0 (Y),服务端进入SYN_RECV状态

    +
  4. +
  5. 332号包客户端102向服务端确认ACK,seq为1(X+1),ack为1(Y+1),客户端和服务端进入ESTABLISHED状态

    +
  6. +
+

实际的seq并不是从0开始的,只是wireshark为了方便查看包序号,默认设置了一次连接的相对序号功能。这个功能默认是打开的,可以在Edit->Preference->Protocol->TCP勾选Relative Sequence Number

+

mss

+
为什么要三次握手
    +
  1. 确认双方准备好,如果只有两次握手,服务端收到SYN之后,并给客户端发送SYN就认为连接建立了,但如果这次服务端发送的SYN失败了,它还是认为成功的,直接发送数据D给客户端,而客户端收到数据后,发现seq不匹配,认为连接没有建立,认为数据无效而丢掉数据D,服务端则会认为发送数据一直失败,不断重发数据D
  2. +
  3. 明确对端的seq号,才能有序传输
  4. +
+

如果客户端发送了一次SYN服务端一直没有应答SYN,此时客户端又发了一次SYN给服务端,而现在服务给第二次应答后,客户端可以依据第二次的服务的应答给服务端应答,从而建立一次正确的连接。如果此时收到服务端应答的第一次SYN,客户端此时的X已经是第二次的X值了,所以判断是一个无效的SYN就可以拒绝服务端对第一次SYN的回复,从而避免错误的连接。

+

四次挥手

tcpclose

+

http://www.tcpipguide.com/free/t_TCPConnectionTermination-2.htm

+

抓包的例子中,是服务端主动发起端口连接,与上图不同

+

tcpall

+
    +
  1. 338号包服务端1发起终止连接FIN,seq为162+369=531 (X),ack为对端的seq+len = 621服务端进入FIN_WAIT1状态

    +
  2. +
  3. 339号包客户端102向服务端应答ACK,告诉对端收到了结束连接的请求,应答ack=532 (X+1),自己的序号seq为334号包的Seq+Len= 621(Y),其实也等于服务端应答的ack的值,客户端进入CLOSE WAIT状态,之所以这里没有发FIN是因为此时102可能还有数据给1要发,要等数据发完之后,才能发FIN给1。而服务端收到ACK后进入FIN_WAIT2状态

    +
  4. +
  5. 340号包客户端现在没有要发的数据了,此时给服务端1发送FIN和ACK,这里由于没有数据交互了seq和ack的值没有变化(如果中间102还有给1发过数据,那么这次的seq根据上一个包的seq按照seq的计算规则计算),客户端进入LAST ACK状态

    +
  6. +
  7. 341号包服务端1收到客户端102的FIN之后,说明数据发送完了,可以断开了进入TIME WAIT状态,并给对端应答ACK,seq=X+1 = 532, ack = 对端FIN的seq+1 = 621+1 = 622

    +
  8. +
  9. 客户端102收到ACK后,最终进入CLOSED状态

    +
  10. +
  11. 服务端1在等待2倍MSL( 一个片段在网络中最大的存活时间 )时间后,才进入CLOSED状态

    +
  12. +
+
计算规则
    +
  • FIN的应答ACK的ack的值为对端的FIN请求的seq+1,即339和341的ack为发送FIN的338和340的seq+1

    +
  • +
  • 一次FIN占用1个seq号,因此发送了一次FIN之后,下一包的seq为X+1,即341的seq为338的seq+1

    +
  • +
+
为什么断开连接要四次

在断开连接的发起端发送FIN后,接收端可能还有数据要发送,因此接收端需要先把FIN应答一下,等自己的数据发送完,再给对端发送一个FIN,标识现在可以断开了。因此当一端发送断开连接请求后,没有接收完的数据还是会接收完才会真正断开

+
为什么要等2MSL

最后一个ACK发出后,对端可能没有收到,从而可能还会发FIN过来,如果直接断开,就不会应答,导致对端一直重复发FIN过来。而2MSL是一个发送和应答的时间,如果等了这么久没有消息,说明对端收到了ACK,就可以断开了。

+

TCP窗口

一发一答的机制保障数据的可靠性,但是每次一个包的发送,等待应答效率就很低。发送数据时,如果有1000字节的数据,而每个包只能发100个字节,如果1s发送一次数据,每次发送完等待收到应答后,再发送下一个数据,需要发送10s才能发送完所有数据。这样效率太低了,可以不用等上次的应答,直接发送下一个包的数据,例如接收端告诉发送端1s可以处理200个字节,这样发送端1s就发送两个包,这样5s就发完所有数据。而那个200就是接收窗口大小。

+

一个数据包中的win=8192标识的发送方的接收窗口的大小,这样对端发送数据的时候知道当前可以一次发送多少数据。如果接收时的处理速度跟不上接收数据的速度,缓存就会被占满,最终导致接收窗口的大小为0.

+

发送窗口由接收窗口和网络因素共同决定大小。发送窗口决定一下子可以最多发送多少字节,MSS是每个包的最大长度

+

在一个窗口中发出的n个包,不一定就必须对应n个确认包。TCP可以累积起来确认,收到多个包时,可以只确认最后一个。

+

TCP Window Scale:是为了解决最大窗口数的扩展,TCP头中只有16bit作为窗口大小,因此窗口的大小为65535字节,而技术进步后,这个值太小了,因此又在option中增加了Window Scale,它是2的指数倍。例如窗口大小为128,而window scale是3,则最终的窗口大小为128*(2**3)=128*8=1024

+

网络拥塞

一次性发送太多数据,就会导致接收端处理不过来,拥塞导致丢包,能导致网络拥塞的数据量称为拥塞点。拥塞情况和数据通过的节点、当时的网络状态相关,因此是动态变化的。

+

为什么一般很少出现拥塞点?

+
    +
  • windows默认的TCP窗口为64KB,而网络已经进步了这么多,所以不会在窗口范围拥塞
  • +
  • 大多场景都是小数据传输如网络聊天
  • +
  • 数据同步传输,就会发一次等一次
  • +
  • 网络性能提升,出现后很快恢复不易发现
  • +
+
拥塞窗口

由于无法准确定位拥塞点的大小,发送方只能维护一个虚拟的拥塞窗口,并尽量让它接近真实的拥塞点。网络对发送窗口的限制,通过拥塞窗口实现。

+
    +
  1. 连接刚建立时,初始拥塞窗口设置为2、3或4个MSS大小
  2. +
  3. 如果发出去的包都收到确认,说明可以增大窗口,每收到n个确认,就把窗口增加n个MSS。比如发了2个后收到两个确认,窗口就增大到2+2个,当发了4个都收到时,就增加到4+4个,以2的指数增加。这个过程为慢启动
  4. +
  5. 增加到一定值后,增加的量要小点,不能翻倍的增加了,每个往返时间增加了1个MSS,例如发了16个包,全部被确认了,拥塞窗口就增加到17个MSS,一次增加1个。这个过程为拥塞避免。慢启动到拥塞避免的过度点为临界窗口值
  6. +
+
超时重传

发送方发出的数据收不到对应的确认包应答,发送方等待一段时间后,认为包丢失,重新发送一次。从发出原始包到重传这个包的这段时间成为RTO。

+

发生重传之后,RFC建议重新调整拥塞窗口为1MSS,然后进入慢启动过程。

+

超时重传性能影响:

+
    +
  1. RTO阶段不能发数据,浪费了时间
  2. +
  3. 拥塞窗口需要从1MSS重新调整一遍
  4. +
+
快速重传

发送数据过程中只有中间的几个包丢失,接收端发现后续的包的seq比预期的大,就会每收一个包,就ack一次期望的seq号,用来提醒发送方重传,当发送方收到3个或以上的重复确认Dup Ack,就认为对应的包丢了,立即重传那个包。用3个来判断是为了避免由于包到达接收端的顺序有差异,导致错误的触发重传。

+

当在拥塞避免阶段发生快速重传时,RFC 5681认为临界窗口应设置为发送拥塞时还没有被确认的数据量的1/2(但不能小于2个MSS)。然后将拥塞窗口设置为临界窗口的值+3个MSS,继续保持在拥塞避免阶段。而不用向超时重传那样从1个MSS重来一遍。

+

当发送端有多个包丢掉时,重发的策略有多种:

+
    +
  1. 从第一个丢包号开始之后的所有包都重新发一遍
  2. +
  3. 接收方收到重传的第一个包后,回复丢的第二个包的序号,发送方根据ack重传,依次把所有丢的包重传完。这个称为NewReno,由RFC 2582和3782定义
  4. +
  5. 接收方通知发送端自己已经收到的包号,同时告诉发送端第一个丢失的包号,发送端根据已经收到和第一个没有收到的包号,把所有没有收到的重发一遍。这种称为Sack方案 RFC2018中定义.Sack中的seq区间为收到的包
  6. +
+

tcpsack

+
结论
    +
  • 没有拥塞时,窗口越大,性能越好,可以尽量的增加接收窗口
  • +
  • 经常发生拥塞,通过限制接收窗口,可间接限制发送窗口,从而减少重传导致的性能损失
  • +
  • 尽量避免超时重传
  • +
  • 快速重传影响小,几乎没有等到时间,拥塞窗口减小幅度小
  • +
  • SACK和NewReno都可以提高重传效率
  • +
  • 丢包对小文件的影响比大文件严重,小文件可能等不到3个dup ack(总的数据量都没有3个包),所以无法触发快速重传,只能超时重传
  • +
+
Westwood算法

根据接收端应答的ack计算拥塞窗口的大小,收到的确认越多,窗口越大

+
Vegas算法

根据网络的RTT(往返时间)来决定拥塞窗口,当RTT稳定时,增大拥塞窗口,RTT变大,网络繁忙时主动减小拥塞窗口。

+
Compound算法

windows中使用两个拥塞窗口,一个用Westwood算法,一个用Vegas算法,真正的拥塞窗口为两者之和。

+

windows可以使用

+
1
2
3
netsh interface tcp show global  # 查看当前的状态,默认为none,即关闭
netsh interface tcp set global congestionprovider=ctcp # 使用compound
netsh interface tcp set global congestionprovider=none # 关闭为none
+ +

compound

+
延迟确认

TCP处理交互式场景时,例如远程登录的SSH终端,输入字符,收到一个包之后暂时没有数据要发送给对方,就延迟一段时间再应答确认windows上为200ms。如果在这段时间里有数据发送,把确认包和这个数据在一个包中发回去。这样减轻网络负担。

+
Nagle算法

在发出去的数据还没有确认之前,又有小数据生成,就把小数据收集起来,凑满一个MSS或等收到确认后再发送。相当于把以后要发送的数据聚集起来一起发。

+

NFS

Network File System 由SUN设计,用来将网络上的目录挂载到客户端,对于客户端,就像是访问本地磁盘

+

RFC1813中有详细介绍

+

NFS对客户端的访问控制是通过IP绑定的,创建共享目录时,可以设置每一个ip的权限

+

客户端在共享目录中创建文件时可能会用UID作为文件所有者的标识,而不是用户名,而这个UID在别的客户端可能被映射为其他用户,不同的Linux系统客户端用户UID可能是相同的。可以通过抓包查看网络中实际创建的用户信息,在TCP上一层的RPC协议中

+

portmap进程维护一张进程与端口映射表,他自己的端口号是111,默认值

+
连接过程
    +
  1. 客户端通过服务器的portmap进程请求服务端NFS的端口,服务端应答端口号
  2. +
  3. 客户端按端口请求连接NFS进程,服务端应答
  4. +
  5. 客户端请求mount的端口,服务器应答端口号
  6. +
  7. 客户端按返回端口尝试连接服务端mount进程,服务器应答
  8. +
  9. 客户端请求挂载/xxx目录,服务端应答file handler给客户端,以便客户端访问文件
  10. +
+

客户端访问服务端的文件时,服务端通过文件名先找到file handler来进行后续操作,如果目录中文件过多,获取file handler非常耗时

+

mount时可以设置每次读的数据大小为512KB

+

mount -o rsize=524288 192.168.1.101:/tmp/share

+

默认写数据是异步的async WRITE Call,服务器在真正存盘之前就会应答WRITE Reply从而提高性能,只有COMMIT之后的数据才认为是写成功的。写操作中有UNSTABLE标志。

+

写操作中FILE_SYNC表示当前为同步sync写,同步写是一写一答,所以不需要COMMIT操作。一些客户端无论设置wsize为多少,每次写的数据都为4KB。

+

mount时使用noac选项表示让客户端不缓存文件属性,但是会把写操作设置为sync方式,导致效率降低

+
查问题

如果有问题,可以先用rpcinfo命令获取服务器上的端口列表,再用telnet命令逐个试探进程能否连上

+

rpcinfo -p 192.168.1.101 | egrep "portmapper|mountd|nfs"

+

telnet 192.168.1.101 111查看portmap的111端口能否连接上

+

DNS

    +
  • 使用nslookup默认的UDP查询域名
  • +
+

mss

+

对应抓包为

+

mss

+

网络环境为两级路由器,主路由器地址为192.168.0.x,次级路由器的ip地址为192.168.1.x,本机ip为192.168.1.102,连接在次级路由器上

+

由于没有指定服务器的地址,所以会到主路由器上查询,可以看到DNS的传输层为UDP协议

+
    +
  • 使用TCP的DNS
  • +
+

dnscmdtcp

+

指定-vc选项使用TCP协议,并通过114.114.114.114进行查询

+

对应抓包为

+

dnstcp

+

其中215-217是TCP握手过程,220-221对应于查询和应答,223/225为断开连接

+
    +
  • A记录 通过域名找到对应的IP地址

    +
  • +
  • PTR记录 从IP解析到域名 nslookup xx.xx.xx.xx可以找到域中的ip对应的名称

    +
  • +
  • SRV记录 指向域内的资源

    +
    1
    2
    3
    nslookup
    > set tpye=SRV
    >_ldap._tcp.dc._msdcs.xxx.com #其中xxx.com为域名
    +
  • +
  • CNAME记录 别名。即让二级域名指向另一个域名,这样当IP改变只需要改指向的那个www的域名对应的ip,别名指向的是www的域名,不用更改。

    +
  • +
+
域名查询方式
    +
  • 递归查询: 从A找到B,B再找C,C再找D,再原路径把D返回给A
  • +
  • 迭代查询:A依次把B、C、D问一遍,最后找到D
  • +
+
负载均衡

DNS支持循环工作模式(round-robin)。一个网站有10服务器,对应10个IP,每次服务器返回的是其中一个ip,每次查询都按一定的规则切换ip,达到服务器资源的充分利用。

+
引入问题
    +
  • 名字相近的假域名
  • +
  • DNS服务器地址被恶意修改为假的ip地址
  • +
  • DNS服务器被攻击
  • +
  • DNS攻击
  • +
+

UDP

udp的包头一共8个字节,数据量比TCP小,同时不需要建立连接过程

+
    +
  • UDP发送的数据大小直接在网络层分割,接收方收到后组装,这个过程会降低性能
  • +
  • UDP没有重传机制,丢包由应用层协议处理。如果某个操作过程中,一个包丢失,需要把所有的包全部重传一遍。而TCP只需要重传丢的那个包
  • +
  • 接收端收到的包中如果有More Fragments标记说明还有分片的包,如果连续给接收端发这种包,接收端一直收而且无法组装这些分片导致内存耗尽。
  • +
+

TLS

https://wiki.wireshark.org/TLS

+

在页面的Example capture file章节有一个TLS的例子可以下载

+

SampleCaptures#SSL_with_decryption_keys 下载 snakeoil2_070531.tgz 这个文件

+
    +
  1. 使用wireshark打开其中的cap文件,可以看到443端口的通信

    +
  2. +
  3. 第19个包的info显示为Application Data,在包详细信息中显示数据是加密数据

    +
  4. +
  5. 选择要解密的包,右键Protocol Preference->Open Transport Layer Security Preferences打开RSA key list,编辑加入新的一条解码信息 ip 127.0.0.1, port 443, protocol http, key file选择下载的key文件

    +

    也可以在Edit->Prefernces->Protocol->TLS中编辑

    +

    tls

    +
  6. +
  7. 此时19号包显示为HTTP协议,里面的原始数据可以看到

    +
  8. +
+

Kerberos

Kerberos是一种身份认证协议,Windows的域中身份认证用到

+

问题解决

    +
  • telnet <ip> <port> 测试与主机一个端口是否可以连通,如果可以连通,考虑是否因为对端主动拒绝
  • +
+

* 把两个通信的设备连接到简单的网络环境中,排除网络问题

+
    +
  • NIC teaming和Large Segment Offload(LSO)可能导致乱序

    +
  • +
  • 一般存储设备都是读比写快;对于网络环境,服务端的带宽大,客户端的带宽小。读文件时,大带宽进入小带宽可能导致性能问题

    +
  • +
  • 查看实际重传的网络包,分析如果是连续的包都进行了重传,可以考虑打开SACK模式,减少重传包的量

    +
  • +
  • 梳理问题的工作原理流程,缩小问题出现在流程中的范围,从而缩小问题范围,模拟问题环境进行复现和解决

    +
  • +
+

tshark

终端上的wireshark版本,Windows安装目录默认有,还有capinfos/editcap。终端处理的数据方便进行导出,生成想要的报表

+

常用的命令或操作整理为脚本,提高效率

+
    +
  • capinfos.exe xx.pcap查看一个包的统计信息

    +
  • +
  • tshark -n -q -r xxx.pcap -z "rpc,programs"重看NFS协议的服务响应时间

    +
  • +
  • tshark -n -q -r xxx.pcap -z "io.stat.0.tcp.analysis.retransmission" 重传统计数据

    +
  • +
  • tshark -n -q -r xxx.pcap -z "io.stat.0.tcp.analysis.out_of_order"乱序统计数据

    +
  • +
  • tshark -n -q -r xxx.pcap -z "conv,tcp"一个cap文件中所有tcp协议的会话

    +
  • +
  • editcap input.cap output.cap -i <second>把包input拆分为second秒长的一个个包文件

    +
  • +
  • editcap input.cap output.cap -c <packets per file>把包input拆分为xxx个packets一个的包文件

    +
  • +
+

参考资料

    +
  • Wireshark网络分析就是这么简单
  • +
+ + +
+ + + + + + + + + + + + + + + + + +
+ + + +
+ + +
+ + +
+ + + + + + +
+ + + + + + + + + + +
+
+ +
+ +
+ + +
+ + + 0% + +
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2020/02/23/app-proxy-use/index.html b/2020/02/23/app-proxy-use/index.html new file mode 100644 index 000000000..7a4f6cae9 --- /dev/null +++ b/2020/02/23/app-proxy-use/index.html @@ -0,0 +1,1207 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 应用程序网络代理 | How Time Flies + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
+
+ + + + +
+ + +
+ + + + + + + + + + +
+ + + +
+ + + + + + + +
+ + + +

应用程序网络代理 + + + +

+ + + +
+ + + + + +
+ + + + + +

Proxifier使用

启动SSR之后,不用选择服务器负载均衡,系统代理模式选择直连PAC都可以

+
    +
  1. 设置服务器

    +

    使用默认的127.0.0.1端口为1080

    +

    proxifier_server

    +
  2. +
  3. 设置域名解析

    +

    不设置也可以,如果域名解析失败需要通过代理解析再设置

    +

    proxifier_dns

    +
  4. +
  5. 设置代理规则

    +

    可以设置对一个程序禁止访问一些目标网址,action选择block

    +

    可以设置全局所有程序都走proxifier,application保留any不变,action选择刚刚的服务器,同时由于不能让SSR也走proxifier,所以需要新建一个rule,让ssr走direct即可

    +

    proxifier_rules

    +
  6. +
  7. 运行程序后,显示数据包转发过程

    +

    epic客户端使用

    +

    proxifier_using

    +
  8. +
+

游戏加速

玩GTA5的线上模式时,每日的赌场任务如果是裸连或香港的IP,无法游玩大转盘,虽然用联通手机开热点可以直接连接线上模式

+

keylol论坛看到分享的GTA5代理设置,试了一下用美区代理可以玩转盘了,网络还还是挺稳定的。每次保存战局中的内容时会触发网络连接。

+

新增3个代理规则:

+
    +
  • GTA加速

    +

    应用程序: subprocess.exe; gta5.exe; gtavlauncher.exe;

    +

    目标主机:

    +
    1
    2
    3
    conductor-prod.ros.rockstargames.com; 
    auth-prod.ros.rockstargames.com;
    prod.cloud.rockstargames.com;
    + +

    动作:选择配置好的sock5代理服务

    +
  • +
  • GTA分析禁连

    +

    应用程序: subprocess.exe; gta5.exe; gtavlauncher.exe;

    +

    目标主机:

    +
    1
    2
    3
    www.google-analytics.com;
    stats.g.doubleclick.net;
    www.google.com;
    + +

    动作:Block

    +
  • +
  • GTA识别

    +

    应用程序: gta5.exe; gtavlauncher.exe;

    +

    目标主机:prod.ros.rockstargames.com;

    +

    动作:选择配置好的sock5代理服务

    +
  • +
+

游戏运行过程中会在状态窗口中刷

+
1
2
3
4
[03.07 19:49:28] GTA5.exe *64 - prod.p02sjc.pod.rockstargames.com:443 打开通过代理 127.0.0.1:10808 SOCKS5
[03.07 19:49:30] GTA5.exe *64 - prod.p02sjc.pod.rockstargames.com:443 关闭,965 字节已发送,5005 字节 (4.88 KB) 已接收,生存期 00:02
[03.07 19:49:51] GTA5.exe *64 - prod.ros.rockstargames.com:80 打开通过代理 127.0.0.1:10808 SOCKS5
[03.07 19:49:54] GTA5.exe *64 - prod.ros.rockstargames.com:80 关闭,643 字节已发送,13001 字节 (12.6 KB) 已接收,生存期 00:03
+ +
GTA5 相关备注
    +
  • 完成全福银行任务后,可以用批发价买骷髅马装甲版,这个车必须买,之后可以在车里做R星制作的任务刷等级和钱
  • +
  • 北京时间每周四晚更新每周的活动,每周的活动有物品打折和新的玩法,赌场更新汽车奖品
  • +
  • 有钱后可以先买公寓20W的,通过观光客任务一次2.5W,每次用时15分钟
  • +
  • 可以创建两个角色,两个角色银行共享,其他都不共享,资产都要各自买,R星的奖励左轮枪任务、寻宝任务和帐号绑定,只能领取一次
  • +
+

SocksCap64使用

SSTAP使用

+ +
+ + + + + + + + + + + + + + + + + +
+ + + +
+ + +
+ + +
+ + + + + + +
+ + + + + + + + + + +
+
+ +
+ +
+ + +
+ + + 0% + +
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/2020/03/06/memory-manage/index.html b/2020/03/06/memory-manage/index.html new file mode 100644 index 000000000..597a755ea --- /dev/null +++ b/2020/03/06/memory-manage/index.html @@ -0,0 +1,1191 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 内存管理 | How Time Flies + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
+
+ + + + +
+ + +
+ + + + + + + + + + +
+ + + +
+ + + + + + + +
+ + + +

内存管理 + + + +

+ + + +
+ + + + + +
+ + + + + +

###

+

内存

虚拟内存管理的最小单位为,一个页可以是4K或8K

+

是一个进程的数据或代码的逻辑分组,段不是连续的

+

现在的操作系统同时使用段和页,一个进程被分为多个段,每个段又有页

+

对于内存块的分配算法,不同的应用场景效率是不一样的。

+

Buddy memory allocation

https://en.wikipedia.org/wiki/Buddy_memory_allocation

+

把内存分割为小块,尽可能的满足内存的分配需求。1963年Harry Markowitz发明

+

buddy分配方案有多种实现策略,最简单的是2分法。每一个内存块都有一个编号(order),这个编号从0开始到n,编号为n的内存块的大小为2**n。当一个大的块被分割为两个相同的小块时,这两个小块就是buddy。只有两个buddy才能合并为一个大块。

+

一个块的最小大小值为2的0次方,即order为0的大小。

+

需要分配的内存大小为s,分配的块的order为x,则需要满足 2**(x-1)<s<2**(x),即s大于order为x的大小的一半。

+

oder的最大值由系统可用的内存大小和最小块大小决定。例如最小块大小即order-0的大小为4K,对于一个有2000K内存的系统,order的最大值为8.因为对于order-8这个块,他的大小为2的8次方256*块的最小值4K为1024K,大于2000的一半了,所以如果order为9,就会超过2000的总大小。

+
举例:

一个系统中的最小块大大小为64K,order的最大值为4,系统一次可以分配的内存大小最大值为(2**4)*64=1024K.假定系统的内存刚好也就1024K大小。

+

buddyexp

+
    +
  1. 初始状态
  2. +
  3. 程序A需要34K内存,因此order-0的块分配给A用就足够了,因为最小就是64.但是当前系统没有0的块,只有一个order是4的块,所以这个为4的块就一次一次对半分割,直到得到一个order-0,并把最左侧的给A使用。分割的过程中会产生一些其他块,这些块以free-list进行管理起来
  4. +
  5. 程序B需要66K内存,需要把order-1的块给B用,从当前的链表中发现已经有对应大小的块了,所以把对于的块之间给B用
  6. +
  7. 程序C需要35K内存,需要一个order-0的块给C用,现在刚好还有
  8. +
  9. 程序D需要67K内存,需要一个order-1的块,而此时没有order-1的块了,那就把order-2的块分解为两个order-1的块,把其中一个给D
  10. +
  11. 程序B释放了资源,此时order-1就多了一块出来,但是他不能和另一个order-1进行合并,因为他们不是来自同一个块,不是buddy
  12. +
  13. 程序D释放了资源,此时又一个order-1空出来了,发现他有buddy,所以他们可以合并为order-2
  14. +
+

Buddy方案会导致内存浪费internal fragmentation,例如66K的内存需要order-1,其中近一半都被浪费了。

+

Linux内核使用buddy时进行了改进,同时结合了其他分配方案来管理内存块。

+

Slab Allocation

进程内存分段

一个进程使用的内存分为以下几个段

+

代码段(Text) :存放可执行文件的指令即代码,只读避免程序被修改

+

数据段:存储可执行文件中已经初始化好的全局变量,静态分配的变量和全局变量

+

BSS:程序中未初始化的全局变量,值全部为0,内存位置连续

+

堆:动态分配的内存段,连续的内存,malloc使用,地址向大扩展

+

栈:程序执行中的局部变量,函数参数,返回值,地址向小扩展

+

brk, sbrk可以修改program break的位置,即heap的大小。

+

sbrk() increments the program’s data space by increment bytes. 成功返回上一次的program break的位置。因此sbrk((ptrdiff_t)0)就可以返回当前的program break.

+

brk() sets the end of the data segment to the value specified by addr。成功返回0,这里的data segment并不是数据段。

+

http://man7.org/linux/man-pages/man2/sbrk.2.html

+

linuxmemory

+

进程地址空间分为用户空间和内核空间。用户空间从0到0xC0000000,内核空间使用剩下的高地址部分。用户进程只有进行系统调用才可以访问内核空间。每个进程使用自己的用户空间,而内核空间是内核负责,不会随着进程改变而变化。内核空间地址有自己对应的页表。用户进程各自有不同的页表。

+

逻辑地址经过段机制转化为线性地址,线性地址经过页机制转化为物理地址

+

使用cat /proc/<pid>/maps查看进程的内存区域

+

内核使用vm_area_struct描述进程地址空间的基本管理单元,使用链表进行链接这些块,以红黑树的形式组织。遍历时使用链表,定位内存位置时使用红黑树

+

内核使用do_mmap()函数创建一个新的线性地址空间

+

参考资料

    +
  • Wireshark网络分析就是这么简单
  • +
+ + +
+ + + + + + + + + + + + + + + + + +
+ + + +
+ + +
+ + +
+ + + + + + +
+ + + + + + + + + + +
+
+ +
+ +
+ + +
+ + + 0% + +
+ + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2016/03/index.html b/archives/2016/03/index.html new file mode 100644 index 000000000..309810d95 --- /dev/null +++ b/archives/2016/03/index.html @@ -0,0 +1,1046 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 归档 | How Time Flies + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2016/index.html b/archives/2016/index.html new file mode 100644 index 000000000..b819f73c6 --- /dev/null +++ b/archives/2016/index.html @@ -0,0 +1,1046 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 归档 | How Time Flies + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2019/06/index.html b/archives/2019/06/index.html new file mode 100644 index 000000000..076b7f705 --- /dev/null +++ b/archives/2019/06/index.html @@ -0,0 +1,1046 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 归档 | How Time Flies + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2019/index.html b/archives/2019/index.html new file mode 100644 index 000000000..642a4da42 --- /dev/null +++ b/archives/2019/index.html @@ -0,0 +1,1046 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 归档 | How Time Flies + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2020/02/index.html b/archives/2020/02/index.html new file mode 100644 index 000000000..a4562e937 --- /dev/null +++ b/archives/2020/02/index.html @@ -0,0 +1,1221 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 归档 | How Time Flies + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2020/03/index.html b/archives/2020/03/index.html new file mode 100644 index 000000000..4254888d5 --- /dev/null +++ b/archives/2020/03/index.html @@ -0,0 +1,1011 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 归档 | How Time Flies + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/2020/index.html b/archives/2020/index.html new file mode 100644 index 000000000..df592d104 --- /dev/null +++ b/archives/2020/index.html @@ -0,0 +1,1256 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 归档 | How Time Flies + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/index.html b/archives/index.html new file mode 100644 index 000000000..b73b06171 --- /dev/null +++ b/archives/index.html @@ -0,0 +1,1335 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 归档 | How Time Flies + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/archives/page/2/index.html b/archives/page/2/index.html new file mode 100644 index 000000000..58a31b0ab --- /dev/null +++ b/archives/page/2/index.html @@ -0,0 +1,1050 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 归档 | How Time Flies + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/css/main.css b/css/main.css new file mode 100644 index 000000000..fb24c25d2 --- /dev/null +++ b/css/main.css @@ -0,0 +1,2958 @@ +/* normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ +html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} +body { + margin: 0; +} +main { + display: block; +} +h1 { + font-size: 2em; + margin: 0.67em 0; +} +hr { + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ +} +pre { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} +a { + background-color: transparent; +} +abbr[title] { + border-bottom: none; /* 1 */ + text-decoration: underline; /* 2 */ + text-decoration: underline dotted; /* 2 */ +} +b, +strong { + font-weight: bolder; +} +code, +kbd, +samp { + font-family: monospace, monospace; /* 1 */ + font-size: 1em; /* 2 */ +} +small { + font-size: 80%; +} +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} +sub { + bottom: -0.25em; +} +sup { + top: -0.5em; +} +img { + border-style: none; +} +button, +input, +optgroup, +select, +textarea { + font-family: inherit; /* 1 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + margin: 0; /* 2 */ +} +button, +input { +/* 1 */ + overflow: visible; +} +button, +select { +/* 1 */ + text-transform: none; +} +button, +[type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; + padding: 0; +} +button:-moz-focusring, +[type="button"]:-moz-focusring, +[type="reset"]:-moz-focusring, +[type="submit"]:-moz-focusring { + outline: 1px dotted ButtonText; +} +fieldset { + padding: 0.35em 0.75em 0.625em; +} +legend { + box-sizing: border-box; /* 1 */ + color: inherit; /* 2 */ + display: table; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + white-space: normal; /* 1 */ +} +progress { + vertical-align: baseline; +} +textarea { + overflow: auto; +} +[type="checkbox"], +[type="radio"] { + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} +[type="number"]::-webkit-inner-spin-button, +[type="number"]::-webkit-outer-spin-button { + height: auto; +} +[type="search"] { + -webkit-appearance: textfield; /* 1 */ + outline-offset: -2px; /* 2 */ +} +[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +::-webkit-file-upload-button { + -webkit-appearance: button; /* 1 */ + font: inherit; /* 2 */ +} +details { + display: block; +} +summary { + display: list-item; +} +template { + display: none; +} +[hidden] { + display: none; +} +::selection { + background: #262a30; + color: #fff; +} +body { + position: relative; + font-family: 'Lato', "PingFang SC", "Microsoft YaHei", sans-serif; + font-size: 14px; + line-height: 2; + color: #555; + background: #eee; +} +@media (max-width: 991px) { + body { + padding-right: 0 !important; + } +} +@media (min-width: 1200px) { + body { + font-size: 16px; + } +} +h1, +h2, +h3, +h4, +h5, +h6 { + margin: 20px 0 15px; + padding: 0; + font-weight: bold; + line-height: 1.5; + font-family: 'Lato', "PingFang SC", "Microsoft YaHei", sans-serif; +} +h1 { + font-size: 22px; +} +h1 code { + font-size: 1em; +} +@media (max-width: 767px) { + h1 { + font-size: 18px; + } + h1 code { + font-size: 1em; + } +} +h2 { + font-size: 20px; +} +h2 code { + font-size: 1em; +} +@media (max-width: 767px) { + h2 { + font-size: 16px; + } + h2 code { + font-size: 1em; + } +} +h3 { + font-size: 18px; +} +h3 code { + font-size: 1em; +} +@media (max-width: 767px) { + h3 { + font-size: 14px; + } + h3 code { + font-size: 1em; + } +} +h4 { + font-size: 16px; +} +h4 code { + font-size: 1em; +} +@media (max-width: 767px) { + h4 { + font-size: 12px; + } + h4 code { + font-size: 1em; + } +} +h5 { + font-size: 14px; +} +h5 code { + font-size: 1em; +} +@media (max-width: 767px) { + h5 { + font-size: 10px; + } + h5 code { + font-size: 1em; + } +} +h6 { + font-size: 12px; +} +h6 code { + font-size: 1em; +} +@media (max-width: 767px) { + h6 { + font-size: 8px; + } + h6 code { + font-size: 1em; + } +} +p { + margin: 0 0 20px 0; +} +a, +span.exturl { + overflow-wrap: break-word; + word-wrap: break-word; + background-color: transparent; + color: #555; + text-decoration: none; + outline: none; + border-bottom: 1px solid #999; + cursor: pointer; +} +a:hover, +span.exturl:hover { + color: #222; + border-bottom-color: #222; +} +video { + max-width: 100%; + display: block; + margin-left: auto; + margin-right: auto; +} +img { + display: block; + margin: auto; + max-width: 100%; + height: auto; +} +hr { + margin: 40px 0; + height: 3px; + border: none; + background-color: #ddd; + background-image: repeating-linear-gradient(-45deg, #fff, #fff 4px, transparent 4px, transparent 8px); +} +blockquote { + margin: 0; + padding: 0 15px; + color: #666; + border-left: 4px solid #ddd; +} +blockquote cite::before { + content: "-"; + padding: 0 5px; +} +dt { + font-weight: 700; +} +dd { + margin: 0; + padding: 0; +} +kbd { + border: 1px solid #ccc; + border-radius: 0.2em; + box-shadow: 0.1em 0.1em 0.2em rgba(0,0,0,0.1); + background-color: #f9f9f9; + font-family: inherit; + background-image: linear-gradient(top, #eee, #fff, #eee); + padding: 0.1em 0.3em; + white-space: nowrap; +} +.text-left { + text-align: left; +} +.text-center { + text-align: center; +} +.text-right { + text-align: right; +} +.text-justify { + text-align: justify; +} +.text-nowrap { + white-space: nowrap; +} +.text-lowercase { + text-transform: lowercase; +} +.text-uppercase { + text-transform: uppercase; +} +.text-capitalize { + text-transform: capitalize; +} +.center-block { + display: block; + margin-left: auto; + margin-right: auto; +} +.clearfix:before, +.clearfix:after { + content: " "; + display: table; +} +.clearfix:after { + clear: both; +} +.pullquote { + width: 45%; +} +.pullquote.left { + float: left; + margin-left: 5px; + margin-right: 10px; +} +.pullquote.right { + float: right; + margin-left: 10px; + margin-right: 5px; +} +.affix { + position: fixed; +} +.translation { + margin-top: -20px; + font-size: 14px; + color: #999; +} +.scrollbar-measure { + width: 100px; + height: 100px; + overflow: scroll; + position: absolute; + top: -9999px; +} +.use-motion .motion-element { + opacity: 0; +} +.table-container { + margin: 20px 0; + overflow: auto; + -webkit-overflow-scrolling: touch; +} +.highlight .table-container { + margin: 0px; +} +table { + width: 100%; + border-collapse: collapse; + border-spacing: 0; + font-size: 14px; +} +table > tbody > tr:nth-of-type(odd) { + background-color: #f9f9f9; +} +table > tbody > tr:hover { + background-color: #f5f5f5; +} +caption, +th, +td { + padding: 8px; + text-align: left; + vertical-align: middle; + font-weight: normal; +} +th, +td { + border: 1px solid #ddd; + border-bottom: 3px solid #ddd; +} +th { + padding-bottom: 10px; + font-weight: 700; +} +td { + border-bottom-width: 1px; +} +html, +body { + height: 100%; +} +.container { + position: relative; +} +.header-inner { + margin: 0 auto; + padding: 100px 0 70px; + width: calc(100% - 20px); +} +@media (min-width: 1200px) { + .container .header-inner { + width: 1160px; + } +} +@media (min-width: 1600px) { + .container .header-inner { + width: 73%; + } +} +.main-inner { + margin: 0 auto; + width: calc(100% - 20px); +} +@media (min-width: 1200px) { + .container .main-inner { + width: 1160px; + } +} +@media (min-width: 1600px) { + .container .main-inner { + width: 73%; + } +} +.footer { + padding: 20px 0; +} +.footer-inner { + box-sizing: border-box; + margin: 0px auto; + width: calc(100% - 20px); +} +@media (min-width: 1200px) { + .container .footer-inner { + width: 1160px; + } +} +@media (min-width: 1600px) { + .container .footer-inner { + width: 73%; + } +} +pre, +.highlight { + overflow: auto; + margin: 20px 0; + padding: 0; + font-size: 14px; + color: #4d4d4c; + background: #f7f7f7; + line-height: 1.6; +} +pre, +code { + font-family: consolas, Menlo, "PingFang SC", "Microsoft YaHei", monospace; +} +code { + overflow-wrap: break-word; + word-wrap: break-word; + padding: 2px 4px; + color: #555; + background: #eee; + border-radius: 3px; + font-size: 14px; +} +pre { + padding: 10px; +} +pre code { + padding: 0; + color: #4d4d4c; + background: none; + text-shadow: none; +} +.highlight { + border-radius: 1px; +} +.highlight pre { + border: none; + margin: 0; + padding: 10px 0; +} +.highlight table { + margin: 0; + width: auto; + border: none; +} +.highlight td { + border: none; + padding: 0; +} +.highlight figcaption { + font-size: 1em; + color: #4d4d4c; + line-height: 1em; + margin-bottom: 1em; + margin: 0em; + padding: 0.5em; + background: #eee; + border-bottom: 1px solid #e9e9e9; +} +.highlight figcaption:before, +.highlight figcaption:after { + content: " "; + display: table; +} +.highlight figcaption:after { + clear: both; +} +.highlight figcaption a { + float: right; + color: #4d4d4c; +} +.highlight figcaption a:hover { + border-bottom-color: #4d4d4c; +} +.highlight .gutter pre { + padding-left: 10px; + padding-right: 10px; + color: #869194; + text-align: right; + background-color: #eff2f3; +} +.highlight .code pre { + width: 100%; + padding-left: 10px; + padding-right: 10px; + background-color: #f7f7f7; +} +.highlight .line { + height: 20px; +} +.gutter { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.gist table { + width: auto; +} +.gist table td { + border: none; +} +pre .deletion { + background: #fdd; +} +pre .addition { + background: #dfd; +} +pre .meta { + color: #8959a8; +} +pre .comment { + color: #8e908c; +} +pre .variable, +pre .attribute, +pre .tag, +pre .name, +pre .regexp, +pre .ruby .constant, +pre .xml .tag .title, +pre .xml .pi, +pre .xml .doctype, +pre .html .doctype, +pre .css .id, +pre .css .class, +pre .css .pseudo { + color: #c82829; +} +pre .number, +pre .preprocessor, +pre .built_in, +pre .builtin-name, +pre .literal, +pre .params, +pre .constant, +pre .command { + color: #f5871f; +} +pre .ruby .class .title, +pre .css .rules .attribute, +pre .string, +pre .symbol, +pre .value, +pre .inheritance, +pre .header, +pre .ruby .symbol, +pre .xml .cdata, +pre .special, +pre .formula { + color: #718c00; +} +pre .title, +pre .css .hexcolor { + color: #3e999f; +} +pre .function, +pre .python .decorator, +pre .python .title, +pre .ruby .function .title, +pre .ruby .title .keyword, +pre .perl .sub, +pre .javascript .title, +pre .coffeescript .title { + color: #4271ae; +} +pre .keyword, +pre .javascript .function { + color: #8959a8; +} +.posts-expand .post-body img.full-image { + border: none; +} +.blockquote-center, +.page-home .post-type-quote blockquote, +.page-post-detail .post-type-quote blockquote { + position: relative; + margin: 40px 0; + padding: 0; + border-left: none; + text-align: center; +} +.blockquote-center::before, +.page-home .post-type-quote blockquote::before, +.page-post-detail .post-type-quote blockquote::before, +.blockquote-center::after, +.page-home .post-type-quote blockquote::after, +.page-post-detail .post-type-quote blockquote::after { + position: absolute; + content: ' '; + display: block; + width: 100%; + height: 24px; + opacity: 0.2; + background-repeat: no-repeat; + background-position: 0 -6px; + background-size: 22px 22px; +} +.blockquote-center::before, +.page-home .post-type-quote blockquote::before, +.page-post-detail .post-type-quote blockquote::before { + top: -20px; + background-image: url("../images/quote-l.svg"); + border-top: 1px solid #ccc; +} +.blockquote-center::after, +.page-home .post-type-quote blockquote::after, +.page-post-detail .post-type-quote blockquote::after { + bottom: -20px; + background-image: url("../images/quote-r.svg"); + border-bottom: 1px solid #ccc; + background-position: 100% 8px; +} +.blockquote-center p, +.page-home .post-type-quote blockquote p, +.page-post-detail .post-type-quote blockquote p, +.blockquote-center div, +.page-home .post-type-quote blockquote div, +.page-post-detail .post-type-quote blockquote div { + text-align: center; +} +.post .post-body .group-picture img { + box-sizing: border-box; + padding: 0 3px; + border: none; +} +.post .group-picture-row { + overflow: hidden; + margin-top: 6px; +} +.post .group-picture-row:first-child { + margin-top: 0; +} +.post .group-picture-column { + float: left; +} +.page-post-detail .post-body .group-picture-column { + float: none; + margin-top: 10px; + width: auto !important; +} +.page-post-detail .post-body .group-picture-column img { + margin: 0 auto; +} +.page-archive .group-picture-container { + overflow: hidden; +} +.page-archive .group-picture-row { + float: left; +} +.page-archive .group-picture-row:first-child { + margin-top: 6px; +} +.page-archive .group-picture-column { + max-width: 150px; + max-height: 150px; +} +.post-body .label { + display: inline; + padding: 0 2px; +} +.post-body .label.default { + background-color: #f0f0f0; +} +.post-body .label.primary { + background-color: #efe6f7; +} +.post-body .label.info { + background-color: #e5f2f8; +} +.post-body .label.success { + background-color: #e7f4e9; +} +.post-body .label.warning { + background-color: #fcf6e1; +} +.post-body .label.danger { + background-color: #fae8eb; +} +.post-body .note { + position: relative; + padding: 15px; + margin-bottom: 20px; + border: 1px solid #eee; + border-left-width: 5px; + border-radius: 3px; +} +.post-body .note h2, +.post-body .note h3, +.post-body .note h4, +.post-body .note h5, +.post-body .note h6 { + margin-top: 0; + margin-bottom: 0; + border-bottom: initial; + padding-top: 0 !important; +} +.post-body .note p:first-child, +.post-body .note ul:first-child, +.post-body .note ol:first-child, +.post-body .note table:first-child, +.post-body .note pre:first-child, +.post-body .note blockquote:first-child { + margin-top: 0; +} +.post-body .note p:last-child, +.post-body .note ul:last-child, +.post-body .note ol:last-child, +.post-body .note table:last-child, +.post-body .note pre:last-child, +.post-body .note blockquote:last-child { + margin-bottom: 0; +} +.post-body .note.default { + border-left-color: #777; +} +.post-body .note.default h2, +.post-body .note.default h3, +.post-body .note.default h4, +.post-body .note.default h5, +.post-body .note.default h6 { + color: #777; +} +.post-body .note.primary { + border-left-color: #6f42c1; +} +.post-body .note.primary h2, +.post-body .note.primary h3, +.post-body .note.primary h4, +.post-body .note.primary h5, +.post-body .note.primary h6 { + color: #6f42c1; +} +.post-body .note.info { + border-left-color: #428bca; +} +.post-body .note.info h2, +.post-body .note.info h3, +.post-body .note.info h4, +.post-body .note.info h5, +.post-body .note.info h6 { + color: #428bca; +} +.post-body .note.success { + border-left-color: #5cb85c; +} +.post-body .note.success h2, +.post-body .note.success h3, +.post-body .note.success h4, +.post-body .note.success h5, +.post-body .note.success h6 { + color: #5cb85c; +} +.post-body .note.warning { + border-left-color: #f0ad4e; +} +.post-body .note.warning h2, +.post-body .note.warning h3, +.post-body .note.warning h4, +.post-body .note.warning h5, +.post-body .note.warning h6 { + color: #f0ad4e; +} +.post-body .note.danger { + border-left-color: #d9534f; +} +.post-body .note.danger h2, +.post-body .note.danger h3, +.post-body .note.danger h4, +.post-body .note.danger h5, +.post-body .note.danger h6 { + color: #d9534f; +} +.post-body .tabs { + position: relative; + display: block; + margin-bottom: 20px; + padding-top: 10px; +} +.post-body .tabs ul.nav-tabs { + margin: 0; + padding: 0; + display: flex; + flex-wrap: wrap; + margin-bottom: -1px; +} +@media (max-width: 413px) { + .post-body .tabs ul.nav-tabs { + display: block; + margin-bottom: 5px; + } +} +.post-body .tabs ul.nav-tabs li.tab { + flex-grow: 1; + list-style-type: none; + border-top: 3px solid transparent; + border-right: 1px solid transparent; + border-bottom: 1px solid #ddd; + border-left: 1px solid transparent; +} +@media (max-width: 413px) { + .post-body .tabs ul.nav-tabs li.tab { + border-top: 1px solid transparent; + border-right: 1px solid transparent; + border-bottom: 1px solid transparent; + border-left: 3px solid transparent; + } +} +.post-body .tabs ul.nav-tabs li.tab a { + text-align: center; + outline: 0; + border-bottom: initial; + display: block; + line-height: 1.8em; + padding: 0.25em 0.75em; + transition-duration: 0.2s; + transition-timing-function: ease-out; + transition-delay: 0s; +} +.post-body .tabs ul.nav-tabs li.tab a i { + width: 1.285714285714286em; +} +.post-body .tabs ul.nav-tabs li.tab.active { + border-top: 3px solid #fc6423; + border-right: 1px solid #ddd; + border-bottom: 1px solid transparent; + border-left: 1px solid #ddd; +} +@media (max-width: 413px) { + .post-body .tabs ul.nav-tabs li.tab.active { + border-top: 1px solid #ddd; + border-right: 1px solid #ddd; + border-bottom: 1px solid #ddd; + border-left: 3px solid #fc6423; + } +} +.post-body .tabs ul.nav-tabs li.tab.active a { + cursor: default; + color: #555; +} +.post-body .tabs .tab-content .tab-pane { + border: 1px solid #ddd; + padding: 20px 20px 0 20px; +} +.post-body .tabs .tab-content .tab-pane:not(.active) { + display: none; +} +.post-body .tabs .tab-content .tab-pane.active { + display: block; +} +.btn { + display: inline-block; + padding: 0 20px; + font-size: 14px; + color: #555; + background: #fff; + border: 2px solid #555; + text-decoration: none; + border-radius: 2px; + transition-property: background-color; + transition-duration: 0.2s; + transition-timing-function: ease-in-out; + transition-delay: 0s; + line-height: 2; +} +.btn:hover { + border-color: #222; + color: #fff; + background: #222; +} +.btn +.btn { + margin: 0 0 8px 8px; +} +.btn .fa-fw { + width: 1.285714285714286em; + text-align: left; +} +.btn-bar { + display: block; + width: 22px; + height: 2px; + background: #555; + border-radius: 1px; +} +.btn-bar+.btn-bar { + margin-top: 4px; +} +.pagination { + margin: 120px 0 40px; + text-align: center; + border-top: 1px solid #eee; +} +.page-number-basic, +.pagination .prev, +.pagination .next, +.pagination .page-number, +.pagination .space { + display: inline-block; + position: relative; + top: -1px; + margin: 0 10px; + padding: 0 11px; +} +@media (max-width: 767px) { + .page-number-basic, + .pagination .prev, + .pagination .next, + .pagination .page-number, + .pagination .space { + margin: 0 5px; + } +} +.pagination .prev, +.pagination .next, +.pagination .page-number { + border-bottom: 0; + border-top: 1px solid #eee; + transition-property: border-color; + transition-duration: 0.2s; + transition-timing-function: ease-in-out; + transition-delay: 0s; +} +.pagination .prev:hover, +.pagination .next:hover, +.pagination .page-number:hover { + border-top-color: #222; +} +.pagination .space { + padding: 0; + margin: 0; +} +.pagination .prev { + margin-left: 0; +} +.pagination .next { + margin-right: 0; +} +.pagination .page-number.current { + color: #fff; + background: #ccc; + border-top-color: #ccc; +} +@media (max-width: 767px) { + .pagination { + border-top: none; + } + .pagination .prev, + .pagination .next, + .pagination .page-number { + margin-bottom: 10px; + border-top: 0; + border-bottom: 1px solid #eee; + padding: 0 10px; + } + .pagination .prev:hover, + .pagination .next:hover, + .pagination .page-number:hover { + border-bottom-color: #222; + } +} +.comments { + margin: 60px 20px 0; +} +.back-to-top { + box-sizing: border-box; + position: fixed; + bottom: -100px; + right: 30px; + z-index: 1050; + padding: 0 6px; + width: initial; + background: #222; + font-size: 12px; + opacity: 0.6; + color: #fff; + cursor: pointer; + text-align: center; + transition-property: bottom; + transition-duration: 0.2s; + transition-timing-function: ease-in-out; + transition-delay: 0s; +} +.back-to-top.back-to-top-on { + bottom: 30px; +} +@media (max-width: 991px) { + .back-to-top { + opacity: 0.8; + right: 20px; + } +} +.header { + background: transparent; +} +.header-inner { + position: relative; +} +.headband { + height: 3px; + background: #222; +} +.site-meta { + margin: 0; + text-align: center; +} +@media (max-width: 767px) { + .site-meta { + text-align: center; + } +} +.brand { + position: relative; + display: inline-block; + padding: 0 40px; + color: #fff; + background: #222; + border-bottom: none; +} +.brand:hover { + color: #fff; +} +.logo { + display: inline-block; + margin-right: 5px; + line-height: 36px; + vertical-align: top; +} +.site-title { + display: inline-block; + vertical-align: top; + line-height: 36px; + font-size: 20px; + font-weight: normal; + font-family: 'Lato', "PingFang SC", "Microsoft YaHei", sans-serif; +} +.site-subtitle { + margin-top: 10px; + font-size: 13px; + color: #ddd; +} +.use-motion .brand { + opacity: 0; +} +.use-motion .logo, +.use-motion .site-title, +.use-motion .site-subtitle, +.use-motion .custom-logo-image { + opacity: 0; + position: relative; + top: -10px; +} +.site-nav-toggle { + display: none; + position: absolute; + top: 10px; + left: 10px; +} +@media (max-width: 767px) { + .site-nav-toggle { + display: block; + } +} +.site-nav-toggle button { + margin-top: 2px; + padding: 9px 10px; + background: transparent; + border: none; +} +@media (max-width: 767px) { + .site-nav { + display: none; + margin: 0 -10px; + padding: 0 10px; + clear: both; + border-top: 1px solid #ddd; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .site-nav { + display: block !important; + } +} +@media (min-width: 992px) { + .site-nav { + display: block !important; + } +} +.menu { + margin-top: 20px; + padding-left: 0; + text-align: center; +} +.menu .menu-item { + display: inline-block; + margin: 0 10px; + list-style: none; +} +@media (max-width: 767px) { + .menu .menu-item { + margin-top: 10px; + } +} +.menu .menu-item a, +.menu .menu-item span.exturl { + display: block; + font-size: 13px; + line-height: inherit; + border-bottom: 1px solid transparent; + transition-property: border-color; + transition-duration: 0.2s; + transition-timing-function: ease-in-out; + transition-delay: 0s; +} +.menu .menu-item a:hover, +.menu .menu-item span.exturl:hover { + border-bottom-color: #222; +} +.menu .menu-item .fa { + margin-right: 5px; +} +.use-motion .menu-item { + opacity: 0; +} +.post-body { + overflow-wrap: break-word; + word-wrap: break-word; + font-family: 'Lato', "PingFang SC", "Microsoft YaHei", sans-serif; +} +.post-body span.exturl .fa { + font-size: 14px; + margin-left: 4px; +} +.post-body .fancybox img { + display: block !important; + margin: 0 auto; + cursor: pointer; + cursor: zoom-in; +} +.post-body .image-caption, +.post-body .figure .caption { + margin: -20px auto 15px; + text-align: center; + font-size: 14px; + color: #999; + font-weight: bold; + line-height: 1; +} +.post-sticky-flag { + display: inline-block; + font-size: 16px; + transform: rotate(30deg); +} +.use-motion .post-block, +.use-motion .pagination, +.use-motion .comments { + opacity: 0; +} +.use-motion .post-header { + opacity: 0; +} +.use-motion .post-body { + opacity: 0; +} +.use-motion .collection-title { + opacity: 0; +} +.posts-expand { + padding-top: 40px; +} +@media (max-width: 767px) { + .posts-expand { + margin: 0 20px; + } + .post-body pre .gutter pre { + padding-right: 10px; + } + .post-body .highlight { + margin-left: 0px; + margin-right: 0px; + padding: 0; + } + .post-body .highlight .gutter pre { + padding-right: 10px; + } +} +@media (min-width: 992px) { + .posts-expand .post-body { + text-align: justify; + } +} +@media (max-width: 991px) { + .posts-expand .post-body { + text-align: justify; + } +} +.posts-expand .post-body h2, +.posts-expand .post-body h3, +.posts-expand .post-body h4, +.posts-expand .post-body h5, +.posts-expand .post-body h6 { + padding-top: 10px; +} +.posts-expand .post-body h2 .header-anchor, +.posts-expand .post-body h3 .header-anchor, +.posts-expand .post-body h4 .header-anchor, +.posts-expand .post-body h5 .header-anchor, +.posts-expand .post-body h6 .header-anchor { + float: right; + margin-left: 10px; + color: #ccc; + border-bottom-style: none; + visibility: hidden; +} +.posts-expand .post-body h2 .header-anchor:hover, +.posts-expand .post-body h3 .header-anchor:hover, +.posts-expand .post-body h4 .header-anchor:hover, +.posts-expand .post-body h5 .header-anchor:hover, +.posts-expand .post-body h6 .header-anchor:hover { + color: inherit; +} +.posts-expand .post-body h2:hover .header-anchor, +.posts-expand .post-body h3:hover .header-anchor, +.posts-expand .post-body h4:hover .header-anchor, +.posts-expand .post-body h5:hover .header-anchor, +.posts-expand .post-body h6:hover .header-anchor { + visibility: visible; +} +.posts-expand .post-body img { + box-sizing: border-box; + margin: 0 auto 25px; + padding: 3px; + border: 1px solid #ddd; +} +@media (max-width: 767px) { + .posts-collapse { + margin: 0 20px; + } + .posts-collapse .post-title, + .posts-collapse .post-meta { + display: block; + width: auto; + text-align: left; + } +} +.posts-collapse { + position: relative; + z-index: 1010; + margin-left: 55px; +} +.posts-collapse::after { + content: " "; + position: absolute; + top: 20px; + left: 0; + margin-left: -2px; + width: 4px; + height: 100%; + background: #f5f5f5; + z-index: -1; +} +@media (max-width: 767px) { + .posts-collapse { + margin: 0 20px; + } +} +.posts-collapse .collection-title { + position: relative; + margin: 60px 0; +} +.posts-collapse .collection-title h1, +.posts-collapse .collection-title h2 { + margin-left: 20px; +} +.posts-collapse .collection-title small { + color: #bbb; + margin-left: 5px; +} +.posts-collapse .collection-title::before { + content: " "; + position: absolute; + left: 0; + top: 50%; + margin-left: -4px; + margin-top: -4px; + width: 8px; + height: 8px; + background: #bbb; + border-radius: 50%; +} +.posts-collapse .post { + margin: 30px 0; +} +.posts-collapse .post-header { + position: relative; + transition-duration: 0.2s; + transition-timing-function: ease-in-out; + transition-delay: 0s; + transition-property: border; + border-bottom: 1px dashed #ccc; +} +.posts-collapse .post-header::before { + content: " "; + position: absolute; + left: 0; + top: 12px; + width: 6px; + height: 6px; + margin-left: -4px; + background: #bbb; + border-radius: 50%; + border: 1px solid #fff; + transition-duration: 0.2s; + transition-timing-function: ease-in-out; + transition-delay: 0s; + transition-property: background; +} +.posts-collapse .post-header:hover { + border-bottom-color: #666; +} +.posts-collapse .post-header:hover::before { + background: #222; +} +.posts-collapse .post-meta { + position: absolute; + font-size: 12px; + left: 20px; + top: 5px; +} +.posts-collapse .post-comments-count { + display: none; +} +.posts-collapse .post-title { + margin-left: 60px; + font-size: 16px; + font-weight: normal; + line-height: inherit; +} +.posts-collapse .post-title::after { + margin-left: 3px; + opacity: 0.6; +} +.posts-collapse .post-title a, +.posts-collapse .post-title span.exturl { + color: #666; + border-bottom: none; +} +.page-home .post-type-quote .post-header, +.page-post-detail .post-type-quote .post-header, +.page-home .post-type-quote .post-tags, +.page-post-detail .post-type-quote .post-tags { + display: none; +} +.posts-expand .post-title { + overflow-wrap: break-word; + word-wrap: break-word; + text-align: center; + font-weight: 400; +} +.posts-expand .post-title-link { + display: inline-block; + position: relative; + color: #555; + border-bottom: none; + line-height: 1.2; + vertical-align: top; +} +.posts-expand .post-title-link::before { + content: ""; + position: absolute; + width: 100%; + height: 2px; + bottom: 0; + left: 0; + background-color: #000; + visibility: hidden; + transform: scaleX(0); + transition-duration: 0.2s; + transition-timing-function: ease-in-out; + transition-delay: 0s; +} +.posts-expand .post-title-link:hover::before { + visibility: visible; + transform: scaleX(1); +} +.posts-expand .post-title-link .fa { + font-size: 20px; + margin-left: 5px; +} +.posts-expand .post-meta { + margin: 3px 0 60px 0; + color: #999; + font-family: 'Lato', "PingFang SC", "Microsoft YaHei", sans-serif; + font-size: 12px; + text-align: center; +} +.posts-expand .post-meta .post-category-list { + display: inline-block; + margin: 0; + padding: 3px; +} +.posts-expand .post-meta .post-category-list-link { + color: #999; +} +.posts-expand .post-meta .post-description { + font-size: 14px; + margin-top: 2px; +} +.posts-expand .post-meta time { + border-bottom: 1px dashed #999; + cursor: help; +} +.post-meta-divider { + margin: 0 0.5em; +} +.post-meta-item-icon { + margin-right: 3px; +} +@media (min-width: 768px) and (max-width: 991px) { + .post-meta-item-icon { + display: inline-block; + } +} +@media (max-width: 767px) { + .post-meta-item-icon { + display: inline-block; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .post-meta-item-text { + display: none; + } +} +@media (max-width: 767px) { + .post-meta-item-text { + display: none; + } +} +.post-button { + margin-top: 40px; +} +.posts-expand .post-tags { + margin-top: 40px; + text-align: center; +} +.posts-expand .post-tags a { + display: inline-block; + margin-right: 10px; + font-size: 13px; +} +.post-nav { + display: table; + margin-top: 15px; + width: 100%; + border-top: 1px solid #eee; +} +.post-nav-divider { + display: table-cell; + width: 10%; +} +.post-nav-item { + display: table-cell; + padding: 10px 0 0 0; + width: 45%; + vertical-align: top; +} +.post-nav-item a { + position: relative; + display: block; + line-height: 25px; + font-size: 14px; + color: #555; + border-bottom: none; +} +.post-nav-item a:hover { + color: #222; + border-bottom: none; +} +.post-nav-item a:active { + top: 2px; +} +.post-nav-item .fa { + font-size: 12px; + margin-right: 5px; +} +.post-nav-next a { + padding-left: 5px; +} +.post-nav-prev { + text-align: right; +} +.post-nav-prev a { + padding-right: 5px; +} +.post-nav-prev .fa { + margin-left: 5px; +} +.posts-expand .post-eof { + margin: 80px auto 60px; + width: 8%; + height: 1px; + background: #ccc; + text-align: center; +} +.post:last-child .post-eof { + display: none; +} +.post-gallery { + display: table; + table-layout: fixed; + width: 100%; + border-collapse: separate; +} +.post-gallery-row { + display: table-row; +} +.post-gallery .post-gallery-img { + display: table-cell; + text-align: center; + vertical-align: middle; + border: none; +} +.post-gallery .post-gallery-img img { + max-width: 100%; + max-height: 100%; + border: none; +} +.fancybox-close, +.fancybox-close:hover { + border: none; +} +.rtl.post-body p, +.rtl.post-body a, +.rtl.post-body h1, +.rtl.post-body h2, +.rtl.post-body h3, +.rtl.post-body h4, +.rtl.post-body h5, +.rtl.post-body h6, +.rtl.post-body li, +.rtl.post-body ul, +.rtl.post-body ol { + direction: rtl; + font-family: UKIJ Ekran; +} +.rtl.post-title { + font-family: UKIJ Ekran; +} +.sidebar { + position: fixed; + right: 0; + top: 0; + bottom: 0; + width: 0; + z-index: 1040; + box-shadow: inset 0 2px 6px #000; + background: #222; +} +.sidebar a, +.sidebar span.exturl { + color: #999; + border-bottom-color: #555; +} +.sidebar a:hover, +.sidebar span.exturl:hover { + color: #eee; + border-bottom-color: #eee; +} +@media (max-width: 991px) { + .sidebar { + display: none; + } +} +.sidebar-inner { + position: relative; + padding: 20px 10px; + color: #999; + text-align: center; +} +.site-overview-wrap { + overflow: hidden; +} +.site-overview { + overflow-y: auto; + overflow-x: hidden; +} +.cc-license { + margin-top: 10px; + text-align: center; +} +.cc-license .cc-opacity { + opacity: 0.7; + border-bottom: none; +} +.cc-license .cc-opacity:hover { + opacity: 0.9; +} +.cc-license img { + display: inline-block; +} +.sidebar-toggle { + position: fixed; + right: 30px; + bottom: 45px; + width: 14px; + height: 14px; + padding: 5px; + background: #222; + line-height: 0; + z-index: 1050; + cursor: pointer; +} +@media (max-width: 991px) { + .sidebar-toggle { + opacity: 0.8; + right: 20px; + display: none; + } +} +.sidebar-toggle-line { + position: relative; + display: inline-block; + vertical-align: top; + height: 2px; + width: 100%; + background: #fff; + margin-top: 3px; +} +.sidebar-toggle-line:first-child { + margin-top: 0; +} +.site-author-image { + display: block; + margin: 0 auto; + padding: 2px; + max-width: 120px; + height: auto; + border: 1px solid #eee; + opacity: 1; +} +.site-author-name { + margin: 0; + text-align: center; + color: #222; + font-weight: 600; +} +.site-description { + margin-top: 0; + text-align: center; + font-size: 13px; + color: #999; +} +.links-of-author { + margin-top: 20px; +} +.links-of-author a, +.links-of-author span.exturl { + display: inline-block; + vertical-align: middle; + margin-right: 10px; + margin-bottom: 10px; + border-bottom-color: #555; + font-size: 13px; +} +.links-of-author a:before, +.links-of-author span.exturl:before { + display: inline-block; + vertical-align: middle; + margin-right: 3px; + content: " "; + width: 4px; + height: 4px; + border-radius: 50%; + background: #ffffb9; +} +.feed-link, +.chat { + margin-top: 10px; +} +.feed-link a, +.chat a { + display: inline-block; + padding: 0 15px; + color: #fc6423; + border: 1px solid #fc6423 !important; + border-radius: 4px; +} +.feed-link a i, +.chat a i { + color: #fc6423; + font-size: 14px; +} +.feed-link a:hover, +.chat a:hover { + color: #fff; + background: #fc6423; +} +.feed-link a:hover i, +.chat a:hover i { + color: #fff; +} +.links-of-blogroll { + margin-top: 10px; + font-size: 13px; +} +.links-of-blogroll-title { + margin-top: 0; + font-size: 14px; + font-weight: 600; +} +.links-of-blogroll-list { + margin: 0; + padding: 0; + list-style: none; +} +.links-of-blogroll-item { + padding: 2px 10px; +} +.links-of-blogroll-item a, +.links-of-blogroll-item span.exturl { + max-width: 280px; + box-sizing: border-box; + display: inline-block; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} +.sidebar-nav { + margin: 0 0 20px; + padding-left: 0; +} +.sidebar-nav li { + display: inline-block; + cursor: pointer; + border-bottom: 1px solid transparent; + font-size: 14px; + color: #555; +} +.sidebar-nav li:hover { + color: #fc6423; +} +.page-post-detail .sidebar-nav-toc { + padding: 0 5px; +} +.page-post-detail .sidebar-nav-overview { + margin-left: 10px; +} +.sidebar-nav .sidebar-nav-active { + color: #fc6423; + border-bottom-color: #fc6423; +} +.sidebar-nav .sidebar-nav-active:hover { + color: #fc6423; +} +.sidebar-panel { + display: none; +} +.sidebar-panel-active { + display: block; +} +.site-state { + display: flex; + justify-content: center; + overflow: hidden; + line-height: 1.4; + white-space: nowrap; + text-align: center; + margin-top: 10px; +} +.site-state-item { + padding: 0 15px; + border-left: 1px solid #eee; +} +.site-state-item:first-child { + border-left: none; +} +.site-state-item a { + border-bottom: none; +} +.site-state-item-count { + display: block; + text-align: center; + color: inherit; + font-weight: 600; + font-size: 16px; +} +.site-state-item-name { + font-size: 13px; + color: #999; +} +.post-toc-empty { + font-size: 14px; + color: #666; +} +.post-toc-wrap { + overflow: hidden; +} +.post-toc { + overflow: auto; +} +.post-toc ol { + margin: 0; + padding: 0 2px 5px 10px; + text-align: left; + list-style: none; + font-size: 14px; +} +.post-toc ol > ol { + padding-left: 0; +} +.post-toc ol a { + transition-duration: 0.2s; + transition-timing-function: ease-in-out; + transition-delay: 0s; + transition-property: all; + color: #666; + border-bottom-color: #ccc; +} +.post-toc ol a:hover { + color: #000; + border-bottom-color: #000; +} +.post-toc .nav-item { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + line-height: 1.8; +} +.post-toc .nav .nav-child { + display: none; +} +.post-toc .nav .active > .nav-child { + display: block; +} +.post-toc .nav .active-current > .nav-child { + display: block; +} +.post-toc .nav .active-current > .nav-child > .nav-item { + display: block; +} +.post-toc .nav .active > a { + color: #fc6423; + border-bottom-color: #fc6423; +} +.post-toc .nav .active-current > a { + color: #fc6423; +} +.post-toc .nav .active-current > a:hover { + color: #fc6423; +} +.footer { + font-size: 14px; + color: #999; +} +.footer img { + border: none; +} +.footer-inner { + text-align: center; +} +.with-love { + display: inline-block; + margin: 0 5px; + color: #808080; +} +.powered-by, +.theme-info { + display: inline-block; +} +@-moz-keyframes iconAnimate { + 0%, 100% { + transform: scale(1); + } + 10%, 30% { + transform: scale(0.9); + } + 20%, 40%, 60%, 80% { + transform: scale(1.1); + } + 50%, 70% { + transform: scale(1.1); + } +} +@-webkit-keyframes iconAnimate { + 0%, 100% { + transform: scale(1); + } + 10%, 30% { + transform: scale(0.9); + } + 20%, 40%, 60%, 80% { + transform: scale(1.1); + } + 50%, 70% { + transform: scale(1.1); + } +} +@-o-keyframes iconAnimate { + 0%, 100% { + transform: scale(1); + } + 10%, 30% { + transform: scale(0.9); + } + 20%, 40%, 60%, 80% { + transform: scale(1.1); + } + 50%, 70% { + transform: scale(1.1); + } +} +@keyframes iconAnimate { + 0%, 100% { + transform: scale(1); + } + 10%, 30% { + transform: scale(0.9); + } + 20%, 40%, 60%, 80% { + transform: scale(1.1); + } + 50%, 70% { + transform: scale(1.1); + } +} +.local-search-pop-overlay { + position: fixed; + width: 100%; + height: 100%; + top: 0; + left: 0; + z-index: 2080; + background-color: rgba(0,0,0,0.3); +} +.local-search-popup { + display: none; + position: fixed; + top: 10%; + left: 50%; + margin-left: -350px; + width: 700px; + height: 80%; + padding: 0; + background: #fff; + color: #333; + z-index: 9999; + border-radius: 5px; +} +@media (max-width: 767px) { + .local-search-popup { + padding: 0; + top: 0; + left: 0; + margin: 0; + width: 100%; + height: 100%; + border-radius: 0; + } +} +.local-search-popup ul.search-result-list { + padding: 0; + margin: 0 5px; +} +.local-search-popup p.search-result { + border-bottom: 1px dashed #ccc; + padding: 5px 0; +} +.local-search-popup a.search-result-title { + font-weight: bold; + font-size: 16px; +} +.local-search-popup .search-keyword { + border-bottom: 1px dashed #f00; + font-weight: bold; + color: #f00; +} +.local-search-popup .local-search-header { + padding: 5px; + height: 36px; + background: #f5f5f5; + border-top-left-radius: 5px; + border-top-right-radius: 5px; +} +.local-search-popup #local-search-result { + overflow: auto; + position: relative; + padding: 5px 25px; + height: calc(100% - 55px); +} +.local-search-popup .local-search-input-wrapper { + display: inline-block; + width: calc(100% - 90px); + height: 36px; + line-height: 36px; + padding: 0 5px; +} +.local-search-popup .local-search-input-wrapper input { + padding: 8px 0; + height: 20px; + display: block; + width: 100%; + outline: none; + border: none; + background: transparent; + vertical-align: middle; +} +.local-search-popup .search-icon, +.local-search-popup .popup-btn-close { + display: inline-block; + font-size: 18px; + color: #999; + height: 36px; + width: 18px; + padding-left: 10px; + padding-right: 10px; +} +.local-search-popup .search-icon { + float: left; +} +.local-search-popup .popup-btn-close { + border-left: 1px solid #eee; + float: right; + cursor: pointer; +} +.local-search-popup #no-result { + position: absolute; + left: 50%; + top: 50%; + transform: translate(-50%, -50%); + color: #ccc; +} +.page-archive .archive-page-counter { + position: relative; + top: 3px; + left: 20px; +} +@media (max-width: 767px) { + .page-archive .archive-page-counter { + top: 5px; + } +} +.page-archive .posts-collapse .archive-move-on { + position: absolute; + top: 11px; + left: 0; + margin-left: -6px; + width: 10px; + height: 10px; + opacity: 0.5; + background: #555; + border: 1px solid #fff; + border-radius: 50%; +} +.page-archive .fa-external-link { + font-size: 15px; + margin-left: 5px; +} +.category-all-page .category-all-title { + text-align: center; +} +.category-all-page .category-all { + margin-top: 20px; +} +.category-all-page .category-list { + margin: 0; + padding: 0; + list-style: none; +} +.category-all-page .category-list-item { + margin: 5px 10px; +} +.category-all-page .category-list-count { + color: #bbb; +} +.category-all-page .category-list-count:before { + display: inline; + content: " ("; +} +.category-all-page .category-list-count:after { + display: inline; + content: ") "; +} +.category-all-page .category-list-child { + padding-left: 10px; +} +#event-list { + padding-left: 30px; +} +#event-list hr { + margin: 20px 0 45px 0 !important; + background: #222; +} +#event-list hr:after { + display: inline-block; + content: 'NOW'; + background: #222; + color: #fff; + font-weight: bold; + text-align: right; + padding: 0 5px; +} +#event-list li.event { + margin: 20px 0px; + background: #f9f9f9; + padding-left: 10px; + min-height: 40px; +} +#event-list li.event h2.event-summary { + margin: 0; + padding-bottom: 3px; +} +#event-list li.event h2.event-summary:before { + display: inline-block; + font-family: FontAwesome; + font-size: 8px; + content: '\f111'; + vertical-align: middle; + margin-right: 25px; + color: #bbb; +} +#event-list li.event span.event-relative-time { + display: inline-block; + font-size: 12px; + font-weight: 400; + padding-left: 12px; + color: #bbb; +} +#event-list li.event span.event-details { + display: block; + color: #bbb; + margin-left: 56px; + padding-top: 3px; + padding-bottom: 6px; + text-indent: -24px; + line-height: 18px; +} +#event-list li.event span.event-details:before { + text-indent: 0; + display: inline-block; + width: 14px; + font-family: FontAwesome; + text-align: center; + margin-right: 9px; + color: #bbb; +} +#event-list li.event span.event-details.event-location:before { + content: '\f041'; +} +#event-list li.event span.event-details.event-duration:before { + content: '\f017'; +} +#event-list li.event-past { + background: #fcfcfc; + padding: 15px 0 15px 10px; +} +#event-list li.event-past > * { + opacity: 0.9; +} +#event-list li.event-past h2.event-summary { + color: #bbb; +} +#event-list li.event-past h2.event-summary:before { + color: #dfdfdf; +} +#event-list li.event-now { + background: #222; + color: #fff; + padding: 15px 0 15px 10px; +} +#event-list li.event-now h2.event-summary:before { + transform: scale(1.2); + color: #fff; + animation: dot-flash 1s alternate infinite ease-in-out; +} +#event-list li.event-now * { + color: #fff !important; +} +#event-list li.event-future { + background: #222; + color: #fff; + padding: 15px 0 15px 10px; +} +#event-list li.event-future h2.event-summary:before { + transform: scale(1.2); + color: #fff; + animation: dot-flash 1s alternate infinite ease-in-out; +} +#event-list li.event-future * { + color: #fff !important; +} +@-moz-keyframes dot-flash { + from { + opacity: 1; + transform: scale(1.1); + } + to { + opacity: 0; + transform: scale(1); + } +} +@-webkit-keyframes dot-flash { + from { + opacity: 1; + transform: scale(1.1); + } + to { + opacity: 0; + transform: scale(1); + } +} +@-o-keyframes dot-flash { + from { + opacity: 1; + transform: scale(1.1); + } + to { + opacity: 0; + transform: scale(1); + } +} +@keyframes dot-flash { + from { + opacity: 1; + transform: scale(1.1); + } + to { + opacity: 0; + transform: scale(1); + } +} +.page-post-detail .sidebar-toggle-line { + background: #fc6423; +} +.page-post-detail .comments { + overflow: hidden; +} +ul.breadcrumb { + list-style: none; + margin: 1em 0; + padding: 0 2em; + text-align: center; + font-size: 12px; +} +ul.breadcrumb li { + display: inline; +} +ul.breadcrumb li+li:before { + padding: 0.5em; + font-weight: normal; + content: "/\00a0"; +} +ul.breadcrumb li+li:last-child { + font-weight: bold; +} +.tag-cloud { + text-align: center; +} +.tag-cloud a { + display: inline-block; + margin: 10px; +} +.tag-cloud a:hover { + color: #222 !important; +} +.header { + position: relative; + margin: 0 auto; + width: calc(100% - 20px); +} +@media (min-width: 1200px) { + .header { + width: 1160px; + } +} +@media (min-width: 1600px) { + .header { + width: 73%; + } +} +@media (max-width: 991px) { + .header { + width: auto; + } +} +.header-inner { + position: absolute; + top: 0; + overflow: hidden; + padding: 0; + width: 240px; + background: #fff; + box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.06), 0 1px 5px 0 rgba(0,0,0,0.12); + border-radius: initial; +} +@media (min-width: 1200px) { + .container .header-inner { + width: 240px; + } +} +@media (max-width: 991px) { + .header-inner { + position: relative; + width: auto; + border-radius: initial; + } +} +.main:before, +.main:after { + content: " "; + display: table; +} +.main:after { + clear: both; +} +@media (max-width: 991px) { + .container .main-inner { + width: auto; + } +} +.content-wrap { + float: right; + box-sizing: border-box; + padding: 40px; + width: calc(100% - 252px); + background: #fff; + min-height: 700px; + box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.06), 0 1px 5px 0 rgba(0,0,0,0.12); + border-radius: initial; +} +@media (min-width: 768px) and (max-width: 991px) { + .content-wrap { + width: 100%; + padding: 20px; + border-radius: initial; + } +} +@media (max-width: 767px) { + .content-wrap { + width: 100%; + padding: 20px; + min-height: auto; + border-radius: initial; + } +} +.sidebar { + position: static; + float: left; + margin-left: -100%; + width: 240px; + background: #eee; + box-shadow: none; +} +@media (max-width: 991px) { + .sidebar { + display: none; + } +} +.sidebar-toggle { + display: none; +} +.footer-inner { + padding-left: 260px; +} +@media (max-width: 991px) { + .footer-inner { + width: auto; + padding-left: 0 !important; + padding-right: 0 !important; + } +} +.sidebar-position-right .header-inner { + right: 0; +} +.sidebar-position-right .content-wrap { + float: left; +} +.sidebar-position-right .sidebar { + float: right; +} +.sidebar-position-right .footer-inner { + padding-left: 0; + padding-right: 260px; +} +.site-brand-wrapper { + position: relative; +} +.site-meta { + padding: 20px 0; + color: #fff; + background: #222; +} +@media (max-width: 991px) { + .site-meta { + box-shadow: 0 0 16px rgba(0,0,0,0.5); + } +} +.brand { + padding: 0; + background: none; +} +.brand:hover { + color: #fff; +} +.site-subtitle { + margin: 10px 10px 0; + font-weight: initial; +} +.custom-logo-image { + margin-top: 20px; +} +@media (max-width: 991px) { + .custom-logo-image { + display: none; + } +} +.site-search form { + display: none; +} +.site-nav { + border-top: none; +} +@media (min-width: 768px) and (max-width: 991px) { + .site-nav { + display: none !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .site-nav-on { + display: block !important; + } +} +.menu-item-active a, +.menu .menu-item a:hover, +.menu .menu-item span.exturl:hover { + background: #f9f9f9; + border-bottom-color: #fff; +} +.menu-item-active a:after, +.menu .menu-item a:hover:after, +.menu .menu-item span.exturl:hover:after { + content: " "; + position: absolute; + top: 50%; + margin-top: -3px; + right: 15px; + width: 6px; + height: 6px; + background-color: #bbb; + border-radius: 50%; +} +.menu .menu-item { + display: block; + margin: 0; +} +.menu .menu-item a, +.menu .menu-item span.exturl { + position: relative; + box-sizing: border-box; + padding: 5px 20px; + text-align: left; + line-height: inherit; + transition-property: background-color; + transition-duration: 0.2s; + transition-timing-function: ease-in-out; + transition-delay: 0s; +} +@media (hover: none) { + .menu .menu-item a:hover, + .menu .menu-item span.exturl:hover { + background: none; + } +} +.menu .menu-item .badge { + display: inline-block; + padding: 2px 5px; + font-weight: 700; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: middle; + background-color: #ccc; + border-radius: 10px; + float: right; + margin: 0.35em 0 0 0; + text-shadow: 1px 1px 0px rgba(0,0,0,0.1); +} +.menu .menu-item br { + display: none; +} +.btn-bar { + background-color: #fff; +} +.site-nav-toggle { + left: 20px; + top: 50%; + transform: translateY(-50%); +} +@media (min-width: 768px) and (max-width: 991px) { + .site-nav-toggle { + display: block; + } +} +.sub-menu { + margin: 0; + padding: 6px 0; + background: #fff !important; + border-bottom: 1px solid #ddd; +} +.sub-menu .menu-item { + display: inline-block !important; +} +.sub-menu .menu-item a, +.sub-menu .menu-item span.exturl { + padding: initial !important; + margin: 5px 10px; +} +.sub-menu .menu-item a:hover, +.sub-menu .menu-item span.exturl:hover { + background: initial !important; + color: #fc6423; +} +.sub-menu .menu-item-active a { + background: #fff !important; + color: #fc6423; + border-bottom-color: #fc6423; +} +.sub-menu .menu-item-active a:hover { + background: #fff !important; + border-bottom-color: #fc6423; +} +.sub-menu .menu-item-active a:after { + content: initial; +} +.use-motion .sidebar .motion-element { + opacity: 1; +} +.sidebar { + right: auto; + bottom: auto; + -webkit-transform: none; +} +.sidebar a, +.sidebar span.exturl { + color: #555; +} +.sidebar a:hover, +.sidebar span.exturl:hover { + color: #222; + border-bottom-color: #222; +} +.sidebar-inner { + box-sizing: border-box; + width: 240px; + color: #555; + background: #fff; + box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.06), 0 1px 5px 0 rgba(0,0,0,0.12), 0 -1px 0.5px 0 rgba(0,0,0,0.09); + border-radius: initial; + opacity: 0; +} +.sidebar-inner.affix { + position: fixed; + top: 12px; +} +.sidebar-inner.affix-bottom { + position: absolute; +} +.site-overview { + text-align: left; +} +.site-author:before, +.site-author:after { + content: " "; + display: table; +} +.site-author:after { + clear: both; +} +.site-state-item { + padding: 0 10px; +} +.feed-link, +.chat { + border-top: 1px dotted #ccc; + border-bottom: 1px dotted #ccc; + text-align: center; +} +.feed-link a, +.chat a { + display: block; + color: #fc6423; + border: none !important; +} +.feed-link a:hover, +.chat a:hover { + background: none; + color: #e34603; +} +.feed-link a:hover i, +.chat a:hover i { + color: #e34603; +} +.links-of-author { + display: flex; + flex-wrap: wrap; + justify-content: center; +} +.links-of-author span.exturl { + font-size: 13px; +} +.links-of-author-item { + margin: 5px 0 0; + width: 50%; +} +.links-of-author-item a, +.links-of-author-item span.exturl { + max-width: 216px; + box-sizing: border-box; + display: inline-block; + margin-right: 0; + margin-bottom: 0; + padding: 0 5px; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} +.links-of-author-item a:before, +.links-of-author-item span.exturl:before { + display: none; +} +.links-of-author-item a, +.links-of-author-item span.exturl { + border-bottom: none; + text-decoration: underline; +} +.links-of-author-item a, +.links-of-author-item span.exturl { + display: block; + text-decoration: none; +} +.links-of-author-item a:hover, +.links-of-author-item span.exturl:hover { + border-radius: 4px; + background: #eee; +} +.links-of-author-item .fa { + margin-right: 2px; + font-size: 16px; +} +.links-of-author-item .fa-globe { + font-size: 15px; +} +.links-of-blogroll { + text-align: center; + padding: 3px 0 0; +} +.links-of-blogroll-item { + padding: 0; +} +.links-of-blogroll-inline:before, +.links-of-blogroll-inline:after { + content: " "; + display: table; +} +.links-of-blogroll-inline:after { + clear: both; +} +.links-of-blogroll-inline .links-of-blogroll-item { + margin: 5px 0 0; + width: 50%; + display: inline-block; + width: unset; +} +.links-of-blogroll-inline .links-of-blogroll-item a, +.links-of-blogroll-inline .links-of-blogroll-item span.exturl { + max-width: 216px; + box-sizing: border-box; + display: inline-block; + margin-right: 0; + margin-bottom: 0; + padding: 0 5px; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} +.content-wrap { + padding: initial; + background: initial; + box-shadow: initial; + border-radius: initial; +} +.post-block { + padding: 40px; + background: #fff; + box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.06), 0 1px 5px 0 rgba(0,0,0,0.12); + border-radius: initial; +} +#posts > article + article .post-block { + margin-top: 12px; + box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.06), 0 1px 5px 0 rgba(0,0,0,0.12), 0 -1px 0.5px 0 rgba(0,0,0,0.09); + border-radius: initial; +} +.comments { + padding: 40px; + margin: auto; + margin-top: 12px; + background: #fff; + box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.06), 0 1px 5px 0 rgba(0,0,0,0.12), 0 -1px 0.5px 0 rgba(0,0,0,0.09); + border-radius: initial; +} +.posts-expand { + padding-top: initial; +} +.post-nav-divider { + width: 4%; +} +.post-nav-item { + width: 48%; +} +.post-eof { + display: none; +} +.pagination { + margin: 12px 0 0; + border-top: initial; + background: #fff; + box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.06), 0 1px 5px 0 rgba(0,0,0,0.12), 0 -1px 0.5px 0 rgba(0,0,0,0.09); + border-radius: initial; + padding: 10px 0 10px; +} +.pagination .prev, +.pagination .next, +.pagination .page-number { + margin-bottom: initial; + top: initial; +} +.main { + padding-bottom: initial; +} +.footer { + bottom: auto; +} +.sub-menu { + border-bottom: initial !important; + box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.06), 0 1px 5px 0 rgba(0,0,0,0.12); +} +.sub-menu+ #content > #posts .post-block { + box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.06), 0 1px 5px 0 rgba(0,0,0,0.12), 0 -1px 0.5px 0 rgba(0,0,0,0.09); + margin-top: 12px; +} +@media (min-width: 768px) and (max-width: 991px) { + .sub-menu+ #content > #posts .post-block { + margin-top: 10px; + } +} +@media (max-width: 767px) { + .sub-menu+ #content > #posts .post-block { + margin-top: 8px; + } +} +.post-header h1, +.post-header h2 { + margin: initial; +} +.posts-expand .post-title-link { + line-height: inherit; +} +.posts-expand .post-title { + font-size: 1.7em; +} +.post-body h1 { + font-size: 1.6em; + border-bottom: 1px solid #eee; +} +.post-body h1 code { + font-size: 1em; +} +.post-body h2 { + font-size: 1.45em; + border-bottom: 1px solid #eee; +} +.post-body h2 code { + font-size: 1em; +} +.post-body h3 { + font-size: 1.3em; + border-bottom: 1px dotted #eee; +} +.post-body h3 code { + font-size: 1em; +} +.post-body h4 { + font-size: 1.2em; +} +.post-body h4 code { + font-size: 1em; +} +.post-body h5 { + font-size: 1.07em; +} +.post-body h5 code { + font-size: 1em; +} +.post-body h6 { + font-size: 1.03em; +} +.post-body h6 code { + font-size: 1em; +} +@media (min-width: 768px) and (max-width: 991px) { + .content-wrap { + padding: 10px; + } + .posts-expand { + margin: initial; + } + .posts-expand .post-button { + margin-top: 20px; + } + .post-block { + padding: 20px; + box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.06), 0 1px 5px 0 rgba(0,0,0,0.12), 0 -1px 0.5px 0 rgba(0,0,0,0.09); + border-radius: initial; + } + #posts > article + article .post-block { + margin-top: 10px; + } + .comments { + margin-top: 10px; + padding: 10px 20px; + } + .pagination { + margin: 10px 0 0; + } +} +@media (max-width: 767px) { + .content-wrap { + padding: 8px; + } + .posts-expand { + margin: initial; + } + .posts-expand .post-button { + margin: 12px 0px; + } + .posts-expand img { + padding: initial !important; + } + .post-block { + padding: 12px; + min-height: auto; + box-shadow: 0 2px 2px 0 rgba(0,0,0,0.12), 0 3px 1px -2px rgba(0,0,0,0.06), 0 1px 5px 0 rgba(0,0,0,0.12), 0 -1px 0.5px 0 rgba(0,0,0,0.09); + border-radius: initial; + } + #posts > article + article .post-block { + margin-top: 8px; + } + .comments { + margin-top: 8px; + padding: 0 12px; + } + .pagination { + margin: 8px 0 0; + } +} diff --git a/images/algolia_logo.svg b/images/algolia_logo.svg new file mode 100644 index 000000000..470242341 --- /dev/null +++ b/images/algolia_logo.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/images/apple-touch-icon-next.png b/images/apple-touch-icon-next.png new file mode 100644 index 0000000000000000000000000000000000000000..86a0d1d33bc2ae8a0416ebba67d1bbb60aa29c38 GIT binary patch literal 1544 zcmV+j2KV`iP)Px#OHfQyMIs_1FE20E)zv2_C(h2!$jHdT!ovUm|GT@p zWo2de_xJq#{8d#|IyyQ>M@Qx533`J9dBE>4W{r{KFjMLpp4N$2iMRJCGfPM7@le{)BPzVgz zp?ByVdWYVj|4-=tUS5SkR}Te{-Fr#UrxsqJ9+ed6YY9KmoXq6n^B9DRMwF@T2u)qH z!=wh-sAdPH_8fFy0-I1d68Zp);!FTtdweUZc2nr)?5^hh99w*FOU z@NYFT^!v%iPrGly0Q*+sLVtesYh+the|AET4WK8lR^dv1IZ-3FhAuiK5V|-?gf2#j z&_yW`x^K3G&OKl4kP$$ih@p!?B6M+)2(4Rz(6$=G6WT(;6uP)cgkEi(xI(Yi7`D(w zo(Y6r>FyarFV`4e&^@lk@PfWf|DSeM5}?agV`>aDXt-c%3^!*Ij0g0Q8X5*mjbRC$9oB0MOK51O_53LU8p`RzcozW; zx3wC>721@58xhdzx?E$}LW9xpjUu4UhOZO>Z8Us+D+1bR_}&sQXJ}B}yadb|8fraT zV|YUw4WF(>KpPF;mjp}*eTo5XG<+u!&}PFoihwq!uhI`XPYZ1{e1FDs0nqR?Ym5YF zqv0DwK${KUMFjNpqb>9(0vg8Y^d$otmiJc}L#s|8wD~Z~fHtQu8PG6DgwAq-&}PFY z1KMo(WI!7YpAcwxN`zJiV(2pgG_<|npE+y^Z8UsBppAx42(;Po$$&N*J{izP!?y+W zi2YsL=fkK`KXsymhWcmL#_y-S*Y&V_u#us^S9pDvbMSkxv7uidoc36Qa`CQ+5AC^d z=CTJ%0ZkrQ=v?t(E_)>OCL8YaU+nX$$--iAUNb;m^jBG2!5*5enU|exmY3aQcv=O- znjO}ft-yw2|VZs2g-W`Epf@n*5gsJ2LLtC^nFlq8+?%Xc!{Z3_|hFI~!oeU$ep z%4jE9Y9n1{ah68@W{++)8|fc~HIM4)QycHpg}3P<_K$M$L~}7jBXs?6bDwjvo+I;D zsoi}398La6+~*osM@45l#ptQ6MrZFz597*no3v)ffsUEletxWeW~`A+ntYvaeQj?e z*kSqGXZsrrhZ>IsxH$({IR{z11zkG`GR^j$#{%z41lp5(Ne#glJc5nj-BUaKR!X?# zzN6F-<0?&z;|30?9q0Z}oHG*G)Q)s%Db~RbjMU)mp-u&Dmm0zkF~o9eRh}p?ByVnjn4wmEZ*c=^{+H00012dQ@0+Qek%>aB^>E zX>4U6ba`-PAZc)PV*mhnoa6Eg2ys>@D9TUE%t_@^00ScnE@KN5BNI!L6ay0=M1VBI uWCJ6!R3OXP)X2ol#2my2%YaCrN-hBE7ZG&wLN%2D0000`v literal 0 HcmV?d00001 diff --git a/images/avatar.gif b/images/avatar.gif new file mode 100644 index 0000000000000000000000000000000000000000..28411fd0eadae59f521f6914983f61731b759e77 GIT binary patch literal 1793 zcmc(e`#al*0*AjzgfxoGy{05C>!#LYnzk<02ECx3bGphio%U$lDm65-%4+M{#3i&v zF)dm;w^A*|s?pmzaZMtK$W?-bB(5QZNKm$&f8xA9e13kP=kvU$gHL&RM+pD{pap>K z?d^{rKQig`f&P9LlQ}99ZEbD!GZ=ckeqnxIr_;%&rX*sqfX7oR6eGjKTn=YwU|>ul znHV4Eu-TiNo08GdRgGqCZH+xRs9IQ9RH^1>XE!!BhKGj6$Hs&L!K6&KzP>J#N(Fqr zR;wLkv2^R}tE;Qa%ge0(e$C3t(&C~Rwe+~VRQXLwjF5-F8RA)i0YW~)@HafxJI ztDT*l9U2_uak;ZIGkh*rIx(SEs}~j)c6N3ceSN_H8_49XM%yH8dPZgz zB|GQ#ox8bt`S%J6i+(M>|DdF_?BS#GipRfIR#n&3KB=pJ+VJdoW7CV~me${2w!NaZ zzkc)f-TOa2{MkY4?CS36?V~f8{j7n(A@(q5gv;X#grZTgWNdswDw~{=E0ohSvvWmY zGjmfr8#E|v4TQF_Gc`8@&-08hUU*RDV_F8x1dNvf-Q-&Xu=7I9zp8rf8bT6VFu-K1 zp`BZ_y|*WcV(5^u3r8Z?_Lqctc&JNK!cAN~et3&LSM%8m)RAlO)U=qKp>M&~miA0b zXA%^BkIE!eHSh{;JcHumYCCz&Hv4Tw58W8&TJUDzpa4EMr)`^Hk&pLH2#~xp+Q){T zG-#gq>4cV;j$FAa0T2e?IaPM3FG2TOT?&y331G&9%UI%3h^7{jcjWlZnLQlvaK26P z&Du^Nq0124n0#&HRTS@~)vg(wn2`PSjR|i?^*UZ1csS?N{1geB^pd#*wq=(WWX@1r zv5uJro0nX~&}D6Yd!Wu)zT+Ue>E{=z;@y4ScOiE3p8m&MiDr4no6=S6wRJ0iXM)6C z>5pRjYy47cB%WEd*@}L z)G5pbE$Ge-JTxqUc)`~&KYX(KG|XUNFEaMuwR^Y2g@rcImI_#CkxM7>ixb}G;9?cd z^^|X7xcI>?8NVEgi-@HW4-}Ub7>j!l$Wovi5owxWR~&d9OE??vXD<~+R;ZIoXph72 zS^L1LPNaHdal;oq)mV?S`yd78YGomCf{IVUjRFlwBDq0OKa}J>R-c=kw&xj^j*rW0 zJokM-@lH<&)bi_qsQp$(*Ii?w!M$!>g`Nv;bl`;yk4f(}y&Kco3r_*64>%zjTOCfdB@J*VqOvb=oZa>C@u2Lduq1`izsNs8+QAq_ECS490Gm#@C{iK=v!G1IsXpV z76Y`Dp+T;=aPS1u7-^6eAPsE=Fh7@&a6*rEQ0-lhxp>WU>m<>B4%df*W$pD4< zwi<>)ym@Zqoa-)!J73I;#~fq9mAj64U9-2aXsJvo1GRX7EFSwyF_W3m*mQ`Z=p-3( z>GXe!z@|YJ9AMi5`@}EICbT2b$BaPO()mC;$h}Hdi}&W0Cv1_IH70cDzqaN2JSbZ{ z@pl2olL|1mz}I#g;^OjPiAXY4L|Uj@Cb#<|4jBr+K^v+&jNRfP(-(RnH>Uj+<-koQ zK-&m;?TK*D0A<8f;Q`Fsn4l2KVgu@{NK)X|`%2r)S=kN5!CVj+xSEq1+Eb$0bDoB-XOPkoZY08jeqI*A;y_?flt= zh0FOL^(F`4ls>(Et~Gpqs*@n|@qZg1LiHe{HoHzns0oD{ebkq7Snv{|$@>0t7h-12 zVdLd19AD|Po + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + diff --git a/images/cc-by-nc-sa.svg b/images/cc-by-nc-sa.svg new file mode 100644 index 000000000..bf6bc26f5 --- /dev/null +++ b/images/cc-by-nc-sa.svg @@ -0,0 +1,121 @@ + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + diff --git a/images/cc-by-nc.svg b/images/cc-by-nc.svg new file mode 100644 index 000000000..36973490a --- /dev/null +++ b/images/cc-by-nc.svg @@ -0,0 +1,121 @@ + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + diff --git a/images/cc-by-nd.svg b/images/cc-by-nd.svg new file mode 100644 index 000000000..934c61e15 --- /dev/null +++ b/images/cc-by-nd.svg @@ -0,0 +1,117 @@ + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + diff --git a/images/cc-by-sa.svg b/images/cc-by-sa.svg new file mode 100644 index 000000000..463276a8c --- /dev/null +++ b/images/cc-by-sa.svg @@ -0,0 +1,121 @@ + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + diff --git a/images/cc-by.svg b/images/cc-by.svg new file mode 100644 index 000000000..4bccd14f6 --- /dev/null +++ b/images/cc-by.svg @@ -0,0 +1,121 @@ + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + diff --git a/images/cc-zero.svg b/images/cc-zero.svg new file mode 100644 index 000000000..0f866392f --- /dev/null +++ b/images/cc-zero.svg @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/favicon_16.ico b/images/favicon_16.ico new file mode 100644 index 0000000000000000000000000000000000000000..8cbf69e975fc2629088138abaa1fd9e347cf9073 GIT binary patch literal 1150 zcmbVM>r0bS7=IIy$S*?Bx4;|HpApih@OvPoDQJ?IiHNd!$+V;fshi=2WNy>VZMrQL zQglkD^Mq!U#-Ca(OZ~mVi>6w|hnwkp3&=A;)#bP+}dhtvq!;7{yu5)Z`K&8<@ zsZya&twuN;=62C&6nFCTk(QAG@9{CW-5}eC6&0whuSZu;4}xcBJhtcH0HII_(z-gB zEfxfWL2f^9vte>-il2RcKVJ3rVrgXsvvYH>&dfkJIEcH2g_yKjVKkdDH$RW@@o{u@ zcXJ=R-42Jt!Oz{4?{;1uUUqgu-q8WgzyO?XH^1B7-G$a*fTF7tHBu=Wo0{)YjsQ)5-0lgu}keh1T|VxcyK z`@N@J56a7tmYxoxj&qb>P{4aGD!#|%_3Ug^OC^v#YJh||C@H;jhSm79x;$(Oia zLP7!(laeq>dD#+c^%CzEs)sGct+*J6tPUI1)vwc`s=6APSy?D8Dte-gJWj+l$h*ZSrr;T}LufgUo687HSc6c-iq8B?lN9Jit2 zVHjzfhlM{^U>{wm?43C@gQx3ge&&w9`h&_ms=@~PRo13w>zmLk? zAvmdawt|5mOePcWopBW*3>XgQI|h+Mxk74wEBx?jMOnVR~)hv&8b8`<=%K zpM|+Co1Hfk6HqH=;6FYkT^#Seehq&3eB35pDL?*uh`i{iPd4ZAKEsGc;&F9G1D?p9 oWBT1JW*2N&rgw?WxOI9OmeCRPDwSxJxAVFFNbimK9r$1Q2T{gJDF6Tf literal 0 HcmV?d00001 diff --git a/images/favicon_32.ico b/images/favicon_32.ico new file mode 100644 index 0000000000000000000000000000000000000000..6f7ce87952125958e426c4d9be48676cd4316b03 GIT binary patch literal 4286 zcmc&&cT|<<8NV)!6BUgb(@3?h#Ff+m4vwdBRa2|ffryG*Q5#$!qBTIQC@M}&n<%IV ziUULxiNTsGZext58XFG|R20R*xR(o;U!UJ|?{`Bvr_J&7k3RT*_Z`poK6`wcOjYF1 z-QC2eX-@-_=}nW#)Lw>cnfl4#zJi>&)v*uzhRO8H)~(UIPaph##0X5AF#{`Ct-`Zs z&p@!*Y|ddVE!DjnH*aFfv}yQ7%a&Lk7KWQY{D5cApTj1nDXFO#HhefDR;<8iA0GsV zgy7D-d-|TWtju{=d3iaE(WYHH2rqDX;|=}o>*WQr*{tu7ewn;i>Y%+dJ{~gz0uT}! zimB75+i~PBi{t!AdO8jrKCJtBBE!bbo8i%`7vgsA)V(sn<9!Bg{%(nhL3I}w)N^%3 z^A;^|=G-|aZPK?|t-216h=Bj($taV(v?E8bZvA@QFO~Z!8{w1iaGX7VUgwsQ68#-N zVFG%1dSb=Ol_)GM)IHuyApMuGUZIc3OdV_%UI>P~X}*2e&SmEQ|^73n~Seb zoKU}=D14IM2C@5@ix;qRO%xV|EY^4V2nr5Ho3?Fn?fP}yGw38GCE=jRNuZCEIBZUv zQRgwAeTD&p2BGT*AHb_$KakG0*jUvy-!XJa-tOMNkJO__@#i(G;px>E9$tNL_}DR= zxo{p6{QZ^Jg+W2;Gi46F?B2Z_d-v|;Rd)ZB-=gATba?k&G;7{mW%^?KcBH1I>DaP$ ztHvsM;Xc74JeNBBN;l+DXf8(P$&(0Kx>Wh@*1fyN>mt#E;pfENv112z?b@ZUQU3(e zXx*j_zWweyT^llTVa#v+_#;M*8G}_(QHsMjp#M;R)U9E69=;GiPuQ~uv**r5yABqN2rUWflvwpp`hJ7wpcl$m+P#v#0va|j*1TlR?K&h9XNo4DJeQVP(4U!~ z-fY$kRYYDX`Y_d~F0xla6_*-tsa+fOME{MXj#)4U~XLTp?d21+at?mu{-@^GG# zcnUK|twHjxEajohX6I|5_*QguH0}!jmn9x9T)e2c;UD4;9E^o~VjuPa)IEE#La7}_ zZQ)KMV0s-Um{&tJSi zettgkME-}OhaAx>dk^aClf zb&^=Pa3L}sd5t>I{4aK+?J5tRRUV|vVdUhjvuDw%OBXzn-ii=B_9zxlkH@|2r?Qfo zX0b}0DR;`hUh>2->0b!{i~PpBH^eTT#0EDVF}2w52jCXu@&P{a12>fj~>C=O&b;0*we*pK6s~5 zt0zyLiqK`t^oF@({(_*%+i~@*<2y}qZ$}F7_`*&&KaE zenS!xw`Jh=^*p+~$Sl4md5`ul=R@Ga<;(E(pQv*Y0anqW(FgLEJXIXj5eMm3219?J z$aiaZ@c}1>(q_Jseva?yKl|wu>5+cz(G%Nt?L?u)j1os)u6%dpHRXLFd5S&FDe<+> zw{6or$nT}zef#P+GX23?DtDI9-x&Au-Rq#w`*=<+Hg1hUw_cv`o8*r<^8)e51q%?e z{7;Bny9R65twUsFB%-8`h>&m85c%fjH_!~}A$|PDVVL&_j2i2MY0_`7&*C>@zT`^+ N{lWNufdAL;zX17^Em;5n literal 0 HcmV?d00001 diff --git a/images/loading.gif b/images/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..efb6768db9d768e6c7322905ed131b4f184c23f8 GIT binary patch literal 35 ncmZ?wbhEHbWMp7uXkcLY|NlP&1A`6_1Nn>$3`|Tej11NQg@y&% literal 0 HcmV?d00001 diff --git a/images/logo.svg b/images/logo.svg new file mode 100644 index 000000000..cbb3937ec --- /dev/null +++ b/images/logo.svg @@ -0,0 +1,23 @@ + +image/svg+xml diff --git a/images/placeholder.gif b/images/placeholder.gif new file mode 100644 index 0000000000000000000000000000000000000000..efb6768db9d768e6c7322905ed131b4f184c23f8 GIT binary patch literal 35 ncmZ?wbhEHbWMp7uXkcLY|NlP&1A`6_1Nn>$3`|Tej11NQg@y&% literal 0 HcmV?d00001 diff --git a/images/quote-l.svg b/images/quote-l.svg new file mode 100644 index 000000000..6dd94a4a0 --- /dev/null +++ b/images/quote-l.svg @@ -0,0 +1,13 @@ + + + + + + + + diff --git a/images/quote-r.svg b/images/quote-r.svg new file mode 100644 index 000000000..312b64d71 --- /dev/null +++ b/images/quote-r.svg @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/images/searchicon.png b/images/searchicon.png new file mode 100644 index 0000000000000000000000000000000000000000..7c21ed01f2374c4fbc4c99ae90d930b5012cdbc9 GIT binary patch literal 759 zcmeAS@N?(olHy`uVBq!ia0vp^av;pX0wgC|rfC8xmUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VX;-`;;_Kaj^> z;_2(k{+NZC(M;$-n8OMN2F6>SE{-79QY?=9mfa(ubKkqFi;234U_-nuM;M~c^X zJepfJ>D-Nou3o30+Z{i+O+IMmusEt5u|M$4g}aqQeWE~s0gKL_&q9%cmS1GLtM9#i zb52ih{mr@G|L&PtnSU=>``%`sNoub$m-L$4Up3EYv023iEsLf40`)!FALAx{ zI9w{zVeCHJ)R6DLtKs|hb`9^aYNu`^&4Pm6jYAAViZD8ER`{GqUCh(F7kA37g) zaqiAAd2Zr*Xs^wpiz&GuGzn>PTl+sZzk9Vq{fXaN-ak4MlD8Bq z?>IeWeTwcHu2nnLle142`rnuP*cxZ`GNFO>T<^Snhc^07%5?tX&?)3UZRVu!X1TiO z-0wg65Owl%tV*hM!`d^!JPrG2C^#S79Hb!GBHG20yk@eh_q5n)lG7e7>Dln})Lqf_ zTkSp_vnhRafNQzcS*_j6fsErf{#M&WOkA_<-Hh*r52s&|ozzkO{MJMBigqVkX8iy! zlO!pTiNJ_gEpd$~Nl7e8wMs5Z1yT$~28Ncp1}3@&#vulVR;DIah8Efe237_Jes}Go zQ8eV{r(~v8;?`i_(Ec2#K@wy`aDG}zd16s2gJVj5QmTSyZen_BP- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + How Time Flies + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/js/affix.js b/js/affix.js new file mode 100644 index 000000000..240e43a78 --- /dev/null +++ b/js/affix.js @@ -0,0 +1,168 @@ +/* ======================================================================== + * Bootstrap: affix.js v3.3.5 + * http://getbootstrap.com/javascript/#affix + * ======================================================================== + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + * ======================================================================== */ + +/** + * Customized by Ivan.Nginx + * + * - Refactored with eslint-config-theme-next style. + */ + +(function($) { + 'use strict'; + + // AFFIX CLASS DEFINITION + // ====================== + + var Affix = function(element, options) { + this.options = $.extend({}, Affix.DEFAULTS, options); + + this.$target = $(this.options.target) + .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this)) + .on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this)); + + this.$element = $(element); + this.affixed = null; + this.unpin = null; + this.pinnedOffset = null; + + this.checkPosition(); + }; + + Affix.VERSION = '3.3.5'; + + Affix.RESET = 'affix affix-top affix-bottom'; + + Affix.DEFAULTS = { + offset: 0, + target: window + }; + + Affix.prototype.getState = function(scrollHeight, height, offsetTop, offsetBottom) { + var scrollTop = this.$target.scrollTop(); + var position = this.$element.offset(); + var targetHeight = this.$target.height(); + + if (offsetTop != null && this.affixed === 'top') return scrollTop < offsetTop ? 'top' : false; + + if (this.affixed === 'bottom') { + if (offsetTop != null) return scrollTop + this.unpin <= position.top ? false : 'bottom'; + return scrollTop + targetHeight <= scrollHeight - offsetBottom ? false : 'bottom'; + } + + var initializing = this.affixed == null; + var colliderTop = initializing ? scrollTop : position.top; + var colliderHeight = initializing ? targetHeight : height; + + if (offsetTop != null && scrollTop <= offsetTop) return 'top'; + if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight - offsetBottom)) return 'bottom'; + + return false; + }; + + Affix.prototype.getPinnedOffset = function() { + if (this.pinnedOffset) return this.pinnedOffset; + this.$element.removeClass(Affix.RESET).addClass('affix'); + var scrollTop = this.$target.scrollTop(); + var position = this.$element.offset(); + return (this.pinnedOffset = position.top - scrollTop); + }; + + Affix.prototype.checkPositionWithEventLoop = function() { + setTimeout($.proxy(this.checkPosition, this), 1); + }; + + Affix.prototype.checkPosition = function() { + if (!this.$element.is(':visible')) return; + + var height = this.$element.height(); + var offset = this.options.offset; + var offsetTop = offset.top; + var offsetBottom = offset.bottom; + var scrollHeight = Math.max($(document).height(), $(document.body).height()); + + /* eslint-disable */ + if (typeof offset !== 'object') offsetBottom = offsetTop = offset; + if (typeof offsetTop === 'function') offsetTop = offset.top(this.$element); + if (typeof offsetBottom === 'function') offsetBottom = offset.bottom(this.$element); + /* eslint-enable */ + + var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom); + + if (this.affixed !== affix) { + if (this.unpin != null) this.$element.css('top', ''); + + var affixType = 'affix' + (affix ? '-' + affix : ''); + var e = new $.Event(affixType + '.bs.affix'); + + this.$element.trigger(e); + + if (e.isDefaultPrevented()) return; + + this.affixed = affix; + this.unpin = affix === 'bottom' ? this.getPinnedOffset() : null; + + this.$element + .removeClass(Affix.RESET) + .addClass(affixType) + .trigger(affixType.replace('affix', 'affixed') + '.bs.affix'); + } + + if (affix === 'bottom') { + this.$element.offset({ + top: scrollHeight - height - offsetBottom + }); + } + }; + + // AFFIX PLUGIN DEFINITION + // ======================= + + function Plugin(option) { + return this.each(function() { + var $this = $(this); + var data = $this.data('bs.affix'); + var options = typeof option === 'object' && option; + + if (!data) $this.data('bs.affix', data = new Affix(this, options)); + if (typeof option === 'string') data[option](); + }); + } + + var old = $.fn.affix; + + $.fn.affix = Plugin; + $.fn.affix.Constructor = Affix; + + // AFFIX NO CONFLICT + // ================= + + $.fn.affix.noConflict = function() { + $.fn.affix = old; + return this; + }; + + // AFFIX DATA-API + // ============== + + $(window).on('load', function() { + $('[data-spy="affix"]').each(function() { + var $spy = $(this); + var data = $spy.data(); + + data.offset = data.offset || {}; + + /* eslint-disable */ + if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom; + if (data.offsetTop != null) data.offset.top = data.offsetTop; + /* eslint-enable */ + + Plugin.call($spy, data); + }); + }); + +}(jQuery)); diff --git a/js/algolia-search.js b/js/algolia-search.js new file mode 100644 index 000000000..06decd8cb --- /dev/null +++ b/js/algolia-search.js @@ -0,0 +1,114 @@ +/* global instantsearch, CONFIG */ + +$(document).ready(function() { + var algoliaSettings = CONFIG.algolia; + var isAlgoliaSettingsValid = algoliaSettings.applicationID + && algoliaSettings.apiKey + && algoliaSettings.indexName; + + if (!isAlgoliaSettingsValid) { + window.console.error('Algolia Settings are invalid.'); + return; + } + + var search = instantsearch({ + appId : algoliaSettings.applicationID, + apiKey : algoliaSettings.apiKey, + indexName : algoliaSettings.indexName, + searchFunction: function(helper) { + var searchInput = $('#algolia-search-input').find('input'); + + if (searchInput.val()) { + helper.search(); + } + } + }); + + // Registering Widgets + [ + instantsearch.widgets.searchBox({ + container : '#algolia-search-input', + placeholder: algoliaSettings.labels.input_placeholder + }), + + instantsearch.widgets.hits({ + container : '#algolia-hits', + hitsPerPage: algoliaSettings.hits.per_page || 10, + templates : { + item: function(data) { + var link = data.permalink ? data.permalink : CONFIG.root + data.path; + return ( + '' + + data._highlightResult.title.value + + '' + ); + }, + empty: function(data) { + return ( + '
' + + algoliaSettings.labels.hits_empty.replace(/\$\{query}/, data.query) + + '
' + ); + } + }, + cssClasses: { + item: 'algolia-hit-item' + } + }), + + instantsearch.widgets.stats({ + container: '#algolia-stats', + templates: { + body: function(data) { + var stats = algoliaSettings.labels.hits_stats + .replace(/\$\{hits}/, data.nbHits) + .replace(/\$\{time}/, data.processingTimeMS); + return ( + stats + + '' + + ' Algolia' + + '' + + '
' + ); + } + } + }), + + instantsearch.widgets.pagination({ + container : '#algolia-pagination', + scrollTo : false, + showFirstLast: false, + labels : { + first : '', + last : '', + previous: '', + next : '' + }, + cssClasses: { + root : 'pagination', + item : 'pagination-item', + link : 'page-number', + active : 'current', + disabled: 'disabled-item' + } + }) + ].forEach(search.addWidget, search); + + search.start(); + + $('.popup-trigger').on('click', function(e) { + e.stopPropagation(); + $('body') + .append('
') + .css('overflow', 'hidden'); + $('.popup').toggle(); + $('#algolia-search-input').find('input').focus(); + }); + + $('.popup-btn-close').click(function() { + $('.popup').hide(); + $('.algolia-pop-overlay').remove(); + $('body').css('overflow', ''); + }); + +}); diff --git a/js/exturl.js b/js/exturl.js new file mode 100644 index 000000000..806a29efe --- /dev/null +++ b/js/exturl.js @@ -0,0 +1,14 @@ +$(document).ready(function() { + + // Create Base64 Object + /* eslint-disable */ + var Base64={_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",encode:function(e){var t="";var n,r,i,s,o,u,a;var f=0;e=Base64._utf8_encode(e);while(f>2;o=(n&3)<<4|r>>4;u=(r&15)<<2|i>>6;a=i&63;if(isNaN(r)){u=a=64}else if(isNaN(i)){a=64}t=t+this._keyStr.charAt(s)+this._keyStr.charAt(o)+this._keyStr.charAt(u)+this._keyStr.charAt(a)}return t},decode:function(e){var t="";var n,r,i;var s,o,u,a;var f=0;e=e.replace(/[^A-Za-z0-9+/=]/g,"");while(f>4;r=(o&15)<<4|u>>2;i=(u&3)<<6|a;t=t+String.fromCharCode(n);if(u!=64){t=t+String.fromCharCode(r)}if(a!=64){t=t+String.fromCharCode(i)}}t=Base64._utf8_decode(t);return t},_utf8_encode:function(e){e=e.replace(/rn/g,"n");var t="";for(var n=0;n127&&r<2048){t+=String.fromCharCode(r>>6|192);t+=String.fromCharCode(r&63|128)}else{t+=String.fromCharCode(r>>12|224);t+=String.fromCharCode(r>>6&63|128);t+=String.fromCharCode(r&63|128)}}return t},_utf8_decode:function(e){var t="";var n=0;var r=c1=c2=0;while(n191&&r<224){c2=e.charCodeAt(n+1);t+=String.fromCharCode((r&31)<<6|c2&63);n+=2}else{c2=e.charCodeAt(n+1);c3=e.charCodeAt(n+2);t+=String.fromCharCode((r&15)<<12|(c2&63)<<6|c3&63);n+=3}}return t}}; + + $('.exturl').on('click', function() { + var $exturl = $(this).attr('data-url'); + var $decurl = Base64.decode($exturl); + window.open($decurl, '_blank'); + return false; + }); + +}); diff --git a/js/js.cookie.js b/js/js.cookie.js new file mode 100644 index 000000000..97b4fea1d --- /dev/null +++ b/js/js.cookie.js @@ -0,0 +1,166 @@ +/*! + * JavaScript Cookie v2.1.4 + * https://github.com/js-cookie/js-cookie + * + * Copyright 2006, 2015 Klaus Hartl & Fagner Brack + * Released under the MIT license + */ + +;(function (factory) { + var registeredInModuleLoader = false; + if (typeof define === 'function' && define.amd) { + define(factory); + registeredInModuleLoader = true; + } + if (typeof exports === 'object') { + module.exports = factory(); + registeredInModuleLoader = true; + } + if (!registeredInModuleLoader) { + var OldCookies = window.Cookies; + var api = window.Cookies = factory(); + api.noConflict = function () { + window.Cookies = OldCookies; + return api; + }; + } +}(function () { + function extend () { + var i = 0; + var result = {}; + for (; i < arguments.length; i++) { + var attributes = arguments[ i ]; + for (var key in attributes) { + result[key] = attributes[key]; + } + } + return result; + } + + function init (converter) { + function api (key, value, attributes) { + var result; + if (typeof document === 'undefined') { + return; + } + + // Write + + if (arguments.length > 1) { + attributes = extend({ + path: '/' + }, api.defaults, attributes); + + if (typeof attributes.expires === 'number') { + var expires = new Date(); + expires.setMilliseconds(expires.getMilliseconds() + attributes.expires * 864e+5); + attributes.expires = expires; + } + + // We're using "expires" because "max-age" is not supported by IE + attributes.expires = attributes.expires ? attributes.expires.toUTCString() : ''; + + try { + result = JSON.stringify(value); + if (/^[\{\[]/.test(result)) { + value = result; + } + } catch (e) {} + + if (!converter.write) { + value = encodeURIComponent(String(value)) + .replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent); + } else { + value = converter.write(value, key); + } + + key = encodeURIComponent(String(key)); + key = key.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent); + key = key.replace(/[\(\)]/g, escape); + + var stringifiedAttributes = ''; + + for (var attributeName in attributes) { + if (!attributes[attributeName]) { + continue; + } + stringifiedAttributes += '; ' + attributeName; + if (attributes[attributeName] === true) { + continue; + } + stringifiedAttributes += '=' + attributes[attributeName]; + } + return (document.cookie = key + '=' + value + stringifiedAttributes); + } + + // Read + + if (!key) { + result = {}; + } + + // To prevent the for loop in the first place assign an empty array + // in case there are no cookies at all. Also prevents odd result when + // calling "get()" + var cookies = document.cookie ? document.cookie.split('; ') : []; + var rdecode = /(%[0-9A-Z]{2})+/g; + var i = 0; + + for (; i < cookies.length; i++) { + var parts = cookies[i].split('='); + var cookie = parts.slice(1).join('='); + + if (cookie.charAt(0) === '"') { + cookie = cookie.slice(1, -1); + } + + try { + var name = parts[0].replace(rdecode, decodeURIComponent); + cookie = converter.read ? + converter.read(cookie, name) : converter(cookie, name) || + cookie.replace(rdecode, decodeURIComponent); + + if (this.json) { + try { + cookie = JSON.parse(cookie); + } catch (e) {} + } + + if (key === name) { + result = cookie; + break; + } + + if (!key) { + result[name] = cookie; + } + } catch (e) {} + } + + return result; + } + + api.set = api; + api.get = function (key) { + return api.call(api, key); + }; + api.getJSON = function () { + return api.apply({ + json: true + }, [].slice.call(arguments)); + }; + api.defaults = {}; + + api.remove = function (key, attributes) { + api(key, '', extend(attributes, { + expires: -1 + })); + }; + + api.withConverter = init; + + return api; + } + + return init(function () {}); +})); diff --git a/js/motion.js b/js/motion.js new file mode 100644 index 000000000..57a039ba4 --- /dev/null +++ b/js/motion.js @@ -0,0 +1,372 @@ +/* global NexT, CONFIG */ + +$(document).ready(function() { + NexT.motion = {}; + + var sidebarToggleLines = { + lines: [], + push : function(line) { + this.lines.push(line); + }, + init: function() { + this.lines.forEach(function(line) { + line.init(); + }); + }, + arrow: function() { + this.lines.forEach(function(line) { + line.arrow(); + }); + }, + close: function() { + this.lines.forEach(function(line) { + line.close(); + }); + } + }; + + function SidebarToggleLine(settings) { + this.el = $(settings.el); + this.status = $.extend({}, { + init: { + width : '100%', + opacity: 1, + left : 0, + rotateZ: 0, + top : 0 + } + }, settings.status); + } + + SidebarToggleLine.prototype.init = function() { + this.transform('init'); + }; + SidebarToggleLine.prototype.arrow = function() { + this.transform('arrow'); + }; + SidebarToggleLine.prototype.close = function() { + this.transform('close'); + }; + SidebarToggleLine.prototype.transform = function(status) { + this.el.velocity('stop').velocity(this.status[status]); + }; + + var sidebarToggleLine1st = new SidebarToggleLine({ + el : '.sidebar-toggle-line-first', + status: { + arrow: {width: '50%', rotateZ: '-45deg', top: '2px'}, + close: {width: '100%', rotateZ: '-45deg', top: '5px'} + } + }); + var sidebarToggleLine2nd = new SidebarToggleLine({ + el : '.sidebar-toggle-line-middle', + status: { + arrow: {width: '90%'}, + close: {opacity: 0} + } + }); + var sidebarToggleLine3rd = new SidebarToggleLine({ + el : '.sidebar-toggle-line-last', + status: { + arrow: {width: '50%', rotateZ: '45deg', top: '-2px'}, + close: {width: '100%', rotateZ: '45deg', top: '-5px'} + } + }); + + sidebarToggleLines.push(sidebarToggleLine1st); + sidebarToggleLines.push(sidebarToggleLine2nd); + sidebarToggleLines.push(sidebarToggleLine3rd); + + var SIDEBAR_WIDTH = CONFIG.sidebar.width ? CONFIG.sidebar.width : '320px'; + var SIDEBAR_DISPLAY_DURATION = 200; + var xPos, yPos; + + var sidebarToggleMotion = { + toggleEl : $('.sidebar-toggle'), + dimmerEl : $('#sidebar-dimmer'), + sidebarEl : $('.sidebar'), + isSidebarVisible: false, + init : function() { + this.toggleEl.on('click', this.clickHandler.bind(this)); + this.dimmerEl.on('click', this.clickHandler.bind(this)); + this.toggleEl.on('mouseenter', this.mouseEnterHandler.bind(this)); + this.toggleEl.on('mouseleave', this.mouseLeaveHandler.bind(this)); + this.sidebarEl.on('touchstart', this.touchstartHandler.bind(this)); + this.sidebarEl.on('touchend', this.touchendHandler.bind(this)); + this.sidebarEl.on('touchmove', function(e) { e.preventDefault(); }); + + $(document) + .on('sidebar.isShowing', function() { + NexT.utils.isDesktop() && $('body').velocity('stop').velocity( + {paddingRight: SIDEBAR_WIDTH}, + SIDEBAR_DISPLAY_DURATION + ); + }) + .on('sidebar.isHiding', function() { + }); + }, + clickHandler: function() { + this.isSidebarVisible ? this.hideSidebar() : this.showSidebar(); + this.isSidebarVisible = !this.isSidebarVisible; + }, + mouseEnterHandler: function() { + if (this.isSidebarVisible) { + return; + } + sidebarToggleLines.arrow(); + }, + mouseLeaveHandler: function() { + if (this.isSidebarVisible) { + return; + } + sidebarToggleLines.init(); + }, + touchstartHandler: function(e) { + xPos = e.originalEvent.touches[0].clientX; + yPos = e.originalEvent.touches[0].clientY; + }, + touchendHandler: function(e) { + var _xPos = e.originalEvent.changedTouches[0].clientX; + var _yPos = e.originalEvent.changedTouches[0].clientY; + if (_xPos - xPos > 30 && Math.abs(_yPos - yPos) < 20) { + this.clickHandler(); + } + }, + showSidebar: function() { + var self = this; + + sidebarToggleLines.close(); + + this.sidebarEl.velocity('stop').velocity({ + width: SIDEBAR_WIDTH + }, { + display : 'block', + duration: SIDEBAR_DISPLAY_DURATION, + begin : function() { + $('.sidebar .motion-element').not('.site-state').velocity( + 'transition.slideRightIn', { + stagger : 50, + drag : true, + complete: function() { + self.sidebarEl.trigger('sidebar.motion.complete'); + } + } + ); + $('.site-state').velocity( + 'transition.slideRightIn', { + stagger : 50, + drag : true, + display : 'flex' + } + ); + }, + complete: function() { + self.sidebarEl.addClass('sidebar-active'); + self.sidebarEl.trigger('sidebar.didShow'); + } + }); + + this.sidebarEl.trigger('sidebar.isShowing'); + }, + hideSidebar: function() { + NexT.utils.isDesktop() && $('body').velocity('stop').velocity({paddingRight: 0}); + this.sidebarEl.find('.motion-element').velocity('stop').css('display', 'none'); + this.sidebarEl.velocity('stop').velocity({width: 0}, {display: 'none'}); + + sidebarToggleLines.init(); + + this.sidebarEl.removeClass('sidebar-active'); + this.sidebarEl.trigger('sidebar.isHiding'); + + // Prevent adding TOC to Overview if Overview was selected when close & open sidebar. + if ($('.post-toc-wrap')) { + if ($('.site-overview-wrap').css('display') === 'block') { + $('.post-toc-wrap').removeClass('motion-element'); + } else { + $('.post-toc-wrap').addClass('motion-element'); + } + } + } + }; + sidebarToggleMotion.init(); + + NexT.motion.integrator = { + queue : [], + cursor: -1, + add : function(fn) { + this.queue.push(fn); + return this; + }, + next: function() { + this.cursor++; + var fn = this.queue[this.cursor]; + $.isFunction(fn) && fn(NexT.motion.integrator); + }, + bootstrap: function() { + this.next(); + } + }; + + NexT.motion.middleWares = { + logo: function(integrator) { + var sequence = []; + var $brand = $('.brand'); + var $image = $('.custom-logo-image'); + var $title = $('.site-title'); + var $subtitle = $('.site-subtitle'); + var $logoLineTop = $('.logo-line-before i'); + var $logoLineBottom = $('.logo-line-after i'); + + $brand.length > 0 && sequence.push({ + e: $brand, + p: {opacity: 1}, + o: {duration: 200} + }); + + /** + * Check if $elements exist. + * @param {jQuery|Array} $elements + * @returns {boolean} + */ + function hasElement($elements) { + $elements = Array.isArray($elements) ? $elements : [$elements]; + return $elements.every(function($element) { + return $element.length > 0; + }); + } + + function getMistLineSettings(element, translateX) { + return { + e: $(element), + p: {translateX: translateX}, + o: { + duration : 500, + sequenceQueue: false + } + }; + } + + function pushImageToSequence() { + sequence.push({ + e: $image, + p: {opacity: 1, top: 0}, + o: {duration: 200} + }); + } + + NexT.utils.isMist() && hasElement([$logoLineTop, $logoLineBottom]) + && sequence.push( + getMistLineSettings($logoLineTop, '100%'), + getMistLineSettings($logoLineBottom, '-100%') + ); + + NexT.utils.isMuse() && hasElement($image) && pushImageToSequence(); + + hasElement($title) && sequence.push({ + e: $title, + p: {opacity: 1, top: 0}, + o: {duration: 200} + }); + + hasElement($subtitle) && sequence.push({ + e: $subtitle, + p: {opacity: 1, top: 0}, + o: {duration: 200} + }); + + (NexT.utils.isPisces() || NexT.utils.isGemini()) && hasElement($image) && pushImageToSequence(); + + if (CONFIG.motion.async) { + integrator.next(); + } + + if (sequence.length > 0) { + sequence[sequence.length - 1].o.complete = function() { + integrator.next(); + }; + /* eslint-disable */ + $.Velocity.RunSequence(sequence); + /* eslint-enable */ + } else { + integrator.next(); + } + }, + + menu: function(integrator) { + + if (CONFIG.motion.async) { + integrator.next(); + } + + $('.menu-item').velocity('transition.slideDownIn', { + display : null, + duration: 200, + complete: function() { + integrator.next(); + } + }); + }, + + postList: function(integrator) { + + //var $post = $('.post'); + var $postBlock = $('.post-block, .pagination, .comments'); + var $postBlockTransition = CONFIG.motion.transition.post_block; + var $postHeader = $('.post-header'); + var $postHeaderTransition = CONFIG.motion.transition.post_header; + var $postBody = $('.post-body'); + var $postBodyTransition = CONFIG.motion.transition.post_body; + var $collHeader = $('.collection-title, .archive-year'); + var $collHeaderTransition = CONFIG.motion.transition.coll_header; + var $sidebarAffix = $('.sidebar-inner'); + var $sidebarAffixTransition = CONFIG.motion.transition.sidebar; + var hasPost = $postBlock.length > 0; + + function postMotion() { + var postMotionOptions = window.postMotionOptions || { + stagger: 100, + drag : true + }; + postMotionOptions.complete = function() { + // After motion complete need to remove transform from sidebar to let affix work on Pisces | Gemini. + if (CONFIG.motion.transition.sidebar && (NexT.utils.isPisces() || NexT.utils.isGemini())) { + $sidebarAffix.css({ 'transform': 'initial' }); + } + integrator.next(); + }; + + //$post.velocity('transition.slideDownIn', postMotionOptions); + if (CONFIG.motion.transition.post_block) { + $postBlock.velocity('transition.' + $postBlockTransition, postMotionOptions); + } + if (CONFIG.motion.transition.post_header) { + $postHeader.velocity('transition.' + $postHeaderTransition, postMotionOptions); + } + if (CONFIG.motion.transition.post_body) { + $postBody.velocity('transition.' + $postBodyTransition, postMotionOptions); + } + if (CONFIG.motion.transition.coll_header) { + $collHeader.velocity('transition.' + $collHeaderTransition, postMotionOptions); + } + // Only for Pisces | Gemini. + if (CONFIG.motion.transition.sidebar && (NexT.utils.isPisces() || NexT.utils.isGemini())) { + $sidebarAffix.velocity('transition.' + $sidebarAffixTransition, postMotionOptions); + } + } + + hasPost ? postMotion() : integrator.next(); + + if (CONFIG.motion.async) { + integrator.next(); + } + }, + + sidebar: function(integrator) { + if (CONFIG.sidebar.display === 'always') { + NexT.utils.displaySidebar(); + } + integrator.next(); + } + }; + +}); diff --git a/js/next-boot.js b/js/next-boot.js new file mode 100644 index 000000000..f9c02d32b --- /dev/null +++ b/js/next-boot.js @@ -0,0 +1,53 @@ +/* global NexT, CONFIG */ + +$(document).ready(function() { + + $(document).trigger('bootstrap:before'); + + /** + * Register JS handlers by condition option. + * Need to add config option in Front-End at 'layout/_partials/head.swig' file. + */ + CONFIG.fastclick && NexT.utils.isMobile() && window.FastClick.attach(document.body); + CONFIG.lazyload && NexT.utils.lazyLoadPostsImages(); + + NexT.utils.registerESCKeyEvent(); + + CONFIG.back2top && NexT.utils.registerBackToTop(); + + // Mobile top menu bar. + $('.site-nav-toggle button').on('click', function() { + var $siteNav = $('.site-nav'); + var ON_CLASS_NAME = 'site-nav-on'; + var isSiteNavOn = $siteNav.hasClass(ON_CLASS_NAME); + var animateAction = isSiteNavOn ? 'slideUp' : 'slideDown'; + var animateCallback = isSiteNavOn ? 'removeClass' : 'addClass'; + + $siteNav.stop()[animateAction]('fast', function() { + $siteNav[animateCallback](ON_CLASS_NAME); + }); + }); + + /** + * Register JS handlers by condition option. + * Need to add config option in Front-End at 'layout/_partials/head.swig' file. + */ + CONFIG.fancybox && NexT.utils.wrapImageWithFancyBox(); + CONFIG.tabs && NexT.utils.registerTabsTag(); + + NexT.utils.embeddedVideoTransformer(); + + // Define Motion Sequence. + NexT.motion.integrator + .add(NexT.motion.middleWares.logo) + .add(NexT.motion.middleWares.menu) + .add(NexT.motion.middleWares.postList) + .add(NexT.motion.middleWares.sidebar); + + $(document).trigger('motion:before'); + + // Bootstrap Motion. + CONFIG.motion.enable && NexT.motion.integrator.bootstrap(); + + $(document).trigger('bootstrap:after'); +}); diff --git a/js/post-details.js b/js/post-details.js new file mode 100644 index 000000000..e47f1bb5d --- /dev/null +++ b/js/post-details.js @@ -0,0 +1,104 @@ +/* global NexT, CONFIG */ + +$(document).ready(function() { + + function initScrollSpy() { + var tocSelector = '.post-toc'; + var $tocElement = $(tocSelector); + var activeCurrentSelector = '.active-current'; + + function removeCurrentActiveClass() { + $(tocSelector + ' ' + activeCurrentSelector) + .removeClass(activeCurrentSelector.substring(1)); + } + + $tocElement + .on('activate.bs.scrollspy', function() { + var $currentActiveElement = $(tocSelector + ' .active').last(); + + removeCurrentActiveClass(); + $currentActiveElement.addClass('active-current'); + + // Scrolling to center active TOC element if TOC content is taller then viewport. + $tocElement.scrollTop($currentActiveElement.offset().top - $tocElement.offset().top + $tocElement.scrollTop() - ($tocElement.height() / 2)); + }) + .on('clear.bs.scrollspy', removeCurrentActiveClass); + + $('body').scrollspy({ target: tocSelector }); + } + + initScrollSpy(); +}); + +$(document).ready(function() { + var html = $('html'); + var TAB_ANIMATE_DURATION = 200; + var hasVelocity = $.isFunction(html.velocity); + + $('.sidebar-nav li').on('click', function() { + var item = $(this); + var activeTabClassName = 'sidebar-nav-active'; + var activePanelClassName = 'sidebar-panel-active'; + if (item.hasClass(activeTabClassName)) { + return; + } + + var currentTarget = $('.' + activePanelClassName); + var target = $('.' + item.data('target')); + + hasVelocity + ? currentTarget.velocity('transition.slideUpOut', TAB_ANIMATE_DURATION, function() { + target + .velocity('stop') + .velocity('transition.slideDownIn', TAB_ANIMATE_DURATION) + .addClass(activePanelClassName); + }) + : currentTarget.animate({ opacity: 0 }, TAB_ANIMATE_DURATION, function() { + currentTarget.hide(); + target + .stop() + .css({'opacity': 0, 'display': 'block'}) + .animate({ opacity: 1 }, TAB_ANIMATE_DURATION, function() { + currentTarget.removeClass(activePanelClassName); + target.addClass(activePanelClassName); + }); + }); + + item.siblings().removeClass(activeTabClassName); + item.addClass(activeTabClassName); + }); + + // TOC item animation navigate & prevent #item selector in adress bar. + $('.post-toc a').on('click', function(e) { + e.preventDefault(); + var targetSelector = NexT.utils.escapeSelector(this.getAttribute('href')); + var offset = $(targetSelector).offset().top; + + hasVelocity + ? html.velocity('stop').velocity('scroll', { + offset : offset + 'px', + mobileHA: false + }) + : $('html, body').stop().animate({ + scrollTop: offset + }, 500); + }); + + // Expand sidebar on post detail page by default, when post has a toc. + var $tocContent = $('.post-toc-content'); + var display = CONFIG.page.sidebar; + if (typeof display !== 'boolean') { + // There's no definition sidebar in the page front-matter + var isSidebarCouldDisplay = CONFIG.sidebar.display === 'post' + || CONFIG.sidebar.display === 'always'; + var hasTOC = $tocContent.length > 0 && $tocContent.html().trim().length > 0; + display = isSidebarCouldDisplay && hasTOC; + } + if (display) { + CONFIG.motion.enable + ? NexT.motion.middleWares.sidebar = function() { + NexT.utils.displaySidebar(); + } + : NexT.utils.displaySidebar(); + } +}); diff --git a/js/schemes/muse.js b/js/schemes/muse.js new file mode 100644 index 000000000..a0e2c5662 --- /dev/null +++ b/js/schemes/muse.js @@ -0,0 +1,9 @@ +$(document).ready(function() { + function updateFooterPosition() { + var containerHeight = $('#footer').attr('position') ? $('.container').height() + $('#footer').outerHeight(true) : $('.container').height(); + if (containerHeight < window.innerHeight) $('#footer').css({ 'position': 'fixed', 'bottom': 0, 'left': 0, 'right': 0 }).attr('position', 'fixed'); + else $('#footer').removeAttr('style position'); + } + updateFooterPosition(); + $(window).on('resize scroll', updateFooterPosition); +}); diff --git a/js/schemes/pisces.js b/js/schemes/pisces.js new file mode 100644 index 000000000..8c6e896fd --- /dev/null +++ b/js/schemes/pisces.js @@ -0,0 +1,57 @@ +/* global NexT, CONFIG */ + +$(document).ready(function() { + + var sidebarInner = $('.sidebar-inner'); + var sidebarOffset = CONFIG.sidebar.offset || 12; + + function getHeaderOffset() { + return $('.header-inner').height() + sidebarOffset; + } + + function getFooterOffset() { + var footer = $('#footer'); + var footerInner = $('.footer-inner'); + var footerMargin = footer.outerHeight() - footerInner.outerHeight(); + var footerOffset = footer.outerHeight() + footerMargin; + return footerOffset; + } + + function initAffix() { + var headerOffset = getHeaderOffset(); + var footerOffset = getFooterOffset(); + var sidebarHeight = $('#sidebar').height() + NexT.utils.getSidebarb2tHeight(); + var contentHeight = $('#content').height(); + + // Not affix if sidebar taller than content (to prevent bottom jumping). + if (headerOffset + sidebarHeight < contentHeight) { + sidebarInner.affix({ + offset: { + top : headerOffset - sidebarOffset, + bottom: footerOffset + } + }); + sidebarInner.affix('checkPosition'); + } + + $('#sidebar').css({ 'margin-top': headerOffset, 'margin-left': 'auto' }); + } + + function recalculateAffixPosition() { + $(window).off('.affix'); + sidebarInner.removeData('bs.affix').removeClass('affix affix-top affix-bottom'); + initAffix(); + } + + function resizeListener() { + var mql = window.matchMedia('(min-width: 992px)'); + mql.addListener(function(e) { + if (e.matches) { + recalculateAffixPosition(); + } + }); + } + + initAffix(); + resizeListener(); +}); diff --git a/js/scroll-cookie.js b/js/scroll-cookie.js new file mode 100644 index 000000000..2db1f8af7 --- /dev/null +++ b/js/scroll-cookie.js @@ -0,0 +1,25 @@ +$(document).ready(function() { + + /* global Cookies */ + + // Set relative link path (without domain) + var rpath = window.location.href.replace(window.location.origin, ''); + + // Write position in cookie + var timeout; + $(window).on('scroll', function() { + clearTimeout(timeout); + timeout = setTimeout(function() { + Cookies.set('scroll-cookie', $(window).scrollTop() + '|' + rpath, { expires: 365, path: '' }); + }, 250); + }); + + // Read position from cookie + if (Cookies.get('scroll-cookie') !== undefined) { + var cvalues = Cookies.get('scroll-cookie').split('|'); + if (cvalues[1] === rpath) { + $(window).scrollTop(cvalues[0]); + } + } + +}); diff --git a/js/scrollspy.js b/js/scrollspy.js new file mode 100644 index 000000000..7efacace4 --- /dev/null +++ b/js/scrollspy.js @@ -0,0 +1,179 @@ +/* ======================================================================== +* Bootstrap: scrollspy.js v3.3.2 +* http://getbootstrap.com/javascript/#scrollspy +* ======================================================================== +* Copyright 2011-2015 Twitter, Inc. +* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) +* ======================================================================== */ + +/** + * Customized by iissnan & Ivan.Nginx + * + * - Add a `clear.bs.scrollspy` event. + * - Esacpe targets selector. + * - Refactored with eslint-config-theme-next style. + */ + +/* global NexT */ + +(function($) { + 'use strict'; + + // SCROLLSPY CLASS DEFINITION + // ========================== + function ScrollSpy(element, options) { + this.$body = $(document.body); + this.$scrollElement = $(element).is(document.body) ? $(window) : $(element); + this.options = $.extend({}, ScrollSpy.DEFAULTS, options); + this.selector = (this.options.target || '') + ' .nav li > a'; + this.offsets = []; + this.targets = []; + this.activeTarget = null; + this.scrollHeight = 0; + + this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this)); + this.refresh(); + this.process(); + } + + ScrollSpy.VERSION = '3.3.2'; + + ScrollSpy.DEFAULTS = { + offset: 10 + }; + + ScrollSpy.prototype.getScrollHeight = function() { + return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight); + }; + + ScrollSpy.prototype.refresh = function() { + var that = this; + var offsetMethod = 'offset'; + var offsetBase = 0; + + this.offsets = []; + this.targets = []; + this.scrollHeight = this.getScrollHeight(); + + if (!$.isWindow(this.$scrollElement[0])) { + offsetMethod = 'position'; + offsetBase = this.$scrollElement.scrollTop(); + } + + this.$body + .find(this.selector) + .map(function() { + var $el = $(this); + var href = $el.data('target') || $el.attr('href'); + var $href = /^#./.test(href) && $(NexT.utils.escapeSelector(href)); // Need to escape selector. + + return ($href + && $href.length + && $href.is(':visible') + && [[$href[offsetMethod]().top + offsetBase, href]]) || null; + }) + .sort(function(a, b) { + return a[0] - b[0]; + }) + .each(function() { + that.offsets.push(this[0]); + that.targets.push(this[1]); + }); + + + }; + + ScrollSpy.prototype.process = function() { + var scrollTop = this.$scrollElement.scrollTop() + this.options.offset; + var scrollHeight = this.getScrollHeight(); + var maxScroll = this.options.offset + scrollHeight - this.$scrollElement.height(); + var offsets = this.offsets; + var targets = this.targets; + var activeTarget = this.activeTarget; + var i; + + if (this.scrollHeight !== scrollHeight) { + this.refresh(); + } + + if (scrollTop >= maxScroll) { + return activeTarget !== (i = targets[targets.length - 1]) && this.activate(i); + } + + if (activeTarget && scrollTop < offsets[0]) { + $(this.selector).trigger('clear.bs.scrollspy'); // Add a custom event. + this.activeTarget = null; + return this.clear(); + } + + for (i = offsets.length; i--;) { + activeTarget !== targets[i] + && scrollTop >= offsets[i] + && (!offsets[i + 1] || scrollTop <= offsets[i + 1]) + && this.activate(targets[i]); + } + }; + + ScrollSpy.prototype.activate = function(target) { + this.activeTarget = target; + + this.clear(); + + var selector = this.selector + + '[data-target="' + target + '"],' + + this.selector + '[href="' + target + '"]'; + + var active = $(selector) + .parents('li') + .addClass('active'); + + if (active.parent('.dropdown-menu').length) { + active = active + .closest('li.dropdown') + .addClass('active'); + } + + active.trigger('activate.bs.scrollspy'); + }; + + ScrollSpy.prototype.clear = function() { + $(this.selector) + .parentsUntil(this.options.target, '.active') + .removeClass('active'); + }; + + // SCROLLSPY PLUGIN DEFINITION + // =========================== + function Plugin(option) { + return this.each(function() { + var $this = $(this); + var data = $this.data('bs.scrollspy'); + var options = typeof option === 'object' && option; + + if (!data) $this.data('bs.scrollspy', data = new ScrollSpy(this, options)); + if (typeof option === 'string') data[option](); + }); + } + + var old = $.fn.scrollspy; + + $.fn.scrollspy = Plugin; + $.fn.scrollspy.Constructor = ScrollSpy; + + // SCROLLSPY NO CONFLICT + // ===================== + $.fn.scrollspy.noConflict = function() { + $.fn.scrollspy = old; + return this; + }; + + // SCROLLSPY DATA-API + // ================== + $(window).on('load.bs.scrollspy.data-api', function() { + $('[data-spy="scroll"]').each(function() { + var $spy = $(this); + Plugin.call($spy, $spy.data()); + }); + }); + +}(jQuery)); diff --git a/js/utils.js b/js/utils.js new file mode 100644 index 000000000..44d69c9c9 --- /dev/null +++ b/js/utils.js @@ -0,0 +1,340 @@ +/* global NexT, CONFIG */ + +NexT.utils = NexT.$u = { + + /** + * Wrap images with fancybox support. + */ + wrapImageWithFancyBox: function() { + $('.content img') + .not(':hidden') + .each(function() { + var $image = $(this); + var imageTitle = $image.attr('title') || $image.attr('alt'); + var $imageWrapLink = $image.parent('a'); + + if ($imageWrapLink.length < 1) { + var imageLink = $image.attr('data-original') || $image.attr('src'); + $imageWrapLink = $image.wrap('').parent('a'); + if ($image.is('.post-gallery img')) { + $imageWrapLink.addClass('post-gallery-img'); + $imageWrapLink.attr('data-fancybox', 'gallery').attr('rel', 'gallery'); + } + else if ($image.is('.group-picture img')) { + $imageWrapLink.attr('data-fancybox', 'group').attr('rel', 'group'); + } + else { + $imageWrapLink.attr('data-fancybox', 'default').attr('rel', 'default'); + } + } + + if (imageTitle) { + $imageWrapLink.append('

' + imageTitle + '

'); + // Make sure img title tag will show correctly in fancybox + $imageWrapLink.attr('title', imageTitle).attr('data-caption', imageTitle); + } + }); + + $('.fancybox').fancybox({ + loop: true, + helpers: { + overlay: { + locked: false + } + } + }); + }, + + lazyLoadPostsImages: function() { + $('#posts').find('img').lazyload({ + //placeholder: '/images/loading.gif', + effect : 'fadeIn', + threshold: 0 + }); + }, + + /** + * Tabs tag listener (without twitter bootstrap). + */ + registerTabsTag: function() { + var tNav = '.tabs ul.nav-tabs '; + + // Binding `nav-tabs` & `tab-content` by real time permalink changing. + $(function() { + $(window).bind('hashchange', function() { + var tHash = location.hash; + if (tHash !== '' && !tHash.match(/%\S{2}/)) { + $(tNav + 'li:has(a[href="' + tHash + '"])').addClass('active').siblings().removeClass('active'); + $(tHash).addClass('active').siblings().removeClass('active'); + } + }).trigger('hashchange'); + }); + + $(tNav + '.tab').on('click', function(href) { + href.preventDefault(); + // Prevent selected tab to select again. + if (!$(this).hasClass('active')) { + + // Add & Remove active class on `nav-tabs` & `tab-content`. + $(this).addClass('active').siblings().removeClass('active'); + var tActive = $(this).find('a').attr('href'); + $(tActive).addClass('active').siblings().removeClass('active'); + + // Clear location hash in browser if #permalink exists. + if (location.hash !== '') { + history.pushState('', document.title, window.location.pathname + window.location.search); + } + } + }); + }, + + registerESCKeyEvent: function() { + $(document).on('keyup', function(event) { + var shouldDismissSearchPopup = event.which === 27 + && $('.search-popup').is(':visible'); + if (shouldDismissSearchPopup) { + $('.search-popup').hide(); + $('.search-popup-overlay').remove(); + $('body').css('overflow', ''); + } + }); + }, + + registerBackToTop: function() { + var THRESHOLD = 50; + var $top = $('.back-to-top'); + + function initBackToTop() { + $top.toggleClass('back-to-top-on', window.pageYOffset > THRESHOLD); + + var scrollTop = $(window).scrollTop(); + var contentVisibilityHeight = NexT.utils.getContentVisibilityHeight(); + var scrollPercent = scrollTop / contentVisibilityHeight; + var scrollPercentRounded = Math.round(scrollPercent * 100); + var scrollPercentMaxed = scrollPercentRounded > 100 ? 100 : scrollPercentRounded; + $('#scrollpercent>span').html(scrollPercentMaxed); + } + + // For init back to top in sidebar if page was scrolled after page refresh. + $(window).on('load', function() { + initBackToTop(); + }); + + $(window).on('scroll', function() { + initBackToTop(); + }); + + $top.on('click', function() { + $.isFunction($('html').velocity) ? $('body').velocity('scroll') : $('html, body').animate({ scrollTop: 0 }); + }); + }, + + /** + * Transform embedded video to support responsive layout. + * @see http://toddmotto.com/fluid-and-responsive-youtube-and-vimeo-videos-with-fluidvids-js/ + */ + embeddedVideoTransformer: function() { + var $iframes = $('iframe'); + + // Supported Players. Extend this if you need more players. + var SUPPORTED_PLAYERS = [ + 'www.youtube.com', + 'player.vimeo.com', + 'player.youku.com', + 'music.163.com', + 'www.tudou.com' + ]; + var pattern = new RegExp(SUPPORTED_PLAYERS.join('|')); + + function getDimension($element) { + return { + width : $element.width(), + height: $element.height() + }; + } + + function getAspectRadio(width, height) { + return height / width * 100; + } + + $iframes.each(function() { + var iframe = this; + var $iframe = $(this); + var oldDimension = getDimension($iframe); + var newDimension; + + if (this.src.search(pattern) > 0) { + + // Calculate the video ratio based on the iframe's w/h dimensions + var videoRatio = getAspectRadio(oldDimension.width, oldDimension.height); + + // Replace the iframe's dimensions and position the iframe absolute + // This is the trick to emulate the video ratio + $iframe.width('100%').height('100%') + .css({ + position: 'absolute', + top : '0', + left : '0' + }); + + // Wrap the iframe in a new
which uses a dynamically fetched padding-top property + // based on the video's w/h dimensions + var wrap = document.createElement('div'); + wrap.className = 'fluid-vids'; + wrap.style.position = 'relative'; + wrap.style.marginBottom = '20px'; + wrap.style.width = '100%'; + wrap.style.paddingTop = videoRatio + '%'; + // Fix for appear inside tabs tag. + (wrap.style.paddingTop === '') && (wrap.style.paddingTop = '50%'); + + // Add the iframe inside our newly created
+ var iframeParent = iframe.parentNode; + iframeParent.insertBefore(wrap, iframe); + wrap.appendChild(iframe); + + // Additional adjustments for 163 Music + if (this.src.search('music.163.com') > 0) { + newDimension = getDimension($iframe); + var shouldRecalculateAspect = newDimension.width > oldDimension.width + || newDimension.height < oldDimension.height; + + // 163 Music Player has a fixed height, so we need to reset the aspect radio + if (shouldRecalculateAspect) { + wrap.style.paddingTop = getAspectRadio(newDimension.width, oldDimension.height) + '%'; + } + } + } + }); + + }, + + hasMobileUA: function() { + var nav = window.navigator; + var ua = nav.userAgent; + var pa = /iPad|iPhone|Android|Opera Mini|BlackBerry|webOS|UCWEB|Blazer|PSP|IEMobile|Symbian/g; + + return pa.test(ua); + }, + + isTablet: function() { + return window.screen.width < 992 && window.screen.width > 767 && this.hasMobileUA(); + }, + + isMobile: function() { + return window.screen.width < 767 && this.hasMobileUA(); + }, + + isDesktop: function() { + return !this.isTablet() && !this.isMobile(); + }, + + /** + * Escape meta symbols in jQuery selectors. + * + * @param selector + * @returns {string|void|XML|*} + */ + escapeSelector: function(selector) { + return selector.replace(/[!"$%&'()*+,./:;<=>?@[\\\]^`{|}~]/g, '\\$&'); + }, + + displaySidebar: function() { + if (!this.isDesktop() || this.isPisces() || this.isGemini()) { + return; + } + $('.sidebar-toggle').trigger('click'); + }, + + isMuse: function() { + return CONFIG.scheme === 'Muse'; + }, + + isMist: function() { + return CONFIG.scheme === 'Mist'; + }, + + isPisces: function() { + return CONFIG.scheme === 'Pisces'; + }, + + isGemini: function() { + return CONFIG.scheme === 'Gemini'; + }, + + getScrollbarWidth: function() { + var $div = $('
').addClass('scrollbar-measure').prependTo('body'); + var div = $div[0]; + var scrollbarWidth = div.offsetWidth - div.clientWidth; + $div.remove(); + + return scrollbarWidth; + }, + + getContentVisibilityHeight: function() { + var docHeight = $('.container').height(); + var winHeight = $(window).height(); + var contentVisibilityHeight = docHeight > winHeight ? docHeight - winHeight : $(document).height() - winHeight; + return contentVisibilityHeight; + }, + + getSidebarb2tHeight: function() { + var sidebarb2tHeight = (CONFIG.back2top && CONFIG.back2top_sidebar) ? $('.back-to-top').height() : 0; + return sidebarb2tHeight; + }, + + getSidebarSchemePadding: function() { + var sidebarNavHeight = $('.sidebar-nav').css('display') === 'block' ? $('.sidebar-nav').outerHeight(true) : 0; + var sidebarInner = $('.sidebar-inner'); + var sidebarPadding = sidebarInner.innerWidth() - sidebarInner.width(); + var sidebarOffset = CONFIG.sidebar.offset ? CONFIG.sidebar.offset : 12; + var sidebarSchemePadding = this.isPisces() || this.isGemini() + ? (sidebarPadding * 2) + sidebarNavHeight + sidebarOffset + this.getSidebarb2tHeight() + : (sidebarPadding * 2) + (sidebarNavHeight / 2); + return sidebarSchemePadding; + } +}; + +$(document).ready(function() { + + function wrapTable() { + $('table').not('.gist table').wrap('
'); + } + + /** + * Init Sidebar & TOC inner dimensions on all pages and for all schemes. + * Need for Sidebar/TOC inner scrolling if content taller then viewport. + */ + function updateSidebarHeight(height) { + height = height || 'auto'; + $('.site-overview, .post-toc').css('max-height', height); + } + + function initSidebarDimension() { + var updateSidebarHeightTimer; + + $(window).on('resize', function() { + updateSidebarHeightTimer && clearTimeout(updateSidebarHeightTimer); + + updateSidebarHeightTimer = setTimeout(function() { + var sidebarWrapperHeight = document.body.clientHeight - NexT.utils.getSidebarSchemePadding(); + + updateSidebarHeight(sidebarWrapperHeight); + }, 0); + }); + + // Initialize Sidebar & TOC Width. + var scrollbarWidth = NexT.utils.getScrollbarWidth(); + if ($('.site-overview-wrap').height() > (document.body.clientHeight - NexT.utils.getSidebarSchemePadding())) { + $('.site-overview').css('width', 'calc(100% + ' + scrollbarWidth + 'px)'); + } + if ($('.post-toc-wrap').height() > (document.body.clientHeight - NexT.utils.getSidebarSchemePadding())) { + $('.post-toc').css('width', 'calc(100% + ' + scrollbarWidth + 'px)'); + } + + // Initialize Sidebar & TOC Height. + updateSidebarHeight(document.body.clientHeight - NexT.utils.getSidebarSchemePadding()); + } + initSidebarDimension(); + wrapTable(); +}); diff --git a/lib/font-awesome/HELP-US-OUT.txt b/lib/font-awesome/HELP-US-OUT.txt new file mode 100644 index 000000000..83d083dd7 --- /dev/null +++ b/lib/font-awesome/HELP-US-OUT.txt @@ -0,0 +1,7 @@ +I hope you love Font Awesome. If you've found it useful, please do me a favor and check out my latest project, +Fort Awesome (https://fortawesome.com). It makes it easy to put the perfect icons on your website. Choose from our awesome, +comprehensive icon sets or copy and paste your own. + +Please. Check it out. + +-Dave Gandy diff --git a/lib/font-awesome/bower.json b/lib/font-awesome/bower.json new file mode 100644 index 000000000..772570ae7 --- /dev/null +++ b/lib/font-awesome/bower.json @@ -0,0 +1 @@ +{"name":"font-awesome","description":"Font Awesome","keywords":[],"homepage":"http://fontawesome.io","dependencies":{},"devDependencies":{},"license":["OFL-1.1","MIT","CC-BY-3.0"],"main":["less/font-awesome.less","scss/font-awesome.scss"],"ignore":["*/.*","*.json","src","*.yml","Gemfile","Gemfile.lock","*.md"]} \ No newline at end of file diff --git a/lib/font-awesome/css/font-awesome.css b/lib/font-awesome/css/font-awesome.css new file mode 100644 index 000000000..ee906a819 --- /dev/null +++ b/lib/font-awesome/css/font-awesome.css @@ -0,0 +1,2337 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +/* FONT PATH + * -------------------------- */ +@font-face { + font-family: 'FontAwesome'; + src: url('../fonts/fontawesome-webfont.eot?v=4.7.0'); + src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg'); + font-weight: normal; + font-style: normal; +} +.fa { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +/* makes the font 33% larger relative to the icon container */ +.fa-lg { + font-size: 1.33333333em; + line-height: 0.75em; + vertical-align: -15%; +} +.fa-2x { + font-size: 2em; +} +.fa-3x { + font-size: 3em; +} +.fa-4x { + font-size: 4em; +} +.fa-5x { + font-size: 5em; +} +.fa-fw { + width: 1.28571429em; + text-align: center; +} +.fa-ul { + padding-left: 0; + margin-left: 2.14285714em; + list-style-type: none; +} +.fa-ul > li { + position: relative; +} +.fa-li { + position: absolute; + left: -2.14285714em; + width: 2.14285714em; + top: 0.14285714em; + text-align: center; +} +.fa-li.fa-lg { + left: -1.85714286em; +} +.fa-border { + padding: .2em .25em .15em; + border: solid 0.08em #eeeeee; + border-radius: .1em; +} +.fa-pull-left { + float: left; +} +.fa-pull-right { + float: right; +} +.fa.fa-pull-left { + margin-right: .3em; +} +.fa.fa-pull-right { + margin-left: .3em; +} +/* Deprecated as of 4.4.0 */ +.pull-right { + float: right; +} +.pull-left { + float: left; +} +.fa.pull-left { + margin-right: .3em; +} +.fa.pull-right { + margin-left: .3em; +} +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} +.fa-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); +} +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +.fa-rotate-90 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} +.fa-rotate-180 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} +.fa-rotate-270 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); +} +.fa-flip-horizontal { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; + -webkit-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + transform: scale(-1, 1); +} +.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(1, -1); + -ms-transform: scale(1, -1); + transform: scale(1, -1); +} +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical { + filter: none; +} +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.fa-stack-1x, +.fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.fa-stack-1x { + line-height: inherit; +} +.fa-stack-2x { + font-size: 2em; +} +.fa-inverse { + color: #ffffff; +} +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.fa-glass:before { + content: "\f000"; +} +.fa-music:before { + content: "\f001"; +} +.fa-search:before { + content: "\f002"; +} +.fa-envelope-o:before { + content: "\f003"; +} +.fa-heart:before { + content: "\f004"; +} +.fa-star:before { + content: "\f005"; +} +.fa-star-o:before { + content: "\f006"; +} +.fa-user:before { + content: "\f007"; +} +.fa-film:before { + content: "\f008"; +} +.fa-th-large:before { + content: "\f009"; +} +.fa-th:before { + content: "\f00a"; +} +.fa-th-list:before { + content: "\f00b"; +} +.fa-check:before { + content: "\f00c"; +} +.fa-remove:before, +.fa-close:before, +.fa-times:before { + content: "\f00d"; +} +.fa-search-plus:before { + content: "\f00e"; +} +.fa-search-minus:before { + content: "\f010"; +} +.fa-power-off:before { + content: "\f011"; +} +.fa-signal:before { + content: "\f012"; +} +.fa-gear:before, +.fa-cog:before { + content: "\f013"; +} +.fa-trash-o:before { + content: "\f014"; +} +.fa-home:before { + content: "\f015"; +} +.fa-file-o:before { + content: "\f016"; +} +.fa-clock-o:before { + content: "\f017"; +} +.fa-road:before { + content: "\f018"; +} +.fa-download:before { + content: "\f019"; +} +.fa-arrow-circle-o-down:before { + content: "\f01a"; +} +.fa-arrow-circle-o-up:before { + content: "\f01b"; +} +.fa-inbox:before { + content: "\f01c"; +} +.fa-play-circle-o:before { + content: "\f01d"; +} +.fa-rotate-right:before, +.fa-repeat:before { + content: "\f01e"; +} +.fa-refresh:before { + content: "\f021"; +} +.fa-list-alt:before { + content: "\f022"; +} +.fa-lock:before { + content: "\f023"; +} +.fa-flag:before { + content: "\f024"; +} +.fa-headphones:before { + content: "\f025"; +} +.fa-volume-off:before { + content: "\f026"; +} +.fa-volume-down:before { + content: "\f027"; +} +.fa-volume-up:before { + content: "\f028"; +} +.fa-qrcode:before { + content: "\f029"; +} +.fa-barcode:before { + content: "\f02a"; +} +.fa-tag:before { + content: "\f02b"; +} +.fa-tags:before { + content: "\f02c"; +} +.fa-book:before { + content: "\f02d"; +} +.fa-bookmark:before { + content: "\f02e"; +} +.fa-print:before { + content: "\f02f"; +} +.fa-camera:before { + content: "\f030"; +} +.fa-font:before { + content: "\f031"; +} +.fa-bold:before { + content: "\f032"; +} +.fa-italic:before { + content: "\f033"; +} +.fa-text-height:before { + content: "\f034"; +} +.fa-text-width:before { + content: "\f035"; +} +.fa-align-left:before { + content: "\f036"; +} +.fa-align-center:before { + content: "\f037"; +} +.fa-align-right:before { + content: "\f038"; +} +.fa-align-justify:before { + content: "\f039"; +} +.fa-list:before { + content: "\f03a"; +} +.fa-dedent:before, +.fa-outdent:before { + content: "\f03b"; +} +.fa-indent:before { + content: "\f03c"; +} +.fa-video-camera:before { + content: "\f03d"; +} +.fa-photo:before, +.fa-image:before, +.fa-picture-o:before { + content: "\f03e"; +} +.fa-pencil:before { + content: "\f040"; +} +.fa-map-marker:before { + content: "\f041"; +} +.fa-adjust:before { + content: "\f042"; +} +.fa-tint:before { + content: "\f043"; +} +.fa-edit:before, +.fa-pencil-square-o:before { + content: "\f044"; +} +.fa-share-square-o:before { + content: "\f045"; +} +.fa-check-square-o:before { + content: "\f046"; +} +.fa-arrows:before { + content: "\f047"; +} +.fa-step-backward:before { + content: "\f048"; +} +.fa-fast-backward:before { + content: "\f049"; +} +.fa-backward:before { + content: "\f04a"; +} +.fa-play:before { + content: "\f04b"; +} +.fa-pause:before { + content: "\f04c"; +} +.fa-stop:before { + content: "\f04d"; +} +.fa-forward:before { + content: "\f04e"; +} +.fa-fast-forward:before { + content: "\f050"; +} +.fa-step-forward:before { + content: "\f051"; +} +.fa-eject:before { + content: "\f052"; +} +.fa-chevron-left:before { + content: "\f053"; +} +.fa-chevron-right:before { + content: "\f054"; +} +.fa-plus-circle:before { + content: "\f055"; +} +.fa-minus-circle:before { + content: "\f056"; +} +.fa-times-circle:before { + content: "\f057"; +} +.fa-check-circle:before { + content: "\f058"; +} +.fa-question-circle:before { + content: "\f059"; +} +.fa-info-circle:before { + content: "\f05a"; +} +.fa-crosshairs:before { + content: "\f05b"; +} +.fa-times-circle-o:before { + content: "\f05c"; +} +.fa-check-circle-o:before { + content: "\f05d"; +} +.fa-ban:before { + content: "\f05e"; +} +.fa-arrow-left:before { + content: "\f060"; +} +.fa-arrow-right:before { + content: "\f061"; +} +.fa-arrow-up:before { + content: "\f062"; +} +.fa-arrow-down:before { + content: "\f063"; +} +.fa-mail-forward:before, +.fa-share:before { + content: "\f064"; +} +.fa-expand:before { + content: "\f065"; +} +.fa-compress:before { + content: "\f066"; +} +.fa-plus:before { + content: "\f067"; +} +.fa-minus:before { + content: "\f068"; +} +.fa-asterisk:before { + content: "\f069"; +} +.fa-exclamation-circle:before { + content: "\f06a"; +} +.fa-gift:before { + content: "\f06b"; +} +.fa-leaf:before { + content: "\f06c"; +} +.fa-fire:before { + content: "\f06d"; +} +.fa-eye:before { + content: "\f06e"; +} +.fa-eye-slash:before { + content: "\f070"; +} +.fa-warning:before, +.fa-exclamation-triangle:before { + content: "\f071"; +} +.fa-plane:before { + content: "\f072"; +} +.fa-calendar:before { + content: "\f073"; +} +.fa-random:before { + content: "\f074"; +} +.fa-comment:before { + content: "\f075"; +} +.fa-magnet:before { + content: "\f076"; +} +.fa-chevron-up:before { + content: "\f077"; +} +.fa-chevron-down:before { + content: "\f078"; +} +.fa-retweet:before { + content: "\f079"; +} +.fa-shopping-cart:before { + content: "\f07a"; +} +.fa-folder:before { + content: "\f07b"; +} +.fa-folder-open:before { + content: "\f07c"; +} +.fa-arrows-v:before { + content: "\f07d"; +} +.fa-arrows-h:before { + content: "\f07e"; +} +.fa-bar-chart-o:before, +.fa-bar-chart:before { + content: "\f080"; +} +.fa-twitter-square:before { + content: "\f081"; +} +.fa-facebook-square:before { + content: "\f082"; +} +.fa-camera-retro:before { + content: "\f083"; +} +.fa-key:before { + content: "\f084"; +} +.fa-gears:before, +.fa-cogs:before { + content: "\f085"; +} +.fa-comments:before { + content: "\f086"; +} +.fa-thumbs-o-up:before { + content: "\f087"; +} +.fa-thumbs-o-down:before { + content: "\f088"; +} +.fa-star-half:before { + content: "\f089"; +} +.fa-heart-o:before { + content: "\f08a"; +} +.fa-sign-out:before { + content: "\f08b"; +} +.fa-linkedin-square:before { + content: "\f08c"; +} +.fa-thumb-tack:before { + content: "\f08d"; +} +.fa-external-link:before { + content: "\f08e"; +} +.fa-sign-in:before { + content: "\f090"; +} +.fa-trophy:before { + content: "\f091"; +} +.fa-github-square:before { + content: "\f092"; +} +.fa-upload:before { + content: "\f093"; +} +.fa-lemon-o:before { + content: "\f094"; +} +.fa-phone:before { + content: "\f095"; +} +.fa-square-o:before { + content: "\f096"; +} +.fa-bookmark-o:before { + content: "\f097"; +} +.fa-phone-square:before { + content: "\f098"; +} +.fa-twitter:before { + content: "\f099"; +} +.fa-facebook-f:before, +.fa-facebook:before { + content: "\f09a"; +} +.fa-github:before { + content: "\f09b"; +} +.fa-unlock:before { + content: "\f09c"; +} +.fa-credit-card:before { + content: "\f09d"; +} +.fa-feed:before, +.fa-rss:before { + content: "\f09e"; +} +.fa-hdd-o:before { + content: "\f0a0"; +} +.fa-bullhorn:before { + content: "\f0a1"; +} +.fa-bell:before { + content: "\f0f3"; +} +.fa-certificate:before { + content: "\f0a3"; +} +.fa-hand-o-right:before { + content: "\f0a4"; +} +.fa-hand-o-left:before { + content: "\f0a5"; +} +.fa-hand-o-up:before { + content: "\f0a6"; +} +.fa-hand-o-down:before { + content: "\f0a7"; +} +.fa-arrow-circle-left:before { + content: "\f0a8"; +} +.fa-arrow-circle-right:before { + content: "\f0a9"; +} +.fa-arrow-circle-up:before { + content: "\f0aa"; +} +.fa-arrow-circle-down:before { + content: "\f0ab"; +} +.fa-globe:before { + content: "\f0ac"; +} +.fa-wrench:before { + content: "\f0ad"; +} +.fa-tasks:before { + content: "\f0ae"; +} +.fa-filter:before { + content: "\f0b0"; +} +.fa-briefcase:before { + content: "\f0b1"; +} +.fa-arrows-alt:before { + content: "\f0b2"; +} +.fa-group:before, +.fa-users:before { + content: "\f0c0"; +} +.fa-chain:before, +.fa-link:before { + content: "\f0c1"; +} +.fa-cloud:before { + content: "\f0c2"; +} +.fa-flask:before { + content: "\f0c3"; +} +.fa-cut:before, +.fa-scissors:before { + content: "\f0c4"; +} +.fa-copy:before, +.fa-files-o:before { + content: "\f0c5"; +} +.fa-paperclip:before { + content: "\f0c6"; +} +.fa-save:before, +.fa-floppy-o:before { + content: "\f0c7"; +} +.fa-square:before { + content: "\f0c8"; +} +.fa-navicon:before, +.fa-reorder:before, +.fa-bars:before { + content: "\f0c9"; +} +.fa-list-ul:before { + content: "\f0ca"; +} +.fa-list-ol:before { + content: "\f0cb"; +} +.fa-strikethrough:before { + content: "\f0cc"; +} +.fa-underline:before { + content: "\f0cd"; +} +.fa-table:before { + content: "\f0ce"; +} +.fa-magic:before { + content: "\f0d0"; +} +.fa-truck:before { + content: "\f0d1"; +} +.fa-pinterest:before { + content: "\f0d2"; +} +.fa-pinterest-square:before { + content: "\f0d3"; +} +.fa-google-plus-square:before { + content: "\f0d4"; +} +.fa-google-plus:before { + content: "\f0d5"; +} +.fa-money:before { + content: "\f0d6"; +} +.fa-caret-down:before { + content: "\f0d7"; +} +.fa-caret-up:before { + content: "\f0d8"; +} +.fa-caret-left:before { + content: "\f0d9"; +} +.fa-caret-right:before { + content: "\f0da"; +} +.fa-columns:before { + content: "\f0db"; +} +.fa-unsorted:before, +.fa-sort:before { + content: "\f0dc"; +} +.fa-sort-down:before, +.fa-sort-desc:before { + content: "\f0dd"; +} +.fa-sort-up:before, +.fa-sort-asc:before { + content: "\f0de"; +} +.fa-envelope:before { + content: "\f0e0"; +} +.fa-linkedin:before { + content: "\f0e1"; +} +.fa-rotate-left:before, +.fa-undo:before { + content: "\f0e2"; +} +.fa-legal:before, +.fa-gavel:before { + content: "\f0e3"; +} +.fa-dashboard:before, +.fa-tachometer:before { + content: "\f0e4"; +} +.fa-comment-o:before { + content: "\f0e5"; +} +.fa-comments-o:before { + content: "\f0e6"; +} +.fa-flash:before, +.fa-bolt:before { + content: "\f0e7"; +} +.fa-sitemap:before { + content: "\f0e8"; +} +.fa-umbrella:before { + content: "\f0e9"; +} +.fa-paste:before, +.fa-clipboard:before { + content: "\f0ea"; +} +.fa-lightbulb-o:before { + content: "\f0eb"; +} +.fa-exchange:before { + content: "\f0ec"; +} +.fa-cloud-download:before { + content: "\f0ed"; +} +.fa-cloud-upload:before { + content: "\f0ee"; +} +.fa-user-md:before { + content: "\f0f0"; +} +.fa-stethoscope:before { + content: "\f0f1"; +} +.fa-suitcase:before { + content: "\f0f2"; +} +.fa-bell-o:before { + content: "\f0a2"; +} +.fa-coffee:before { + content: "\f0f4"; +} +.fa-cutlery:before { + content: "\f0f5"; +} +.fa-file-text-o:before { + content: "\f0f6"; +} +.fa-building-o:before { + content: "\f0f7"; +} +.fa-hospital-o:before { + content: "\f0f8"; +} +.fa-ambulance:before { + content: "\f0f9"; +} +.fa-medkit:before { + content: "\f0fa"; +} +.fa-fighter-jet:before { + content: "\f0fb"; +} +.fa-beer:before { + content: "\f0fc"; +} +.fa-h-square:before { + content: "\f0fd"; +} +.fa-plus-square:before { + content: "\f0fe"; +} +.fa-angle-double-left:before { + content: "\f100"; +} +.fa-angle-double-right:before { + content: "\f101"; +} +.fa-angle-double-up:before { + content: "\f102"; +} +.fa-angle-double-down:before { + content: "\f103"; +} +.fa-angle-left:before { + content: "\f104"; +} +.fa-angle-right:before { + content: "\f105"; +} +.fa-angle-up:before { + content: "\f106"; +} +.fa-angle-down:before { + content: "\f107"; +} +.fa-desktop:before { + content: "\f108"; +} +.fa-laptop:before { + content: "\f109"; +} +.fa-tablet:before { + content: "\f10a"; +} +.fa-mobile-phone:before, +.fa-mobile:before { + content: "\f10b"; +} +.fa-circle-o:before { + content: "\f10c"; +} +.fa-quote-left:before { + content: "\f10d"; +} +.fa-quote-right:before { + content: "\f10e"; +} +.fa-spinner:before { + content: "\f110"; +} +.fa-circle:before { + content: "\f111"; +} +.fa-mail-reply:before, +.fa-reply:before { + content: "\f112"; +} +.fa-github-alt:before { + content: "\f113"; +} +.fa-folder-o:before { + content: "\f114"; +} +.fa-folder-open-o:before { + content: "\f115"; +} +.fa-smile-o:before { + content: "\f118"; +} +.fa-frown-o:before { + content: "\f119"; +} +.fa-meh-o:before { + content: "\f11a"; +} +.fa-gamepad:before { + content: "\f11b"; +} +.fa-keyboard-o:before { + content: "\f11c"; +} +.fa-flag-o:before { + content: "\f11d"; +} +.fa-flag-checkered:before { + content: "\f11e"; +} +.fa-terminal:before { + content: "\f120"; +} +.fa-code:before { + content: "\f121"; +} +.fa-mail-reply-all:before, +.fa-reply-all:before { + content: "\f122"; +} +.fa-star-half-empty:before, +.fa-star-half-full:before, +.fa-star-half-o:before { + content: "\f123"; +} +.fa-location-arrow:before { + content: "\f124"; +} +.fa-crop:before { + content: "\f125"; +} +.fa-code-fork:before { + content: "\f126"; +} +.fa-unlink:before, +.fa-chain-broken:before { + content: "\f127"; +} +.fa-question:before { + content: "\f128"; +} +.fa-info:before { + content: "\f129"; +} +.fa-exclamation:before { + content: "\f12a"; +} +.fa-superscript:before { + content: "\f12b"; +} +.fa-subscript:before { + content: "\f12c"; +} +.fa-eraser:before { + content: "\f12d"; +} +.fa-puzzle-piece:before { + content: "\f12e"; +} +.fa-microphone:before { + content: "\f130"; +} +.fa-microphone-slash:before { + content: "\f131"; +} +.fa-shield:before { + content: "\f132"; +} +.fa-calendar-o:before { + content: "\f133"; +} +.fa-fire-extinguisher:before { + content: "\f134"; +} +.fa-rocket:before { + content: "\f135"; +} +.fa-maxcdn:before { + content: "\f136"; +} +.fa-chevron-circle-left:before { + content: "\f137"; +} +.fa-chevron-circle-right:before { + content: "\f138"; +} +.fa-chevron-circle-up:before { + content: "\f139"; +} +.fa-chevron-circle-down:before { + content: "\f13a"; +} +.fa-html5:before { + content: "\f13b"; +} +.fa-css3:before { + content: "\f13c"; +} +.fa-anchor:before { + content: "\f13d"; +} +.fa-unlock-alt:before { + content: "\f13e"; +} +.fa-bullseye:before { + content: "\f140"; +} +.fa-ellipsis-h:before { + content: "\f141"; +} +.fa-ellipsis-v:before { + content: "\f142"; +} +.fa-rss-square:before { + content: "\f143"; +} +.fa-play-circle:before { + content: "\f144"; +} +.fa-ticket:before { + content: "\f145"; +} +.fa-minus-square:before { + content: "\f146"; +} +.fa-minus-square-o:before { + content: "\f147"; +} +.fa-level-up:before { + content: "\f148"; +} +.fa-level-down:before { + content: "\f149"; +} +.fa-check-square:before { + content: "\f14a"; +} +.fa-pencil-square:before { + content: "\f14b"; +} +.fa-external-link-square:before { + content: "\f14c"; +} +.fa-share-square:before { + content: "\f14d"; +} +.fa-compass:before { + content: "\f14e"; +} +.fa-toggle-down:before, +.fa-caret-square-o-down:before { + content: "\f150"; +} +.fa-toggle-up:before, +.fa-caret-square-o-up:before { + content: "\f151"; +} +.fa-toggle-right:before, +.fa-caret-square-o-right:before { + content: "\f152"; +} +.fa-euro:before, +.fa-eur:before { + content: "\f153"; +} +.fa-gbp:before { + content: "\f154"; +} +.fa-dollar:before, +.fa-usd:before { + content: "\f155"; +} +.fa-rupee:before, +.fa-inr:before { + content: "\f156"; +} +.fa-cny:before, +.fa-rmb:before, +.fa-yen:before, +.fa-jpy:before { + content: "\f157"; +} +.fa-ruble:before, +.fa-rouble:before, +.fa-rub:before { + content: "\f158"; +} +.fa-won:before, +.fa-krw:before { + content: "\f159"; +} +.fa-bitcoin:before, +.fa-btc:before { + content: "\f15a"; +} +.fa-file:before { + content: "\f15b"; +} +.fa-file-text:before { + content: "\f15c"; +} +.fa-sort-alpha-asc:before { + content: "\f15d"; +} +.fa-sort-alpha-desc:before { + content: "\f15e"; +} +.fa-sort-amount-asc:before { + content: "\f160"; +} +.fa-sort-amount-desc:before { + content: "\f161"; +} +.fa-sort-numeric-asc:before { + content: "\f162"; +} +.fa-sort-numeric-desc:before { + content: "\f163"; +} +.fa-thumbs-up:before { + content: "\f164"; +} +.fa-thumbs-down:before { + content: "\f165"; +} +.fa-youtube-square:before { + content: "\f166"; +} +.fa-youtube:before { + content: "\f167"; +} +.fa-xing:before { + content: "\f168"; +} +.fa-xing-square:before { + content: "\f169"; +} +.fa-youtube-play:before { + content: "\f16a"; +} +.fa-dropbox:before { + content: "\f16b"; +} +.fa-stack-overflow:before { + content: "\f16c"; +} +.fa-instagram:before { + content: "\f16d"; +} +.fa-flickr:before { + content: "\f16e"; +} +.fa-adn:before { + content: "\f170"; +} +.fa-bitbucket:before { + content: "\f171"; +} +.fa-bitbucket-square:before { + content: "\f172"; +} +.fa-tumblr:before { + content: "\f173"; +} +.fa-tumblr-square:before { + content: "\f174"; +} +.fa-long-arrow-down:before { + content: "\f175"; +} +.fa-long-arrow-up:before { + content: "\f176"; +} +.fa-long-arrow-left:before { + content: "\f177"; +} +.fa-long-arrow-right:before { + content: "\f178"; +} +.fa-apple:before { + content: "\f179"; +} +.fa-windows:before { + content: "\f17a"; +} +.fa-android:before { + content: "\f17b"; +} +.fa-linux:before { + content: "\f17c"; +} +.fa-dribbble:before { + content: "\f17d"; +} +.fa-skype:before { + content: "\f17e"; +} +.fa-foursquare:before { + content: "\f180"; +} +.fa-trello:before { + content: "\f181"; +} +.fa-female:before { + content: "\f182"; +} +.fa-male:before { + content: "\f183"; +} +.fa-gittip:before, +.fa-gratipay:before { + content: "\f184"; +} +.fa-sun-o:before { + content: "\f185"; +} +.fa-moon-o:before { + content: "\f186"; +} +.fa-archive:before { + content: "\f187"; +} +.fa-bug:before { + content: "\f188"; +} +.fa-vk:before { + content: "\f189"; +} +.fa-weibo:before { + content: "\f18a"; +} +.fa-renren:before { + content: "\f18b"; +} +.fa-pagelines:before { + content: "\f18c"; +} +.fa-stack-exchange:before { + content: "\f18d"; +} +.fa-arrow-circle-o-right:before { + content: "\f18e"; +} +.fa-arrow-circle-o-left:before { + content: "\f190"; +} +.fa-toggle-left:before, +.fa-caret-square-o-left:before { + content: "\f191"; +} +.fa-dot-circle-o:before { + content: "\f192"; +} +.fa-wheelchair:before { + content: "\f193"; +} +.fa-vimeo-square:before { + content: "\f194"; +} +.fa-turkish-lira:before, +.fa-try:before { + content: "\f195"; +} +.fa-plus-square-o:before { + content: "\f196"; +} +.fa-space-shuttle:before { + content: "\f197"; +} +.fa-slack:before { + content: "\f198"; +} +.fa-envelope-square:before { + content: "\f199"; +} +.fa-wordpress:before { + content: "\f19a"; +} +.fa-openid:before { + content: "\f19b"; +} +.fa-institution:before, +.fa-bank:before, +.fa-university:before { + content: "\f19c"; +} +.fa-mortar-board:before, +.fa-graduation-cap:before { + content: "\f19d"; +} +.fa-yahoo:before { + content: "\f19e"; +} +.fa-google:before { + content: "\f1a0"; +} +.fa-reddit:before { + content: "\f1a1"; +} +.fa-reddit-square:before { + content: "\f1a2"; +} +.fa-stumbleupon-circle:before { + content: "\f1a3"; +} +.fa-stumbleupon:before { + content: "\f1a4"; +} +.fa-delicious:before { + content: "\f1a5"; +} +.fa-digg:before { + content: "\f1a6"; +} +.fa-pied-piper-pp:before { + content: "\f1a7"; +} +.fa-pied-piper-alt:before { + content: "\f1a8"; +} +.fa-drupal:before { + content: "\f1a9"; +} +.fa-joomla:before { + content: "\f1aa"; +} +.fa-language:before { + content: "\f1ab"; +} +.fa-fax:before { + content: "\f1ac"; +} +.fa-building:before { + content: "\f1ad"; +} +.fa-child:before { + content: "\f1ae"; +} +.fa-paw:before { + content: "\f1b0"; +} +.fa-spoon:before { + content: "\f1b1"; +} +.fa-cube:before { + content: "\f1b2"; +} +.fa-cubes:before { + content: "\f1b3"; +} +.fa-behance:before { + content: "\f1b4"; +} +.fa-behance-square:before { + content: "\f1b5"; +} +.fa-steam:before { + content: "\f1b6"; +} +.fa-steam-square:before { + content: "\f1b7"; +} +.fa-recycle:before { + content: "\f1b8"; +} +.fa-automobile:before, +.fa-car:before { + content: "\f1b9"; +} +.fa-cab:before, +.fa-taxi:before { + content: "\f1ba"; +} +.fa-tree:before { + content: "\f1bb"; +} +.fa-spotify:before { + content: "\f1bc"; +} +.fa-deviantart:before { + content: "\f1bd"; +} +.fa-soundcloud:before { + content: "\f1be"; +} +.fa-database:before { + content: "\f1c0"; +} +.fa-file-pdf-o:before { + content: "\f1c1"; +} +.fa-file-word-o:before { + content: "\f1c2"; +} +.fa-file-excel-o:before { + content: "\f1c3"; +} +.fa-file-powerpoint-o:before { + content: "\f1c4"; +} +.fa-file-photo-o:before, +.fa-file-picture-o:before, +.fa-file-image-o:before { + content: "\f1c5"; +} +.fa-file-zip-o:before, +.fa-file-archive-o:before { + content: "\f1c6"; +} +.fa-file-sound-o:before, +.fa-file-audio-o:before { + content: "\f1c7"; +} +.fa-file-movie-o:before, +.fa-file-video-o:before { + content: "\f1c8"; +} +.fa-file-code-o:before { + content: "\f1c9"; +} +.fa-vine:before { + content: "\f1ca"; +} +.fa-codepen:before { + content: "\f1cb"; +} +.fa-jsfiddle:before { + content: "\f1cc"; +} +.fa-life-bouy:before, +.fa-life-buoy:before, +.fa-life-saver:before, +.fa-support:before, +.fa-life-ring:before { + content: "\f1cd"; +} +.fa-circle-o-notch:before { + content: "\f1ce"; +} +.fa-ra:before, +.fa-resistance:before, +.fa-rebel:before { + content: "\f1d0"; +} +.fa-ge:before, +.fa-empire:before { + content: "\f1d1"; +} +.fa-git-square:before { + content: "\f1d2"; +} +.fa-git:before { + content: "\f1d3"; +} +.fa-y-combinator-square:before, +.fa-yc-square:before, +.fa-hacker-news:before { + content: "\f1d4"; +} +.fa-tencent-weibo:before { + content: "\f1d5"; +} +.fa-qq:before { + content: "\f1d6"; +} +.fa-wechat:before, +.fa-weixin:before { + content: "\f1d7"; +} +.fa-send:before, +.fa-paper-plane:before { + content: "\f1d8"; +} +.fa-send-o:before, +.fa-paper-plane-o:before { + content: "\f1d9"; +} +.fa-history:before { + content: "\f1da"; +} +.fa-circle-thin:before { + content: "\f1db"; +} +.fa-header:before { + content: "\f1dc"; +} +.fa-paragraph:before { + content: "\f1dd"; +} +.fa-sliders:before { + content: "\f1de"; +} +.fa-share-alt:before { + content: "\f1e0"; +} +.fa-share-alt-square:before { + content: "\f1e1"; +} +.fa-bomb:before { + content: "\f1e2"; +} +.fa-soccer-ball-o:before, +.fa-futbol-o:before { + content: "\f1e3"; +} +.fa-tty:before { + content: "\f1e4"; +} +.fa-binoculars:before { + content: "\f1e5"; +} +.fa-plug:before { + content: "\f1e6"; +} +.fa-slideshare:before { + content: "\f1e7"; +} +.fa-twitch:before { + content: "\f1e8"; +} +.fa-yelp:before { + content: "\f1e9"; +} +.fa-newspaper-o:before { + content: "\f1ea"; +} +.fa-wifi:before { + content: "\f1eb"; +} +.fa-calculator:before { + content: "\f1ec"; +} +.fa-paypal:before { + content: "\f1ed"; +} +.fa-google-wallet:before { + content: "\f1ee"; +} +.fa-cc-visa:before { + content: "\f1f0"; +} +.fa-cc-mastercard:before { + content: "\f1f1"; +} +.fa-cc-discover:before { + content: "\f1f2"; +} +.fa-cc-amex:before { + content: "\f1f3"; +} +.fa-cc-paypal:before { + content: "\f1f4"; +} +.fa-cc-stripe:before { + content: "\f1f5"; +} +.fa-bell-slash:before { + content: "\f1f6"; +} +.fa-bell-slash-o:before { + content: "\f1f7"; +} +.fa-trash:before { + content: "\f1f8"; +} +.fa-copyright:before { + content: "\f1f9"; +} +.fa-at:before { + content: "\f1fa"; +} +.fa-eyedropper:before { + content: "\f1fb"; +} +.fa-paint-brush:before { + content: "\f1fc"; +} +.fa-birthday-cake:before { + content: "\f1fd"; +} +.fa-area-chart:before { + content: "\f1fe"; +} +.fa-pie-chart:before { + content: "\f200"; +} +.fa-line-chart:before { + content: "\f201"; +} +.fa-lastfm:before { + content: "\f202"; +} +.fa-lastfm-square:before { + content: "\f203"; +} +.fa-toggle-off:before { + content: "\f204"; +} +.fa-toggle-on:before { + content: "\f205"; +} +.fa-bicycle:before { + content: "\f206"; +} +.fa-bus:before { + content: "\f207"; +} +.fa-ioxhost:before { + content: "\f208"; +} +.fa-angellist:before { + content: "\f209"; +} +.fa-cc:before { + content: "\f20a"; +} +.fa-shekel:before, +.fa-sheqel:before, +.fa-ils:before { + content: "\f20b"; +} +.fa-meanpath:before { + content: "\f20c"; +} +.fa-buysellads:before { + content: "\f20d"; +} +.fa-connectdevelop:before { + content: "\f20e"; +} +.fa-dashcube:before { + content: "\f210"; +} +.fa-forumbee:before { + content: "\f211"; +} +.fa-leanpub:before { + content: "\f212"; +} +.fa-sellsy:before { + content: "\f213"; +} +.fa-shirtsinbulk:before { + content: "\f214"; +} +.fa-simplybuilt:before { + content: "\f215"; +} +.fa-skyatlas:before { + content: "\f216"; +} +.fa-cart-plus:before { + content: "\f217"; +} +.fa-cart-arrow-down:before { + content: "\f218"; +} +.fa-diamond:before { + content: "\f219"; +} +.fa-ship:before { + content: "\f21a"; +} +.fa-user-secret:before { + content: "\f21b"; +} +.fa-motorcycle:before { + content: "\f21c"; +} +.fa-street-view:before { + content: "\f21d"; +} +.fa-heartbeat:before { + content: "\f21e"; +} +.fa-venus:before { + content: "\f221"; +} +.fa-mars:before { + content: "\f222"; +} +.fa-mercury:before { + content: "\f223"; +} +.fa-intersex:before, +.fa-transgender:before { + content: "\f224"; +} +.fa-transgender-alt:before { + content: "\f225"; +} +.fa-venus-double:before { + content: "\f226"; +} +.fa-mars-double:before { + content: "\f227"; +} +.fa-venus-mars:before { + content: "\f228"; +} +.fa-mars-stroke:before { + content: "\f229"; +} +.fa-mars-stroke-v:before { + content: "\f22a"; +} +.fa-mars-stroke-h:before { + content: "\f22b"; +} +.fa-neuter:before { + content: "\f22c"; +} +.fa-genderless:before { + content: "\f22d"; +} +.fa-facebook-official:before { + content: "\f230"; +} +.fa-pinterest-p:before { + content: "\f231"; +} +.fa-whatsapp:before { + content: "\f232"; +} +.fa-server:before { + content: "\f233"; +} +.fa-user-plus:before { + content: "\f234"; +} +.fa-user-times:before { + content: "\f235"; +} +.fa-hotel:before, +.fa-bed:before { + content: "\f236"; +} +.fa-viacoin:before { + content: "\f237"; +} +.fa-train:before { + content: "\f238"; +} +.fa-subway:before { + content: "\f239"; +} +.fa-medium:before { + content: "\f23a"; +} +.fa-yc:before, +.fa-y-combinator:before { + content: "\f23b"; +} +.fa-optin-monster:before { + content: "\f23c"; +} +.fa-opencart:before { + content: "\f23d"; +} +.fa-expeditedssl:before { + content: "\f23e"; +} +.fa-battery-4:before, +.fa-battery:before, +.fa-battery-full:before { + content: "\f240"; +} +.fa-battery-3:before, +.fa-battery-three-quarters:before { + content: "\f241"; +} +.fa-battery-2:before, +.fa-battery-half:before { + content: "\f242"; +} +.fa-battery-1:before, +.fa-battery-quarter:before { + content: "\f243"; +} +.fa-battery-0:before, +.fa-battery-empty:before { + content: "\f244"; +} +.fa-mouse-pointer:before { + content: "\f245"; +} +.fa-i-cursor:before { + content: "\f246"; +} +.fa-object-group:before { + content: "\f247"; +} +.fa-object-ungroup:before { + content: "\f248"; +} +.fa-sticky-note:before { + content: "\f249"; +} +.fa-sticky-note-o:before { + content: "\f24a"; +} +.fa-cc-jcb:before { + content: "\f24b"; +} +.fa-cc-diners-club:before { + content: "\f24c"; +} +.fa-clone:before { + content: "\f24d"; +} +.fa-balance-scale:before { + content: "\f24e"; +} +.fa-hourglass-o:before { + content: "\f250"; +} +.fa-hourglass-1:before, +.fa-hourglass-start:before { + content: "\f251"; +} +.fa-hourglass-2:before, +.fa-hourglass-half:before { + content: "\f252"; +} +.fa-hourglass-3:before, +.fa-hourglass-end:before { + content: "\f253"; +} +.fa-hourglass:before { + content: "\f254"; +} +.fa-hand-grab-o:before, +.fa-hand-rock-o:before { + content: "\f255"; +} +.fa-hand-stop-o:before, +.fa-hand-paper-o:before { + content: "\f256"; +} +.fa-hand-scissors-o:before { + content: "\f257"; +} +.fa-hand-lizard-o:before { + content: "\f258"; +} +.fa-hand-spock-o:before { + content: "\f259"; +} +.fa-hand-pointer-o:before { + content: "\f25a"; +} +.fa-hand-peace-o:before { + content: "\f25b"; +} +.fa-trademark:before { + content: "\f25c"; +} +.fa-registered:before { + content: "\f25d"; +} +.fa-creative-commons:before { + content: "\f25e"; +} +.fa-gg:before { + content: "\f260"; +} +.fa-gg-circle:before { + content: "\f261"; +} +.fa-tripadvisor:before { + content: "\f262"; +} +.fa-odnoklassniki:before { + content: "\f263"; +} +.fa-odnoklassniki-square:before { + content: "\f264"; +} +.fa-get-pocket:before { + content: "\f265"; +} +.fa-wikipedia-w:before { + content: "\f266"; +} +.fa-safari:before { + content: "\f267"; +} +.fa-chrome:before { + content: "\f268"; +} +.fa-firefox:before { + content: "\f269"; +} +.fa-opera:before { + content: "\f26a"; +} +.fa-internet-explorer:before { + content: "\f26b"; +} +.fa-tv:before, +.fa-television:before { + content: "\f26c"; +} +.fa-contao:before { + content: "\f26d"; +} +.fa-500px:before { + content: "\f26e"; +} +.fa-amazon:before { + content: "\f270"; +} +.fa-calendar-plus-o:before { + content: "\f271"; +} +.fa-calendar-minus-o:before { + content: "\f272"; +} +.fa-calendar-times-o:before { + content: "\f273"; +} +.fa-calendar-check-o:before { + content: "\f274"; +} +.fa-industry:before { + content: "\f275"; +} +.fa-map-pin:before { + content: "\f276"; +} +.fa-map-signs:before { + content: "\f277"; +} +.fa-map-o:before { + content: "\f278"; +} +.fa-map:before { + content: "\f279"; +} +.fa-commenting:before { + content: "\f27a"; +} +.fa-commenting-o:before { + content: "\f27b"; +} +.fa-houzz:before { + content: "\f27c"; +} +.fa-vimeo:before { + content: "\f27d"; +} +.fa-black-tie:before { + content: "\f27e"; +} +.fa-fonticons:before { + content: "\f280"; +} +.fa-reddit-alien:before { + content: "\f281"; +} +.fa-edge:before { + content: "\f282"; +} +.fa-credit-card-alt:before { + content: "\f283"; +} +.fa-codiepie:before { + content: "\f284"; +} +.fa-modx:before { + content: "\f285"; +} +.fa-fort-awesome:before { + content: "\f286"; +} +.fa-usb:before { + content: "\f287"; +} +.fa-product-hunt:before { + content: "\f288"; +} +.fa-mixcloud:before { + content: "\f289"; +} +.fa-scribd:before { + content: "\f28a"; +} +.fa-pause-circle:before { + content: "\f28b"; +} +.fa-pause-circle-o:before { + content: "\f28c"; +} +.fa-stop-circle:before { + content: "\f28d"; +} +.fa-stop-circle-o:before { + content: "\f28e"; +} +.fa-shopping-bag:before { + content: "\f290"; +} +.fa-shopping-basket:before { + content: "\f291"; +} +.fa-hashtag:before { + content: "\f292"; +} +.fa-bluetooth:before { + content: "\f293"; +} +.fa-bluetooth-b:before { + content: "\f294"; +} +.fa-percent:before { + content: "\f295"; +} +.fa-gitlab:before { + content: "\f296"; +} +.fa-wpbeginner:before { + content: "\f297"; +} +.fa-wpforms:before { + content: "\f298"; +} +.fa-envira:before { + content: "\f299"; +} +.fa-universal-access:before { + content: "\f29a"; +} +.fa-wheelchair-alt:before { + content: "\f29b"; +} +.fa-question-circle-o:before { + content: "\f29c"; +} +.fa-blind:before { + content: "\f29d"; +} +.fa-audio-description:before { + content: "\f29e"; +} +.fa-volume-control-phone:before { + content: "\f2a0"; +} +.fa-braille:before { + content: "\f2a1"; +} +.fa-assistive-listening-systems:before { + content: "\f2a2"; +} +.fa-asl-interpreting:before, +.fa-american-sign-language-interpreting:before { + content: "\f2a3"; +} +.fa-deafness:before, +.fa-hard-of-hearing:before, +.fa-deaf:before { + content: "\f2a4"; +} +.fa-glide:before { + content: "\f2a5"; +} +.fa-glide-g:before { + content: "\f2a6"; +} +.fa-signing:before, +.fa-sign-language:before { + content: "\f2a7"; +} +.fa-low-vision:before { + content: "\f2a8"; +} +.fa-viadeo:before { + content: "\f2a9"; +} +.fa-viadeo-square:before { + content: "\f2aa"; +} +.fa-snapchat:before { + content: "\f2ab"; +} +.fa-snapchat-ghost:before { + content: "\f2ac"; +} +.fa-snapchat-square:before { + content: "\f2ad"; +} +.fa-pied-piper:before { + content: "\f2ae"; +} +.fa-first-order:before { + content: "\f2b0"; +} +.fa-yoast:before { + content: "\f2b1"; +} +.fa-themeisle:before { + content: "\f2b2"; +} +.fa-google-plus-circle:before, +.fa-google-plus-official:before { + content: "\f2b3"; +} +.fa-fa:before, +.fa-font-awesome:before { + content: "\f2b4"; +} +.fa-handshake-o:before { + content: "\f2b5"; +} +.fa-envelope-open:before { + content: "\f2b6"; +} +.fa-envelope-open-o:before { + content: "\f2b7"; +} +.fa-linode:before { + content: "\f2b8"; +} +.fa-address-book:before { + content: "\f2b9"; +} +.fa-address-book-o:before { + content: "\f2ba"; +} +.fa-vcard:before, +.fa-address-card:before { + content: "\f2bb"; +} +.fa-vcard-o:before, +.fa-address-card-o:before { + content: "\f2bc"; +} +.fa-user-circle:before { + content: "\f2bd"; +} +.fa-user-circle-o:before { + content: "\f2be"; +} +.fa-user-o:before { + content: "\f2c0"; +} +.fa-id-badge:before { + content: "\f2c1"; +} +.fa-drivers-license:before, +.fa-id-card:before { + content: "\f2c2"; +} +.fa-drivers-license-o:before, +.fa-id-card-o:before { + content: "\f2c3"; +} +.fa-quora:before { + content: "\f2c4"; +} +.fa-free-code-camp:before { + content: "\f2c5"; +} +.fa-telegram:before { + content: "\f2c6"; +} +.fa-thermometer-4:before, +.fa-thermometer:before, +.fa-thermometer-full:before { + content: "\f2c7"; +} +.fa-thermometer-3:before, +.fa-thermometer-three-quarters:before { + content: "\f2c8"; +} +.fa-thermometer-2:before, +.fa-thermometer-half:before { + content: "\f2c9"; +} +.fa-thermometer-1:before, +.fa-thermometer-quarter:before { + content: "\f2ca"; +} +.fa-thermometer-0:before, +.fa-thermometer-empty:before { + content: "\f2cb"; +} +.fa-shower:before { + content: "\f2cc"; +} +.fa-bathtub:before, +.fa-s15:before, +.fa-bath:before { + content: "\f2cd"; +} +.fa-podcast:before { + content: "\f2ce"; +} +.fa-window-maximize:before { + content: "\f2d0"; +} +.fa-window-minimize:before { + content: "\f2d1"; +} +.fa-window-restore:before { + content: "\f2d2"; +} +.fa-times-rectangle:before, +.fa-window-close:before { + content: "\f2d3"; +} +.fa-times-rectangle-o:before, +.fa-window-close-o:before { + content: "\f2d4"; +} +.fa-bandcamp:before { + content: "\f2d5"; +} +.fa-grav:before { + content: "\f2d6"; +} +.fa-etsy:before { + content: "\f2d7"; +} +.fa-imdb:before { + content: "\f2d8"; +} +.fa-ravelry:before { + content: "\f2d9"; +} +.fa-eercast:before { + content: "\f2da"; +} +.fa-microchip:before { + content: "\f2db"; +} +.fa-snowflake-o:before { + content: "\f2dc"; +} +.fa-superpowers:before { + content: "\f2dd"; +} +.fa-wpexplorer:before { + content: "\f2de"; +} +.fa-meetup:before { + content: "\f2e0"; +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; +} diff --git a/lib/font-awesome/css/font-awesome.css.map b/lib/font-awesome/css/font-awesome.css.map new file mode 100644 index 000000000..60763a864 --- /dev/null +++ b/lib/font-awesome/css/font-awesome.css.map @@ -0,0 +1,7 @@ +{ +"version": 3, +"mappings": "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", +"sources": ["../scss/_path.scss","../scss/_core.scss","../scss/_larger.scss","../scss/_fixed-width.scss","../scss/_list.scss","../scss/_variables.scss","../scss/_bordered-pulled.scss","../scss/_animated.scss","../scss/_rotated-flipped.scss","../scss/_mixins.scss","../scss/_stacked.scss","../scss/_icons.scss"], +"names": [], +"file": "font-awesome.css" +} diff --git a/lib/font-awesome/css/font-awesome.min.css b/lib/font-awesome/css/font-awesome.min.css new file mode 100644 index 000000000..540440ce8 --- /dev/null +++ b/lib/font-awesome/css/font-awesome.min.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.7.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto} diff --git a/lib/font-awesome/fonts/fontawesome-webfont.eot b/lib/font-awesome/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..e9f60ca953f93e35eab4108bd414bc02ddcf3928 GIT binary patch literal 165742 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 G*yFsbY~cLNXLP73aA74Mq6M9f^&YV`isWW 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

5q!RY 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 SdSQM28?+M|D(2r_;{O0|uQ74} literal 0 HcmV?d00001 diff --git a/lib/font-awesome/fonts/fontawesome-webfont.woff2 b/lib/font-awesome/fonts/fontawesome-webfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..4d13fc60404b91e398a37200c4a77b645cfd9586 GIT binary patch literal 77160 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 literal 0 HcmV?d00001 diff --git a/lib/jquery/index.js b/lib/jquery/index.js new file mode 100644 index 000000000..a1c07fd80 --- /dev/null +++ b/lib/jquery/index.js @@ -0,0 +1,2 @@ +/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ +!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="

",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0 0 && (length - 1) in obj; + } + + /*************** + $ Methods + ***************/ + + /* jQuery: Support removed for IE<9. */ + $.isPlainObject = function (obj) { + var key; + + if (!obj || $.type(obj) !== "object" || obj.nodeType || $.isWindow(obj)) { + return false; + } + + try { + if (obj.constructor && + !hasOwn.call(obj, "constructor") && + !hasOwn.call(obj.constructor.prototype, "isPrototypeOf")) { + return false; + } + } catch (e) { + return false; + } + + for (key in obj) {} + + return key === undefined || hasOwn.call(obj, key); + }; + + /* jQuery */ + $.each = function(obj, callback, args) { + var value, + i = 0, + length = obj.length, + isArray = isArraylike(obj); + + if (args) { + if (isArray) { + for (; i < length; i++) { + value = callback.apply(obj[i], args); + + if (value === false) { + break; + } + } + } else { + for (i in obj) { + value = callback.apply(obj[i], args); + + if (value === false) { + break; + } + } + } + + } else { + if (isArray) { + for (; i < length; i++) { + value = callback.call(obj[i], i, obj[i]); + + if (value === false) { + break; + } + } + } else { + for (i in obj) { + value = callback.call(obj[i], i, obj[i]); + + if (value === false) { + break; + } + } + } + } + + return obj; + }; + + /* Custom */ + $.data = function (node, key, value) { + /* $.getData() */ + if (value === undefined) { + var id = node[$.expando], + store = id && cache[id]; + + if (key === undefined) { + return store; + } else if (store) { + if (key in store) { + return store[key]; + } + } + /* $.setData() */ + } else if (key !== undefined) { + var id = node[$.expando] || (node[$.expando] = ++$.uuid); + + cache[id] = cache[id] || {}; + cache[id][key] = value; + + return value; + } + }; + + /* Custom */ + $.removeData = function (node, keys) { + var id = node[$.expando], + store = id && cache[id]; + + if (store) { + $.each(keys, function(_, key) { + delete store[key]; + }); + } + }; + + /* jQuery */ + $.extend = function () { + var src, copyIsArray, copy, name, options, clone, + target = arguments[0] || {}, + i = 1, + length = arguments.length, + deep = false; + + if (typeof target === "boolean") { + deep = target; + + target = arguments[i] || {}; + i++; + } + + if (typeof target !== "object" && $.type(target) !== "function") { + target = {}; + } + + if (i === length) { + target = this; + i--; + } + + for (; i < length; i++) { + if ((options = arguments[i]) != null) { + for (name in options) { + src = target[name]; + copy = options[name]; + + if (target === copy) { + continue; + } + + if (deep && copy && ($.isPlainObject(copy) || (copyIsArray = $.isArray(copy)))) { + if (copyIsArray) { + copyIsArray = false; + clone = src && $.isArray(src) ? src : []; + + } else { + clone = src && $.isPlainObject(src) ? src : {}; + } + + target[name] = $.extend(deep, clone, copy); + + } else if (copy !== undefined) { + target[name] = copy; + } + } + } + } + + return target; + }; + + /* jQuery 1.4.3 */ + $.queue = function (elem, type, data) { + function $makeArray (arr, results) { + var ret = results || []; + + if (arr != null) { + if (isArraylike(Object(arr))) { + /* $.merge */ + (function(first, second) { + var len = +second.length, + j = 0, + i = first.length; + + while (j < len) { + first[i++] = second[j++]; + } + + if (len !== len) { + while (second[j] !== undefined) { + first[i++] = second[j++]; + } + } + + first.length = i; + + return first; + })(ret, typeof arr === "string" ? [arr] : arr); + } else { + [].push.call(ret, arr); + } + } + + return ret; + } + + if (!elem) { + return; + } + + type = (type || "fx") + "queue"; + + var q = $.data(elem, type); + + if (!data) { + return q || []; + } + + if (!q || $.isArray(data)) { + q = $.data(elem, type, $makeArray(data)); + } else { + q.push(data); + } + + return q; + }; + + /* jQuery 1.4.3 */ + $.dequeue = function (elems, type) { + /* Custom: Embed element iteration. */ + $.each(elems.nodeType ? [ elems ] : elems, function(i, elem) { + type = type || "fx"; + + var queue = $.queue(elem, type), + fn = queue.shift(); + + if (fn === "inprogress") { + fn = queue.shift(); + } + + if (fn) { + if (type === "fx") { + queue.unshift("inprogress"); + } + + fn.call(elem, function() { + $.dequeue(elem, type); + }); + } + }); + }; + + /****************** + $.fn Methods + ******************/ + + /* jQuery */ + $.fn = $.prototype = { + init: function (selector) { + /* Just return the element wrapped inside an array; don't proceed with the actual jQuery node wrapping process. */ + if (selector.nodeType) { + this[0] = selector; + + return this; + } else { + throw new Error("Not a DOM node."); + } + }, + + offset: function () { + /* jQuery altered code: Dropped disconnected DOM node checking. */ + var box = this[0].getBoundingClientRect ? this[0].getBoundingClientRect() : { top: 0, left: 0 }; + + return { + top: box.top + (window.pageYOffset || document.scrollTop || 0) - (document.clientTop || 0), + left: box.left + (window.pageXOffset || document.scrollLeft || 0) - (document.clientLeft || 0) + }; + }, + + position: function () { + /* jQuery */ + function offsetParent() { + var offsetParent = this.offsetParent || document; + + while (offsetParent && (!offsetParent.nodeType.toLowerCase === "html" && offsetParent.style.position === "static")) { + offsetParent = offsetParent.offsetParent; + } + + return offsetParent || document; + } + + /* Zepto */ + var elem = this[0], + offsetParent = offsetParent.apply(elem), + offset = this.offset(), + parentOffset = /^(?:body|html)$/i.test(offsetParent.nodeName) ? { top: 0, left: 0 } : $(offsetParent).offset() + + offset.top -= parseFloat(elem.style.marginTop) || 0; + offset.left -= parseFloat(elem.style.marginLeft) || 0; + + if (offsetParent.style) { + parentOffset.top += parseFloat(offsetParent.style.borderTopWidth) || 0 + parentOffset.left += parseFloat(offsetParent.style.borderLeftWidth) || 0 + } + + return { + top: offset.top - parentOffset.top, + left: offset.left - parentOffset.left + }; + } + }; + + /********************** + Private Variables + **********************/ + + /* For $.data() */ + var cache = {}; + $.expando = "velocity" + (new Date().getTime()); + $.uuid = 0; + + /* For $.queue() */ + var class2type = {}, + hasOwn = class2type.hasOwnProperty, + toString = class2type.toString; + + var types = "Boolean Number String Function Array Date RegExp Object Error".split(" "); + for (var i = 0; i < types.length; i++) { + class2type["[object " + types[i] + "]"] = types[i].toLowerCase(); + } + + /* Makes $(node) possible, without having to call init. */ + $.fn.init.prototype = $.fn; + + /* Globalize Velocity onto the window, and assign its Utilities property. */ + window.Velocity = { Utilities: $ }; +})(window); + +/****************** + Velocity.js +******************/ + +;(function (factory) { + /* CommonJS module. */ + if (typeof module === "object" && typeof module.exports === "object") { + module.exports = factory(); + /* AMD module. */ + } else if (typeof define === "function" && define.amd) { + define(factory); + /* Browser globals. */ + } else { + factory(); + } +}(function() { +return function (global, window, document, undefined) { + + /*************** + Summary + ***************/ + + /* + - CSS: CSS stack that works independently from the rest of Velocity. + - animate(): Core animation method that iterates over the targeted elements and queues the incoming call onto each element individually. + - Pre-Queueing: Prepare the element for animation by instantiating its data cache and processing the call's options. + - Queueing: The logic that runs once the call has reached its point of execution in the element's $.queue() stack. + Most logic is placed here to avoid risking it becoming stale (if the element's properties have changed). + - Pushing: Consolidation of the tween data followed by its push onto the global in-progress calls container. + - tick(): The single requestAnimationFrame loop responsible for tweening all in-progress calls. + - completeCall(): Handles the cleanup process for each Velocity call. + */ + + /********************* + Helper Functions + *********************/ + + /* IE detection. Gist: https://gist.github.com/julianshapiro/9098609 */ + var IE = (function() { + if (document.documentMode) { + return document.documentMode; + } else { + for (var i = 7; i > 4; i--) { + var div = document.createElement("div"); + + div.innerHTML = ""; + + if (div.getElementsByTagName("span").length) { + div = null; + + return i; + } + } + } + + return undefined; + })(); + + /* rAF shim. Gist: https://gist.github.com/julianshapiro/9497513 */ + var rAFShim = (function() { + var timeLast = 0; + + return window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function(callback) { + var timeCurrent = (new Date()).getTime(), + timeDelta; + + /* Dynamically set delay on a per-tick basis to match 60fps. */ + /* Technique by Erik Moller. MIT license: https://gist.github.com/paulirish/1579671 */ + timeDelta = Math.max(0, 16 - (timeCurrent - timeLast)); + timeLast = timeCurrent + timeDelta; + + return setTimeout(function() { callback(timeCurrent + timeDelta); }, timeDelta); + }; + })(); + + /* Array compacting. Copyright Lo-Dash. MIT License: https://github.com/lodash/lodash/blob/master/LICENSE.txt */ + function compactSparseArray (array) { + var index = -1, + length = array ? array.length : 0, + result = []; + + while (++index < length) { + var value = array[index]; + + if (value) { + result.push(value); + } + } + + return result; + } + + function sanitizeElements (elements) { + /* Unwrap jQuery/Zepto objects. */ + if (Type.isWrapped(elements)) { + elements = [].slice.call(elements); + /* Wrap a single element in an array so that $.each() can iterate with the element instead of its node's children. */ + } else if (Type.isNode(elements)) { + elements = [ elements ]; + } + + return elements; + } + + var Type = { + isString: function (variable) { + return (typeof variable === "string"); + }, + isArray: Array.isArray || function (variable) { + return Object.prototype.toString.call(variable) === "[object Array]"; + }, + isFunction: function (variable) { + return Object.prototype.toString.call(variable) === "[object Function]"; + }, + isNode: function (variable) { + return variable && variable.nodeType; + }, + /* Copyright Martin Bohm. MIT License: https://gist.github.com/Tomalak/818a78a226a0738eaade */ + isNodeList: function (variable) { + return typeof variable === "object" && + /^\[object (HTMLCollection|NodeList|Object)\]$/.test(Object.prototype.toString.call(variable)) && + variable.length !== undefined && + (variable.length === 0 || (typeof variable[0] === "object" && variable[0].nodeType > 0)); + }, + /* Determine if variable is a wrapped jQuery or Zepto element. */ + isWrapped: function (variable) { + return variable && (variable.jquery || (window.Zepto && window.Zepto.zepto.isZ(variable))); + }, + isSVG: function (variable) { + return window.SVGElement && (variable instanceof window.SVGElement); + }, + isEmptyObject: function (variable) { + for (var name in variable) { + return false; + } + + return true; + } + }; + + /***************** + Dependencies + *****************/ + + var $, + isJQuery = false; + + if (global.fn && global.fn.jquery) { + $ = global; + isJQuery = true; + } else { + $ = window.Velocity.Utilities; + } + + if (IE <= 8 && !isJQuery) { + throw new Error("Velocity: IE8 and below require jQuery to be loaded before Velocity."); + } else if (IE <= 7) { + /* Revert to jQuery's $.animate(), and lose Velocity's extra features. */ + jQuery.fn.velocity = jQuery.fn.animate; + + /* Now that $.fn.velocity is aliased, abort this Velocity declaration. */ + return; + } + + /***************** + Constants + *****************/ + + var DURATION_DEFAULT = 400, + EASING_DEFAULT = "swing"; + + /************* + State + *************/ + + var Velocity = { + /* Container for page-wide Velocity state data. */ + State: { + /* Detect mobile devices to determine if mobileHA should be turned on. */ + isMobile: /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent), + /* The mobileHA option's behavior changes on older Android devices (Gingerbread, versions 2.3.3-2.3.7). */ + isAndroid: /Android/i.test(navigator.userAgent), + isGingerbread: /Android 2\.3\.[3-7]/i.test(navigator.userAgent), + isChrome: window.chrome, + isFirefox: /Firefox/i.test(navigator.userAgent), + /* Create a cached element for re-use when checking for CSS property prefixes. */ + prefixElement: document.createElement("div"), + /* Cache every prefix match to avoid repeating lookups. */ + prefixMatches: {}, + /* Cache the anchor used for animating window scrolling. */ + scrollAnchor: null, + /* Cache the browser-specific property names associated with the scroll anchor. */ + scrollPropertyLeft: null, + scrollPropertyTop: null, + /* Keep track of whether our RAF tick is running. */ + isTicking: false, + /* Container for every in-progress call to Velocity. */ + calls: [] + }, + /* Velocity's custom CSS stack. Made global for unit testing. */ + CSS: { /* Defined below. */ }, + /* A shim of the jQuery utility functions used by Velocity -- provided by Velocity's optional jQuery shim. */ + Utilities: $, + /* Container for the user's custom animation redirects that are referenced by name in place of the properties map argument. */ + Redirects: { /* Manually registered by the user. */ }, + Easings: { /* Defined below. */ }, + /* Attempt to use ES6 Promises by default. Users can override this with a third-party promises library. */ + Promise: window.Promise, + /* Velocity option defaults, which can be overriden by the user. */ + defaults: { + queue: "", + duration: DURATION_DEFAULT, + easing: EASING_DEFAULT, + begin: undefined, + complete: undefined, + progress: undefined, + display: undefined, + visibility: undefined, + loop: false, + delay: false, + mobileHA: true, + /* Advanced: Set to false to prevent property values from being cached between consecutive Velocity-initiated chain calls. */ + _cacheValues: true + }, + /* A design goal of Velocity is to cache data wherever possible in order to avoid DOM requerying. Accordingly, each element has a data cache. */ + init: function (element) { + $.data(element, "velocity", { + /* Store whether this is an SVG element, since its properties are retrieved and updated differently than standard HTML elements. */ + isSVG: Type.isSVG(element), + /* Keep track of whether the element is currently being animated by Velocity. + This is used to ensure that property values are not transferred between non-consecutive (stale) calls. */ + isAnimating: false, + /* A reference to the element's live computedStyle object. Learn more here: https://developer.mozilla.org/en/docs/Web/API/window.getComputedStyle */ + computedStyle: null, + /* Tween data is cached for each animation on the element so that data can be passed across calls -- + in particular, end values are used as subsequent start values in consecutive Velocity calls. */ + tweensContainer: null, + /* The full root property values of each CSS hook being animated on this element are cached so that: + 1) Concurrently-animating hooks sharing the same root can have their root values' merged into one while tweening. + 2) Post-hook-injection root values can be transferred over to consecutively chained Velocity calls as starting root values. */ + rootPropertyValueCache: {}, + /* A cache for transform updates, which must be manually flushed via CSS.flushTransformCache(). */ + transformCache: {} + }); + }, + /* A parallel to jQuery's $.css(), used for getting/setting Velocity's hooked CSS properties. */ + hook: null, /* Defined below. */ + /* Velocity-wide animation time remapping for testing purposes. */ + mock: false, + version: { major: 1, minor: 2, patch: 2 }, + /* Set to 1 or 2 (most verbose) to output debug info to console. */ + debug: false + }; + + /* Retrieve the appropriate scroll anchor and property name for the browser: https://developer.mozilla.org/en-US/docs/Web/API/Window.scrollY */ + if (window.pageYOffset !== undefined) { + Velocity.State.scrollAnchor = window; + Velocity.State.scrollPropertyLeft = "pageXOffset"; + Velocity.State.scrollPropertyTop = "pageYOffset"; + } else { + Velocity.State.scrollAnchor = document.documentElement || document.body.parentNode || document.body; + Velocity.State.scrollPropertyLeft = "scrollLeft"; + Velocity.State.scrollPropertyTop = "scrollTop"; + } + + /* Shorthand alias for jQuery's $.data() utility. */ + function Data (element) { + /* Hardcode a reference to the plugin name. */ + var response = $.data(element, "velocity"); + + /* jQuery <=1.4.2 returns null instead of undefined when no match is found. We normalize this behavior. */ + return response === null ? undefined : response; + }; + + /************** + Easing + **************/ + + /* Step easing generator. */ + function generateStep (steps) { + return function (p) { + return Math.round(p * steps) * (1 / steps); + }; + } + + /* Bezier curve function generator. Copyright Gaetan Renaudeau. MIT License: http://en.wikipedia.org/wiki/MIT_License */ + function generateBezier (mX1, mY1, mX2, mY2) { + var NEWTON_ITERATIONS = 4, + NEWTON_MIN_SLOPE = 0.001, + SUBDIVISION_PRECISION = 0.0000001, + SUBDIVISION_MAX_ITERATIONS = 10, + kSplineTableSize = 11, + kSampleStepSize = 1.0 / (kSplineTableSize - 1.0), + float32ArraySupported = "Float32Array" in window; + + /* Must contain four arguments. */ + if (arguments.length !== 4) { + return false; + } + + /* Arguments must be numbers. */ + for (var i = 0; i < 4; ++i) { + if (typeof arguments[i] !== "number" || isNaN(arguments[i]) || !isFinite(arguments[i])) { + return false; + } + } + + /* X values must be in the [0, 1] range. */ + mX1 = Math.min(mX1, 1); + mX2 = Math.min(mX2, 1); + mX1 = Math.max(mX1, 0); + mX2 = Math.max(mX2, 0); + + var mSampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize); + + function A (aA1, aA2) { return 1.0 - 3.0 * aA2 + 3.0 * aA1; } + function B (aA1, aA2) { return 3.0 * aA2 - 6.0 * aA1; } + function C (aA1) { return 3.0 * aA1; } + + function calcBezier (aT, aA1, aA2) { + return ((A(aA1, aA2)*aT + B(aA1, aA2))*aT + C(aA1))*aT; + } + + function getSlope (aT, aA1, aA2) { + return 3.0 * A(aA1, aA2)*aT*aT + 2.0 * B(aA1, aA2) * aT + C(aA1); + } + + function newtonRaphsonIterate (aX, aGuessT) { + for (var i = 0; i < NEWTON_ITERATIONS; ++i) { + var currentSlope = getSlope(aGuessT, mX1, mX2); + + if (currentSlope === 0.0) return aGuessT; + + var currentX = calcBezier(aGuessT, mX1, mX2) - aX; + aGuessT -= currentX / currentSlope; + } + + return aGuessT; + } + + function calcSampleValues () { + for (var i = 0; i < kSplineTableSize; ++i) { + mSampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2); + } + } + + function binarySubdivide (aX, aA, aB) { + var currentX, currentT, i = 0; + + do { + currentT = aA + (aB - aA) / 2.0; + currentX = calcBezier(currentT, mX1, mX2) - aX; + if (currentX > 0.0) { + aB = currentT; + } else { + aA = currentT; + } + } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS); + + return currentT; + } + + function getTForX (aX) { + var intervalStart = 0.0, + currentSample = 1, + lastSample = kSplineTableSize - 1; + + for (; currentSample != lastSample && mSampleValues[currentSample] <= aX; ++currentSample) { + intervalStart += kSampleStepSize; + } + + --currentSample; + + var dist = (aX - mSampleValues[currentSample]) / (mSampleValues[currentSample+1] - mSampleValues[currentSample]), + guessForT = intervalStart + dist * kSampleStepSize, + initialSlope = getSlope(guessForT, mX1, mX2); + + if (initialSlope >= NEWTON_MIN_SLOPE) { + return newtonRaphsonIterate(aX, guessForT); + } else if (initialSlope == 0.0) { + return guessForT; + } else { + return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize); + } + } + + var _precomputed = false; + + function precompute() { + _precomputed = true; + if (mX1 != mY1 || mX2 != mY2) calcSampleValues(); + } + + var f = function (aX) { + if (!_precomputed) precompute(); + if (mX1 === mY1 && mX2 === mY2) return aX; + if (aX === 0) return 0; + if (aX === 1) return 1; + + return calcBezier(getTForX(aX), mY1, mY2); + }; + + f.getControlPoints = function() { return [{ x: mX1, y: mY1 }, { x: mX2, y: mY2 }]; }; + + var str = "generateBezier(" + [mX1, mY1, mX2, mY2] + ")"; + f.toString = function () { return str; }; + + return f; + } + + /* Runge-Kutta spring physics function generator. Adapted from Framer.js, copyright Koen Bok. MIT License: http://en.wikipedia.org/wiki/MIT_License */ + /* Given a tension, friction, and duration, a simulation at 60FPS will first run without a defined duration in order to calculate the full path. A second pass + then adjusts the time delta -- using the relation between actual time and duration -- to calculate the path for the duration-constrained animation. */ + var generateSpringRK4 = (function () { + function springAccelerationForState (state) { + return (-state.tension * state.x) - (state.friction * state.v); + } + + function springEvaluateStateWithDerivative (initialState, dt, derivative) { + var state = { + x: initialState.x + derivative.dx * dt, + v: initialState.v + derivative.dv * dt, + tension: initialState.tension, + friction: initialState.friction + }; + + return { dx: state.v, dv: springAccelerationForState(state) }; + } + + function springIntegrateState (state, dt) { + var a = { + dx: state.v, + dv: springAccelerationForState(state) + }, + b = springEvaluateStateWithDerivative(state, dt * 0.5, a), + c = springEvaluateStateWithDerivative(state, dt * 0.5, b), + d = springEvaluateStateWithDerivative(state, dt, c), + dxdt = 1.0 / 6.0 * (a.dx + 2.0 * (b.dx + c.dx) + d.dx), + dvdt = 1.0 / 6.0 * (a.dv + 2.0 * (b.dv + c.dv) + d.dv); + + state.x = state.x + dxdt * dt; + state.v = state.v + dvdt * dt; + + return state; + } + + return function springRK4Factory (tension, friction, duration) { + + var initState = { + x: -1, + v: 0, + tension: null, + friction: null + }, + path = [0], + time_lapsed = 0, + tolerance = 1 / 10000, + DT = 16 / 1000, + have_duration, dt, last_state; + + tension = parseFloat(tension) || 500; + friction = parseFloat(friction) || 20; + duration = duration || null; + + initState.tension = tension; + initState.friction = friction; + + have_duration = duration !== null; + + /* Calculate the actual time it takes for this animation to complete with the provided conditions. */ + if (have_duration) { + /* Run the simulation without a duration. */ + time_lapsed = springRK4Factory(tension, friction); + /* Compute the adjusted time delta. */ + dt = time_lapsed / duration * DT; + } else { + dt = DT; + } + + while (true) { + /* Next/step function .*/ + last_state = springIntegrateState(last_state || initState, dt); + /* Store the position. */ + path.push(1 + last_state.x); + time_lapsed += 16; + /* If the change threshold is reached, break. */ + if (!(Math.abs(last_state.x) > tolerance && Math.abs(last_state.v) > tolerance)) { + break; + } + } + + /* If duration is not defined, return the actual time required for completing this animation. Otherwise, return a closure that holds the + computed path and returns a snapshot of the position according to a given percentComplete. */ + return !have_duration ? time_lapsed : function(percentComplete) { return path[ (percentComplete * (path.length - 1)) | 0 ]; }; + }; + }()); + + /* jQuery easings. */ + Velocity.Easings = { + linear: function(p) { return p; }, + swing: function(p) { return 0.5 - Math.cos( p * Math.PI ) / 2 }, + /* Bonus "spring" easing, which is a less exaggerated version of easeInOutElastic. */ + spring: function(p) { return 1 - (Math.cos(p * 4.5 * Math.PI) * Math.exp(-p * 6)); } + }; + + /* CSS3 and Robert Penner easings. */ + $.each( + [ + [ "ease", [ 0.25, 0.1, 0.25, 1.0 ] ], + [ "ease-in", [ 0.42, 0.0, 1.00, 1.0 ] ], + [ "ease-out", [ 0.00, 0.0, 0.58, 1.0 ] ], + [ "ease-in-out", [ 0.42, 0.0, 0.58, 1.0 ] ], + [ "easeInSine", [ 0.47, 0, 0.745, 0.715 ] ], + [ "easeOutSine", [ 0.39, 0.575, 0.565, 1 ] ], + [ "easeInOutSine", [ 0.445, 0.05, 0.55, 0.95 ] ], + [ "easeInQuad", [ 0.55, 0.085, 0.68, 0.53 ] ], + [ "easeOutQuad", [ 0.25, 0.46, 0.45, 0.94 ] ], + [ "easeInOutQuad", [ 0.455, 0.03, 0.515, 0.955 ] ], + [ "easeInCubic", [ 0.55, 0.055, 0.675, 0.19 ] ], + [ "easeOutCubic", [ 0.215, 0.61, 0.355, 1 ] ], + [ "easeInOutCubic", [ 0.645, 0.045, 0.355, 1 ] ], + [ "easeInQuart", [ 0.895, 0.03, 0.685, 0.22 ] ], + [ "easeOutQuart", [ 0.165, 0.84, 0.44, 1 ] ], + [ "easeInOutQuart", [ 0.77, 0, 0.175, 1 ] ], + [ "easeInQuint", [ 0.755, 0.05, 0.855, 0.06 ] ], + [ "easeOutQuint", [ 0.23, 1, 0.32, 1 ] ], + [ "easeInOutQuint", [ 0.86, 0, 0.07, 1 ] ], + [ "easeInExpo", [ 0.95, 0.05, 0.795, 0.035 ] ], + [ "easeOutExpo", [ 0.19, 1, 0.22, 1 ] ], + [ "easeInOutExpo", [ 1, 0, 0, 1 ] ], + [ "easeInCirc", [ 0.6, 0.04, 0.98, 0.335 ] ], + [ "easeOutCirc", [ 0.075, 0.82, 0.165, 1 ] ], + [ "easeInOutCirc", [ 0.785, 0.135, 0.15, 0.86 ] ] + ], function(i, easingArray) { + Velocity.Easings[easingArray[0]] = generateBezier.apply(null, easingArray[1]); + }); + + /* Determine the appropriate easing type given an easing input. */ + function getEasing(value, duration) { + var easing = value; + + /* The easing option can either be a string that references a pre-registered easing, + or it can be a two-/four-item array of integers to be converted into a bezier/spring function. */ + if (Type.isString(value)) { + /* Ensure that the easing has been assigned to jQuery's Velocity.Easings object. */ + if (!Velocity.Easings[value]) { + easing = false; + } + } else if (Type.isArray(value) && value.length === 1) { + easing = generateStep.apply(null, value); + } else if (Type.isArray(value) && value.length === 2) { + /* springRK4 must be passed the animation's duration. */ + /* Note: If the springRK4 array contains non-numbers, generateSpringRK4() returns an easing + function generated with default tension and friction values. */ + easing = generateSpringRK4.apply(null, value.concat([ duration ])); + } else if (Type.isArray(value) && value.length === 4) { + /* Note: If the bezier array contains non-numbers, generateBezier() returns false. */ + easing = generateBezier.apply(null, value); + } else { + easing = false; + } + + /* Revert to the Velocity-wide default easing type, or fall back to "swing" (which is also jQuery's default) + if the Velocity-wide default has been incorrectly modified. */ + if (easing === false) { + if (Velocity.Easings[Velocity.defaults.easing]) { + easing = Velocity.defaults.easing; + } else { + easing = EASING_DEFAULT; + } + } + + return easing; + } + + /***************** + CSS Stack + *****************/ + + /* The CSS object is a highly condensed and performant CSS stack that fully replaces jQuery's. + It handles the validation, getting, and setting of both standard CSS properties and CSS property hooks. */ + /* Note: A "CSS" shorthand is aliased so that our code is easier to read. */ + var CSS = Velocity.CSS = { + + /************* + RegEx + *************/ + + RegEx: { + isHex: /^#([A-f\d]{3}){1,2}$/i, + /* Unwrap a property value's surrounding text, e.g. "rgba(4, 3, 2, 1)" ==> "4, 3, 2, 1" and "rect(4px 3px 2px 1px)" ==> "4px 3px 2px 1px". */ + valueUnwrap: /^[A-z]+\((.*)\)$/i, + wrappedValueAlreadyExtracted: /[0-9.]+ [0-9.]+ [0-9.]+( [0-9.]+)?/, + /* Split a multi-value property into an array of subvalues, e.g. "rgba(4, 3, 2, 1) 4px 3px 2px 1px" ==> [ "rgba(4, 3, 2, 1)", "4px", "3px", "2px", "1px" ]. */ + valueSplit: /([A-z]+\(.+\))|(([A-z0-9#-.]+?)(?=\s|$))/ig + }, + + /************ + Lists + ************/ + + Lists: { + colors: [ "fill", "stroke", "stopColor", "color", "backgroundColor", "borderColor", "borderTopColor", "borderRightColor", "borderBottomColor", "borderLeftColor", "outlineColor" ], + transformsBase: [ "translateX", "translateY", "scale", "scaleX", "scaleY", "skewX", "skewY", "rotateZ" ], + transforms3D: [ "transformPerspective", "translateZ", "scaleZ", "rotateX", "rotateY" ] + }, + + /************ + Hooks + ************/ + + /* Hooks allow a subproperty (e.g. "boxShadowBlur") of a compound-value CSS property + (e.g. "boxShadow: X Y Blur Spread Color") to be animated as if it were a discrete property. */ + /* Note: Beyond enabling fine-grained property animation, hooking is necessary since Velocity only + tweens properties with single numeric values; unlike CSS transitions, Velocity does not interpolate compound-values. */ + Hooks: { + /******************** + Registration + ********************/ + + /* Templates are a concise way of indicating which subproperties must be individually registered for each compound-value CSS property. */ + /* Each template consists of the compound-value's base name, its constituent subproperty names, and those subproperties' default values. */ + templates: { + "textShadow": [ "Color X Y Blur", "black 0px 0px 0px" ], + "boxShadow": [ "Color X Y Blur Spread", "black 0px 0px 0px 0px" ], + "clip": [ "Top Right Bottom Left", "0px 0px 0px 0px" ], + "backgroundPosition": [ "X Y", "0% 0%" ], + "transformOrigin": [ "X Y Z", "50% 50% 0px" ], + "perspectiveOrigin": [ "X Y", "50% 50%" ] + }, + + /* A "registered" hook is one that has been converted from its template form into a live, + tweenable property. It contains data to associate it with its root property. */ + registered: { + /* Note: A registered hook looks like this ==> textShadowBlur: [ "textShadow", 3 ], + which consists of the subproperty's name, the associated root property's name, + and the subproperty's position in the root's value. */ + }, + /* Convert the templates into individual hooks then append them to the registered object above. */ + register: function () { + /* Color hooks registration: Colors are defaulted to white -- as opposed to black -- since colors that are + currently set to "transparent" default to their respective template below when color-animated, + and white is typically a closer match to transparent than black is. An exception is made for text ("color"), + which is almost always set closer to black than white. */ + for (var i = 0; i < CSS.Lists.colors.length; i++) { + var rgbComponents = (CSS.Lists.colors[i] === "color") ? "0 0 0 1" : "255 255 255 1"; + CSS.Hooks.templates[CSS.Lists.colors[i]] = [ "Red Green Blue Alpha", rgbComponents ]; + } + + var rootProperty, + hookTemplate, + hookNames; + + /* In IE, color values inside compound-value properties are positioned at the end the value instead of at the beginning. + Thus, we re-arrange the templates accordingly. */ + if (IE) { + for (rootProperty in CSS.Hooks.templates) { + hookTemplate = CSS.Hooks.templates[rootProperty]; + hookNames = hookTemplate[0].split(" "); + + var defaultValues = hookTemplate[1].match(CSS.RegEx.valueSplit); + + if (hookNames[0] === "Color") { + /* Reposition both the hook's name and its default value to the end of their respective strings. */ + hookNames.push(hookNames.shift()); + defaultValues.push(defaultValues.shift()); + + /* Replace the existing template for the hook's root property. */ + CSS.Hooks.templates[rootProperty] = [ hookNames.join(" "), defaultValues.join(" ") ]; + } + } + } + + /* Hook registration. */ + for (rootProperty in CSS.Hooks.templates) { + hookTemplate = CSS.Hooks.templates[rootProperty]; + hookNames = hookTemplate[0].split(" "); + + for (var i in hookNames) { + var fullHookName = rootProperty + hookNames[i], + hookPosition = i; + + /* For each hook, register its full name (e.g. textShadowBlur) with its root property (e.g. textShadow) + and the hook's position in its template's default value string. */ + CSS.Hooks.registered[fullHookName] = [ rootProperty, hookPosition ]; + } + } + }, + + /***************************** + Injection and Extraction + *****************************/ + + /* Look up the root property associated with the hook (e.g. return "textShadow" for "textShadowBlur"). */ + /* Since a hook cannot be set directly (the browser won't recognize it), style updating for hooks is routed through the hook's root property. */ + getRoot: function (property) { + var hookData = CSS.Hooks.registered[property]; + + if (hookData) { + return hookData[0]; + } else { + /* If there was no hook match, return the property name untouched. */ + return property; + } + }, + /* Convert any rootPropertyValue, null or otherwise, into a space-delimited list of hook values so that + the targeted hook can be injected or extracted at its standard position. */ + cleanRootPropertyValue: function(rootProperty, rootPropertyValue) { + /* If the rootPropertyValue is wrapped with "rgb()", "clip()", etc., remove the wrapping to normalize the value before manipulation. */ + if (CSS.RegEx.valueUnwrap.test(rootPropertyValue)) { + rootPropertyValue = rootPropertyValue.match(CSS.RegEx.valueUnwrap)[1]; + } + + /* If rootPropertyValue is a CSS null-value (from which there's inherently no hook value to extract), + default to the root's default value as defined in CSS.Hooks.templates. */ + /* Note: CSS null-values include "none", "auto", and "transparent". They must be converted into their + zero-values (e.g. textShadow: "none" ==> textShadow: "0px 0px 0px black") for hook manipulation to proceed. */ + if (CSS.Values.isCSSNullValue(rootPropertyValue)) { + rootPropertyValue = CSS.Hooks.templates[rootProperty][1]; + } + + return rootPropertyValue; + }, + /* Extracted the hook's value from its root property's value. This is used to get the starting value of an animating hook. */ + extractValue: function (fullHookName, rootPropertyValue) { + var hookData = CSS.Hooks.registered[fullHookName]; + + if (hookData) { + var hookRoot = hookData[0], + hookPosition = hookData[1]; + + rootPropertyValue = CSS.Hooks.cleanRootPropertyValue(hookRoot, rootPropertyValue); + + /* Split rootPropertyValue into its constituent hook values then grab the desired hook at its standard position. */ + return rootPropertyValue.toString().match(CSS.RegEx.valueSplit)[hookPosition]; + } else { + /* If the provided fullHookName isn't a registered hook, return the rootPropertyValue that was passed in. */ + return rootPropertyValue; + } + }, + /* Inject the hook's value into its root property's value. This is used to piece back together the root property + once Velocity has updated one of its individually hooked values through tweening. */ + injectValue: function (fullHookName, hookValue, rootPropertyValue) { + var hookData = CSS.Hooks.registered[fullHookName]; + + if (hookData) { + var hookRoot = hookData[0], + hookPosition = hookData[1], + rootPropertyValueParts, + rootPropertyValueUpdated; + + rootPropertyValue = CSS.Hooks.cleanRootPropertyValue(hookRoot, rootPropertyValue); + + /* Split rootPropertyValue into its individual hook values, replace the targeted value with hookValue, + then reconstruct the rootPropertyValue string. */ + rootPropertyValueParts = rootPropertyValue.toString().match(CSS.RegEx.valueSplit); + rootPropertyValueParts[hookPosition] = hookValue; + rootPropertyValueUpdated = rootPropertyValueParts.join(" "); + + return rootPropertyValueUpdated; + } else { + /* If the provided fullHookName isn't a registered hook, return the rootPropertyValue that was passed in. */ + return rootPropertyValue; + } + } + }, + + /******************* + Normalizations + *******************/ + + /* Normalizations standardize CSS property manipulation by pollyfilling browser-specific implementations (e.g. opacity) + and reformatting special properties (e.g. clip, rgba) to look like standard ones. */ + Normalizations: { + /* Normalizations are passed a normalization target (either the property's name, its extracted value, or its injected value), + the targeted element (which may need to be queried), and the targeted property value. */ + registered: { + clip: function (type, element, propertyValue) { + switch (type) { + case "name": + return "clip"; + /* Clip needs to be unwrapped and stripped of its commas during extraction. */ + case "extract": + var extracted; + + /* If Velocity also extracted this value, skip extraction. */ + if (CSS.RegEx.wrappedValueAlreadyExtracted.test(propertyValue)) { + extracted = propertyValue; + } else { + /* Remove the "rect()" wrapper. */ + extracted = propertyValue.toString().match(CSS.RegEx.valueUnwrap); + + /* Strip off commas. */ + extracted = extracted ? extracted[1].replace(/,(\s+)?/g, " ") : propertyValue; + } + + return extracted; + /* Clip needs to be re-wrapped during injection. */ + case "inject": + return "rect(" + propertyValue + ")"; + } + }, + + blur: function(type, element, propertyValue) { + switch (type) { + case "name": + return Velocity.State.isFirefox ? "filter" : "-webkit-filter"; + case "extract": + var extracted = parseFloat(propertyValue); + + /* If extracted is NaN, meaning the value isn't already extracted. */ + if (!(extracted || extracted === 0)) { + var blurComponent = propertyValue.toString().match(/blur\(([0-9]+[A-z]+)\)/i); + + /* If the filter string had a blur component, return just the blur value and unit type. */ + if (blurComponent) { + extracted = blurComponent[1]; + /* If the component doesn't exist, default blur to 0. */ + } else { + extracted = 0; + } + } + + return extracted; + /* Blur needs to be re-wrapped during injection. */ + case "inject": + /* For the blur effect to be fully de-applied, it needs to be set to "none" instead of 0. */ + if (!parseFloat(propertyValue)) { + return "none"; + } else { + return "blur(" + propertyValue + ")"; + } + } + }, + + /* <=IE8 do not support the standard opacity property. They use filter:alpha(opacity=INT) instead. */ + opacity: function (type, element, propertyValue) { + if (IE <= 8) { + switch (type) { + case "name": + return "filter"; + case "extract": + /* <=IE8 return a "filter" value of "alpha(opacity=\d{1,3})". + Extract the value and convert it to a decimal value to match the standard CSS opacity property's formatting. */ + var extracted = propertyValue.toString().match(/alpha\(opacity=(.*)\)/i); + + if (extracted) { + /* Convert to decimal value. */ + propertyValue = extracted[1] / 100; + } else { + /* When extracting opacity, default to 1 since a null value means opacity hasn't been set. */ + propertyValue = 1; + } + + return propertyValue; + case "inject": + /* Opacified elements are required to have their zoom property set to a non-zero value. */ + element.style.zoom = 1; + + /* Setting the filter property on elements with certain font property combinations can result in a + highly unappealing ultra-bolding effect. There's no way to remedy this throughout a tween, but dropping the + value altogether (when opacity hits 1) at leasts ensures that the glitch is gone post-tweening. */ + if (parseFloat(propertyValue) >= 1) { + return ""; + } else { + /* As per the filter property's spec, convert the decimal value to a whole number and wrap the value. */ + return "alpha(opacity=" + parseInt(parseFloat(propertyValue) * 100, 10) + ")"; + } + } + /* With all other browsers, normalization is not required; return the same values that were passed in. */ + } else { + switch (type) { + case "name": + return "opacity"; + case "extract": + return propertyValue; + case "inject": + return propertyValue; + } + } + } + }, + + /***************************** + Batched Registrations + *****************************/ + + /* Note: Batched normalizations extend the CSS.Normalizations.registered object. */ + register: function () { + + /***************** + Transforms + *****************/ + + /* Transforms are the subproperties contained by the CSS "transform" property. Transforms must undergo normalization + so that they can be referenced in a properties map by their individual names. */ + /* Note: When transforms are "set", they are actually assigned to a per-element transformCache. When all transform + setting is complete complete, CSS.flushTransformCache() must be manually called to flush the values to the DOM. + Transform setting is batched in this way to improve performance: the transform style only needs to be updated + once when multiple transform subproperties are being animated simultaneously. */ + /* Note: IE9 and Android Gingerbread have support for 2D -- but not 3D -- transforms. Since animating unsupported + transform properties results in the browser ignoring the *entire* transform string, we prevent these 3D values + from being normalized for these browsers so that tweening skips these properties altogether + (since it will ignore them as being unsupported by the browser.) */ + if (!(IE <= 9) && !Velocity.State.isGingerbread) { + /* Note: Since the standalone CSS "perspective" property and the CSS transform "perspective" subproperty + share the same name, the latter is given a unique token within Velocity: "transformPerspective". */ + CSS.Lists.transformsBase = CSS.Lists.transformsBase.concat(CSS.Lists.transforms3D); + } + + for (var i = 0; i < CSS.Lists.transformsBase.length; i++) { + /* Wrap the dynamically generated normalization function in a new scope so that transformName's value is + paired with its respective function. (Otherwise, all functions would take the final for loop's transformName.) */ + (function() { + var transformName = CSS.Lists.transformsBase[i]; + + CSS.Normalizations.registered[transformName] = function (type, element, propertyValue) { + switch (type) { + /* The normalized property name is the parent "transform" property -- the property that is actually set in CSS. */ + case "name": + return "transform"; + /* Transform values are cached onto a per-element transformCache object. */ + case "extract": + /* If this transform has yet to be assigned a value, return its null value. */ + if (Data(element) === undefined || Data(element).transformCache[transformName] === undefined) { + /* Scale CSS.Lists.transformsBase default to 1 whereas all other transform properties default to 0. */ + return /^scale/i.test(transformName) ? 1 : 0; + /* When transform values are set, they are wrapped in parentheses as per the CSS spec. + Thus, when extracting their values (for tween calculations), we strip off the parentheses. */ + } else { + return Data(element).transformCache[transformName].replace(/[()]/g, ""); + } + case "inject": + var invalid = false; + + /* If an individual transform property contains an unsupported unit type, the browser ignores the *entire* transform property. + Thus, protect users from themselves by skipping setting for transform values supplied with invalid unit types. */ + /* Switch on the base transform type; ignore the axis by removing the last letter from the transform's name. */ + switch (transformName.substr(0, transformName.length - 1)) { + /* Whitelist unit types for each transform. */ + case "translate": + invalid = !/(%|px|em|rem|vw|vh|\d)$/i.test(propertyValue); + break; + /* Since an axis-free "scale" property is supported as well, a little hack is used here to detect it by chopping off its last letter. */ + case "scal": + case "scale": + /* Chrome on Android has a bug in which scaled elements blur if their initial scale + value is below 1 (which can happen with forcefeeding). Thus, we detect a yet-unset scale property + and ensure that its first value is always 1. More info: http://stackoverflow.com/questions/10417890/css3-animations-with-transform-causes-blurred-elements-on-webkit/10417962#10417962 */ + if (Velocity.State.isAndroid && Data(element).transformCache[transformName] === undefined && propertyValue < 1) { + propertyValue = 1; + } + + invalid = !/(\d)$/i.test(propertyValue); + break; + case "skew": + invalid = !/(deg|\d)$/i.test(propertyValue); + break; + case "rotate": + invalid = !/(deg|\d)$/i.test(propertyValue); + break; + } + + if (!invalid) { + /* As per the CSS spec, wrap the value in parentheses. */ + Data(element).transformCache[transformName] = "(" + propertyValue + ")"; + } + + /* Although the value is set on the transformCache object, return the newly-updated value for the calling code to process as normal. */ + return Data(element).transformCache[transformName]; + } + }; + })(); + } + + /************* + Colors + *************/ + + /* Since Velocity only animates a single numeric value per property, color animation is achieved by hooking the individual RGBA components of CSS color properties. + Accordingly, color values must be normalized (e.g. "#ff0000", "red", and "rgb(255, 0, 0)" ==> "255 0 0 1") so that their components can be injected/extracted by CSS.Hooks logic. */ + for (var i = 0; i < CSS.Lists.colors.length; i++) { + /* Wrap the dynamically generated normalization function in a new scope so that colorName's value is paired with its respective function. + (Otherwise, all functions would take the final for loop's colorName.) */ + (function () { + var colorName = CSS.Lists.colors[i]; + + /* Note: In IE<=8, which support rgb but not rgba, color properties are reverted to rgb by stripping off the alpha component. */ + CSS.Normalizations.registered[colorName] = function(type, element, propertyValue) { + switch (type) { + case "name": + return colorName; + /* Convert all color values into the rgb format. (Old IE can return hex values and color names instead of rgb/rgba.) */ + case "extract": + var extracted; + + /* If the color is already in its hookable form (e.g. "255 255 255 1") due to having been previously extracted, skip extraction. */ + if (CSS.RegEx.wrappedValueAlreadyExtracted.test(propertyValue)) { + extracted = propertyValue; + } else { + var converted, + colorNames = { + black: "rgb(0, 0, 0)", + blue: "rgb(0, 0, 255)", + gray: "rgb(128, 128, 128)", + green: "rgb(0, 128, 0)", + red: "rgb(255, 0, 0)", + white: "rgb(255, 255, 255)" + }; + + /* Convert color names to rgb. */ + if (/^[A-z]+$/i.test(propertyValue)) { + if (colorNames[propertyValue] !== undefined) { + converted = colorNames[propertyValue] + } else { + /* If an unmatched color name is provided, default to black. */ + converted = colorNames.black; + } + /* Convert hex values to rgb. */ + } else if (CSS.RegEx.isHex.test(propertyValue)) { + converted = "rgb(" + CSS.Values.hexToRgb(propertyValue).join(" ") + ")"; + /* If the provided color doesn't match any of the accepted color formats, default to black. */ + } else if (!(/^rgba?\(/i.test(propertyValue))) { + converted = colorNames.black; + } + + /* Remove the surrounding "rgb/rgba()" string then replace commas with spaces and strip + repeated spaces (in case the value included spaces to begin with). */ + extracted = (converted || propertyValue).toString().match(CSS.RegEx.valueUnwrap)[1].replace(/,(\s+)?/g, " "); + } + + /* So long as this isn't <=IE8, add a fourth (alpha) component if it's missing and default it to 1 (visible). */ + if (!(IE <= 8) && extracted.split(" ").length === 3) { + extracted += " 1"; + } + + return extracted; + case "inject": + /* If this is IE<=8 and an alpha component exists, strip it off. */ + if (IE <= 8) { + if (propertyValue.split(" ").length === 4) { + propertyValue = propertyValue.split(/\s+/).slice(0, 3).join(" "); + } + /* Otherwise, add a fourth (alpha) component if it's missing and default it to 1 (visible). */ + } else if (propertyValue.split(" ").length === 3) { + propertyValue += " 1"; + } + + /* Re-insert the browser-appropriate wrapper("rgb/rgba()"), insert commas, and strip off decimal units + on all values but the fourth (R, G, and B only accept whole numbers). */ + return (IE <= 8 ? "rgb" : "rgba") + "(" + propertyValue.replace(/\s+/g, ",").replace(/\.(\d)+(?=,)/g, "") + ")"; + } + }; + })(); + } + } + }, + + /************************ + CSS Property Names + ************************/ + + Names: { + /* Camelcase a property name into its JavaScript notation (e.g. "background-color" ==> "backgroundColor"). + Camelcasing is used to normalize property names between and across calls. */ + camelCase: function (property) { + return property.replace(/-(\w)/g, function (match, subMatch) { + return subMatch.toUpperCase(); + }); + }, + + /* For SVG elements, some properties (namely, dimensional ones) are GET/SET via the element's HTML attributes (instead of via CSS styles). */ + SVGAttribute: function (property) { + var SVGAttributes = "width|height|x|y|cx|cy|r|rx|ry|x1|x2|y1|y2"; + + /* Certain browsers require an SVG transform to be applied as an attribute. (Otherwise, application via CSS is preferable due to 3D support.) */ + if (IE || (Velocity.State.isAndroid && !Velocity.State.isChrome)) { + SVGAttributes += "|transform"; + } + + return new RegExp("^(" + SVGAttributes + ")$", "i").test(property); + }, + + /* Determine whether a property should be set with a vendor prefix. */ + /* If a prefixed version of the property exists, return it. Otherwise, return the original property name. + If the property is not at all supported by the browser, return a false flag. */ + prefixCheck: function (property) { + /* If this property has already been checked, return the cached value. */ + if (Velocity.State.prefixMatches[property]) { + return [ Velocity.State.prefixMatches[property], true ]; + } else { + var vendors = [ "", "Webkit", "Moz", "ms", "O" ]; + + for (var i = 0, vendorsLength = vendors.length; i < vendorsLength; i++) { + var propertyPrefixed; + + if (i === 0) { + propertyPrefixed = property; + } else { + /* Capitalize the first letter of the property to conform to JavaScript vendor prefix notation (e.g. webkitFilter). */ + propertyPrefixed = vendors[i] + property.replace(/^\w/, function(match) { return match.toUpperCase(); }); + } + + /* Check if the browser supports this property as prefixed. */ + if (Type.isString(Velocity.State.prefixElement.style[propertyPrefixed])) { + /* Cache the match. */ + Velocity.State.prefixMatches[property] = propertyPrefixed; + + return [ propertyPrefixed, true ]; + } + } + + /* If the browser doesn't support this property in any form, include a false flag so that the caller can decide how to proceed. */ + return [ property, false ]; + } + } + }, + + /************************ + CSS Property Values + ************************/ + + Values: { + /* Hex to RGB conversion. Copyright Tim Down: http://stackoverflow.com/questions/5623838/rgb-to-hex-and-hex-to-rgb */ + hexToRgb: function (hex) { + var shortformRegex = /^#?([a-f\d])([a-f\d])([a-f\d])$/i, + longformRegex = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i, + rgbParts; + + hex = hex.replace(shortformRegex, function (m, r, g, b) { + return r + r + g + g + b + b; + }); + + rgbParts = longformRegex.exec(hex); + + return rgbParts ? [ parseInt(rgbParts[1], 16), parseInt(rgbParts[2], 16), parseInt(rgbParts[3], 16) ] : [ 0, 0, 0 ]; + }, + + isCSSNullValue: function (value) { + /* The browser defaults CSS values that have not been set to either 0 or one of several possible null-value strings. + Thus, we check for both falsiness and these special strings. */ + /* Null-value checking is performed to default the special strings to 0 (for the sake of tweening) or their hook + templates as defined as CSS.Hooks (for the sake of hook injection/extraction). */ + /* Note: Chrome returns "rgba(0, 0, 0, 0)" for an undefined color whereas IE returns "transparent". */ + return (value == 0 || /^(none|auto|transparent|(rgba\(0, ?0, ?0, ?0\)))$/i.test(value)); + }, + + /* Retrieve a property's default unit type. Used for assigning a unit type when one is not supplied by the user. */ + getUnitType: function (property) { + if (/^(rotate|skew)/i.test(property)) { + return "deg"; + } else if (/(^(scale|scaleX|scaleY|scaleZ|alpha|flexGrow|flexHeight|zIndex|fontWeight)$)|((opacity|red|green|blue|alpha)$)/i.test(property)) { + /* The above properties are unitless. */ + return ""; + } else { + /* Default to px for all other properties. */ + return "px"; + } + }, + + /* HTML elements default to an associated display type when they're not set to display:none. */ + /* Note: This function is used for correctly setting the non-"none" display value in certain Velocity redirects, such as fadeIn/Out. */ + getDisplayType: function (element) { + var tagName = element && element.tagName.toString().toLowerCase(); + + if (/^(b|big|i|small|tt|abbr|acronym|cite|code|dfn|em|kbd|strong|samp|var|a|bdo|br|img|map|object|q|script|span|sub|sup|button|input|label|select|textarea)$/i.test(tagName)) { + return "inline"; + } else if (/^(li)$/i.test(tagName)) { + return "list-item"; + } else if (/^(tr)$/i.test(tagName)) { + return "table-row"; + } else if (/^(table)$/i.test(tagName)) { + return "table"; + } else if (/^(tbody)$/i.test(tagName)) { + return "table-row-group"; + /* Default to "block" when no match is found. */ + } else { + return "block"; + } + }, + + /* The class add/remove functions are used to temporarily apply a "velocity-animating" class to elements while they're animating. */ + addClass: function (element, className) { + if (element.classList) { + element.classList.add(className); + } else { + element.className += (element.className.length ? " " : "") + className; + } + }, + + removeClass: function (element, className) { + if (element.classList) { + element.classList.remove(className); + } else { + element.className = element.className.toString().replace(new RegExp("(^|\\s)" + className.split(" ").join("|") + "(\\s|$)", "gi"), " "); + } + } + }, + + /**************************** + Style Getting & Setting + ****************************/ + + /* The singular getPropertyValue, which routes the logic for all normalizations, hooks, and standard CSS properties. */ + getPropertyValue: function (element, property, rootPropertyValue, forceStyleLookup) { + /* Get an element's computed property value. */ + /* Note: Retrieving the value of a CSS property cannot simply be performed by checking an element's + style attribute (which only reflects user-defined values). Instead, the browser must be queried for a property's + *computed* value. You can read more about getComputedStyle here: https://developer.mozilla.org/en/docs/Web/API/window.getComputedStyle */ + function computePropertyValue (element, property) { + /* When box-sizing isn't set to border-box, height and width style values are incorrectly computed when an + element's scrollbars are visible (which expands the element's dimensions). Thus, we defer to the more accurate + offsetHeight/Width property, which includes the total dimensions for interior, border, padding, and scrollbar. + We subtract border and padding to get the sum of interior + scrollbar. */ + var computedValue = 0; + + /* IE<=8 doesn't support window.getComputedStyle, thus we defer to jQuery, which has an extensive array + of hacks to accurately retrieve IE8 property values. Re-implementing that logic here is not worth bloating the + codebase for a dying browser. The performance repercussions of using jQuery here are minimal since + Velocity is optimized to rarely (and sometimes never) query the DOM. Further, the $.css() codepath isn't that slow. */ + if (IE <= 8) { + computedValue = $.css(element, property); /* GET */ + /* All other browsers support getComputedStyle. The returned live object reference is cached onto its + associated element so that it does not need to be refetched upon every GET. */ + } else { + /* Browsers do not return height and width values for elements that are set to display:"none". Thus, we temporarily + toggle display to the element type's default value. */ + var toggleDisplay = false; + + if (/^(width|height)$/.test(property) && CSS.getPropertyValue(element, "display") === 0) { + toggleDisplay = true; + CSS.setPropertyValue(element, "display", CSS.Values.getDisplayType(element)); + } + + function revertDisplay () { + if (toggleDisplay) { + CSS.setPropertyValue(element, "display", "none"); + } + } + + if (!forceStyleLookup) { + if (property === "height" && CSS.getPropertyValue(element, "boxSizing").toString().toLowerCase() !== "border-box") { + var contentBoxHeight = element.offsetHeight - (parseFloat(CSS.getPropertyValue(element, "borderTopWidth")) || 0) - (parseFloat(CSS.getPropertyValue(element, "borderBottomWidth")) || 0) - (parseFloat(CSS.getPropertyValue(element, "paddingTop")) || 0) - (parseFloat(CSS.getPropertyValue(element, "paddingBottom")) || 0); + revertDisplay(); + + return contentBoxHeight; + } else if (property === "width" && CSS.getPropertyValue(element, "boxSizing").toString().toLowerCase() !== "border-box") { + var contentBoxWidth = element.offsetWidth - (parseFloat(CSS.getPropertyValue(element, "borderLeftWidth")) || 0) - (parseFloat(CSS.getPropertyValue(element, "borderRightWidth")) || 0) - (parseFloat(CSS.getPropertyValue(element, "paddingLeft")) || 0) - (parseFloat(CSS.getPropertyValue(element, "paddingRight")) || 0); + revertDisplay(); + + return contentBoxWidth; + } + } + + var computedStyle; + + /* For elements that Velocity hasn't been called on directly (e.g. when Velocity queries the DOM on behalf + of a parent of an element its animating), perform a direct getComputedStyle lookup since the object isn't cached. */ + if (Data(element) === undefined) { + computedStyle = window.getComputedStyle(element, null); /* GET */ + /* If the computedStyle object has yet to be cached, do so now. */ + } else if (!Data(element).computedStyle) { + computedStyle = Data(element).computedStyle = window.getComputedStyle(element, null); /* GET */ + /* If computedStyle is cached, use it. */ + } else { + computedStyle = Data(element).computedStyle; + } + + /* IE and Firefox do not return a value for the generic borderColor -- they only return individual values for each border side's color. + Also, in all browsers, when border colors aren't all the same, a compound value is returned that Velocity isn't setup to parse. + So, as a polyfill for querying individual border side colors, we just return the top border's color and animate all borders from that value. */ + if (property === "borderColor") { + property = "borderTopColor"; + } + + /* IE9 has a bug in which the "filter" property must be accessed from computedStyle using the getPropertyValue method + instead of a direct property lookup. The getPropertyValue method is slower than a direct lookup, which is why we avoid it by default. */ + if (IE === 9 && property === "filter") { + computedValue = computedStyle.getPropertyValue(property); /* GET */ + } else { + computedValue = computedStyle[property]; + } + + /* Fall back to the property's style value (if defined) when computedValue returns nothing, + which can happen when the element hasn't been painted. */ + if (computedValue === "" || computedValue === null) { + computedValue = element.style[property]; + } + + revertDisplay(); + } + + /* For top, right, bottom, and left (TRBL) values that are set to "auto" on elements of "fixed" or "absolute" position, + defer to jQuery for converting "auto" to a numeric value. (For elements with a "static" or "relative" position, "auto" has the same + effect as being set to 0, so no conversion is necessary.) */ + /* An example of why numeric conversion is necessary: When an element with "position:absolute" has an untouched "left" + property, which reverts to "auto", left's value is 0 relative to its parent element, but is often non-zero relative + to its *containing* (not parent) element, which is the nearest "position:relative" ancestor or the viewport (and always the viewport in the case of "position:fixed"). */ + if (computedValue === "auto" && /^(top|right|bottom|left)$/i.test(property)) { + var position = computePropertyValue(element, "position"); /* GET */ + + /* For absolute positioning, jQuery's $.position() only returns values for top and left; + right and bottom will have their "auto" value reverted to 0. */ + /* Note: A jQuery object must be created here since jQuery doesn't have a low-level alias for $.position(). + Not a big deal since we're currently in a GET batch anyway. */ + if (position === "fixed" || (position === "absolute" && /top|left/i.test(property))) { + /* Note: jQuery strips the pixel unit from its returned values; we re-add it here to conform with computePropertyValue's behavior. */ + computedValue = $(element).position()[property] + "px"; /* GET */ + } + } + + return computedValue; + } + + var propertyValue; + + /* If this is a hooked property (e.g. "clipLeft" instead of the root property of "clip"), + extract the hook's value from a normalized rootPropertyValue using CSS.Hooks.extractValue(). */ + if (CSS.Hooks.registered[property]) { + var hook = property, + hookRoot = CSS.Hooks.getRoot(hook); + + /* If a cached rootPropertyValue wasn't passed in (which Velocity always attempts to do in order to avoid requerying the DOM), + query the DOM for the root property's value. */ + if (rootPropertyValue === undefined) { + /* Since the browser is now being directly queried, use the official post-prefixing property name for this lookup. */ + rootPropertyValue = CSS.getPropertyValue(element, CSS.Names.prefixCheck(hookRoot)[0]); /* GET */ + } + + /* If this root has a normalization registered, peform the associated normalization extraction. */ + if (CSS.Normalizations.registered[hookRoot]) { + rootPropertyValue = CSS.Normalizations.registered[hookRoot]("extract", element, rootPropertyValue); + } + + /* Extract the hook's value. */ + propertyValue = CSS.Hooks.extractValue(hook, rootPropertyValue); + + /* If this is a normalized property (e.g. "opacity" becomes "filter" in <=IE8) or "translateX" becomes "transform"), + normalize the property's name and value, and handle the special case of transforms. */ + /* Note: Normalizing a property is mutually exclusive from hooking a property since hook-extracted values are strictly + numerical and therefore do not require normalization extraction. */ + } else if (CSS.Normalizations.registered[property]) { + var normalizedPropertyName, + normalizedPropertyValue; + + normalizedPropertyName = CSS.Normalizations.registered[property]("name", element); + + /* Transform values are calculated via normalization extraction (see below), which checks against the element's transformCache. + At no point do transform GETs ever actually query the DOM; initial stylesheet values are never processed. + This is because parsing 3D transform matrices is not always accurate and would bloat our codebase; + thus, normalization extraction defaults initial transform values to their zero-values (e.g. 1 for scaleX and 0 for translateX). */ + if (normalizedPropertyName !== "transform") { + normalizedPropertyValue = computePropertyValue(element, CSS.Names.prefixCheck(normalizedPropertyName)[0]); /* GET */ + + /* If the value is a CSS null-value and this property has a hook template, use that zero-value template so that hooks can be extracted from it. */ + if (CSS.Values.isCSSNullValue(normalizedPropertyValue) && CSS.Hooks.templates[property]) { + normalizedPropertyValue = CSS.Hooks.templates[property][1]; + } + } + + propertyValue = CSS.Normalizations.registered[property]("extract", element, normalizedPropertyValue); + } + + /* If a (numeric) value wasn't produced via hook extraction or normalization, query the DOM. */ + if (!/^[\d-]/.test(propertyValue)) { + /* For SVG elements, dimensional properties (which SVGAttribute() detects) are tweened via + their HTML attribute values instead of their CSS style values. */ + if (Data(element) && Data(element).isSVG && CSS.Names.SVGAttribute(property)) { + /* Since the height/width attribute values must be set manually, they don't reflect computed values. + Thus, we use use getBBox() to ensure we always get values for elements with undefined height/width attributes. */ + if (/^(height|width)$/i.test(property)) { + /* Firefox throws an error if .getBBox() is called on an SVG that isn't attached to the DOM. */ + try { + propertyValue = element.getBBox()[property]; + } catch (error) { + propertyValue = 0; + } + /* Otherwise, access the attribute value directly. */ + } else { + propertyValue = element.getAttribute(property); + } + } else { + propertyValue = computePropertyValue(element, CSS.Names.prefixCheck(property)[0]); /* GET */ + } + } + + /* Since property lookups are for animation purposes (which entails computing the numeric delta between start and end values), + convert CSS null-values to an integer of value 0. */ + if (CSS.Values.isCSSNullValue(propertyValue)) { + propertyValue = 0; + } + + if (Velocity.debug >= 2) console.log("Get " + property + ": " + propertyValue); + + return propertyValue; + }, + + /* The singular setPropertyValue, which routes the logic for all normalizations, hooks, and standard CSS properties. */ + setPropertyValue: function(element, property, propertyValue, rootPropertyValue, scrollData) { + var propertyName = property; + + /* In order to be subjected to call options and element queueing, scroll animation is routed through Velocity as if it were a standard CSS property. */ + if (property === "scroll") { + /* If a container option is present, scroll the container instead of the browser window. */ + if (scrollData.container) { + scrollData.container["scroll" + scrollData.direction] = propertyValue; + /* Otherwise, Velocity defaults to scrolling the browser window. */ + } else { + if (scrollData.direction === "Left") { + window.scrollTo(propertyValue, scrollData.alternateValue); + } else { + window.scrollTo(scrollData.alternateValue, propertyValue); + } + } + } else { + /* Transforms (translateX, rotateZ, etc.) are applied to a per-element transformCache object, which is manually flushed via flushTransformCache(). + Thus, for now, we merely cache transforms being SET. */ + if (CSS.Normalizations.registered[property] && CSS.Normalizations.registered[property]("name", element) === "transform") { + /* Perform a normalization injection. */ + /* Note: The normalization logic handles the transformCache updating. */ + CSS.Normalizations.registered[property]("inject", element, propertyValue); + + propertyName = "transform"; + propertyValue = Data(element).transformCache[property]; + } else { + /* Inject hooks. */ + if (CSS.Hooks.registered[property]) { + var hookName = property, + hookRoot = CSS.Hooks.getRoot(property); + + /* If a cached rootPropertyValue was not provided, query the DOM for the hookRoot's current value. */ + rootPropertyValue = rootPropertyValue || CSS.getPropertyValue(element, hookRoot); /* GET */ + + propertyValue = CSS.Hooks.injectValue(hookName, propertyValue, rootPropertyValue); + property = hookRoot; + } + + /* Normalize names and values. */ + if (CSS.Normalizations.registered[property]) { + propertyValue = CSS.Normalizations.registered[property]("inject", element, propertyValue); + property = CSS.Normalizations.registered[property]("name", element); + } + + /* Assign the appropriate vendor prefix before performing an official style update. */ + propertyName = CSS.Names.prefixCheck(property)[0]; + + /* A try/catch is used for IE<=8, which throws an error when "invalid" CSS values are set, e.g. a negative width. + Try/catch is avoided for other browsers since it incurs a performance overhead. */ + if (IE <= 8) { + try { + element.style[propertyName] = propertyValue; + } catch (error) { if (Velocity.debug) console.log("Browser does not support [" + propertyValue + "] for [" + propertyName + "]"); } + /* SVG elements have their dimensional properties (width, height, x, y, cx, etc.) applied directly as attributes instead of as styles. */ + /* Note: IE8 does not support SVG elements, so it's okay that we skip it for SVG animation. */ + } else if (Data(element) && Data(element).isSVG && CSS.Names.SVGAttribute(property)) { + /* Note: For SVG attributes, vendor-prefixed property names are never used. */ + /* Note: Not all CSS properties can be animated via attributes, but the browser won't throw an error for unsupported properties. */ + element.setAttribute(property, propertyValue); + } else { + element.style[propertyName] = propertyValue; + } + + if (Velocity.debug >= 2) console.log("Set " + property + " (" + propertyName + "): " + propertyValue); + } + } + + /* Return the normalized property name and value in case the caller wants to know how these values were modified before being applied to the DOM. */ + return [ propertyName, propertyValue ]; + }, + + /* To increase performance by batching transform updates into a single SET, transforms are not directly applied to an element until flushTransformCache() is called. */ + /* Note: Velocity applies transform properties in the same order that they are chronogically introduced to the element's CSS styles. */ + flushTransformCache: function(element) { + var transformString = ""; + + /* Certain browsers require that SVG transforms be applied as an attribute. However, the SVG transform attribute takes a modified version of CSS's transform string + (units are dropped and, except for skewX/Y, subproperties are merged into their master property -- e.g. scaleX and scaleY are merged into scale(X Y). */ + if ((IE || (Velocity.State.isAndroid && !Velocity.State.isChrome)) && Data(element).isSVG) { + /* Since transform values are stored in their parentheses-wrapped form, we use a helper function to strip out their numeric values. + Further, SVG transform properties only take unitless (representing pixels) values, so it's okay that parseFloat() strips the unit suffixed to the float value. */ + function getTransformFloat (transformProperty) { + return parseFloat(CSS.getPropertyValue(element, transformProperty)); + } + + /* Create an object to organize all the transforms that we'll apply to the SVG element. To keep the logic simple, + we process *all* transform properties -- even those that may not be explicitly applied (since they default to their zero-values anyway). */ + var SVGTransforms = { + translate: [ getTransformFloat("translateX"), getTransformFloat("translateY") ], + skewX: [ getTransformFloat("skewX") ], skewY: [ getTransformFloat("skewY") ], + /* If the scale property is set (non-1), use that value for the scaleX and scaleY values + (this behavior mimics the result of animating all these properties at once on HTML elements). */ + scale: getTransformFloat("scale") !== 1 ? [ getTransformFloat("scale"), getTransformFloat("scale") ] : [ getTransformFloat("scaleX"), getTransformFloat("scaleY") ], + /* Note: SVG's rotate transform takes three values: rotation degrees followed by the X and Y values + defining the rotation's origin point. We ignore the origin values (default them to 0). */ + rotate: [ getTransformFloat("rotateZ"), 0, 0 ] + }; + + /* Iterate through the transform properties in the user-defined property map order. + (This mimics the behavior of non-SVG transform animation.) */ + $.each(Data(element).transformCache, function(transformName) { + /* Except for with skewX/Y, revert the axis-specific transform subproperties to their axis-free master + properties so that they match up with SVG's accepted transform properties. */ + if (/^translate/i.test(transformName)) { + transformName = "translate"; + } else if (/^scale/i.test(transformName)) { + transformName = "scale"; + } else if (/^rotate/i.test(transformName)) { + transformName = "rotate"; + } + + /* Check that we haven't yet deleted the property from the SVGTransforms container. */ + if (SVGTransforms[transformName]) { + /* Append the transform property in the SVG-supported transform format. As per the spec, surround the space-delimited values in parentheses. */ + transformString += transformName + "(" + SVGTransforms[transformName].join(" ") + ")" + " "; + + /* After processing an SVG transform property, delete it from the SVGTransforms container so we don't + re-insert the same master property if we encounter another one of its axis-specific properties. */ + delete SVGTransforms[transformName]; + } + }); + } else { + var transformValue, + perspective; + + /* Transform properties are stored as members of the transformCache object. Concatenate all the members into a string. */ + $.each(Data(element).transformCache, function(transformName) { + transformValue = Data(element).transformCache[transformName]; + + /* Transform's perspective subproperty must be set first in order to take effect. Store it temporarily. */ + if (transformName === "transformPerspective") { + perspective = transformValue; + return true; + } + + /* IE9 only supports one rotation type, rotateZ, which it refers to as "rotate". */ + if (IE === 9 && transformName === "rotateZ") { + transformName = "rotate"; + } + + transformString += transformName + transformValue + " "; + }); + + /* If present, set the perspective subproperty first. */ + if (perspective) { + transformString = "perspective" + perspective + " " + transformString; + } + } + + CSS.setPropertyValue(element, "transform", transformString); + } + }; + + /* Register hooks and normalizations. */ + CSS.Hooks.register(); + CSS.Normalizations.register(); + + /* Allow hook setting in the same fashion as jQuery's $.css(). */ + Velocity.hook = function (elements, arg2, arg3) { + var value = undefined; + + elements = sanitizeElements(elements); + + $.each(elements, function(i, element) { + /* Initialize Velocity's per-element data cache if this element hasn't previously been animated. */ + if (Data(element) === undefined) { + Velocity.init(element); + } + + /* Get property value. If an element set was passed in, only return the value for the first element. */ + if (arg3 === undefined) { + if (value === undefined) { + value = Velocity.CSS.getPropertyValue(element, arg2); + } + /* Set property value. */ + } else { + /* sPV returns an array of the normalized propertyName/propertyValue pair used to update the DOM. */ + var adjustedSet = Velocity.CSS.setPropertyValue(element, arg2, arg3); + + /* Transform properties don't automatically set. They have to be flushed to the DOM. */ + if (adjustedSet[0] === "transform") { + Velocity.CSS.flushTransformCache(element); + } + + value = adjustedSet; + } + }); + + return value; + }; + + /***************** + Animation + *****************/ + + var animate = function() { + + /****************** + Call Chain + ******************/ + + /* Logic for determining what to return to the call stack when exiting out of Velocity. */ + function getChain () { + /* If we are using the utility function, attempt to return this call's promise. If no promise library was detected, + default to null instead of returning the targeted elements so that utility function's return value is standardized. */ + if (isUtility) { + return promiseData.promise || null; + /* Otherwise, if we're using $.fn, return the jQuery-/Zepto-wrapped element set. */ + } else { + return elementsWrapped; + } + } + + /************************* + Arguments Assignment + *************************/ + + /* To allow for expressive CoffeeScript code, Velocity supports an alternative syntax in which "elements" (or "e"), "properties" (or "p"), and "options" (or "o") + objects are defined on a container object that's passed in as Velocity's sole argument. */ + /* Note: Some browsers automatically populate arguments with a "properties" object. We detect it by checking for its default "names" property. */ + var syntacticSugar = (arguments[0] && (arguments[0].p || (($.isPlainObject(arguments[0].properties) && !arguments[0].properties.names) || Type.isString(arguments[0].properties)))), + /* Whether Velocity was called via the utility function (as opposed to on a jQuery/Zepto object). */ + isUtility, + /* When Velocity is called via the utility function ($.Velocity()/Velocity()), elements are explicitly + passed in as the first parameter. Thus, argument positioning varies. We normalize them here. */ + elementsWrapped, + argumentIndex; + + var elements, + propertiesMap, + options; + + /* Detect jQuery/Zepto elements being animated via the $.fn method. */ + if (Type.isWrapped(this)) { + isUtility = false; + + argumentIndex = 0; + elements = this; + elementsWrapped = this; + /* Otherwise, raw elements are being animated via the utility function. */ + } else { + isUtility = true; + + argumentIndex = 1; + elements = syntacticSugar ? (arguments[0].elements || arguments[0].e) : arguments[0]; + } + + elements = sanitizeElements(elements); + + if (!elements) { + return; + } + + if (syntacticSugar) { + propertiesMap = arguments[0].properties || arguments[0].p; + options = arguments[0].options || arguments[0].o; + } else { + propertiesMap = arguments[argumentIndex]; + options = arguments[argumentIndex + 1]; + } + + /* The length of the element set (in the form of a nodeList or an array of elements) is defaulted to 1 in case a + single raw DOM element is passed in (which doesn't contain a length property). */ + var elementsLength = elements.length, + elementsIndex = 0; + + /*************************** + Argument Overloading + ***************************/ + + /* Support is included for jQuery's argument overloading: $.animate(propertyMap [, duration] [, easing] [, complete]). + Overloading is detected by checking for the absence of an object being passed into options. */ + /* Note: The stop and finish actions do not accept animation options, and are therefore excluded from this check. */ + if (!/^(stop|finish)$/i.test(propertiesMap) && !$.isPlainObject(options)) { + /* The utility function shifts all arguments one position to the right, so we adjust for that offset. */ + var startingArgumentPosition = argumentIndex + 1; + + options = {}; + + /* Iterate through all options arguments */ + for (var i = startingArgumentPosition; i < arguments.length; i++) { + /* Treat a number as a duration. Parse it out. */ + /* Note: The following RegEx will return true if passed an array with a number as its first item. + Thus, arrays are skipped from this check. */ + if (!Type.isArray(arguments[i]) && (/^(fast|normal|slow)$/i.test(arguments[i]) || /^\d/.test(arguments[i]))) { + options.duration = arguments[i]; + /* Treat strings and arrays as easings. */ + } else if (Type.isString(arguments[i]) || Type.isArray(arguments[i])) { + options.easing = arguments[i]; + /* Treat a function as a complete callback. */ + } else if (Type.isFunction(arguments[i])) { + options.complete = arguments[i]; + } + } + } + + /*************** + Promises + ***************/ + + var promiseData = { + promise: null, + resolver: null, + rejecter: null + }; + + /* If this call was made via the utility function (which is the default method of invocation when jQuery/Zepto are not being used), and if + promise support was detected, create a promise object for this call and store references to its resolver and rejecter methods. The resolve + method is used when a call completes naturally or is prematurely stopped by the user. In both cases, completeCall() handles the associated + call cleanup and promise resolving logic. The reject method is used when an invalid set of arguments is passed into a Velocity call. */ + /* Note: Velocity employs a call-based queueing architecture, which means that stopping an animating element actually stops the full call that + triggered it -- not that one element exclusively. Similarly, there is one promise per call, and all elements targeted by a Velocity call are + grouped together for the purposes of resolving and rejecting a promise. */ + if (isUtility && Velocity.Promise) { + promiseData.promise = new Velocity.Promise(function (resolve, reject) { + promiseData.resolver = resolve; + promiseData.rejecter = reject; + }); + } + + /********************* + Action Detection + *********************/ + + /* Velocity's behavior is categorized into "actions": Elements can either be specially scrolled into view, + or they can be started, stopped, or reversed. If a literal or referenced properties map is passed in as Velocity's + first argument, the associated action is "start". Alternatively, "scroll", "reverse", or "stop" can be passed in instead of a properties map. */ + var action; + + switch (propertiesMap) { + case "scroll": + action = "scroll"; + break; + + case "reverse": + action = "reverse"; + break; + + case "finish": + case "stop": + /******************* + Action: Stop + *******************/ + + /* Clear the currently-active delay on each targeted element. */ + $.each(elements, function(i, element) { + if (Data(element) && Data(element).delayTimer) { + /* Stop the timer from triggering its cached next() function. */ + clearTimeout(Data(element).delayTimer.setTimeout); + + /* Manually call the next() function so that the subsequent queue items can progress. */ + if (Data(element).delayTimer.next) { + Data(element).delayTimer.next(); + } + + delete Data(element).delayTimer; + } + }); + + var callsToStop = []; + + /* When the stop action is triggered, the elements' currently active call is immediately stopped. The active call might have + been applied to multiple elements, in which case all of the call's elements will be stopped. When an element + is stopped, the next item in its animation queue is immediately triggered. */ + /* An additional argument may be passed in to clear an element's remaining queued calls. Either true (which defaults to the "fx" queue) + or a custom queue string can be passed in. */ + /* Note: The stop command runs prior to Velocity's Queueing phase since its behavior is intended to take effect *immediately*, + regardless of the element's current queue state. */ + + /* Iterate through every active call. */ + $.each(Velocity.State.calls, function(i, activeCall) { + /* Inactive calls are set to false by the logic inside completeCall(). Skip them. */ + if (activeCall) { + /* Iterate through the active call's targeted elements. */ + $.each(activeCall[1], function(k, activeElement) { + /* If true was passed in as a secondary argument, clear absolutely all calls on this element. Otherwise, only + clear calls associated with the relevant queue. */ + /* Call stopping logic works as follows: + - options === true --> stop current default queue calls (and queue:false calls), including remaining queued ones. + - options === undefined --> stop current queue:"" call and all queue:false calls. + - options === false --> stop only queue:false calls. + - options === "custom" --> stop current queue:"custom" call, including remaining queued ones (there is no functionality to only clear the currently-running queue:"custom" call). */ + var queueName = (options === undefined) ? "" : options; + + if (queueName !== true && (activeCall[2].queue !== queueName) && !(options === undefined && activeCall[2].queue === false)) { + return true; + } + + /* Iterate through the calls targeted by the stop command. */ + $.each(elements, function(l, element) { + /* Check that this call was applied to the target element. */ + if (element === activeElement) { + /* Optionally clear the remaining queued calls. */ + if (options === true || Type.isString(options)) { + /* Iterate through the items in the element's queue. */ + $.each($.queue(element, Type.isString(options) ? options : ""), function(_, item) { + /* The queue array can contain an "inprogress" string, which we skip. */ + if (Type.isFunction(item)) { + /* Pass the item's callback a flag indicating that we want to abort from the queue call. + (Specifically, the queue will resolve the call's associated promise then abort.) */ + item(null, true); + } + }); + + /* Clearing the $.queue() array is achieved by resetting it to []. */ + $.queue(element, Type.isString(options) ? options : "", []); + } + + if (propertiesMap === "stop") { + /* Since "reverse" uses cached start values (the previous call's endValues), these values must be + changed to reflect the final value that the elements were actually tweened to. */ + /* Note: If only queue:false animations are currently running on an element, it won't have a tweensContainer + object. Also, queue:false animations can't be reversed. */ + if (Data(element) && Data(element).tweensContainer && queueName !== false) { + $.each(Data(element).tweensContainer, function(m, activeTween) { + activeTween.endValue = activeTween.currentValue; + }); + } + + callsToStop.push(i); + } else if (propertiesMap === "finish") { + /* To get active tweens to finish immediately, we forcefully shorten their durations to 1ms so that + they finish upon the next rAf tick then proceed with normal call completion logic. */ + activeCall[2].duration = 1; + } + } + }); + }); + } + }); + + /* Prematurely call completeCall() on each matched active call. Pass an additional flag for "stop" to indicate + that the complete callback and display:none setting should be skipped since we're completing prematurely. */ + if (propertiesMap === "stop") { + $.each(callsToStop, function(i, j) { + completeCall(j, true); + }); + + if (promiseData.promise) { + /* Immediately resolve the promise associated with this stop call since stop runs synchronously. */ + promiseData.resolver(elements); + } + } + + /* Since we're stopping, and not proceeding with queueing, exit out of Velocity. */ + return getChain(); + + default: + /* Treat a non-empty plain object as a literal properties map. */ + if ($.isPlainObject(propertiesMap) && !Type.isEmptyObject(propertiesMap)) { + action = "start"; + + /**************** + Redirects + ****************/ + + /* Check if a string matches a registered redirect (see Redirects above). */ + } else if (Type.isString(propertiesMap) && Velocity.Redirects[propertiesMap]) { + var opts = $.extend({}, options), + durationOriginal = opts.duration, + delayOriginal = opts.delay || 0; + + /* If the backwards option was passed in, reverse the element set so that elements animate from the last to the first. */ + if (opts.backwards === true) { + elements = $.extend(true, [], elements).reverse(); + } + + /* Individually trigger the redirect for each element in the set to prevent users from having to handle iteration logic in their redirect. */ + $.each(elements, function(elementIndex, element) { + /* If the stagger option was passed in, successively delay each element by the stagger value (in ms). Retain the original delay value. */ + if (parseFloat(opts.stagger)) { + opts.delay = delayOriginal + (parseFloat(opts.stagger) * elementIndex); + } else if (Type.isFunction(opts.stagger)) { + opts.delay = delayOriginal + opts.stagger.call(element, elementIndex, elementsLength); + } + + /* If the drag option was passed in, successively increase/decrease (depending on the presense of opts.backwards) + the duration of each element's animation, using floors to prevent producing very short durations. */ + if (opts.drag) { + /* Default the duration of UI pack effects (callouts and transitions) to 1000ms instead of the usual default duration of 400ms. */ + opts.duration = parseFloat(durationOriginal) || (/^(callout|transition)/.test(propertiesMap) ? 1000 : DURATION_DEFAULT); + + /* For each element, take the greater duration of: A) animation completion percentage relative to the original duration, + B) 75% of the original duration, or C) a 200ms fallback (in case duration is already set to a low value). + The end result is a baseline of 75% of the redirect's duration that increases/decreases as the end of the element set is approached. */ + opts.duration = Math.max(opts.duration * (opts.backwards ? 1 - elementIndex/elementsLength : (elementIndex + 1) / elementsLength), opts.duration * 0.75, 200); + } + + /* Pass in the call's opts object so that the redirect can optionally extend it. It defaults to an empty object instead of null to + reduce the opts checking logic required inside the redirect. */ + Velocity.Redirects[propertiesMap].call(element, element, opts || {}, elementIndex, elementsLength, elements, promiseData.promise ? promiseData : undefined); + }); + + /* Since the animation logic resides within the redirect's own code, abort the remainder of this call. + (The performance overhead up to this point is virtually non-existant.) */ + /* Note: The jQuery call chain is kept intact by returning the complete element set. */ + return getChain(); + } else { + var abortError = "Velocity: First argument (" + propertiesMap + ") was not a property map, a known action, or a registered redirect. Aborting."; + + if (promiseData.promise) { + promiseData.rejecter(new Error(abortError)); + } else { + console.log(abortError); + } + + return getChain(); + } + } + + /************************** + Call-Wide Variables + **************************/ + + /* A container for CSS unit conversion ratios (e.g. %, rem, and em ==> px) that is used to cache ratios across all elements + being animated in a single Velocity call. Calculating unit ratios necessitates DOM querying and updating, and is therefore + avoided (via caching) wherever possible. This container is call-wide instead of page-wide to avoid the risk of using stale + conversion metrics across Velocity animations that are not immediately consecutively chained. */ + var callUnitConversionData = { + lastParent: null, + lastPosition: null, + lastFontSize: null, + lastPercentToPxWidth: null, + lastPercentToPxHeight: null, + lastEmToPx: null, + remToPx: null, + vwToPx: null, + vhToPx: null + }; + + /* A container for all the ensuing tween data and metadata associated with this call. This container gets pushed to the page-wide + Velocity.State.calls array that is processed during animation ticking. */ + var call = []; + + /************************ + Element Processing + ************************/ + + /* Element processing consists of three parts -- data processing that cannot go stale and data processing that *can* go stale (i.e. third-party style modifications): + 1) Pre-Queueing: Element-wide variables, including the element's data storage, are instantiated. Call options are prepared. If triggered, the Stop action is executed. + 2) Queueing: The logic that runs once this call has reached its point of execution in the element's $.queue() stack. Most logic is placed here to avoid risking it becoming stale. + 3) Pushing: Consolidation of the tween data followed by its push onto the global in-progress calls container. + */ + + function processElement () { + + /************************* + Part I: Pre-Queueing + *************************/ + + /*************************** + Element-Wide Variables + ***************************/ + + var element = this, + /* The runtime opts object is the extension of the current call's options and Velocity's page-wide option defaults. */ + opts = $.extend({}, Velocity.defaults, options), + /* A container for the processed data associated with each property in the propertyMap. + (Each property in the map produces its own "tween".) */ + tweensContainer = {}, + elementUnitConversionData; + + /****************** + Element Init + ******************/ + + if (Data(element) === undefined) { + Velocity.init(element); + } + + /****************** + Option: Delay + ******************/ + + /* Since queue:false doesn't respect the item's existing queue, we avoid injecting its delay here (it's set later on). */ + /* Note: Velocity rolls its own delay function since jQuery doesn't have a utility alias for $.fn.delay() + (and thus requires jQuery element creation, which we avoid since its overhead includes DOM querying). */ + if (parseFloat(opts.delay) && opts.queue !== false) { + $.queue(element, opts.queue, function(next) { + /* This is a flag used to indicate to the upcoming completeCall() function that this queue entry was initiated by Velocity. See completeCall() for further details. */ + Velocity.velocityQueueEntryFlag = true; + + /* The ensuing queue item (which is assigned to the "next" argument that $.queue() automatically passes in) will be triggered after a setTimeout delay. + The setTimeout is stored so that it can be subjected to clearTimeout() if this animation is prematurely stopped via Velocity's "stop" command. */ + Data(element).delayTimer = { + setTimeout: setTimeout(next, parseFloat(opts.delay)), + next: next + }; + }); + } + + /********************* + Option: Duration + *********************/ + + /* Support for jQuery's named durations. */ + switch (opts.duration.toString().toLowerCase()) { + case "fast": + opts.duration = 200; + break; + + case "normal": + opts.duration = DURATION_DEFAULT; + break; + + case "slow": + opts.duration = 600; + break; + + default: + /* Remove the potential "ms" suffix and default to 1 if the user is attempting to set a duration of 0 (in order to produce an immediate style change). */ + opts.duration = parseFloat(opts.duration) || 1; + } + + /************************ + Global Option: Mock + ************************/ + + if (Velocity.mock !== false) { + /* In mock mode, all animations are forced to 1ms so that they occur immediately upon the next rAF tick. + Alternatively, a multiplier can be passed in to time remap all delays and durations. */ + if (Velocity.mock === true) { + opts.duration = opts.delay = 1; + } else { + opts.duration *= parseFloat(Velocity.mock) || 1; + opts.delay *= parseFloat(Velocity.mock) || 1; + } + } + + /******************* + Option: Easing + *******************/ + + opts.easing = getEasing(opts.easing, opts.duration); + + /********************** + Option: Callbacks + **********************/ + + /* Callbacks must functions. Otherwise, default to null. */ + if (opts.begin && !Type.isFunction(opts.begin)) { + opts.begin = null; + } + + if (opts.progress && !Type.isFunction(opts.progress)) { + opts.progress = null; + } + + if (opts.complete && !Type.isFunction(opts.complete)) { + opts.complete = null; + } + + /********************************* + Option: Display & Visibility + *********************************/ + + /* Refer to Velocity's documentation (VelocityJS.org/#displayAndVisibility) for a description of the display and visibility options' behavior. */ + /* Note: We strictly check for undefined instead of falsiness because display accepts an empty string value. */ + if (opts.display !== undefined && opts.display !== null) { + opts.display = opts.display.toString().toLowerCase(); + + /* Users can pass in a special "auto" value to instruct Velocity to set the element to its default display value. */ + if (opts.display === "auto") { + opts.display = Velocity.CSS.Values.getDisplayType(element); + } + } + + if (opts.visibility !== undefined && opts.visibility !== null) { + opts.visibility = opts.visibility.toString().toLowerCase(); + } + + /********************** + Option: mobileHA + **********************/ + + /* When set to true, and if this is a mobile device, mobileHA automatically enables hardware acceleration (via a null transform hack) + on animating elements. HA is removed from the element at the completion of its animation. */ + /* Note: Android Gingerbread doesn't support HA. If a null transform hack (mobileHA) is in fact set, it will prevent other tranform subproperties from taking effect. */ + /* Note: You can read more about the use of mobileHA in Velocity's documentation: VelocityJS.org/#mobileHA. */ + opts.mobileHA = (opts.mobileHA && Velocity.State.isMobile && !Velocity.State.isGingerbread); + + /*********************** + Part II: Queueing + ***********************/ + + /* When a set of elements is targeted by a Velocity call, the set is broken up and each element has the current Velocity call individually queued onto it. + In this way, each element's existing queue is respected; some elements may already be animating and accordingly should not have this current Velocity call triggered immediately. */ + /* In each queue, tween data is processed for each animating property then pushed onto the call-wide calls array. When the last element in the set has had its tweens processed, + the call array is pushed to Velocity.State.calls for live processing by the requestAnimationFrame tick. */ + function buildQueue (next) { + + /******************* + Option: Begin + *******************/ + + /* The begin callback is fired once per call -- not once per elemenet -- and is passed the full raw DOM element set as both its context and its first argument. */ + if (opts.begin && elementsIndex === 0) { + /* We throw callbacks in a setTimeout so that thrown errors don't halt the execution of Velocity itself. */ + try { + opts.begin.call(elements, elements); + } catch (error) { + setTimeout(function() { throw error; }, 1); + } + } + + /***************************************** + Tween Data Construction (for Scroll) + *****************************************/ + + /* Note: In order to be subjected to chaining and animation options, scroll's tweening is routed through Velocity as if it were a standard CSS property animation. */ + if (action === "scroll") { + /* The scroll action uniquely takes an optional "offset" option -- specified in pixels -- that offsets the targeted scroll position. */ + var scrollDirection = (/^x$/i.test(opts.axis) ? "Left" : "Top"), + scrollOffset = parseFloat(opts.offset) || 0, + scrollPositionCurrent, + scrollPositionCurrentAlternate, + scrollPositionEnd; + + /* Scroll also uniquely takes an optional "container" option, which indicates the parent element that should be scrolled -- + as opposed to the browser window itself. This is useful for scrolling toward an element that's inside an overflowing parent element. */ + if (opts.container) { + /* Ensure that either a jQuery object or a raw DOM element was passed in. */ + if (Type.isWrapped(opts.container) || Type.isNode(opts.container)) { + /* Extract the raw DOM element from the jQuery wrapper. */ + opts.container = opts.container[0] || opts.container; + /* Note: Unlike other properties in Velocity, the browser's scroll position is never cached since it so frequently changes + (due to the user's natural interaction with the page). */ + scrollPositionCurrent = opts.container["scroll" + scrollDirection]; /* GET */ + + /* $.position() values are relative to the container's currently viewable area (without taking into account the container's true dimensions + -- say, for example, if the container was not overflowing). Thus, the scroll end value is the sum of the child element's position *and* + the scroll container's current scroll position. */ + scrollPositionEnd = (scrollPositionCurrent + $(element).position()[scrollDirection.toLowerCase()]) + scrollOffset; /* GET */ + /* If a value other than a jQuery object or a raw DOM element was passed in, default to null so that this option is ignored. */ + } else { + opts.container = null; + } + } else { + /* If the window itself is being scrolled -- not a containing element -- perform a live scroll position lookup using + the appropriate cached property names (which differ based on browser type). */ + scrollPositionCurrent = Velocity.State.scrollAnchor[Velocity.State["scrollProperty" + scrollDirection]]; /* GET */ + /* When scrolling the browser window, cache the alternate axis's current value since window.scrollTo() doesn't let us change only one value at a time. */ + scrollPositionCurrentAlternate = Velocity.State.scrollAnchor[Velocity.State["scrollProperty" + (scrollDirection === "Left" ? "Top" : "Left")]]; /* GET */ + + /* Unlike $.position(), $.offset() values are relative to the browser window's true dimensions -- not merely its currently viewable area -- + and therefore end values do not need to be compounded onto current values. */ + scrollPositionEnd = $(element).offset()[scrollDirection.toLowerCase()] + scrollOffset; /* GET */ + } + + /* Since there's only one format that scroll's associated tweensContainer can take, we create it manually. */ + tweensContainer = { + scroll: { + rootPropertyValue: false, + startValue: scrollPositionCurrent, + currentValue: scrollPositionCurrent, + endValue: scrollPositionEnd, + unitType: "", + easing: opts.easing, + scrollData: { + container: opts.container, + direction: scrollDirection, + alternateValue: scrollPositionCurrentAlternate + } + }, + element: element + }; + + if (Velocity.debug) console.log("tweensContainer (scroll): ", tweensContainer.scroll, element); + + /****************************************** + Tween Data Construction (for Reverse) + ******************************************/ + + /* Reverse acts like a "start" action in that a property map is animated toward. The only difference is + that the property map used for reverse is the inverse of the map used in the previous call. Thus, we manipulate + the previous call to construct our new map: use the previous map's end values as our new map's start values. Copy over all other data. */ + /* Note: Reverse can be directly called via the "reverse" parameter, or it can be indirectly triggered via the loop option. (Loops are composed of multiple reverses.) */ + /* Note: Reverse calls do not need to be consecutively chained onto a currently-animating element in order to operate on cached values; + there is no harm to reverse being called on a potentially stale data cache since reverse's behavior is simply defined + as reverting to the element's values as they were prior to the previous *Velocity* call. */ + } else if (action === "reverse") { + /* Abort if there is no prior animation data to reverse to. */ + if (!Data(element).tweensContainer) { + /* Dequeue the element so that this queue entry releases itself immediately, allowing subsequent queue entries to run. */ + $.dequeue(element, opts.queue); + + return; + } else { + /********************* + Options Parsing + *********************/ + + /* If the element was hidden via the display option in the previous call, + revert display to "auto" prior to reversal so that the element is visible again. */ + if (Data(element).opts.display === "none") { + Data(element).opts.display = "auto"; + } + + if (Data(element).opts.visibility === "hidden") { + Data(element).opts.visibility = "visible"; + } + + /* If the loop option was set in the previous call, disable it so that "reverse" calls aren't recursively generated. + Further, remove the previous call's callback options; typically, users do not want these to be refired. */ + Data(element).opts.loop = false; + Data(element).opts.begin = null; + Data(element).opts.complete = null; + + /* Since we're extending an opts object that has already been extended with the defaults options object, + we remove non-explicitly-defined properties that are auto-assigned values. */ + if (!options.easing) { + delete opts.easing; + } + + if (!options.duration) { + delete opts.duration; + } + + /* The opts object used for reversal is an extension of the options object optionally passed into this + reverse call plus the options used in the previous Velocity call. */ + opts = $.extend({}, Data(element).opts, opts); + + /************************************* + Tweens Container Reconstruction + *************************************/ + + /* Create a deepy copy (indicated via the true flag) of the previous call's tweensContainer. */ + var lastTweensContainer = $.extend(true, {}, Data(element).tweensContainer); + + /* Manipulate the previous tweensContainer by replacing its end values and currentValues with its start values. */ + for (var lastTween in lastTweensContainer) { + /* In addition to tween data, tweensContainers contain an element property that we ignore here. */ + if (lastTween !== "element") { + var lastStartValue = lastTweensContainer[lastTween].startValue; + + lastTweensContainer[lastTween].startValue = lastTweensContainer[lastTween].currentValue = lastTweensContainer[lastTween].endValue; + lastTweensContainer[lastTween].endValue = lastStartValue; + + /* Easing is the only option that embeds into the individual tween data (since it can be defined on a per-property basis). + Accordingly, every property's easing value must be updated when an options object is passed in with a reverse call. + The side effect of this extensibility is that all per-property easing values are forcefully reset to the new value. */ + if (!Type.isEmptyObject(options)) { + lastTweensContainer[lastTween].easing = opts.easing; + } + + if (Velocity.debug) console.log("reverse tweensContainer (" + lastTween + "): " + JSON.stringify(lastTweensContainer[lastTween]), element); + } + } + + tweensContainer = lastTweensContainer; + } + + /***************************************** + Tween Data Construction (for Start) + *****************************************/ + + } else if (action === "start") { + + /************************* + Value Transferring + *************************/ + + /* If this queue entry follows a previous Velocity-initiated queue entry *and* if this entry was created + while the element was in the process of being animated by Velocity, then this current call is safe to use + the end values from the prior call as its start values. Velocity attempts to perform this value transfer + process whenever possible in order to avoid requerying the DOM. */ + /* If values aren't transferred from a prior call and start values were not forcefed by the user (more on this below), + then the DOM is queried for the element's current values as a last resort. */ + /* Note: Conversely, animation reversal (and looping) *always* perform inter-call value transfers; they never requery the DOM. */ + var lastTweensContainer; + + /* The per-element isAnimating flag is used to indicate whether it's safe (i.e. the data isn't stale) + to transfer over end values to use as start values. If it's set to true and there is a previous + Velocity call to pull values from, do so. */ + if (Data(element).tweensContainer && Data(element).isAnimating === true) { + lastTweensContainer = Data(element).tweensContainer; + } + + /*************************** + Tween Data Calculation + ***************************/ + + /* This function parses property data and defaults endValue, easing, and startValue as appropriate. */ + /* Property map values can either take the form of 1) a single value representing the end value, + or 2) an array in the form of [ endValue, [, easing] [, startValue] ]. + The optional third parameter is a forcefed startValue to be used instead of querying the DOM for + the element's current value. Read Velocity's docmentation to learn more about forcefeeding: VelocityJS.org/#forcefeeding */ + function parsePropertyValue (valueData, skipResolvingEasing) { + var endValue = undefined, + easing = undefined, + startValue = undefined; + + /* Handle the array format, which can be structured as one of three potential overloads: + A) [ endValue, easing, startValue ], B) [ endValue, easing ], or C) [ endValue, startValue ] */ + if (Type.isArray(valueData)) { + /* endValue is always the first item in the array. Don't bother validating endValue's value now + since the ensuing property cycling logic does that. */ + endValue = valueData[0]; + + /* Two-item array format: If the second item is a number, function, or hex string, treat it as a + start value since easings can only be non-hex strings or arrays. */ + if ((!Type.isArray(valueData[1]) && /^[\d-]/.test(valueData[1])) || Type.isFunction(valueData[1]) || CSS.RegEx.isHex.test(valueData[1])) { + startValue = valueData[1]; + /* Two or three-item array: If the second item is a non-hex string or an array, treat it as an easing. */ + } else if ((Type.isString(valueData[1]) && !CSS.RegEx.isHex.test(valueData[1])) || Type.isArray(valueData[1])) { + easing = skipResolvingEasing ? valueData[1] : getEasing(valueData[1], opts.duration); + + /* Don't bother validating startValue's value now since the ensuing property cycling logic inherently does that. */ + if (valueData[2] !== undefined) { + startValue = valueData[2]; + } + } + /* Handle the single-value format. */ + } else { + endValue = valueData; + } + + /* Default to the call's easing if a per-property easing type was not defined. */ + if (!skipResolvingEasing) { + easing = easing || opts.easing; + } + + /* If functions were passed in as values, pass the function the current element as its context, + plus the element's index and the element set's size as arguments. Then, assign the returned value. */ + if (Type.isFunction(endValue)) { + endValue = endValue.call(element, elementsIndex, elementsLength); + } + + if (Type.isFunction(startValue)) { + startValue = startValue.call(element, elementsIndex, elementsLength); + } + + /* Allow startValue to be left as undefined to indicate to the ensuing code that its value was not forcefed. */ + return [ endValue || 0, easing, startValue ]; + } + + /* Cycle through each property in the map, looking for shorthand color properties (e.g. "color" as opposed to "colorRed"). Inject the corresponding + colorRed, colorGreen, and colorBlue RGB component tweens into the propertiesMap (which Velocity understands) and remove the shorthand property. */ + $.each(propertiesMap, function(property, value) { + /* Find shorthand color properties that have been passed a hex string. */ + if (RegExp("^" + CSS.Lists.colors.join("$|^") + "$").test(property)) { + /* Parse the value data for each shorthand. */ + var valueData = parsePropertyValue(value, true), + endValue = valueData[0], + easing = valueData[1], + startValue = valueData[2]; + + if (CSS.RegEx.isHex.test(endValue)) { + /* Convert the hex strings into their RGB component arrays. */ + var colorComponents = [ "Red", "Green", "Blue" ], + endValueRGB = CSS.Values.hexToRgb(endValue), + startValueRGB = startValue ? CSS.Values.hexToRgb(startValue) : undefined; + + /* Inject the RGB component tweens into propertiesMap. */ + for (var i = 0; i < colorComponents.length; i++) { + var dataArray = [ endValueRGB[i] ]; + + if (easing) { + dataArray.push(easing); + } + + if (startValueRGB !== undefined) { + dataArray.push(startValueRGB[i]); + } + + propertiesMap[property + colorComponents[i]] = dataArray; + } + + /* Remove the intermediary shorthand property entry now that we've processed it. */ + delete propertiesMap[property]; + } + } + }); + + /* Create a tween out of each property, and append its associated data to tweensContainer. */ + for (var property in propertiesMap) { + + /************************** + Start Value Sourcing + **************************/ + + /* Parse out endValue, easing, and startValue from the property's data. */ + var valueData = parsePropertyValue(propertiesMap[property]), + endValue = valueData[0], + easing = valueData[1], + startValue = valueData[2]; + + /* Now that the original property name's format has been used for the parsePropertyValue() lookup above, + we force the property to its camelCase styling to normalize it for manipulation. */ + property = CSS.Names.camelCase(property); + + /* In case this property is a hook, there are circumstances where we will intend to work on the hook's root property and not the hooked subproperty. */ + var rootProperty = CSS.Hooks.getRoot(property), + rootPropertyValue = false; + + /* Other than for the dummy tween property, properties that are not supported by the browser (and do not have an associated normalization) will + inherently produce no style changes when set, so they are skipped in order to decrease animation tick overhead. + Property support is determined via prefixCheck(), which returns a false flag when no supported is detected. */ + /* Note: Since SVG elements have some of their properties directly applied as HTML attributes, + there is no way to check for their explicit browser support, and so we skip skip this check for them. */ + if (!Data(element).isSVG && rootProperty !== "tween" && CSS.Names.prefixCheck(rootProperty)[1] === false && CSS.Normalizations.registered[rootProperty] === undefined) { + if (Velocity.debug) console.log("Skipping [" + rootProperty + "] due to a lack of browser support."); + + continue; + } + + /* If the display option is being set to a non-"none" (e.g. "block") and opacity (filter on IE<=8) is being + animated to an endValue of non-zero, the user's intention is to fade in from invisible, thus we forcefeed opacity + a startValue of 0 if its startValue hasn't already been sourced by value transferring or prior forcefeeding. */ + if (((opts.display !== undefined && opts.display !== null && opts.display !== "none") || (opts.visibility !== undefined && opts.visibility !== "hidden")) && /opacity|filter/.test(property) && !startValue && endValue !== 0) { + startValue = 0; + } + + /* If values have been transferred from the previous Velocity call, extract the endValue and rootPropertyValue + for all of the current call's properties that were *also* animated in the previous call. */ + /* Note: Value transferring can optionally be disabled by the user via the _cacheValues option. */ + if (opts._cacheValues && lastTweensContainer && lastTweensContainer[property]) { + if (startValue === undefined) { + startValue = lastTweensContainer[property].endValue + lastTweensContainer[property].unitType; + } + + /* The previous call's rootPropertyValue is extracted from the element's data cache since that's the + instance of rootPropertyValue that gets freshly updated by the tweening process, whereas the rootPropertyValue + attached to the incoming lastTweensContainer is equal to the root property's value prior to any tweening. */ + rootPropertyValue = Data(element).rootPropertyValueCache[rootProperty]; + /* If values were not transferred from a previous Velocity call, query the DOM as needed. */ + } else { + /* Handle hooked properties. */ + if (CSS.Hooks.registered[property]) { + if (startValue === undefined) { + rootPropertyValue = CSS.getPropertyValue(element, rootProperty); /* GET */ + /* Note: The following getPropertyValue() call does not actually trigger a DOM query; + getPropertyValue() will extract the hook from rootPropertyValue. */ + startValue = CSS.getPropertyValue(element, property, rootPropertyValue); + /* If startValue is already defined via forcefeeding, do not query the DOM for the root property's value; + just grab rootProperty's zero-value template from CSS.Hooks. This overwrites the element's actual + root property value (if one is set), but this is acceptable since the primary reason users forcefeed is + to avoid DOM queries, and thus we likewise avoid querying the DOM for the root property's value. */ + } else { + /* Grab this hook's zero-value template, e.g. "0px 0px 0px black". */ + rootPropertyValue = CSS.Hooks.templates[rootProperty][1]; + } + /* Handle non-hooked properties that haven't already been defined via forcefeeding. */ + } else if (startValue === undefined) { + startValue = CSS.getPropertyValue(element, property); /* GET */ + } + } + + /************************** + Value Data Extraction + **************************/ + + var separatedValue, + endValueUnitType, + startValueUnitType, + operator = false; + + /* Separates a property value into its numeric value and its unit type. */ + function separateValue (property, value) { + var unitType, + numericValue; + + numericValue = (value || "0") + .toString() + .toLowerCase() + /* Match the unit type at the end of the value. */ + .replace(/[%A-z]+$/, function(match) { + /* Grab the unit type. */ + unitType = match; + + /* Strip the unit type off of value. */ + return ""; + }); + + /* If no unit type was supplied, assign one that is appropriate for this property (e.g. "deg" for rotateZ or "px" for width). */ + if (!unitType) { + unitType = CSS.Values.getUnitType(property); + } + + return [ numericValue, unitType ]; + } + + /* Separate startValue. */ + separatedValue = separateValue(property, startValue); + startValue = separatedValue[0]; + startValueUnitType = separatedValue[1]; + + /* Separate endValue, and extract a value operator (e.g. "+=", "-=") if one exists. */ + separatedValue = separateValue(property, endValue); + endValue = separatedValue[0].replace(/^([+-\/*])=/, function(match, subMatch) { + operator = subMatch; + + /* Strip the operator off of the value. */ + return ""; + }); + endValueUnitType = separatedValue[1]; + + /* Parse float values from endValue and startValue. Default to 0 if NaN is returned. */ + startValue = parseFloat(startValue) || 0; + endValue = parseFloat(endValue) || 0; + + /*************************************** + Property-Specific Value Conversion + ***************************************/ + + /* Custom support for properties that don't actually accept the % unit type, but where pollyfilling is trivial and relatively foolproof. */ + if (endValueUnitType === "%") { + /* A %-value fontSize/lineHeight is relative to the parent's fontSize (as opposed to the parent's dimensions), + which is identical to the em unit's behavior, so we piggyback off of that. */ + if (/^(fontSize|lineHeight)$/.test(property)) { + /* Convert % into an em decimal value. */ + endValue = endValue / 100; + endValueUnitType = "em"; + /* For scaleX and scaleY, convert the value into its decimal format and strip off the unit type. */ + } else if (/^scale/.test(property)) { + endValue = endValue / 100; + endValueUnitType = ""; + /* For RGB components, take the defined percentage of 255 and strip off the unit type. */ + } else if (/(Red|Green|Blue)$/i.test(property)) { + endValue = (endValue / 100) * 255; + endValueUnitType = ""; + } + } + + /*************************** + Unit Ratio Calculation + ***************************/ + + /* When queried, the browser returns (most) CSS property values in pixels. Therefore, if an endValue with a unit type of + %, em, or rem is animated toward, startValue must be converted from pixels into the same unit type as endValue in order + for value manipulation logic (increment/decrement) to proceed. Further, if the startValue was forcefed or transferred + from a previous call, startValue may also not be in pixels. Unit conversion logic therefore consists of two steps: + 1) Calculating the ratio of %/em/rem/vh/vw relative to pixels + 2) Converting startValue into the same unit of measurement as endValue based on these ratios. */ + /* Unit conversion ratios are calculated by inserting a sibling node next to the target node, copying over its position property, + setting values with the target unit type then comparing the returned pixel value. */ + /* Note: Even if only one of these unit types is being animated, all unit ratios are calculated at once since the overhead + of batching the SETs and GETs together upfront outweights the potential overhead + of layout thrashing caused by re-querying for uncalculated ratios for subsequently-processed properties. */ + /* Todo: Shift this logic into the calls' first tick instance so that it's synced with RAF. */ + function calculateUnitRatios () { + + /************************ + Same Ratio Checks + ************************/ + + /* The properties below are used to determine whether the element differs sufficiently from this call's + previously iterated element to also differ in its unit conversion ratios. If the properties match up with those + of the prior element, the prior element's conversion ratios are used. Like most optimizations in Velocity, + this is done to minimize DOM querying. */ + var sameRatioIndicators = { + myParent: element.parentNode || document.body, /* GET */ + position: CSS.getPropertyValue(element, "position"), /* GET */ + fontSize: CSS.getPropertyValue(element, "fontSize") /* GET */ + }, + /* Determine if the same % ratio can be used. % is based on the element's position value and its parent's width and height dimensions. */ + samePercentRatio = ((sameRatioIndicators.position === callUnitConversionData.lastPosition) && (sameRatioIndicators.myParent === callUnitConversionData.lastParent)), + /* Determine if the same em ratio can be used. em is relative to the element's fontSize. */ + sameEmRatio = (sameRatioIndicators.fontSize === callUnitConversionData.lastFontSize); + + /* Store these ratio indicators call-wide for the next element to compare against. */ + callUnitConversionData.lastParent = sameRatioIndicators.myParent; + callUnitConversionData.lastPosition = sameRatioIndicators.position; + callUnitConversionData.lastFontSize = sameRatioIndicators.fontSize; + + /*************************** + Element-Specific Units + ***************************/ + + /* Note: IE8 rounds to the nearest pixel when returning CSS values, thus we perform conversions using a measurement + of 100 (instead of 1) to give our ratios a precision of at least 2 decimal values. */ + var measurement = 100, + unitRatios = {}; + + if (!sameEmRatio || !samePercentRatio) { + var dummy = Data(element).isSVG ? document.createElementNS("http://www.w3.org/2000/svg", "rect") : document.createElement("div"); + + Velocity.init(dummy); + sameRatioIndicators.myParent.appendChild(dummy); + + /* To accurately and consistently calculate conversion ratios, the element's cascaded overflow and box-sizing are stripped. + Similarly, since width/height can be artificially constrained by their min-/max- equivalents, these are controlled for as well. */ + /* Note: Overflow must be also be controlled for per-axis since the overflow property overwrites its per-axis values. */ + $.each([ "overflow", "overflowX", "overflowY" ], function(i, property) { + Velocity.CSS.setPropertyValue(dummy, property, "hidden"); + }); + Velocity.CSS.setPropertyValue(dummy, "position", sameRatioIndicators.position); + Velocity.CSS.setPropertyValue(dummy, "fontSize", sameRatioIndicators.fontSize); + Velocity.CSS.setPropertyValue(dummy, "boxSizing", "content-box"); + + /* width and height act as our proxy properties for measuring the horizontal and vertical % ratios. */ + $.each([ "minWidth", "maxWidth", "width", "minHeight", "maxHeight", "height" ], function(i, property) { + Velocity.CSS.setPropertyValue(dummy, property, measurement + "%"); + }); + /* paddingLeft arbitrarily acts as our proxy property for the em ratio. */ + Velocity.CSS.setPropertyValue(dummy, "paddingLeft", measurement + "em"); + + /* Divide the returned value by the measurement to get the ratio between 1% and 1px. Default to 1 since working with 0 can produce Infinite. */ + unitRatios.percentToPxWidth = callUnitConversionData.lastPercentToPxWidth = (parseFloat(CSS.getPropertyValue(dummy, "width", null, true)) || 1) / measurement; /* GET */ + unitRatios.percentToPxHeight = callUnitConversionData.lastPercentToPxHeight = (parseFloat(CSS.getPropertyValue(dummy, "height", null, true)) || 1) / measurement; /* GET */ + unitRatios.emToPx = callUnitConversionData.lastEmToPx = (parseFloat(CSS.getPropertyValue(dummy, "paddingLeft")) || 1) / measurement; /* GET */ + + sameRatioIndicators.myParent.removeChild(dummy); + } else { + unitRatios.emToPx = callUnitConversionData.lastEmToPx; + unitRatios.percentToPxWidth = callUnitConversionData.lastPercentToPxWidth; + unitRatios.percentToPxHeight = callUnitConversionData.lastPercentToPxHeight; + } + + /*************************** + Element-Agnostic Units + ***************************/ + + /* Whereas % and em ratios are determined on a per-element basis, the rem unit only needs to be checked + once per call since it's exclusively dependant upon document.body's fontSize. If this is the first time + that calculateUnitRatios() is being run during this call, remToPx will still be set to its default value of null, + so we calculate it now. */ + if (callUnitConversionData.remToPx === null) { + /* Default to browsers' default fontSize of 16px in the case of 0. */ + callUnitConversionData.remToPx = parseFloat(CSS.getPropertyValue(document.body, "fontSize")) || 16; /* GET */ + } + + /* Similarly, viewport units are %-relative to the window's inner dimensions. */ + if (callUnitConversionData.vwToPx === null) { + callUnitConversionData.vwToPx = parseFloat(window.innerWidth) / 100; /* GET */ + callUnitConversionData.vhToPx = parseFloat(window.innerHeight) / 100; /* GET */ + } + + unitRatios.remToPx = callUnitConversionData.remToPx; + unitRatios.vwToPx = callUnitConversionData.vwToPx; + unitRatios.vhToPx = callUnitConversionData.vhToPx; + + if (Velocity.debug >= 1) console.log("Unit ratios: " + JSON.stringify(unitRatios), element); + + return unitRatios; + } + + /******************** + Unit Conversion + ********************/ + + /* The * and / operators, which are not passed in with an associated unit, inherently use startValue's unit. Skip value and unit conversion. */ + if (/[\/*]/.test(operator)) { + endValueUnitType = startValueUnitType; + /* If startValue and endValue differ in unit type, convert startValue into the same unit type as endValue so that if endValueUnitType + is a relative unit (%, em, rem), the values set during tweening will continue to be accurately relative even if the metrics they depend + on are dynamically changing during the course of the animation. Conversely, if we always normalized into px and used px for setting values, the px ratio + would become stale if the original unit being animated toward was relative and the underlying metrics change during the animation. */ + /* Since 0 is 0 in any unit type, no conversion is necessary when startValue is 0 -- we just start at 0 with endValueUnitType. */ + } else if ((startValueUnitType !== endValueUnitType) && startValue !== 0) { + /* Unit conversion is also skipped when endValue is 0, but *startValueUnitType* must be used for tween values to remain accurate. */ + /* Note: Skipping unit conversion here means that if endValueUnitType was originally a relative unit, the animation won't relatively + match the underlying metrics if they change, but this is acceptable since we're animating toward invisibility instead of toward visibility, + which remains past the point of the animation's completion. */ + if (endValue === 0) { + endValueUnitType = startValueUnitType; + } else { + /* By this point, we cannot avoid unit conversion (it's undesirable since it causes layout thrashing). + If we haven't already, we trigger calculateUnitRatios(), which runs once per element per call. */ + elementUnitConversionData = elementUnitConversionData || calculateUnitRatios(); + + /* The following RegEx matches CSS properties that have their % values measured relative to the x-axis. */ + /* Note: W3C spec mandates that all of margin and padding's properties (even top and bottom) are %-relative to the *width* of the parent element. */ + var axis = (/margin|padding|left|right|width|text|word|letter/i.test(property) || /X$/.test(property) || property === "x") ? "x" : "y"; + + /* In order to avoid generating n^2 bespoke conversion functions, unit conversion is a two-step process: + 1) Convert startValue into pixels. 2) Convert this new pixel value into endValue's unit type. */ + switch (startValueUnitType) { + case "%": + /* Note: translateX and translateY are the only properties that are %-relative to an element's own dimensions -- not its parent's dimensions. + Velocity does not include a special conversion process to account for this behavior. Therefore, animating translateX/Y from a % value + to a non-% value will produce an incorrect start value. Fortunately, this sort of cross-unit conversion is rarely done by users in practice. */ + startValue *= (axis === "x" ? elementUnitConversionData.percentToPxWidth : elementUnitConversionData.percentToPxHeight); + break; + + case "px": + /* px acts as our midpoint in the unit conversion process; do nothing. */ + break; + + default: + startValue *= elementUnitConversionData[startValueUnitType + "ToPx"]; + } + + /* Invert the px ratios to convert into to the target unit. */ + switch (endValueUnitType) { + case "%": + startValue *= 1 / (axis === "x" ? elementUnitConversionData.percentToPxWidth : elementUnitConversionData.percentToPxHeight); + break; + + case "px": + /* startValue is already in px, do nothing; we're done. */ + break; + + default: + startValue *= 1 / elementUnitConversionData[endValueUnitType + "ToPx"]; + } + } + } + + /********************* + Relative Values + *********************/ + + /* Operator logic must be performed last since it requires unit-normalized start and end values. */ + /* Note: Relative *percent values* do not behave how most people think; while one would expect "+=50%" + to increase the property 1.5x its current value, it in fact increases the percent units in absolute terms: + 50 points is added on top of the current % value. */ + switch (operator) { + case "+": + endValue = startValue + endValue; + break; + + case "-": + endValue = startValue - endValue; + break; + + case "*": + endValue = startValue * endValue; + break; + + case "/": + endValue = startValue / endValue; + break; + } + + /************************** + tweensContainer Push + **************************/ + + /* Construct the per-property tween object, and push it to the element's tweensContainer. */ + tweensContainer[property] = { + rootPropertyValue: rootPropertyValue, + startValue: startValue, + currentValue: startValue, + endValue: endValue, + unitType: endValueUnitType, + easing: easing + }; + + if (Velocity.debug) console.log("tweensContainer (" + property + "): " + JSON.stringify(tweensContainer[property]), element); + } + + /* Along with its property data, store a reference to the element itself onto tweensContainer. */ + tweensContainer.element = element; + } + + /***************** + Call Push + *****************/ + + /* Note: tweensContainer can be empty if all of the properties in this call's property map were skipped due to not + being supported by the browser. The element property is used for checking that the tweensContainer has been appended to. */ + if (tweensContainer.element) { + /* Apply the "velocity-animating" indicator class. */ + CSS.Values.addClass(element, "velocity-animating"); + + /* The call array houses the tweensContainers for each element being animated in the current call. */ + call.push(tweensContainer); + + /* Store the tweensContainer and options if we're working on the default effects queue, so that they can be used by the reverse command. */ + if (opts.queue === "") { + Data(element).tweensContainer = tweensContainer; + Data(element).opts = opts; + } + + /* Switch on the element's animating flag. */ + Data(element).isAnimating = true; + + /* Once the final element in this call's element set has been processed, push the call array onto + Velocity.State.calls for the animation tick to immediately begin processing. */ + if (elementsIndex === elementsLength - 1) { + /* Add the current call plus its associated metadata (the element set and the call's options) onto the global call container. + Anything on this call container is subjected to tick() processing. */ + Velocity.State.calls.push([ call, elements, opts, null, promiseData.resolver ]); + + /* If the animation tick isn't running, start it. (Velocity shuts it off when there are no active calls to process.) */ + if (Velocity.State.isTicking === false) { + Velocity.State.isTicking = true; + + /* Start the tick loop. */ + tick(); + } + } else { + elementsIndex++; + } + } + } + + /* When the queue option is set to false, the call skips the element's queue and fires immediately. */ + if (opts.queue === false) { + /* Since this buildQueue call doesn't respect the element's existing queue (which is where a delay option would have been appended), + we manually inject the delay property here with an explicit setTimeout. */ + if (opts.delay) { + setTimeout(buildQueue, opts.delay); + } else { + buildQueue(); + } + /* Otherwise, the call undergoes element queueing as normal. */ + /* Note: To interoperate with jQuery, Velocity uses jQuery's own $.queue() stack for queuing logic. */ + } else { + $.queue(element, opts.queue, function(next, clearQueue) { + /* If the clearQueue flag was passed in by the stop command, resolve this call's promise. (Promises can only be resolved once, + so it's fine if this is repeatedly triggered for each element in the associated call.) */ + if (clearQueue === true) { + if (promiseData.promise) { + promiseData.resolver(elements); + } + + /* Do not continue with animation queueing. */ + return true; + } + + /* This flag indicates to the upcoming completeCall() function that this queue entry was initiated by Velocity. + See completeCall() for further details. */ + Velocity.velocityQueueEntryFlag = true; + + buildQueue(next); + }); + } + + /********************* + Auto-Dequeuing + *********************/ + + /* As per jQuery's $.queue() behavior, to fire the first non-custom-queue entry on an element, the element + must be dequeued if its queue stack consists *solely* of the current call. (This can be determined by checking + for the "inprogress" item that jQuery prepends to active queue stack arrays.) Regardless, whenever the element's + queue is further appended with additional items -- including $.delay()'s or even $.animate() calls, the queue's + first entry is automatically fired. This behavior contrasts that of custom queues, which never auto-fire. */ + /* Note: When an element set is being subjected to a non-parallel Velocity call, the animation will not begin until + each one of the elements in the set has reached the end of its individually pre-existing queue chain. */ + /* Note: Unfortunately, most people don't fully grasp jQuery's powerful, yet quirky, $.queue() function. + Lean more here: http://stackoverflow.com/questions/1058158/can-somebody-explain-jquery-queue-to-me */ + if ((opts.queue === "" || opts.queue === "fx") && $.queue(element)[0] !== "inprogress") { + $.dequeue(element); + } + } + + /************************** + Element Set Iteration + **************************/ + + /* If the "nodeType" property exists on the elements variable, we're animating a single element. + Place it in an array so that $.each() can iterate over it. */ + $.each(elements, function(i, element) { + /* Ensure each element in a set has a nodeType (is a real element) to avoid throwing errors. */ + if (Type.isNode(element)) { + processElement.call(element); + } + }); + + /****************** + Option: Loop + ******************/ + + /* The loop option accepts an integer indicating how many times the element should loop between the values in the + current call's properties map and the element's property values prior to this call. */ + /* Note: The loop option's logic is performed here -- after element processing -- because the current call needs + to undergo its queue insertion prior to the loop option generating its series of constituent "reverse" calls, + which chain after the current call. Two reverse calls (two "alternations") constitute one loop. */ + var opts = $.extend({}, Velocity.defaults, options), + reverseCallsCount; + + opts.loop = parseInt(opts.loop); + reverseCallsCount = (opts.loop * 2) - 1; + + if (opts.loop) { + /* Double the loop count to convert it into its appropriate number of "reverse" calls. + Subtract 1 from the resulting value since the current call is included in the total alternation count. */ + for (var x = 0; x < reverseCallsCount; x++) { + /* Since the logic for the reverse action occurs inside Queueing and therefore this call's options object + isn't parsed until then as well, the current call's delay option must be explicitly passed into the reverse + call so that the delay logic that occurs inside *Pre-Queueing* can process it. */ + var reverseOptions = { + delay: opts.delay, + progress: opts.progress + }; + + /* If a complete callback was passed into this call, transfer it to the loop redirect's final "reverse" call + so that it's triggered when the entire redirect is complete (and not when the very first animation is complete). */ + if (x === reverseCallsCount - 1) { + reverseOptions.display = opts.display; + reverseOptions.visibility = opts.visibility; + reverseOptions.complete = opts.complete; + } + + animate(elements, "reverse", reverseOptions); + } + } + + /*************** + Chaining + ***************/ + + /* Return the elements back to the call chain, with wrapped elements taking precedence in case Velocity was called via the $.fn. extension. */ + return getChain(); + }; + + /* Turn Velocity into the animation function, extended with the pre-existing Velocity object. */ + Velocity = $.extend(animate, Velocity); + /* For legacy support, also expose the literal animate method. */ + Velocity.animate = animate; + + /************** + Timing + **************/ + + /* Ticker function. */ + var ticker = window.requestAnimationFrame || rAFShim; + + /* Inactive browser tabs pause rAF, which results in all active animations immediately sprinting to their completion states when the tab refocuses. + To get around this, we dynamically switch rAF to setTimeout (which the browser *doesn't* pause) when the tab loses focus. We skip this for mobile + devices to avoid wasting battery power on inactive tabs. */ + /* Note: Tab focus detection doesn't work on older versions of IE, but that's okay since they don't support rAF to begin with. */ + if (!Velocity.State.isMobile && document.hidden !== undefined) { + document.addEventListener("visibilitychange", function() { + /* Reassign the rAF function (which the global tick() function uses) based on the tab's focus state. */ + if (document.hidden) { + ticker = function(callback) { + /* The tick function needs a truthy first argument in order to pass its internal timestamp check. */ + return setTimeout(function() { callback(true) }, 16); + }; + + /* The rAF loop has been paused by the browser, so we manually restart the tick. */ + tick(); + } else { + ticker = window.requestAnimationFrame || rAFShim; + } + }); + } + + /************ + Tick + ************/ + + /* Note: All calls to Velocity are pushed to the Velocity.State.calls array, which is fully iterated through upon each tick. */ + function tick (timestamp) { + /* An empty timestamp argument indicates that this is the first tick occurence since ticking was turned on. + We leverage this metadata to fully ignore the first tick pass since RAF's initial pass is fired whenever + the browser's next tick sync time occurs, which results in the first elements subjected to Velocity + calls being animated out of sync with any elements animated immediately thereafter. In short, we ignore + the first RAF tick pass so that elements being immediately consecutively animated -- instead of simultaneously animated + by the same Velocity call -- are properly batched into the same initial RAF tick and consequently remain in sync thereafter. */ + if (timestamp) { + /* We ignore RAF's high resolution timestamp since it can be significantly offset when the browser is + under high stress; we opt for choppiness over allowing the browser to drop huge chunks of frames. */ + var timeCurrent = (new Date).getTime(); + + /******************** + Call Iteration + ********************/ + + var callsLength = Velocity.State.calls.length; + + /* To speed up iterating over this array, it is compacted (falsey items -- calls that have completed -- are removed) + when its length has ballooned to a point that can impact tick performance. This only becomes necessary when animation + has been continuous with many elements over a long period of time; whenever all active calls are completed, completeCall() clears Velocity.State.calls. */ + if (callsLength > 10000) { + Velocity.State.calls = compactSparseArray(Velocity.State.calls); + } + + /* Iterate through each active call. */ + for (var i = 0; i < callsLength; i++) { + /* When a Velocity call is completed, its Velocity.State.calls entry is set to false. Continue on to the next call. */ + if (!Velocity.State.calls[i]) { + continue; + } + + /************************ + Call-Wide Variables + ************************/ + + var callContainer = Velocity.State.calls[i], + call = callContainer[0], + opts = callContainer[2], + timeStart = callContainer[3], + firstTick = !!timeStart, + tweenDummyValue = null; + + /* If timeStart is undefined, then this is the first time that this call has been processed by tick(). + We assign timeStart now so that its value is as close to the real animation start time as possible. + (Conversely, had timeStart been defined when this call was added to Velocity.State.calls, the delay + between that time and now would cause the first few frames of the tween to be skipped since + percentComplete is calculated relative to timeStart.) */ + /* Further, subtract 16ms (the approximate resolution of RAF) from the current time value so that the + first tick iteration isn't wasted by animating at 0% tween completion, which would produce the + same style value as the element's current value. */ + if (!timeStart) { + timeStart = Velocity.State.calls[i][3] = timeCurrent - 16; + } + + /* The tween's completion percentage is relative to the tween's start time, not the tween's start value + (which would result in unpredictable tween durations since JavaScript's timers are not particularly accurate). + Accordingly, we ensure that percentComplete does not exceed 1. */ + var percentComplete = Math.min((timeCurrent - timeStart) / opts.duration, 1); + + /********************** + Element Iteration + **********************/ + + /* For every call, iterate through each of the elements in its set. */ + for (var j = 0, callLength = call.length; j < callLength; j++) { + var tweensContainer = call[j], + element = tweensContainer.element; + + /* Check to see if this element has been deleted midway through the animation by checking for the + continued existence of its data cache. If it's gone, skip animating this element. */ + if (!Data(element)) { + continue; + } + + var transformPropertyExists = false; + + /********************************** + Display & Visibility Toggling + **********************************/ + + /* If the display option is set to non-"none", set it upfront so that the element can become visible before tweening begins. + (Otherwise, display's "none" value is set in completeCall() once the animation has completed.) */ + if (opts.display !== undefined && opts.display !== null && opts.display !== "none") { + if (opts.display === "flex") { + var flexValues = [ "-webkit-box", "-moz-box", "-ms-flexbox", "-webkit-flex" ]; + + $.each(flexValues, function(i, flexValue) { + CSS.setPropertyValue(element, "display", flexValue); + }); + } + + CSS.setPropertyValue(element, "display", opts.display); + } + + /* Same goes with the visibility option, but its "none" equivalent is "hidden". */ + if (opts.visibility !== undefined && opts.visibility !== "hidden") { + CSS.setPropertyValue(element, "visibility", opts.visibility); + } + + /************************ + Property Iteration + ************************/ + + /* For every element, iterate through each property. */ + for (var property in tweensContainer) { + /* Note: In addition to property tween data, tweensContainer contains a reference to its associated element. */ + if (property !== "element") { + var tween = tweensContainer[property], + currentValue, + /* Easing can either be a pre-genereated function or a string that references a pre-registered easing + on the Velocity.Easings object. In either case, return the appropriate easing *function*. */ + easing = Type.isString(tween.easing) ? Velocity.Easings[tween.easing] : tween.easing; + + /****************************** + Current Value Calculation + ******************************/ + + /* If this is the last tick pass (if we've reached 100% completion for this tween), + ensure that currentValue is explicitly set to its target endValue so that it's not subjected to any rounding. */ + if (percentComplete === 1) { + currentValue = tween.endValue; + /* Otherwise, calculate currentValue based on the current delta from startValue. */ + } else { + var tweenDelta = tween.endValue - tween.startValue; + currentValue = tween.startValue + (tweenDelta * easing(percentComplete, opts, tweenDelta)); + + /* If no value change is occurring, don't proceed with DOM updating. */ + if (!firstTick && (currentValue === tween.currentValue)) { + continue; + } + } + + tween.currentValue = currentValue; + + /* If we're tweening a fake 'tween' property in order to log transition values, update the one-per-call variable so that + it can be passed into the progress callback. */ + if (property === "tween") { + tweenDummyValue = currentValue; + } else { + /****************** + Hooks: Part I + ******************/ + + /* For hooked properties, the newly-updated rootPropertyValueCache is cached onto the element so that it can be used + for subsequent hooks in this call that are associated with the same root property. If we didn't cache the updated + rootPropertyValue, each subsequent update to the root property in this tick pass would reset the previous hook's + updates to rootPropertyValue prior to injection. A nice performance byproduct of rootPropertyValue caching is that + subsequently chained animations using the same hookRoot but a different hook can use this cached rootPropertyValue. */ + if (CSS.Hooks.registered[property]) { + var hookRoot = CSS.Hooks.getRoot(property), + rootPropertyValueCache = Data(element).rootPropertyValueCache[hookRoot]; + + if (rootPropertyValueCache) { + tween.rootPropertyValue = rootPropertyValueCache; + } + } + + /***************** + DOM Update + *****************/ + + /* setPropertyValue() returns an array of the property name and property value post any normalization that may have been performed. */ + /* Note: To solve an IE<=8 positioning bug, the unit type is dropped when setting a property value of 0. */ + var adjustedSetData = CSS.setPropertyValue(element, /* SET */ + property, + tween.currentValue + (parseFloat(currentValue) === 0 ? "" : tween.unitType), + tween.rootPropertyValue, + tween.scrollData); + + /******************* + Hooks: Part II + *******************/ + + /* Now that we have the hook's updated rootPropertyValue (the post-processed value provided by adjustedSetData), cache it onto the element. */ + if (CSS.Hooks.registered[property]) { + /* Since adjustedSetData contains normalized data ready for DOM updating, the rootPropertyValue needs to be re-extracted from its normalized form. ?? */ + if (CSS.Normalizations.registered[hookRoot]) { + Data(element).rootPropertyValueCache[hookRoot] = CSS.Normalizations.registered[hookRoot]("extract", null, adjustedSetData[1]); + } else { + Data(element).rootPropertyValueCache[hookRoot] = adjustedSetData[1]; + } + } + + /*************** + Transforms + ***************/ + + /* Flag whether a transform property is being animated so that flushTransformCache() can be triggered once this tick pass is complete. */ + if (adjustedSetData[0] === "transform") { + transformPropertyExists = true; + } + + } + } + } + + /**************** + mobileHA + ****************/ + + /* If mobileHA is enabled, set the translate3d transform to null to force hardware acceleration. + It's safe to override this property since Velocity doesn't actually support its animation (hooks are used in its place). */ + if (opts.mobileHA) { + /* Don't set the null transform hack if we've already done so. */ + if (Data(element).transformCache.translate3d === undefined) { + /* All entries on the transformCache object are later concatenated into a single transform string via flushTransformCache(). */ + Data(element).transformCache.translate3d = "(0px, 0px, 0px)"; + + transformPropertyExists = true; + } + } + + if (transformPropertyExists) { + CSS.flushTransformCache(element); + } + } + + /* The non-"none" display value is only applied to an element once -- when its associated call is first ticked through. + Accordingly, it's set to false so that it isn't re-processed by this call in the next tick. */ + if (opts.display !== undefined && opts.display !== "none") { + Velocity.State.calls[i][2].display = false; + } + if (opts.visibility !== undefined && opts.visibility !== "hidden") { + Velocity.State.calls[i][2].visibility = false; + } + + /* Pass the elements and the timing data (percentComplete, msRemaining, timeStart, tweenDummyValue) into the progress callback. */ + if (opts.progress) { + opts.progress.call(callContainer[1], + callContainer[1], + percentComplete, + Math.max(0, (timeStart + opts.duration) - timeCurrent), + timeStart, + tweenDummyValue); + } + + /* If this call has finished tweening, pass its index to completeCall() to handle call cleanup. */ + if (percentComplete === 1) { + completeCall(i); + } + } + } + + /* Note: completeCall() sets the isTicking flag to false when the last call on Velocity.State.calls has completed. */ + if (Velocity.State.isTicking) { + ticker(tick); + } + } + + /********************** + Call Completion + **********************/ + + /* Note: Unlike tick(), which processes all active calls at once, call completion is handled on a per-call basis. */ + function completeCall (callIndex, isStopped) { + /* Ensure the call exists. */ + if (!Velocity.State.calls[callIndex]) { + return false; + } + + /* Pull the metadata from the call. */ + var call = Velocity.State.calls[callIndex][0], + elements = Velocity.State.calls[callIndex][1], + opts = Velocity.State.calls[callIndex][2], + resolver = Velocity.State.calls[callIndex][4]; + + var remainingCallsExist = false; + + /************************* + Element Finalization + *************************/ + + for (var i = 0, callLength = call.length; i < callLength; i++) { + var element = call[i].element; + + /* If the user set display to "none" (intending to hide the element), set it now that the animation has completed. */ + /* Note: display:none isn't set when calls are manually stopped (via Velocity("stop"). */ + /* Note: Display gets ignored with "reverse" calls and infinite loops, since this behavior would be undesirable. */ + if (!isStopped && !opts.loop) { + if (opts.display === "none") { + CSS.setPropertyValue(element, "display", opts.display); + } + + if (opts.visibility === "hidden") { + CSS.setPropertyValue(element, "visibility", opts.visibility); + } + } + + /* If the element's queue is empty (if only the "inprogress" item is left at position 0) or if its queue is about to run + a non-Velocity-initiated entry, turn off the isAnimating flag. A non-Velocity-initiatied queue entry's logic might alter + an element's CSS values and thereby cause Velocity's cached value data to go stale. To detect if a queue entry was initiated by Velocity, + we check for the existence of our special Velocity.queueEntryFlag declaration, which minifiers won't rename since the flag + is assigned to jQuery's global $ object and thus exists out of Velocity's own scope. */ + if (opts.loop !== true && ($.queue(element)[1] === undefined || !/\.velocityQueueEntryFlag/i.test($.queue(element)[1]))) { + /* The element may have been deleted. Ensure that its data cache still exists before acting on it. */ + if (Data(element)) { + Data(element).isAnimating = false; + /* Clear the element's rootPropertyValueCache, which will become stale. */ + Data(element).rootPropertyValueCache = {}; + + var transformHAPropertyExists = false; + /* If any 3D transform subproperty is at its default value (regardless of unit type), remove it. */ + $.each(CSS.Lists.transforms3D, function(i, transformName) { + var defaultValue = /^scale/.test(transformName) ? 1 : 0, + currentValue = Data(element).transformCache[transformName]; + + if (Data(element).transformCache[transformName] !== undefined && new RegExp("^\\(" + defaultValue + "[^.]").test(currentValue)) { + transformHAPropertyExists = true; + + delete Data(element).transformCache[transformName]; + } + }); + + /* Mobile devices have hardware acceleration removed at the end of the animation in order to avoid hogging the GPU's memory. */ + if (opts.mobileHA) { + transformHAPropertyExists = true; + delete Data(element).transformCache.translate3d; + } + + /* Flush the subproperty removals to the DOM. */ + if (transformHAPropertyExists) { + CSS.flushTransformCache(element); + } + + /* Remove the "velocity-animating" indicator class. */ + CSS.Values.removeClass(element, "velocity-animating"); + } + } + + /********************* + Option: Complete + *********************/ + + /* Complete is fired once per call (not once per element) and is passed the full raw DOM element set as both its context and its first argument. */ + /* Note: Callbacks aren't fired when calls are manually stopped (via Velocity("stop"). */ + if (!isStopped && opts.complete && !opts.loop && (i === callLength - 1)) { + /* We throw callbacks in a setTimeout so that thrown errors don't halt the execution of Velocity itself. */ + try { + opts.complete.call(elements, elements); + } catch (error) { + setTimeout(function() { throw error; }, 1); + } + } + + /********************** + Promise Resolving + **********************/ + + /* Note: Infinite loops don't return promises. */ + if (resolver && opts.loop !== true) { + resolver(elements); + } + + /**************************** + Option: Loop (Infinite) + ****************************/ + + if (Data(element) && opts.loop === true && !isStopped) { + /* If a rotateX/Y/Z property is being animated to 360 deg with loop:true, swap tween start/end values to enable + continuous iterative rotation looping. (Otherise, the element would just rotate back and forth.) */ + $.each(Data(element).tweensContainer, function(propertyName, tweenContainer) { + if (/^rotate/.test(propertyName) && parseFloat(tweenContainer.endValue) === 360) { + tweenContainer.endValue = 0; + tweenContainer.startValue = 360; + } + + if (/^backgroundPosition/.test(propertyName) && parseFloat(tweenContainer.endValue) === 100 && tweenContainer.unitType === "%") { + tweenContainer.endValue = 0; + tweenContainer.startValue = 100; + } + }); + + Velocity(element, "reverse", { loop: true, delay: opts.delay }); + } + + /*************** + Dequeueing + ***************/ + + /* Fire the next call in the queue so long as this call's queue wasn't set to false (to trigger a parallel animation), + which would have already caused the next call to fire. Note: Even if the end of the animation queue has been reached, + $.dequeue() must still be called in order to completely clear jQuery's animation queue. */ + if (opts.queue !== false) { + $.dequeue(element, opts.queue); + } + } + + /************************ + Calls Array Cleanup + ************************/ + + /* Since this call is complete, set it to false so that the rAF tick skips it. This array is later compacted via compactSparseArray(). + (For performance reasons, the call is set to false instead of being deleted from the array: http://www.html5rocks.com/en/tutorials/speed/v8/) */ + Velocity.State.calls[callIndex] = false; + + /* Iterate through the calls array to determine if this was the final in-progress animation. + If so, set a flag to end ticking and clear the calls array. */ + for (var j = 0, callsLength = Velocity.State.calls.length; j < callsLength; j++) { + if (Velocity.State.calls[j] !== false) { + remainingCallsExist = true; + + break; + } + } + + if (remainingCallsExist === false) { + /* tick() will detect this flag upon its next iteration and subsequently turn itself off. */ + Velocity.State.isTicking = false; + + /* Clear the calls array so that its length is reset. */ + delete Velocity.State.calls; + Velocity.State.calls = []; + } + } + + /****************** + Frameworks + ******************/ + + /* Both jQuery and Zepto allow their $.fn object to be extended to allow wrapped elements to be subjected to plugin calls. + If either framework is loaded, register a "velocity" extension pointing to Velocity's core animate() method. Velocity + also registers itself onto a global container (window.jQuery || window.Zepto || window) so that certain features are + accessible beyond just a per-element scope. This master object contains an .animate() method, which is later assigned to $.fn + (if jQuery or Zepto are present). Accordingly, Velocity can both act on wrapped DOM elements and stand alone for targeting raw DOM elements. */ + global.Velocity = Velocity; + + if (global !== window) { + /* Assign the element function to Velocity's core animate() method. */ + global.fn.velocity = animate; + /* Assign the object function's defaults to Velocity's global defaults object. */ + global.fn.velocity.defaults = Velocity.defaults; + } + + /*********************** + Packaged Redirects + ***********************/ + + /* slideUp, slideDown */ + $.each([ "Down", "Up" ], function(i, direction) { + Velocity.Redirects["slide" + direction] = function (element, options, elementsIndex, elementsSize, elements, promiseData) { + var opts = $.extend({}, options), + begin = opts.begin, + complete = opts.complete, + computedValues = { height: "", marginTop: "", marginBottom: "", paddingTop: "", paddingBottom: "" }, + inlineValues = {}; + + if (opts.display === undefined) { + /* Show the element before slideDown begins and hide the element after slideUp completes. */ + /* Note: Inline elements cannot have dimensions animated, so they're reverted to inline-block. */ + opts.display = (direction === "Down" ? (Velocity.CSS.Values.getDisplayType(element) === "inline" ? "inline-block" : "block") : "none"); + } + + opts.begin = function() { + /* If the user passed in a begin callback, fire it now. */ + begin && begin.call(elements, elements); + + /* Cache the elements' original vertical dimensional property values so that we can animate back to them. */ + for (var property in computedValues) { + inlineValues[property] = element.style[property]; + + /* For slideDown, use forcefeeding to animate all vertical properties from 0. For slideUp, + use forcefeeding to start from computed values and animate down to 0. */ + var propertyValue = Velocity.CSS.getPropertyValue(element, property); + computedValues[property] = (direction === "Down") ? [ propertyValue, 0 ] : [ 0, propertyValue ]; + } + + /* Force vertical overflow content to clip so that sliding works as expected. */ + inlineValues.overflow = element.style.overflow; + element.style.overflow = "hidden"; + } + + opts.complete = function() { + /* Reset element to its pre-slide inline values once its slide animation is complete. */ + for (var property in inlineValues) { + element.style[property] = inlineValues[property]; + } + + /* If the user passed in a complete callback, fire it now. */ + complete && complete.call(elements, elements); + promiseData && promiseData.resolver(elements); + }; + + Velocity(element, computedValues, opts); + }; + }); + + /* fadeIn, fadeOut */ + $.each([ "In", "Out" ], function(i, direction) { + Velocity.Redirects["fade" + direction] = function (element, options, elementsIndex, elementsSize, elements, promiseData) { + var opts = $.extend({}, options), + propertiesMap = { opacity: (direction === "In") ? 1 : 0 }, + originalComplete = opts.complete; + + /* Since redirects are triggered individually for each element in the animated set, avoid repeatedly triggering + callbacks by firing them only when the final element has been reached. */ + if (elementsIndex !== elementsSize - 1) { + opts.complete = opts.begin = null; + } else { + opts.complete = function() { + if (originalComplete) { + originalComplete.call(elements, elements); + } + + promiseData && promiseData.resolver(elements); + } + } + + /* If a display was passed in, use it. Otherwise, default to "none" for fadeOut or the element-specific default for fadeIn. */ + /* Note: We allow users to pass in "null" to skip display setting altogether. */ + if (opts.display === undefined) { + opts.display = (direction === "In" ? "auto" : "none"); + } + + Velocity(this, propertiesMap, opts); + }; + }); + + return Velocity; +}((window.jQuery || window.Zepto || window), window, document); +})); + +/****************** + Known Issues +******************/ + +/* The CSS spec mandates that the translateX/Y/Z transforms are %-relative to the element itself -- not its parent. +Velocity, however, doesn't make this distinction. Thus, converting to or from the % unit with these subproperties +will produce an inaccurate conversion value. The same issue exists with the cx/cy attributes of SVG circles and ellipses. */ \ No newline at end of file diff --git a/lib/velocity/velocity.min.js b/lib/velocity/velocity.min.js new file mode 100644 index 000000000..58244c80e --- /dev/null +++ b/lib/velocity/velocity.min.js @@ -0,0 +1,4 @@ +/*! VelocityJS.org (1.2.2). (C) 2014 Julian Shapiro. MIT @license: en.wikipedia.org/wiki/MIT_License */ +/*! VelocityJS.org jQuery Shim (1.0.1). (C) 2014 The jQuery Foundation. MIT @license: en.wikipedia.org/wiki/MIT_License. */ +!function(e){function t(e){var t=e.length,r=$.type(e);return"function"===r||$.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===r||0===t||"number"==typeof t&&t>0&&t-1 in e}if(!e.jQuery){var $=function(e,t){return new $.fn.init(e,t)};$.isWindow=function(e){return null!=e&&e==e.window},$.type=function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?a[o.call(e)]||"object":typeof e},$.isArray=Array.isArray||function(e){return"array"===$.type(e)},$.isPlainObject=function(e){var t;if(!e||"object"!==$.type(e)||e.nodeType||$.isWindow(e))return!1;try{if(e.constructor&&!n.call(e,"constructor")&&!n.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(r){return!1}for(t in e);return void 0===t||n.call(e,t)},$.each=function(e,r,a){var n,o=0,i=e.length,s=t(e);if(a){if(s)for(;i>o&&(n=r.apply(e[o],a),n!==!1);o++);else for(o in e)if(n=r.apply(e[o],a),n===!1)break}else if(s)for(;i>o&&(n=r.call(e[o],o,e[o]),n!==!1);o++);else for(o in e)if(n=r.call(e[o],o,e[o]),n===!1)break;return e},$.data=function(e,t,a){if(void 0===a){var n=e[$.expando],o=n&&r[n];if(void 0===t)return o;if(o&&t in o)return o[t]}else if(void 0!==t){var n=e[$.expando]||(e[$.expando]=++$.uuid);return r[n]=r[n]||{},r[n][t]=a,a}},$.removeData=function(e,t){var a=e[$.expando],n=a&&r[a];n&&$.each(t,function(e,t){delete n[t]})},$.extend=function(){var e,t,r,a,n,o,i=arguments[0]||{},s=1,l=arguments.length,u=!1;for("boolean"==typeof i&&(u=i,i=arguments[s]||{},s++),"object"!=typeof i&&"function"!==$.type(i)&&(i={}),s===l&&(i=this,s--);l>s;s++)if(null!=(n=arguments[s]))for(a in n)e=i[a],r=n[a],i!==r&&(u&&r&&($.isPlainObject(r)||(t=$.isArray(r)))?(t?(t=!1,o=e&&$.isArray(e)?e:[]):o=e&&$.isPlainObject(e)?e:{},i[a]=$.extend(u,o,r)):void 0!==r&&(i[a]=r));return i},$.queue=function(e,r,a){function n(e,r){var a=r||[];return null!=e&&(t(Object(e))?!function(e,t){for(var r=+t.length,a=0,n=e.length;r>a;)e[n++]=t[a++];if(r!==r)for(;void 0!==t[a];)e[n++]=t[a++];return e.length=n,e}(a,"string"==typeof e?[e]:e):[].push.call(a,e)),a}if(e){r=(r||"fx")+"queue";var o=$.data(e,r);return a?(!o||$.isArray(a)?o=$.data(e,r,n(a)):o.push(a),o):o||[]}},$.dequeue=function(e,t){$.each(e.nodeType?[e]:e,function(e,r){t=t||"fx";var a=$.queue(r,t),n=a.shift();"inprogress"===n&&(n=a.shift()),n&&("fx"===t&&a.unshift("inprogress"),n.call(r,function(){$.dequeue(r,t)}))})},$.fn=$.prototype={init:function(e){if(e.nodeType)return this[0]=e,this;throw new Error("Not a DOM node.")},offset:function(){var t=this[0].getBoundingClientRect?this[0].getBoundingClientRect():{top:0,left:0};return{top:t.top+(e.pageYOffset||document.scrollTop||0)-(document.clientTop||0),left:t.left+(e.pageXOffset||document.scrollLeft||0)-(document.clientLeft||0)}},position:function(){function e(){for(var e=this.offsetParent||document;e&&"html"===!e.nodeType.toLowerCase&&"static"===e.style.position;)e=e.offsetParent;return e||document}var t=this[0],e=e.apply(t),r=this.offset(),a=/^(?:body|html)$/i.test(e.nodeName)?{top:0,left:0}:$(e).offset();return r.top-=parseFloat(t.style.marginTop)||0,r.left-=parseFloat(t.style.marginLeft)||0,e.style&&(a.top+=parseFloat(e.style.borderTopWidth)||0,a.left+=parseFloat(e.style.borderLeftWidth)||0),{top:r.top-a.top,left:r.left-a.left}}};var r={};$.expando="velocity"+(new Date).getTime(),$.uuid=0;for(var a={},n=a.hasOwnProperty,o=a.toString,i="Boolean Number String Function Array Date RegExp Object Error".split(" "),s=0;sn;++n){var o=u(r,e,a);if(0===o)return r;var i=l(r,e,a)-t;r-=i/o}return r}function p(){for(var t=0;b>t;++t)w[t]=l(t*x,e,a)}function f(t,r,n){var o,i,s=0;do i=r+(n-r)/2,o=l(i,e,a)-t,o>0?n=i:r=i;while(Math.abs(o)>h&&++s=y?c(t,s):0==l?s:f(t,r,r+x)}function g(){V=!0,(e!=r||a!=n)&&p()}var m=4,y=.001,h=1e-7,v=10,b=11,x=1/(b-1),S="Float32Array"in t;if(4!==arguments.length)return!1;for(var P=0;4>P;++P)if("number"!=typeof arguments[P]||isNaN(arguments[P])||!isFinite(arguments[P]))return!1;e=Math.min(e,1),a=Math.min(a,1),e=Math.max(e,0),a=Math.max(a,0);var w=S?new Float32Array(b):new Array(b),V=!1,C=function(t){return V||g(),e===r&&a===n?t:0===t?0:1===t?1:l(d(t),r,n)};C.getControlPoints=function(){return[{x:e,y:r},{x:a,y:n}]};var T="generateBezier("+[e,r,a,n]+")";return C.toString=function(){return T},C}function u(e,t){var r=e;return g.isString(e)?v.Easings[e]||(r=!1):r=g.isArray(e)&&1===e.length?s.apply(null,e):g.isArray(e)&&2===e.length?b.apply(null,e.concat([t])):g.isArray(e)&&4===e.length?l.apply(null,e):!1,r===!1&&(r=v.Easings[v.defaults.easing]?v.defaults.easing:h),r}function c(e){if(e){var t=(new Date).getTime(),r=v.State.calls.length;r>1e4&&(v.State.calls=n(v.State.calls));for(var o=0;r>o;o++)if(v.State.calls[o]){var s=v.State.calls[o],l=s[0],u=s[2],f=s[3],d=!!f,m=null;f||(f=v.State.calls[o][3]=t-16);for(var y=Math.min((t-f)/u.duration,1),h=0,b=l.length;b>h;h++){var S=l[h],w=S.element;if(i(w)){var V=!1;if(u.display!==a&&null!==u.display&&"none"!==u.display){if("flex"===u.display){var C=["-webkit-box","-moz-box","-ms-flexbox","-webkit-flex"];$.each(C,function(e,t){x.setPropertyValue(w,"display",t)})}x.setPropertyValue(w,"display",u.display)}u.visibility!==a&&"hidden"!==u.visibility&&x.setPropertyValue(w,"visibility",u.visibility);for(var T in S)if("element"!==T){var k=S[T],A,F=g.isString(k.easing)?v.Easings[k.easing]:k.easing;if(1===y)A=k.endValue;else{var E=k.endValue-k.startValue;if(A=k.startValue+E*F(y,u,E),!d&&A===k.currentValue)continue}if(k.currentValue=A,"tween"===T)m=A;else{if(x.Hooks.registered[T]){var j=x.Hooks.getRoot(T),H=i(w).rootPropertyValueCache[j];H&&(k.rootPropertyValue=H)}var N=x.setPropertyValue(w,T,k.currentValue+(0===parseFloat(A)?"":k.unitType),k.rootPropertyValue,k.scrollData);x.Hooks.registered[T]&&(i(w).rootPropertyValueCache[j]=x.Normalizations.registered[j]?x.Normalizations.registered[j]("extract",null,N[1]):N[1]),"transform"===N[0]&&(V=!0)}}u.mobileHA&&i(w).transformCache.translate3d===a&&(i(w).transformCache.translate3d="(0px, 0px, 0px)",V=!0),V&&x.flushTransformCache(w)}}u.display!==a&&"none"!==u.display&&(v.State.calls[o][2].display=!1),u.visibility!==a&&"hidden"!==u.visibility&&(v.State.calls[o][2].visibility=!1),u.progress&&u.progress.call(s[1],s[1],y,Math.max(0,f+u.duration-t),f,m),1===y&&p(o)}}v.State.isTicking&&P(c)}function p(e,t){if(!v.State.calls[e])return!1;for(var r=v.State.calls[e][0],n=v.State.calls[e][1],o=v.State.calls[e][2],s=v.State.calls[e][4],l=!1,u=0,c=r.length;c>u;u++){var p=r[u].element;if(t||o.loop||("none"===o.display&&x.setPropertyValue(p,"display",o.display),"hidden"===o.visibility&&x.setPropertyValue(p,"visibility",o.visibility)),o.loop!==!0&&($.queue(p)[1]===a||!/\.velocityQueueEntryFlag/i.test($.queue(p)[1]))&&i(p)){i(p).isAnimating=!1,i(p).rootPropertyValueCache={};var f=!1;$.each(x.Lists.transforms3D,function(e,t){var r=/^scale/.test(t)?1:0,n=i(p).transformCache[t];i(p).transformCache[t]!==a&&new RegExp("^\\("+r+"[^.]").test(n)&&(f=!0,delete i(p).transformCache[t])}),o.mobileHA&&(f=!0,delete i(p).transformCache.translate3d),f&&x.flushTransformCache(p),x.Values.removeClass(p,"velocity-animating")}if(!t&&o.complete&&!o.loop&&u===c-1)try{o.complete.call(n,n)}catch(d){setTimeout(function(){throw d},1)}s&&o.loop!==!0&&s(n),i(p)&&o.loop===!0&&!t&&($.each(i(p).tweensContainer,function(e,t){/^rotate/.test(e)&&360===parseFloat(t.endValue)&&(t.endValue=0,t.startValue=360),/^backgroundPosition/.test(e)&&100===parseFloat(t.endValue)&&"%"===t.unitType&&(t.endValue=0,t.startValue=100)}),v(p,"reverse",{loop:!0,delay:o.delay})),o.queue!==!1&&$.dequeue(p,o.queue)}v.State.calls[e]=!1;for(var g=0,m=v.State.calls.length;m>g;g++)if(v.State.calls[g]!==!1){l=!0;break}l===!1&&(v.State.isTicking=!1,delete v.State.calls,v.State.calls=[])}var f=function(){if(r.documentMode)return r.documentMode;for(var e=7;e>4;e--){var t=r.createElement("div");if(t.innerHTML="",t.getElementsByTagName("span").length)return t=null,e}return a}(),d=function(){var e=0;return t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||function(t){var r=(new Date).getTime(),a;return a=Math.max(0,16-(r-e)),e=r+a,setTimeout(function(){t(r+a)},a)}}(),g={isString:function(e){return"string"==typeof e},isArray:Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},isFunction:function(e){return"[object Function]"===Object.prototype.toString.call(e)},isNode:function(e){return e&&e.nodeType},isNodeList:function(e){return"object"==typeof e&&/^\[object (HTMLCollection|NodeList|Object)\]$/.test(Object.prototype.toString.call(e))&&e.length!==a&&(0===e.length||"object"==typeof e[0]&&e[0].nodeType>0)},isWrapped:function(e){return e&&(e.jquery||t.Zepto&&t.Zepto.zepto.isZ(e))},isSVG:function(e){return t.SVGElement&&e instanceof t.SVGElement},isEmptyObject:function(e){for(var t in e)return!1;return!0}},$,m=!1;if(e.fn&&e.fn.jquery?($=e,m=!0):$=t.Velocity.Utilities,8>=f&&!m)throw new Error("Velocity: IE8 and below require jQuery to be loaded before Velocity.");if(7>=f)return void(jQuery.fn.velocity=jQuery.fn.animate);var y=400,h="swing",v={State:{isMobile:/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),isAndroid:/Android/i.test(navigator.userAgent),isGingerbread:/Android 2\.3\.[3-7]/i.test(navigator.userAgent),isChrome:t.chrome,isFirefox:/Firefox/i.test(navigator.userAgent),prefixElement:r.createElement("div"),prefixMatches:{},scrollAnchor:null,scrollPropertyLeft:null,scrollPropertyTop:null,isTicking:!1,calls:[]},CSS:{},Utilities:$,Redirects:{},Easings:{},Promise:t.Promise,defaults:{queue:"",duration:y,easing:h,begin:a,complete:a,progress:a,display:a,visibility:a,loop:!1,delay:!1,mobileHA:!0,_cacheValues:!0},init:function(e){$.data(e,"velocity",{isSVG:g.isSVG(e),isAnimating:!1,computedStyle:null,tweensContainer:null,rootPropertyValueCache:{},transformCache:{}})},hook:null,mock:!1,version:{major:1,minor:2,patch:2},debug:!1};t.pageYOffset!==a?(v.State.scrollAnchor=t,v.State.scrollPropertyLeft="pageXOffset",v.State.scrollPropertyTop="pageYOffset"):(v.State.scrollAnchor=r.documentElement||r.body.parentNode||r.body,v.State.scrollPropertyLeft="scrollLeft",v.State.scrollPropertyTop="scrollTop");var b=function(){function e(e){return-e.tension*e.x-e.friction*e.v}function t(t,r,a){var n={x:t.x+a.dx*r,v:t.v+a.dv*r,tension:t.tension,friction:t.friction};return{dx:n.v,dv:e(n)}}function r(r,a){var n={dx:r.v,dv:e(r)},o=t(r,.5*a,n),i=t(r,.5*a,o),s=t(r,a,i),l=1/6*(n.dx+2*(o.dx+i.dx)+s.dx),u=1/6*(n.dv+2*(o.dv+i.dv)+s.dv);return r.x=r.x+l*a,r.v=r.v+u*a,r}return function a(e,t,n){var o={x:-1,v:0,tension:null,friction:null},i=[0],s=0,l=1e-4,u=.016,c,p,f;for(e=parseFloat(e)||500,t=parseFloat(t)||20,n=n||null,o.tension=e,o.friction=t,c=null!==n,c?(s=a(e,t),p=s/n*u):p=u;;)if(f=r(f||o,p),i.push(1+f.x),s+=16,!(Math.abs(f.x)>l&&Math.abs(f.v)>l))break;return c?function(e){return i[e*(i.length-1)|0]}:s}}();v.Easings={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},spring:function(e){return 1-Math.cos(4.5*e*Math.PI)*Math.exp(6*-e)}},$.each([["ease",[.25,.1,.25,1]],["ease-in",[.42,0,1,1]],["ease-out",[0,0,.58,1]],["ease-in-out",[.42,0,.58,1]],["easeInSine",[.47,0,.745,.715]],["easeOutSine",[.39,.575,.565,1]],["easeInOutSine",[.445,.05,.55,.95]],["easeInQuad",[.55,.085,.68,.53]],["easeOutQuad",[.25,.46,.45,.94]],["easeInOutQuad",[.455,.03,.515,.955]],["easeInCubic",[.55,.055,.675,.19]],["easeOutCubic",[.215,.61,.355,1]],["easeInOutCubic",[.645,.045,.355,1]],["easeInQuart",[.895,.03,.685,.22]],["easeOutQuart",[.165,.84,.44,1]],["easeInOutQuart",[.77,0,.175,1]],["easeInQuint",[.755,.05,.855,.06]],["easeOutQuint",[.23,1,.32,1]],["easeInOutQuint",[.86,0,.07,1]],["easeInExpo",[.95,.05,.795,.035]],["easeOutExpo",[.19,1,.22,1]],["easeInOutExpo",[1,0,0,1]],["easeInCirc",[.6,.04,.98,.335]],["easeOutCirc",[.075,.82,.165,1]],["easeInOutCirc",[.785,.135,.15,.86]]],function(e,t){v.Easings[t[0]]=l.apply(null,t[1])});var x=v.CSS={RegEx:{isHex:/^#([A-f\d]{3}){1,2}$/i,valueUnwrap:/^[A-z]+\((.*)\)$/i,wrappedValueAlreadyExtracted:/[0-9.]+ [0-9.]+ [0-9.]+( [0-9.]+)?/,valueSplit:/([A-z]+\(.+\))|(([A-z0-9#-.]+?)(?=\s|$))/gi},Lists:{colors:["fill","stroke","stopColor","color","backgroundColor","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","outlineColor"],transformsBase:["translateX","translateY","scale","scaleX","scaleY","skewX","skewY","rotateZ"],transforms3D:["transformPerspective","translateZ","scaleZ","rotateX","rotateY"]},Hooks:{templates:{textShadow:["Color X Y Blur","black 0px 0px 0px"],boxShadow:["Color X Y Blur Spread","black 0px 0px 0px 0px"],clip:["Top Right Bottom Left","0px 0px 0px 0px"],backgroundPosition:["X Y","0% 0%"],transformOrigin:["X Y Z","50% 50% 0px"],perspectiveOrigin:["X Y","50% 50%"]},registered:{},register:function(){for(var e=0;e=f)switch(e){case"name":return"filter";case"extract":var a=r.toString().match(/alpha\(opacity=(.*)\)/i);return r=a?a[1]/100:1;case"inject":return t.style.zoom=1,parseFloat(r)>=1?"":"alpha(opacity="+parseInt(100*parseFloat(r),10)+")"}else switch(e){case"name":return"opacity";case"extract":return r;case"inject":return r}}},register:function(){9>=f||v.State.isGingerbread||(x.Lists.transformsBase=x.Lists.transformsBase.concat(x.Lists.transforms3D));for(var e=0;en&&(n=1),o=!/(\d)$/i.test(n);break;case"skew":o=!/(deg|\d)$/i.test(n);break;case"rotate":o=!/(deg|\d)$/i.test(n)}return o||(i(r).transformCache[t]="("+n+")"),i(r).transformCache[t]}}}();for(var e=0;e=f||3!==o.split(" ").length||(o+=" 1"),o;case"inject":return 8>=f?4===n.split(" ").length&&(n=n.split(/\s+/).slice(0,3).join(" ")):3===n.split(" ").length&&(n+=" 1"),(8>=f?"rgb":"rgba")+"("+n.replace(/\s+/g,",").replace(/\.(\d)+(?=,)/g,"")+")"}}}()}},Names:{camelCase:function(e){return e.replace(/-(\w)/g,function(e,t){return t.toUpperCase()})},SVGAttribute:function(e){var t="width|height|x|y|cx|cy|r|rx|ry|x1|x2|y1|y2";return(f||v.State.isAndroid&&!v.State.isChrome)&&(t+="|transform"),new RegExp("^("+t+")$","i").test(e)},prefixCheck:function(e){if(v.State.prefixMatches[e])return[v.State.prefixMatches[e],!0];for(var t=["","Webkit","Moz","ms","O"],r=0,a=t.length;a>r;r++){var n;if(n=0===r?e:t[r]+e.replace(/^\w/,function(e){return e.toUpperCase()}),g.isString(v.State.prefixElement.style[n]))return v.State.prefixMatches[e]=n,[n,!0]}return[e,!1]}},Values:{hexToRgb:function(e){var t=/^#?([a-f\d])([a-f\d])([a-f\d])$/i,r=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,a;return e=e.replace(t,function(e,t,r,a){return t+t+r+r+a+a}),a=r.exec(e),a?[parseInt(a[1],16),parseInt(a[2],16),parseInt(a[3],16)]:[0,0,0]},isCSSNullValue:function(e){return 0==e||/^(none|auto|transparent|(rgba\(0, ?0, ?0, ?0\)))$/i.test(e)},getUnitType:function(e){return/^(rotate|skew)/i.test(e)?"deg":/(^(scale|scaleX|scaleY|scaleZ|alpha|flexGrow|flexHeight|zIndex|fontWeight)$)|((opacity|red|green|blue|alpha)$)/i.test(e)?"":"px"},getDisplayType:function(e){var t=e&&e.tagName.toString().toLowerCase();return/^(b|big|i|small|tt|abbr|acronym|cite|code|dfn|em|kbd|strong|samp|var|a|bdo|br|img|map|object|q|script|span|sub|sup|button|input|label|select|textarea)$/i.test(t)?"inline":/^(li)$/i.test(t)?"list-item":/^(tr)$/i.test(t)?"table-row":/^(table)$/i.test(t)?"table":/^(tbody)$/i.test(t)?"table-row-group":"block"},addClass:function(e,t){e.classList?e.classList.add(t):e.className+=(e.className.length?" ":"")+t},removeClass:function(e,t){e.classList?e.classList.remove(t):e.className=e.className.toString().replace(new RegExp("(^|\\s)"+t.split(" ").join("|")+"(\\s|$)","gi")," ")}},getPropertyValue:function(e,r,n,o){function s(e,r){function n(){u&&x.setPropertyValue(e,"display","none")}var l=0;if(8>=f)l=$.css(e,r);else{var u=!1;if(/^(width|height)$/.test(r)&&0===x.getPropertyValue(e,"display")&&(u=!0,x.setPropertyValue(e,"display",x.Values.getDisplayType(e))),!o){if("height"===r&&"border-box"!==x.getPropertyValue(e,"boxSizing").toString().toLowerCase()){var c=e.offsetHeight-(parseFloat(x.getPropertyValue(e,"borderTopWidth"))||0)-(parseFloat(x.getPropertyValue(e,"borderBottomWidth"))||0)-(parseFloat(x.getPropertyValue(e,"paddingTop"))||0)-(parseFloat(x.getPropertyValue(e,"paddingBottom"))||0);return n(),c}if("width"===r&&"border-box"!==x.getPropertyValue(e,"boxSizing").toString().toLowerCase()){var p=e.offsetWidth-(parseFloat(x.getPropertyValue(e,"borderLeftWidth"))||0)-(parseFloat(x.getPropertyValue(e,"borderRightWidth"))||0)-(parseFloat(x.getPropertyValue(e,"paddingLeft"))||0)-(parseFloat(x.getPropertyValue(e,"paddingRight"))||0);return n(),p}}var d;d=i(e)===a?t.getComputedStyle(e,null):i(e).computedStyle?i(e).computedStyle:i(e).computedStyle=t.getComputedStyle(e,null),"borderColor"===r&&(r="borderTopColor"),l=9===f&&"filter"===r?d.getPropertyValue(r):d[r],(""===l||null===l)&&(l=e.style[r]),n()}if("auto"===l&&/^(top|right|bottom|left)$/i.test(r)){var g=s(e,"position");("fixed"===g||"absolute"===g&&/top|left/i.test(r))&&(l=$(e).position()[r]+"px")}return l}var l;if(x.Hooks.registered[r]){var u=r,c=x.Hooks.getRoot(u);n===a&&(n=x.getPropertyValue(e,x.Names.prefixCheck(c)[0])),x.Normalizations.registered[c]&&(n=x.Normalizations.registered[c]("extract",e,n)),l=x.Hooks.extractValue(u,n)}else if(x.Normalizations.registered[r]){var p,d;p=x.Normalizations.registered[r]("name",e),"transform"!==p&&(d=s(e,x.Names.prefixCheck(p)[0]),x.Values.isCSSNullValue(d)&&x.Hooks.templates[r]&&(d=x.Hooks.templates[r][1])),l=x.Normalizations.registered[r]("extract",e,d)}if(!/^[\d-]/.test(l))if(i(e)&&i(e).isSVG&&x.Names.SVGAttribute(r))if(/^(height|width)$/i.test(r))try{l=e.getBBox()[r]}catch(g){l=0}else l=e.getAttribute(r);else l=s(e,x.Names.prefixCheck(r)[0]);return x.Values.isCSSNullValue(l)&&(l=0),v.debug>=2&&console.log("Get "+r+": "+l),l},setPropertyValue:function(e,r,a,n,o){var s=r;if("scroll"===r)o.container?o.container["scroll"+o.direction]=a:"Left"===o.direction?t.scrollTo(a,o.alternateValue):t.scrollTo(o.alternateValue,a);else if(x.Normalizations.registered[r]&&"transform"===x.Normalizations.registered[r]("name",e))x.Normalizations.registered[r]("inject",e,a),s="transform",a=i(e).transformCache[r];else{if(x.Hooks.registered[r]){var l=r,u=x.Hooks.getRoot(r);n=n||x.getPropertyValue(e,u),a=x.Hooks.injectValue(l,a,n),r=u}if(x.Normalizations.registered[r]&&(a=x.Normalizations.registered[r]("inject",e,a),r=x.Normalizations.registered[r]("name",e)),s=x.Names.prefixCheck(r)[0],8>=f)try{e.style[s]=a}catch(c){v.debug&&console.log("Browser does not support ["+a+"] for ["+s+"]")}else i(e)&&i(e).isSVG&&x.Names.SVGAttribute(r)?e.setAttribute(r,a):e.style[s]=a;v.debug>=2&&console.log("Set "+r+" ("+s+"): "+a)}return[s,a]},flushTransformCache:function(e){function t(t){return parseFloat(x.getPropertyValue(e,t))}var r="";if((f||v.State.isAndroid&&!v.State.isChrome)&&i(e).isSVG){var a={translate:[t("translateX"),t("translateY")],skewX:[t("skewX")],skewY:[t("skewY")],scale:1!==t("scale")?[t("scale"),t("scale")]:[t("scaleX"),t("scaleY")],rotate:[t("rotateZ"),0,0]};$.each(i(e).transformCache,function(e){/^translate/i.test(e)?e="translate":/^scale/i.test(e)?e="scale":/^rotate/i.test(e)&&(e="rotate"),a[e]&&(r+=e+"("+a[e].join(" ")+") ",delete a[e])})}else{var n,o;$.each(i(e).transformCache,function(t){return n=i(e).transformCache[t],"transformPerspective"===t?(o=n,!0):(9===f&&"rotateZ"===t&&(t="rotate"),void(r+=t+n+" "))}),o&&(r="perspective"+o+" "+r)}x.setPropertyValue(e,"transform",r)}};x.Hooks.register(),x.Normalizations.register(),v.hook=function(e,t,r){var n=a;return e=o(e),$.each(e,function(e,o){if(i(o)===a&&v.init(o),r===a)n===a&&(n=v.CSS.getPropertyValue(o,t));else{var s=v.CSS.setPropertyValue(o,t,r);"transform"===s[0]&&v.CSS.flushTransformCache(o),n=s}}),n};var S=function(){function e(){return l?T.promise||null:f}function n(){function e(e){function p(e,t){var r=a,i=a,s=a;return g.isArray(e)?(r=e[0],!g.isArray(e[1])&&/^[\d-]/.test(e[1])||g.isFunction(e[1])||x.RegEx.isHex.test(e[1])?s=e[1]:(g.isString(e[1])&&!x.RegEx.isHex.test(e[1])||g.isArray(e[1]))&&(i=t?e[1]:u(e[1],o.duration),e[2]!==a&&(s=e[2]))):r=e,t||(i=i||o.easing),g.isFunction(r)&&(r=r.call(n,w,P)),g.isFunction(s)&&(s=s.call(n,w,P)),[r||0,i,s]}function f(e,t){var r,a;return a=(t||"0").toString().toLowerCase().replace(/[%A-z]+$/,function(e){return r=e,""}),r||(r=x.Values.getUnitType(e)),[a,r]}function d(){var e={myParent:n.parentNode||r.body,position:x.getPropertyValue(n,"position"),fontSize:x.getPropertyValue(n,"fontSize")},a=e.position===N.lastPosition&&e.myParent===N.lastParent,o=e.fontSize===N.lastFontSize;N.lastParent=e.myParent,N.lastPosition=e.position,N.lastFontSize=e.fontSize;var s=100,l={};if(o&&a)l.emToPx=N.lastEmToPx,l.percentToPxWidth=N.lastPercentToPxWidth,l.percentToPxHeight=N.lastPercentToPxHeight;else{var u=i(n).isSVG?r.createElementNS("http://www.w3.org/2000/svg","rect"):r.createElement("div");v.init(u),e.myParent.appendChild(u),$.each(["overflow","overflowX","overflowY"],function(e,t){v.CSS.setPropertyValue(u,t,"hidden")}),v.CSS.setPropertyValue(u,"position",e.position),v.CSS.setPropertyValue(u,"fontSize",e.fontSize),v.CSS.setPropertyValue(u,"boxSizing","content-box"),$.each(["minWidth","maxWidth","width","minHeight","maxHeight","height"],function(e,t){v.CSS.setPropertyValue(u,t,s+"%")}),v.CSS.setPropertyValue(u,"paddingLeft",s+"em"),l.percentToPxWidth=N.lastPercentToPxWidth=(parseFloat(x.getPropertyValue(u,"width",null,!0))||1)/s,l.percentToPxHeight=N.lastPercentToPxHeight=(parseFloat(x.getPropertyValue(u,"height",null,!0))||1)/s,l.emToPx=N.lastEmToPx=(parseFloat(x.getPropertyValue(u,"paddingLeft"))||1)/s,e.myParent.removeChild(u)}return null===N.remToPx&&(N.remToPx=parseFloat(x.getPropertyValue(r.body,"fontSize"))||16),null===N.vwToPx&&(N.vwToPx=parseFloat(t.innerWidth)/100,N.vhToPx=parseFloat(t.innerHeight)/100),l.remToPx=N.remToPx,l.vwToPx=N.vwToPx,l.vhToPx=N.vhToPx,v.debug>=1&&console.log("Unit ratios: "+JSON.stringify(l),n),l}if(o.begin&&0===w)try{o.begin.call(m,m)}catch(y){setTimeout(function(){throw y},1)}if("scroll"===k){var S=/^x$/i.test(o.axis)?"Left":"Top",V=parseFloat(o.offset)||0,C,A,F;o.container?g.isWrapped(o.container)||g.isNode(o.container)?(o.container=o.container[0]||o.container,C=o.container["scroll"+S],F=C+$(n).position()[S.toLowerCase()]+V):o.container=null:(C=v.State.scrollAnchor[v.State["scrollProperty"+S]],A=v.State.scrollAnchor[v.State["scrollProperty"+("Left"===S?"Top":"Left")]],F=$(n).offset()[S.toLowerCase()]+V),s={scroll:{rootPropertyValue:!1,startValue:C,currentValue:C,endValue:F,unitType:"",easing:o.easing,scrollData:{container:o.container,direction:S,alternateValue:A}},element:n},v.debug&&console.log("tweensContainer (scroll): ",s.scroll,n)}else if("reverse"===k){if(!i(n).tweensContainer)return void $.dequeue(n,o.queue);"none"===i(n).opts.display&&(i(n).opts.display="auto"),"hidden"===i(n).opts.visibility&&(i(n).opts.visibility="visible"),i(n).opts.loop=!1,i(n).opts.begin=null,i(n).opts.complete=null,b.easing||delete o.easing,b.duration||delete o.duration,o=$.extend({},i(n).opts,o);var E=$.extend(!0,{},i(n).tweensContainer);for(var j in E)if("element"!==j){var H=E[j].startValue;E[j].startValue=E[j].currentValue=E[j].endValue,E[j].endValue=H,g.isEmptyObject(b)||(E[j].easing=o.easing),v.debug&&console.log("reverse tweensContainer ("+j+"): "+JSON.stringify(E[j]),n)}s=E}else if("start"===k){var E;i(n).tweensContainer&&i(n).isAnimating===!0&&(E=i(n).tweensContainer),$.each(h,function(e,t){if(RegExp("^"+x.Lists.colors.join("$|^")+"$").test(e)){var r=p(t,!0),n=r[0],o=r[1],i=r[2];if(x.RegEx.isHex.test(n)){for(var s=["Red","Green","Blue"],l=x.Values.hexToRgb(n),u=i?x.Values.hexToRgb(i):a,c=0;cO;O++){var z={delay:F.delay,progress:F.progress};O===R-1&&(z.display=F.display,z.visibility=F.visibility,z.complete=F.complete),S(m,"reverse",z)}return e()}};v=$.extend(S,v),v.animate=S;var P=t.requestAnimationFrame||d;return v.State.isMobile||r.hidden===a||r.addEventListener("visibilitychange",function(){r.hidden?(P=function(e){return setTimeout(function(){e(!0)},16)},c()):P=t.requestAnimationFrame||d}),e.Velocity=v,e!==t&&(e.fn.velocity=S,e.fn.velocity.defaults=v.defaults),$.each(["Down","Up"],function(e,t){v.Redirects["slide"+t]=function(e,r,n,o,i,s){var l=$.extend({},r),u=l.begin,c=l.complete,p={height:"",marginTop:"",marginBottom:"",paddingTop:"",paddingBottom:""},f={};l.display===a&&(l.display="Down"===t?"inline"===v.CSS.Values.getDisplayType(e)?"inline-block":"block":"none"),l.begin=function(){u&&u.call(i,i);for(var r in p){f[r]=e.style[r];var a=v.CSS.getPropertyValue(e,r);p[r]="Down"===t?[a,0]:[0,a]}f.overflow=e.style.overflow,e.style.overflow="hidden"},l.complete=function(){for(var t in f)e.style[t]=f[t];c&&c.call(i,i),s&&s.resolver(i)},v(e,p,l)}}),$.each(["In","Out"],function(e,t){v.Redirects["fade"+t]=function(e,r,n,o,i,s){var l=$.extend({},r),u={opacity:"In"===t?1:0},c=l.complete;l.complete=n!==o-1?l.begin=null:function(){c&&c.call(i,i),s&&s.resolver(i)},l.display===a&&(l.display="In"===t?"auto":"none"),v(this,u,l)}}),v}(window.jQuery||window.Zepto||window,window,document)}); \ No newline at end of file diff --git a/lib/velocity/velocity.ui.js b/lib/velocity/velocity.ui.js new file mode 100644 index 000000000..d5c0cde09 --- /dev/null +++ b/lib/velocity/velocity.ui.js @@ -0,0 +1,762 @@ +/********************** + Velocity UI Pack +**********************/ + +/* VelocityJS.org UI Pack (5.0.4). (C) 2014 Julian Shapiro. MIT @license: en.wikipedia.org/wiki/MIT_License. Portions copyright Daniel Eden, Christian Pucci. */ + +;(function (factory) { + /* CommonJS module. */ + if (typeof require === "function" && typeof exports === "object" ) { + module.exports = factory(); + /* AMD module. */ + } else if (typeof define === "function" && define.amd) { + define([ "velocity" ], factory); + /* Browser globals. */ + } else { + factory(); + } +}(function() { +return function (global, window, document, undefined) { + + /************* + Checks + *************/ + + if (!global.Velocity || !global.Velocity.Utilities) { + window.console && console.log("Velocity UI Pack: Velocity must be loaded first. Aborting."); + return; + } else { + var Velocity = global.Velocity, + $ = Velocity.Utilities; + } + + var velocityVersion = Velocity.version, + requiredVersion = { major: 1, minor: 1, patch: 0 }; + + function greaterSemver (primary, secondary) { + var versionInts = []; + + if (!primary || !secondary) { return false; } + + $.each([ primary, secondary ], function(i, versionObject) { + var versionIntsComponents = []; + + $.each(versionObject, function(component, value) { + while (value.toString().length < 5) { + value = "0" + value; + } + versionIntsComponents.push(value); + }); + + versionInts.push(versionIntsComponents.join("")) + }); + + return (parseFloat(versionInts[0]) > parseFloat(versionInts[1])); + } + + if (greaterSemver(requiredVersion, velocityVersion)){ + var abortError = "Velocity UI Pack: You need to update Velocity (jquery.velocity.js) to a newer version. Visit http://github.com/julianshapiro/velocity."; + alert(abortError); + throw new Error(abortError); + } + + /************************ + Effect Registration + ************************/ + + /* Note: RegisterUI is a legacy name. */ + Velocity.RegisterEffect = Velocity.RegisterUI = function (effectName, properties) { + /* Animate the expansion/contraction of the elements' parent's height for In/Out effects. */ + function animateParentHeight (elements, direction, totalDuration, stagger) { + var totalHeightDelta = 0, + parentNode; + + /* Sum the total height (including padding and margin) of all targeted elements. */ + $.each(elements.nodeType ? [ elements ] : elements, function(i, element) { + if (stagger) { + /* Increase the totalDuration by the successive delay amounts produced by the stagger option. */ + totalDuration += i * stagger; + } + + parentNode = element.parentNode; + + $.each([ "height", "paddingTop", "paddingBottom", "marginTop", "marginBottom"], function(i, property) { + totalHeightDelta += parseFloat(Velocity.CSS.getPropertyValue(element, property)); + }); + }); + + /* Animate the parent element's height adjustment (with a varying duration multiplier for aesthetic benefits). */ + Velocity.animate( + parentNode, + { height: (direction === "In" ? "+" : "-") + "=" + totalHeightDelta }, + { queue: false, easing: "ease-in-out", duration: totalDuration * (direction === "In" ? 0.6 : 1) } + ); + } + + /* Register a custom redirect for each effect. */ + Velocity.Redirects[effectName] = function (element, redirectOptions, elementsIndex, elementsSize, elements, promiseData) { + var finalElement = (elementsIndex === elementsSize - 1); + + if (typeof properties.defaultDuration === "function") { + properties.defaultDuration = properties.defaultDuration.call(elements, elements); + } else { + properties.defaultDuration = parseFloat(properties.defaultDuration); + } + + /* Iterate through each effect's call array. */ + for (var callIndex = 0; callIndex < properties.calls.length; callIndex++) { + var call = properties.calls[callIndex], + propertyMap = call[0], + redirectDuration = (redirectOptions.duration || properties.defaultDuration || 1000), + durationPercentage = call[1], + callOptions = call[2] || {}, + opts = {}; + + /* Assign the whitelisted per-call options. */ + opts.duration = redirectDuration * (durationPercentage || 1); + opts.queue = redirectOptions.queue || ""; + opts.easing = callOptions.easing || "ease"; + opts.delay = parseFloat(callOptions.delay) || 0; + opts._cacheValues = callOptions._cacheValues || true; + + /* Special processing for the first effect call. */ + if (callIndex === 0) { + /* If a delay was passed into the redirect, combine it with the first call's delay. */ + opts.delay += (parseFloat(redirectOptions.delay) || 0); + + if (elementsIndex === 0) { + opts.begin = function() { + /* Only trigger a begin callback on the first effect call with the first element in the set. */ + redirectOptions.begin && redirectOptions.begin.call(elements, elements); + + var direction = effectName.match(/(In|Out)$/); + + /* Make "in" transitioning elements invisible immediately so that there's no FOUC between now + and the first RAF tick. */ + if ((direction && direction[0] === "In") && propertyMap.opacity !== undefined) { + $.each(elements.nodeType ? [ elements ] : elements, function(i, element) { + Velocity.CSS.setPropertyValue(element, "opacity", 0); + }); + } + + /* Only trigger animateParentHeight() if we're using an In/Out transition. */ + if (redirectOptions.animateParentHeight && direction) { + animateParentHeight(elements, direction[0], redirectDuration + opts.delay, redirectOptions.stagger); + } + } + } + + /* If the user isn't overriding the display option, default to "auto" for "In"-suffixed transitions. */ + if (redirectOptions.display !== null) { + if (redirectOptions.display !== undefined && redirectOptions.display !== "none") { + opts.display = redirectOptions.display; + } else if (/In$/.test(effectName)) { + /* Inline elements cannot be subjected to transforms, so we switch them to inline-block. */ + var defaultDisplay = Velocity.CSS.Values.getDisplayType(element); + opts.display = (defaultDisplay === "inline") ? "inline-block" : defaultDisplay; + } + } + + if (redirectOptions.visibility && redirectOptions.visibility !== "hidden") { + opts.visibility = redirectOptions.visibility; + } + } + + /* Special processing for the last effect call. */ + if (callIndex === properties.calls.length - 1) { + /* Append promise resolving onto the user's redirect callback. */ + function injectFinalCallbacks () { + if ((redirectOptions.display === undefined || redirectOptions.display === "none") && /Out$/.test(effectName)) { + $.each(elements.nodeType ? [ elements ] : elements, function(i, element) { + Velocity.CSS.setPropertyValue(element, "display", "none"); + }); + } + + redirectOptions.complete && redirectOptions.complete.call(elements, elements); + + if (promiseData) { + promiseData.resolver(elements || element); + } + } + + opts.complete = function() { + if (properties.reset) { + for (var resetProperty in properties.reset) { + var resetValue = properties.reset[resetProperty]; + + /* Format each non-array value in the reset property map to [ value, value ] so that changes apply + immediately and DOM querying is avoided (via forcefeeding). */ + /* Note: Don't forcefeed hooks, otherwise their hook roots will be defaulted to their null values. */ + if (Velocity.CSS.Hooks.registered[resetProperty] === undefined && (typeof resetValue === "string" || typeof resetValue === "number")) { + properties.reset[resetProperty] = [ properties.reset[resetProperty], properties.reset[resetProperty] ]; + } + } + + /* So that the reset values are applied instantly upon the next rAF tick, use a zero duration and parallel queueing. */ + var resetOptions = { duration: 0, queue: false }; + + /* Since the reset option uses up the complete callback, we trigger the user's complete callback at the end of ours. */ + if (finalElement) { + resetOptions.complete = injectFinalCallbacks; + } + + Velocity.animate(element, properties.reset, resetOptions); + /* Only trigger the user's complete callback on the last effect call with the last element in the set. */ + } else if (finalElement) { + injectFinalCallbacks(); + } + }; + + if (redirectOptions.visibility === "hidden") { + opts.visibility = redirectOptions.visibility; + } + } + + Velocity.animate(element, propertyMap, opts); + } + }; + + /* Return the Velocity object so that RegisterUI calls can be chained. */ + return Velocity; + }; + + /********************* + Packaged Effects + *********************/ + + /* Externalize the packagedEffects data so that they can optionally be modified and re-registered. */ + /* Support: <=IE8: Callouts will have no effect, and transitions will simply fade in/out. IE9/Android 2.3: Most effects are fully supported, the rest fade in/out. All other browsers: full support. */ + Velocity.RegisterEffect.packagedEffects = + { + /* Animate.css */ + "callout.bounce": { + defaultDuration: 550, + calls: [ + [ { translateY: -30 }, 0.25 ], + [ { translateY: 0 }, 0.125 ], + [ { translateY: -15 }, 0.125 ], + [ { translateY: 0 }, 0.25 ] + ] + }, + /* Animate.css */ + "callout.shake": { + defaultDuration: 800, + calls: [ + [ { translateX: -11 }, 0.125 ], + [ { translateX: 11 }, 0.125 ], + [ { translateX: -11 }, 0.125 ], + [ { translateX: 11 }, 0.125 ], + [ { translateX: -11 }, 0.125 ], + [ { translateX: 11 }, 0.125 ], + [ { translateX: -11 }, 0.125 ], + [ { translateX: 0 }, 0.125 ] + ] + }, + /* Animate.css */ + "callout.flash": { + defaultDuration: 1100, + calls: [ + [ { opacity: [ 0, "easeInOutQuad", 1 ] }, 0.25 ], + [ { opacity: [ 1, "easeInOutQuad" ] }, 0.25 ], + [ { opacity: [ 0, "easeInOutQuad" ] }, 0.25 ], + [ { opacity: [ 1, "easeInOutQuad" ] }, 0.25 ] + ] + }, + /* Animate.css */ + "callout.pulse": { + defaultDuration: 825, + calls: [ + [ { scaleX: 1.1, scaleY: 1.1 }, 0.50, { easing: "easeInExpo" } ], + [ { scaleX: 1, scaleY: 1 }, 0.50 ] + ] + }, + /* Animate.css */ + "callout.swing": { + defaultDuration: 950, + calls: [ + [ { rotateZ: 15 }, 0.20 ], + [ { rotateZ: -10 }, 0.20 ], + [ { rotateZ: 5 }, 0.20 ], + [ { rotateZ: -5 }, 0.20 ], + [ { rotateZ: 0 }, 0.20 ] + ] + }, + /* Animate.css */ + "callout.tada": { + defaultDuration: 1000, + calls: [ + [ { scaleX: 0.9, scaleY: 0.9, rotateZ: -3 }, 0.10 ], + [ { scaleX: 1.1, scaleY: 1.1, rotateZ: 3 }, 0.10 ], + [ { scaleX: 1.1, scaleY: 1.1, rotateZ: -3 }, 0.10 ], + [ "reverse", 0.125 ], + [ "reverse", 0.125 ], + [ "reverse", 0.125 ], + [ "reverse", 0.125 ], + [ "reverse", 0.125 ], + [ { scaleX: 1, scaleY: 1, rotateZ: 0 }, 0.20 ] + ] + }, + "transition.fadeIn": { + defaultDuration: 500, + calls: [ + [ { opacity: [ 1, 0 ] } ] + ] + }, + "transition.fadeOut": { + defaultDuration: 500, + calls: [ + [ { opacity: [ 0, 1 ] } ] + ] + }, + /* Support: Loses rotation in IE9/Android 2.3 (fades only). */ + "transition.flipXIn": { + defaultDuration: 700, + calls: [ + [ { opacity: [ 1, 0 ], transformPerspective: [ 800, 800 ], rotateY: [ 0, -55 ] } ] + ], + reset: { transformPerspective: 0 } + }, + /* Support: Loses rotation in IE9/Android 2.3 (fades only). */ + "transition.flipXOut": { + defaultDuration: 700, + calls: [ + [ { opacity: [ 0, 1 ], transformPerspective: [ 800, 800 ], rotateY: 55 } ] + ], + reset: { transformPerspective: 0, rotateY: 0 } + }, + /* Support: Loses rotation in IE9/Android 2.3 (fades only). */ + "transition.flipYIn": { + defaultDuration: 800, + calls: [ + [ { opacity: [ 1, 0 ], transformPerspective: [ 800, 800 ], rotateX: [ 0, -45 ] } ] + ], + reset: { transformPerspective: 0 } + }, + /* Support: Loses rotation in IE9/Android 2.3 (fades only). */ + "transition.flipYOut": { + defaultDuration: 800, + calls: [ + [ { opacity: [ 0, 1 ], transformPerspective: [ 800, 800 ], rotateX: 25 } ] + ], + reset: { transformPerspective: 0, rotateX: 0 } + }, + /* Animate.css */ + /* Support: Loses rotation in IE9/Android 2.3 (fades only). */ + "transition.flipBounceXIn": { + defaultDuration: 900, + calls: [ + [ { opacity: [ 0.725, 0 ], transformPerspective: [ 400, 400 ], rotateY: [ -10, 90 ] }, 0.50 ], + [ { opacity: 0.80, rotateY: 10 }, 0.25 ], + [ { opacity: 1, rotateY: 0 }, 0.25 ] + ], + reset: { transformPerspective: 0 } + }, + /* Animate.css */ + /* Support: Loses rotation in IE9/Android 2.3 (fades only). */ + "transition.flipBounceXOut": { + defaultDuration: 800, + calls: [ + [ { opacity: [ 0.9, 1 ], transformPerspective: [ 400, 400 ], rotateY: -10 }, 0.50 ], + [ { opacity: 0, rotateY: 90 }, 0.50 ] + ], + reset: { transformPerspective: 0, rotateY: 0 } + }, + /* Animate.css */ + /* Support: Loses rotation in IE9/Android 2.3 (fades only). */ + "transition.flipBounceYIn": { + defaultDuration: 850, + calls: [ + [ { opacity: [ 0.725, 0 ], transformPerspective: [ 400, 400 ], rotateX: [ -10, 90 ] }, 0.50 ], + [ { opacity: 0.80, rotateX: 10 }, 0.25 ], + [ { opacity: 1, rotateX: 0 }, 0.25 ] + ], + reset: { transformPerspective: 0 } + }, + /* Animate.css */ + /* Support: Loses rotation in IE9/Android 2.3 (fades only). */ + "transition.flipBounceYOut": { + defaultDuration: 800, + calls: [ + [ { opacity: [ 0.9, 1 ], transformPerspective: [ 400, 400 ], rotateX: -15 }, 0.50 ], + [ { opacity: 0, rotateX: 90 }, 0.50 ] + ], + reset: { transformPerspective: 0, rotateX: 0 } + }, + /* Magic.css */ + "transition.swoopIn": { + defaultDuration: 850, + calls: [ + [ { opacity: [ 1, 0 ], transformOriginX: [ "100%", "50%" ], transformOriginY: [ "100%", "100%" ], scaleX: [ 1, 0 ], scaleY: [ 1, 0 ], translateX: [ 0, -700 ], translateZ: 0 } ] + ], + reset: { transformOriginX: "50%", transformOriginY: "50%" } + }, + /* Magic.css */ + "transition.swoopOut": { + defaultDuration: 850, + calls: [ + [ { opacity: [ 0, 1 ], transformOriginX: [ "50%", "100%" ], transformOriginY: [ "100%", "100%" ], scaleX: 0, scaleY: 0, translateX: -700, translateZ: 0 } ] + ], + reset: { transformOriginX: "50%", transformOriginY: "50%", scaleX: 1, scaleY: 1, translateX: 0 } + }, + /* Magic.css */ + /* Support: Loses rotation in IE9/Android 2.3. (Fades and scales only.) */ + "transition.whirlIn": { + defaultDuration: 850, + calls: [ + [ { opacity: [ 1, 0 ], transformOriginX: [ "50%", "50%" ], transformOriginY: [ "50%", "50%" ], scaleX: [ 1, 0 ], scaleY: [ 1, 0 ], rotateY: [ 0, 160 ] }, 1, { easing: "easeInOutSine" } ] + ] + }, + /* Magic.css */ + /* Support: Loses rotation in IE9/Android 2.3. (Fades and scales only.) */ + "transition.whirlOut": { + defaultDuration: 750, + calls: [ + [ { opacity: [ 0, "easeInOutQuint", 1 ], transformOriginX: [ "50%", "50%" ], transformOriginY: [ "50%", "50%" ], scaleX: 0, scaleY: 0, rotateY: 160 }, 1, { easing: "swing" } ] + ], + reset: { scaleX: 1, scaleY: 1, rotateY: 0 } + }, + "transition.shrinkIn": { + defaultDuration: 750, + calls: [ + [ { opacity: [ 1, 0 ], transformOriginX: [ "50%", "50%" ], transformOriginY: [ "50%", "50%" ], scaleX: [ 1, 1.5 ], scaleY: [ 1, 1.5 ], translateZ: 0 } ] + ] + }, + "transition.shrinkOut": { + defaultDuration: 600, + calls: [ + [ { opacity: [ 0, 1 ], transformOriginX: [ "50%", "50%" ], transformOriginY: [ "50%", "50%" ], scaleX: 1.3, scaleY: 1.3, translateZ: 0 } ] + ], + reset: { scaleX: 1, scaleY: 1 } + }, + "transition.expandIn": { + defaultDuration: 700, + calls: [ + [ { opacity: [ 1, 0 ], transformOriginX: [ "50%", "50%" ], transformOriginY: [ "50%", "50%" ], scaleX: [ 1, 0.625 ], scaleY: [ 1, 0.625 ], translateZ: 0 } ] + ] + }, + "transition.expandOut": { + defaultDuration: 700, + calls: [ + [ { opacity: [ 0, 1 ], transformOriginX: [ "50%", "50%" ], transformOriginY: [ "50%", "50%" ], scaleX: 0.5, scaleY: 0.5, translateZ: 0 } ] + ], + reset: { scaleX: 1, scaleY: 1 } + }, + /* Animate.css */ + "transition.bounceIn": { + defaultDuration: 800, + calls: [ + [ { opacity: [ 1, 0 ], scaleX: [ 1.05, 0.3 ], scaleY: [ 1.05, 0.3 ] }, 0.40 ], + [ { scaleX: 0.9, scaleY: 0.9, translateZ: 0 }, 0.20 ], + [ { scaleX: 1, scaleY: 1 }, 0.50 ] + ] + }, + /* Animate.css */ + "transition.bounceOut": { + defaultDuration: 800, + calls: [ + [ { scaleX: 0.95, scaleY: 0.95 }, 0.35 ], + [ { scaleX: 1.1, scaleY: 1.1, translateZ: 0 }, 0.35 ], + [ { opacity: [ 0, 1 ], scaleX: 0.3, scaleY: 0.3 }, 0.30 ] + ], + reset: { scaleX: 1, scaleY: 1 } + }, + /* Animate.css */ + "transition.bounceUpIn": { + defaultDuration: 800, + calls: [ + [ { opacity: [ 1, 0 ], translateY: [ -30, 1000 ] }, 0.60, { easing: "easeOutCirc" } ], + [ { translateY: 10 }, 0.20 ], + [ { translateY: 0 }, 0.20 ] + ] + }, + /* Animate.css */ + "transition.bounceUpOut": { + defaultDuration: 1000, + calls: [ + [ { translateY: 20 }, 0.20 ], + [ { opacity: [ 0, "easeInCirc", 1 ], translateY: -1000 }, 0.80 ] + ], + reset: { translateY: 0 } + }, + /* Animate.css */ + "transition.bounceDownIn": { + defaultDuration: 800, + calls: [ + [ { opacity: [ 1, 0 ], translateY: [ 30, -1000 ] }, 0.60, { easing: "easeOutCirc" } ], + [ { translateY: -10 }, 0.20 ], + [ { translateY: 0 }, 0.20 ] + ] + }, + /* Animate.css */ + "transition.bounceDownOut": { + defaultDuration: 1000, + calls: [ + [ { translateY: -20 }, 0.20 ], + [ { opacity: [ 0, "easeInCirc", 1 ], translateY: 1000 }, 0.80 ] + ], + reset: { translateY: 0 } + }, + /* Animate.css */ + "transition.bounceLeftIn": { + defaultDuration: 750, + calls: [ + [ { opacity: [ 1, 0 ], translateX: [ 30, -1250 ] }, 0.60, { easing: "easeOutCirc" } ], + [ { translateX: -10 }, 0.20 ], + [ { translateX: 0 }, 0.20 ] + ] + }, + /* Animate.css */ + "transition.bounceLeftOut": { + defaultDuration: 750, + calls: [ + [ { translateX: 30 }, 0.20 ], + [ { opacity: [ 0, "easeInCirc", 1 ], translateX: -1250 }, 0.80 ] + ], + reset: { translateX: 0 } + }, + /* Animate.css */ + "transition.bounceRightIn": { + defaultDuration: 750, + calls: [ + [ { opacity: [ 1, 0 ], translateX: [ -30, 1250 ] }, 0.60, { easing: "easeOutCirc" } ], + [ { translateX: 10 }, 0.20 ], + [ { translateX: 0 }, 0.20 ] + ] + }, + /* Animate.css */ + "transition.bounceRightOut": { + defaultDuration: 750, + calls: [ + [ { translateX: -30 }, 0.20 ], + [ { opacity: [ 0, "easeInCirc", 1 ], translateX: 1250 }, 0.80 ] + ], + reset: { translateX: 0 } + }, + "transition.slideUpIn": { + defaultDuration: 900, + calls: [ + [ { opacity: [ 1, 0 ], translateY: [ 0, 20 ], translateZ: 0 } ] + ] + }, + "transition.slideUpOut": { + defaultDuration: 900, + calls: [ + [ { opacity: [ 0, 1 ], translateY: -20, translateZ: 0 } ] + ], + reset: { translateY: 0 } + }, + "transition.slideDownIn": { + defaultDuration: 900, + calls: [ + [ { opacity: [ 1, 0 ], translateY: [ 0, -20 ], translateZ: 0 } ] + ] + }, + "transition.slideDownOut": { + defaultDuration: 900, + calls: [ + [ { opacity: [ 0, 1 ], translateY: 20, translateZ: 0 } ] + ], + reset: { translateY: 0 } + }, + "transition.slideLeftIn": { + defaultDuration: 1000, + calls: [ + [ { opacity: [ 1, 0 ], translateX: [ 0, -20 ], translateZ: 0 } ] + ] + }, + "transition.slideLeftOut": { + defaultDuration: 1050, + calls: [ + [ { opacity: [ 0, 1 ], translateX: -20, translateZ: 0 } ] + ], + reset: { translateX: 0 } + }, + "transition.slideRightIn": { + defaultDuration: 1000, + calls: [ + [ { opacity: [ 1, 0 ], translateX: [ 0, 20 ], translateZ: 0 } ] + ] + }, + "transition.slideRightOut": { + defaultDuration: 1050, + calls: [ + [ { opacity: [ 0, 1 ], translateX: 20, translateZ: 0 } ] + ], + reset: { translateX: 0 } + }, + "transition.slideUpBigIn": { + defaultDuration: 850, + calls: [ + [ { opacity: [ 1, 0 ], translateY: [ 0, 75 ], translateZ: 0 } ] + ] + }, + "transition.slideUpBigOut": { + defaultDuration: 800, + calls: [ + [ { opacity: [ 0, 1 ], translateY: -75, translateZ: 0 } ] + ], + reset: { translateY: 0 } + }, + "transition.slideDownBigIn": { + defaultDuration: 850, + calls: [ + [ { opacity: [ 1, 0 ], translateY: [ 0, -75 ], translateZ: 0 } ] + ] + }, + "transition.slideDownBigOut": { + defaultDuration: 800, + calls: [ + [ { opacity: [ 0, 1 ], translateY: 75, translateZ: 0 } ] + ], + reset: { translateY: 0 } + }, + "transition.slideLeftBigIn": { + defaultDuration: 800, + calls: [ + [ { opacity: [ 1, 0 ], translateX: [ 0, -75 ], translateZ: 0 } ] + ] + }, + "transition.slideLeftBigOut": { + defaultDuration: 750, + calls: [ + [ { opacity: [ 0, 1 ], translateX: -75, translateZ: 0 } ] + ], + reset: { translateX: 0 } + }, + "transition.slideRightBigIn": { + defaultDuration: 800, + calls: [ + [ { opacity: [ 1, 0 ], translateX: [ 0, 75 ], translateZ: 0 } ] + ] + }, + "transition.slideRightBigOut": { + defaultDuration: 750, + calls: [ + [ { opacity: [ 0, 1 ], translateX: 75, translateZ: 0 } ] + ], + reset: { translateX: 0 } + }, + /* Magic.css */ + "transition.perspectiveUpIn": { + defaultDuration: 800, + calls: [ + [ { opacity: [ 1, 0 ], transformPerspective: [ 800, 800 ], transformOriginX: [ 0, 0 ], transformOriginY: [ "100%", "100%" ], rotateX: [ 0, -180 ] } ] + ], + reset: { transformPerspective: 0, transformOriginX: "50%", transformOriginY: "50%" } + }, + /* Magic.css */ + /* Support: Loses rotation in IE9/Android 2.3 (fades only). */ + "transition.perspectiveUpOut": { + defaultDuration: 850, + calls: [ + [ { opacity: [ 0, 1 ], transformPerspective: [ 800, 800 ], transformOriginX: [ 0, 0 ], transformOriginY: [ "100%", "100%" ], rotateX: -180 } ] + ], + reset: { transformPerspective: 0, transformOriginX: "50%", transformOriginY: "50%", rotateX: 0 } + }, + /* Magic.css */ + /* Support: Loses rotation in IE9/Android 2.3 (fades only). */ + "transition.perspectiveDownIn": { + defaultDuration: 800, + calls: [ + [ { opacity: [ 1, 0 ], transformPerspective: [ 800, 800 ], transformOriginX: [ 0, 0 ], transformOriginY: [ 0, 0 ], rotateX: [ 0, 180 ] } ] + ], + reset: { transformPerspective: 0, transformOriginX: "50%", transformOriginY: "50%" } + }, + /* Magic.css */ + /* Support: Loses rotation in IE9/Android 2.3 (fades only). */ + "transition.perspectiveDownOut": { + defaultDuration: 850, + calls: [ + [ { opacity: [ 0, 1 ], transformPerspective: [ 800, 800 ], transformOriginX: [ 0, 0 ], transformOriginY: [ 0, 0 ], rotateX: 180 } ] + ], + reset: { transformPerspective: 0, transformOriginX: "50%", transformOriginY: "50%", rotateX: 0 } + }, + /* Magic.css */ + /* Support: Loses rotation in IE9/Android 2.3 (fades only). */ + "transition.perspectiveLeftIn": { + defaultDuration: 950, + calls: [ + [ { opacity: [ 1, 0 ], transformPerspective: [ 2000, 2000 ], transformOriginX: [ 0, 0 ], transformOriginY: [ 0, 0 ], rotateY: [ 0, -180 ] } ] + ], + reset: { transformPerspective: 0, transformOriginX: "50%", transformOriginY: "50%" } + }, + /* Magic.css */ + /* Support: Loses rotation in IE9/Android 2.3 (fades only). */ + "transition.perspectiveLeftOut": { + defaultDuration: 950, + calls: [ + [ { opacity: [ 0, 1 ], transformPerspective: [ 2000, 2000 ], transformOriginX: [ 0, 0 ], transformOriginY: [ 0, 0 ], rotateY: -180 } ] + ], + reset: { transformPerspective: 0, transformOriginX: "50%", transformOriginY: "50%", rotateY: 0 } + }, + /* Magic.css */ + /* Support: Loses rotation in IE9/Android 2.3 (fades only). */ + "transition.perspectiveRightIn": { + defaultDuration: 950, + calls: [ + [ { opacity: [ 1, 0 ], transformPerspective: [ 2000, 2000 ], transformOriginX: [ "100%", "100%" ], transformOriginY: [ 0, 0 ], rotateY: [ 0, 180 ] } ] + ], + reset: { transformPerspective: 0, transformOriginX: "50%", transformOriginY: "50%" } + }, + /* Magic.css */ + /* Support: Loses rotation in IE9/Android 2.3 (fades only). */ + "transition.perspectiveRightOut": { + defaultDuration: 950, + calls: [ + [ { opacity: [ 0, 1 ], transformPerspective: [ 2000, 2000 ], transformOriginX: [ "100%", "100%" ], transformOriginY: [ 0, 0 ], rotateY: 180 } ] + ], + reset: { transformPerspective: 0, transformOriginX: "50%", transformOriginY: "50%", rotateY: 0 } + } + }; + + /* Register the packaged effects. */ + for (var effectName in Velocity.RegisterEffect.packagedEffects) { + Velocity.RegisterEffect(effectName, Velocity.RegisterEffect.packagedEffects[effectName]); + } + + /********************* + Sequence Running + **********************/ + + /* Note: Sequence calls must use Velocity's single-object arguments syntax. */ + Velocity.RunSequence = function (originalSequence) { + var sequence = $.extend(true, [], originalSequence); + + if (sequence.length > 1) { + $.each(sequence.reverse(), function(i, currentCall) { + var nextCall = sequence[i + 1]; + + if (nextCall) { + /* Parallel sequence calls (indicated via sequenceQueue:false) are triggered + in the previous call's begin callback. Otherwise, chained calls are normally triggered + in the previous call's complete callback. */ + var currentCallOptions = currentCall.o || currentCall.options, + nextCallOptions = nextCall.o || nextCall.options; + + var timing = (currentCallOptions && currentCallOptions.sequenceQueue === false) ? "begin" : "complete", + callbackOriginal = nextCallOptions && nextCallOptions[timing], + options = {}; + + options[timing] = function() { + var nextCallElements = nextCall.e || nextCall.elements; + var elements = nextCallElements.nodeType ? [ nextCallElements ] : nextCallElements; + + callbackOriginal && callbackOriginal.call(elements, elements); + Velocity(currentCall); + } + + if (nextCall.o) { + nextCall.o = $.extend({}, nextCallOptions, options); + } else { + nextCall.options = $.extend({}, nextCallOptions, options); + } + } + }); + + sequence.reverse(); + } + + Velocity(sequence[0]); + }; +}((window.jQuery || window.Zepto || window), window, document); +})); \ No newline at end of file diff --git a/lib/velocity/velocity.ui.min.js b/lib/velocity/velocity.ui.min.js new file mode 100644 index 000000000..870694530 --- /dev/null +++ b/lib/velocity/velocity.ui.min.js @@ -0,0 +1,2 @@ +/* VelocityJS.org UI Pack (5.0.4). (C) 2014 Julian Shapiro. MIT @license: en.wikipedia.org/wiki/MIT_License. Portions copyright Daniel Eden, Christian Pucci. */ +!function(t){"function"==typeof require&&"object"==typeof exports?module.exports=t():"function"==typeof define&&define.amd?define(["velocity"],t):t()}(function(){return function(t,a,e,r){function n(t,a){var e=[];return t&&a?($.each([t,a],function(t,a){var r=[];$.each(a,function(t,a){for(;a.toString().length<5;)a="0"+a;r.push(a)}),e.push(r.join(""))}),parseFloat(e[0])>parseFloat(e[1])):!1}if(!t.Velocity||!t.Velocity.Utilities)return void(a.console&&console.log("Velocity UI Pack: Velocity must be loaded first. Aborting."));var i=t.Velocity,$=i.Utilities,s=i.version,o={major:1,minor:1,patch:0};if(n(o,s)){var l="Velocity UI Pack: You need to update Velocity (jquery.velocity.js) to a newer version. Visit http://github.com/julianshapiro/velocity.";throw alert(l),new Error(l)}i.RegisterEffect=i.RegisterUI=function(t,a){function e(t,a,e,r){var n=0,s;$.each(t.nodeType?[t]:t,function(t,a){r&&(e+=t*r),s=a.parentNode,$.each(["height","paddingTop","paddingBottom","marginTop","marginBottom"],function(t,e){n+=parseFloat(i.CSS.getPropertyValue(a,e))})}),i.animate(s,{height:("In"===a?"+":"-")+"="+n},{queue:!1,easing:"ease-in-out",duration:e*("In"===a?.6:1)})}return i.Redirects[t]=function(n,s,o,l,c,u){function f(){s.display!==r&&"none"!==s.display||!/Out$/.test(t)||$.each(c.nodeType?[c]:c,function(t,a){i.CSS.setPropertyValue(a,"display","none")}),s.complete&&s.complete.call(c,c),u&&u.resolver(c||n)}var p=o===l-1;a.defaultDuration="function"==typeof a.defaultDuration?a.defaultDuration.call(c,c):parseFloat(a.defaultDuration);for(var d=0;d1&&($.each(a.reverse(),function(t,e){var r=a[t+1];if(r){var n=e.o||e.options,s=r.o||r.options,o=n&&n.sequenceQueue===!1?"begin":"complete",l=s&&s[o],c={};c[o]=function(){var t=r.e||r.elements,a=t.nodeType?[t]:t;l&&l.call(a,a),i(e)},r.o?r.o=$.extend({},s,c):r.options=$.extend({},s,c)}}),a.reverse()),i(a[0])}}(window.jQuery||window.Zepto||window,window,document)}); \ No newline at end of file diff --git a/page/2/index.html b/page/2/index.html new file mode 100644 index 000000000..6cdbe48b0 --- /dev/null +++ b/page/2/index.html @@ -0,0 +1,1299 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + How Time Flies + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/placeholder b/placeholder deleted file mode 100644 index e69de29bb..000000000 diff --git a/search.xml b/search.xml new file mode 100644 index 000000000..02e32deea --- /dev/null +++ b/search.xml @@ -0,0 +1,1166 @@ + + + + 内存管理 + /2020/03/06/memory-manage/ + ###

+

内存

虚拟内存管理的最小单位为,一个页可以是4K或8K

+

是一个进程的数据或代码的逻辑分组,段不是连续的

+

现在的操作系统同时使用段和页,一个进程被分为多个段,每个段又有页

+

对于内存块的分配算法,不同的应用场景效率是不一样的。

+

Buddy memory allocation

https://en.wikipedia.org/wiki/Buddy_memory_allocation

+

把内存分割为小块,尽可能的满足内存的分配需求。1963年Harry Markowitz发明

+

buddy分配方案有多种实现策略,最简单的是2分法。每一个内存块都有一个编号(order),这个编号从0开始到n,编号为n的内存块的大小为2**n。当一个大的块被分割为两个相同的小块时,这两个小块就是buddy。只有两个buddy才能合并为一个大块。

+

一个块的最小大小值为2的0次方,即order为0的大小。

+

需要分配的内存大小为s,分配的块的order为x,则需要满足 2**(x-1)<s<2**(x),即s大于order为x的大小的一半。

+

oder的最大值由系统可用的内存大小和最小块大小决定。例如最小块大小即order-0的大小为4K,对于一个有2000K内存的系统,order的最大值为8.因为对于order-8这个块,他的大小为2的8次方256*块的最小值4K为1024K,大于2000的一半了,所以如果order为9,就会超过2000的总大小。

+
举例:

一个系统中的最小块大大小为64K,order的最大值为4,系统一次可以分配的内存大小最大值为(2**4)*64=1024K.假定系统的内存刚好也就1024K大小。

+

buddyexp

+
    +
  1. 初始状态
  2. +
  3. 程序A需要34K内存,因此order-0的块分配给A用就足够了,因为最小就是64.但是当前系统没有0的块,只有一个order是4的块,所以这个为4的块就一次一次对半分割,直到得到一个order-0,并把最左侧的给A使用。分割的过程中会产生一些其他块,这些块以free-list进行管理起来
  4. +
  5. 程序B需要66K内存,需要把order-1的块给B用,从当前的链表中发现已经有对应大小的块了,所以把对于的块之间给B用
  6. +
  7. 程序C需要35K内存,需要一个order-0的块给C用,现在刚好还有
  8. +
  9. 程序D需要67K内存,需要一个order-1的块,而此时没有order-1的块了,那就把order-2的块分解为两个order-1的块,把其中一个给D
  10. +
  11. 程序B释放了资源,此时order-1就多了一块出来,但是他不能和另一个order-1进行合并,因为他们不是来自同一个块,不是buddy
  12. +
  13. 程序D释放了资源,此时又一个order-1空出来了,发现他有buddy,所以他们可以合并为order-2
  14. +
+

Buddy方案会导致内存浪费internal fragmentation,例如66K的内存需要order-1,其中近一半都被浪费了。

+

Linux内核使用buddy时进行了改进,同时结合了其他分配方案来管理内存块。

+

Slab Allocation

进程内存分段

一个进程使用的内存分为以下几个段

+

代码段(Text) :存放可执行文件的指令即代码,只读避免程序被修改

+

数据段:存储可执行文件中已经初始化好的全局变量,静态分配的变量和全局变量

+

BSS:程序中未初始化的全局变量,值全部为0,内存位置连续

+

堆:动态分配的内存段,连续的内存,malloc使用,地址向大扩展

+

栈:程序执行中的局部变量,函数参数,返回值,地址向小扩展

+

brk, sbrk可以修改program break的位置,即heap的大小。

+

sbrk() increments the program’s data space by increment bytes. 成功返回上一次的program break的位置。因此sbrk((ptrdiff_t)0)就可以返回当前的program break.

+

brk() sets the end of the data segment to the value specified by addr。成功返回0,这里的data segment并不是数据段。

+

http://man7.org/linux/man-pages/man2/sbrk.2.html

+

linuxmemory

+

进程地址空间分为用户空间和内核空间。用户空间从0到0xC0000000,内核空间使用剩下的高地址部分。用户进程只有进行系统调用才可以访问内核空间。每个进程使用自己的用户空间,而内核空间是内核负责,不会随着进程改变而变化。内核空间地址有自己对应的页表。用户进程各自有不同的页表。

+

逻辑地址经过段机制转化为线性地址,线性地址经过页机制转化为物理地址

+

使用cat /proc/<pid>/maps查看进程的内存区域

+

内核使用vm_area_struct描述进程地址空间的基本管理单元,使用链表进行链接这些块,以红黑树的形式组织。遍历时使用链表,定位内存位置时使用红黑树

+

内核使用do_mmap()函数创建一个新的线性地址空间

+

参考资料

    +
  • Wireshark网络分析就是这么简单
  • +
+]]>
+ + 内存内存 + +
+ + 应用程序网络代理 + /2020/02/23/app-proxy-use/ + Proxifier使用

启动SSR之后,不用选择服务器负载均衡,系统代理模式选择直连PAC都可以

+
    +
  1. 设置服务器

    +

    使用默认的127.0.0.1端口为1080

    +

    proxifier_server

    +
  2. +
  3. 设置域名解析

    +

    不设置也可以,如果域名解析失败需要通过代理解析再设置

    +

    proxifier_dns

    +
  4. +
  5. 设置代理规则

    +

    可以设置对一个程序禁止访问一些目标网址,action选择block

    +

    可以设置全局所有程序都走proxifier,application保留any不变,action选择刚刚的服务器,同时由于不能让SSR也走proxifier,所以需要新建一个rule,让ssr走direct即可

    +

    proxifier_rules

    +
  6. +
  7. 运行程序后,显示数据包转发过程

    +

    epic客户端使用

    +

    proxifier_using

    +
  8. +
+

游戏加速

玩GTA5的线上模式时,每日的赌场任务如果是裸连或香港的IP,无法游玩大转盘,虽然用联通手机开热点可以直接连接线上模式

+

keylol论坛看到分享的GTA5代理设置,试了一下用美区代理可以玩转盘了,网络还还是挺稳定的。每次保存战局中的内容时会触发网络连接。

+

新增3个代理规则:

+
    +
  • GTA加速

    +

    应用程序: subprocess.exe; gta5.exe; gtavlauncher.exe;

    +

    目标主机:

    +
    conductor-prod.ros.rockstargames.com; 
    auth-prod.ros.rockstargames.com;
    prod.cloud.rockstargames.com;
    + +

    动作:选择配置好的sock5代理服务

    +
  • +
  • GTA分析禁连

    +

    应用程序: subprocess.exe; gta5.exe; gtavlauncher.exe;

    +

    目标主机:

    +
    www.google-analytics.com;
    stats.g.doubleclick.net;
    www.google.com;
    + +

    动作:Block

    +
  • +
  • GTA识别

    +

    应用程序: gta5.exe; gtavlauncher.exe;

    +

    目标主机:prod.ros.rockstargames.com;

    +

    动作:选择配置好的sock5代理服务

    +
  • +
+

游戏运行过程中会在状态窗口中刷

+
[03.07 19:49:28] GTA5.exe *64 - prod.p02sjc.pod.rockstargames.com:443 打开通过代理 127.0.0.1:10808 SOCKS5
[03.07 19:49:30] GTA5.exe *64 - prod.p02sjc.pod.rockstargames.com:443 关闭,965 字节已发送,5005 字节 (4.88 KB) 已接收,生存期 00:02
[03.07 19:49:51] GTA5.exe *64 - prod.ros.rockstargames.com:80 打开通过代理 127.0.0.1:10808 SOCKS5
[03.07 19:49:54] GTA5.exe *64 - prod.ros.rockstargames.com:80 关闭,643 字节已发送,13001 字节 (12.6 KB) 已接收,生存期 00:03
+ +
GTA5 相关备注
    +
  • 完成全福银行任务后,可以用批发价买骷髅马装甲版,这个车必须买,之后可以在车里做R星制作的任务刷等级和钱
  • +
  • 北京时间每周四晚更新每周的活动,每周的活动有物品打折和新的玩法,赌场更新汽车奖品
  • +
  • 有钱后可以先买公寓20W的,通过观光客任务一次2.5W,每次用时15分钟
  • +
  • 可以创建两个角色,两个角色银行共享,其他都不共享,资产都要各自买,R星的奖励左轮枪任务、寻宝任务和帐号绑定,只能领取一次
  • +
+

SocksCap64使用

SSTAP使用

]]>
+ + network; proxifier + +
+ + Wireshark网络分析 + /2020/02/22/wireshark-basic/ + Wireshark基本使用

一个包称为帧更准确

+

主界面分为4个区域:Display Filter, Packet List, Packet Detail, Packet bytes

+

wireshark

+

减小包的大小

为了减小抓包的数据大小,可以对抓包进行设置

+
    +
  1. 只抓包头。一般能抓到包的大小为1514字节,启用了Jumbo Frame之后可达9000字节以上。大多数情况只需要IP或TCP的头就足够了,具体应用数据都是加密的,一般不需要。Capture-->Options中设置Limit each packet to为80字节,这样TCP、网络层、数据链路层的信息都有了。如果还要看应用层的信息,可以适当调大到200字节

    +

    新版本的wireshark中可以在Capture-->Input中的对应网络接口上设置Snaplen(B)的大小

    +

    使用Tcpdump抓eth0上的每个包的前80个字节,并把结果保存到tcpdump.cap文件中tcpdump -i eth0 -s 80 -w /tmp/tcpdump.cap

    +
  2. +
  3. 只抓必要的包。让wireshark在抓包时过滤掉不需要的包。在Capture-->Options-->Input的Capture Filter中输入过滤条件。例如只查看ip为192.168.43.101的包可以输入host 192.168.43.1

    +

    tcpdump -i eth0 host 192.168.43.1 -w /tmp/tcpdump.cap

    +

    需要注意如果自己关注的包可能被过滤掉,例如NAT设备把关注的ip地址改掉了

    +
  4. +
+

显示过滤 Display Filter

显示过滤可以在主界面上直接输入过滤条件

+
    +
  1. 协议过滤

    +

    已经定义好的协议直接输入协议名称即可。对与nfs挂载失败可以使用portmap || mount进行过滤

    +
  2. +
  3. 地址过滤

    +

    ip.addr == 192.168.1.104 && tcp.port == 443

    +

    选择一个包后,可以右键选择follow,再选择一个这个包的协议,可以自动过滤出相关的包。

    +
  4. +
  5. 使用系统右键功能

    +

    选择一个关注的数据包后,可以右键后,选择Prepare as filter,系统会自动提示当前提取的过滤条件,选择select之后,就会填入过滤条件输入框中。Apply as filter则是直接应用这个过滤

    +

    右键列表中还有其他的filter可以使用

    +
  6. +
  7. 对过滤后的包保存

    +

    File -> Export Specified Packets,在对话框中可以选择勾选当前显示的包

    +
  8. +
+

技巧

    +
  1. 标记数据包,在每个关注的操作之前发一个指定数据长度的ping命令,这样知道这个操作的数据包的范围,只需要找到这些ping的特殊的ip地址和对应的数据段的大小,就把所有的数据包分割开了

    +
    ping 192.168.43.1 -n 1 -l 1
    操作1执行
    ping 192.168.43.1 -n 1 -l 2
    操作2执行
    ping 192.168.43.1 -n 1 -l 3
    + + + +
  2. +
+
    +
  1. 设置时间格式

    +

    可以通过View-->Time display format->Date time of Day把时间显示为当前系统的时间,而不出相对的时间

    +

    如果分析其他时区的包文件,需要把本机的时区改为和当地的时区一致,这样不用再去进行时区换算

    +
  2. +
  3. 设置某种类型包的颜色

    +

    可以通过View-->Coloring Rules设置每一种包的颜色,方便一下找到,例如默认的icmp的颜色为粉色

    +
  4. +
  5. 自动分析

    +

    Analyze->Expert Information可以看连接建立、重传、reset的统计信息,分析网络性能和连接问题时有用

    +

    Statistics->Service Response Time可以查看某种协议的响应时间,检测服务器性能时有用

    +

    Statistics->TCP Stream Graphs可以查看TCP数据传输统计,在Time Sequence中可以查看哪段时间sequence没有变化(水平直线),说明没有数据传输

    +
  6. +
  7. 查找

    +

    Ctrl+F后可以在搜索条件中选项查找的范围,数据类型,关键字。例如要查找baidu相关的,数据类型选择string,输入baidu查找

    +
  8. +
  9. 其他

    +
  10. +
+

网络基础

应用层:应用协议

+

传输层:TCP

+

网络层:IP

+

数据链路层:MAC

+

跨子网通信需要默认网关转发,因此需要先ARP查询默认网关的mac地址,如果一个ARP请求来自另一个子网,也会应答。

+

MTU:最大传输单元,大多数的网络MTU是1500字节,除非启用了巨帧(Jumbo Frame)达到9000字节。因此TCP不能一次把5000字节的数据之间给网络层传输,否则因为切分导致只能发送1500字节,会认为发送失败要求重传。

+

TCP建立连接进行三次握手时,双方会把自己的MSS(Max Segment Size)告诉对方,MSS加上TCP头和IP头的长度,就得到MTU的值。

+

TCP和IP头的长度都是20字节,客户端给服务端发送的MSS为1460,服务端应答的MSS为1400,因此通信的最小MTU为1400+20+20为1440

+

mss

+

实际数据传输中网络层的数据大小为1440字节

+

mss

+

TCP

TCP提供可靠有序的数据传输,因此每个数据都有序号,这样接收端可以对数据排序。

+

mss

+

TCP中连接的双方各自维护自己的Seq和Ack编号,数据包中的Len的值不包括Tcp包头的长度

+

seq的规则:对于一个连接,seq(n) = seq(n-1)+Len(n-1),即上次的seq+上次的Len。例如102发出的17号,seq为102发出的上一个包16号的seq 1 加上 Len 224 所以为225,而102发出的下一个20号包的seq为 17号的seq 225 + Len 1448 = 1673。这样可以知道102一共发送了多少数据,只需要看最后一次的seq+len

+

ack规则:收到对端的seq+Len。这样可以告诉对端自己一共收到了多少数据。例如18号包应答为16号的seq+16号的Len,即225,19号包应答为17号的seq+17号的Len,即1673,当收到19号包的时候已经累积收了1673字节的数据

+
    +
  • 对收到的数据包按照seq进行排序,并比较相邻的seq和len就知道少了哪些包
  • +
+

例如接收端抓包获取的seq 和len 分别为

+ + + + + + + + + + + + + + + + + + + + + +
包号123
seq101301401
len100100100
+

对于第二个包的seq为301,而它的上一个包的seq+len为101+100=201,说明201这个包没有收到,需要回复ack:201通知对端把seq为201的包再发送一次

+

TCP的标志

SYN:发起连接请求,由于是双向连接,需要双方都发一次SYN

+

FIN:请求终止连接,也需要双方都发一次FIN

+

RST:重置一个连接,或拒绝一个无效请求,一般有这个标志都是有问题

+

ACK:确认是否有效

+

PSH: 接收端应用程序需要从TCP缓冲区把数据读走

+

TCP 三次握手

tcpall

+

上面的抓包中,

+
    +
  1. 330号包客户端102发起连接SYN( Synchronize Sequence Numbers ),seq为0 (X),客户端进入SYN_SEND状态

    +
  2. +
  3. 331号包服务器1向客户端发SYN,并对客户端应答ACK,应答ack=1 (X+1),自己的序号seq为0 (Y),服务端进入SYN_RECV状态

    +
  4. +
  5. 332号包客户端102向服务端确认ACK,seq为1(X+1),ack为1(Y+1),客户端和服务端进入ESTABLISHED状态

    +
  6. +
+

实际的seq并不是从0开始的,只是wireshark为了方便查看包序号,默认设置了一次连接的相对序号功能。这个功能默认是打开的,可以在Edit->Preference->Protocol->TCP勾选Relative Sequence Number

+

mss

+
为什么要三次握手
    +
  1. 确认双方准备好,如果只有两次握手,服务端收到SYN之后,并给客户端发送SYN就认为连接建立了,但如果这次服务端发送的SYN失败了,它还是认为成功的,直接发送数据D给客户端,而客户端收到数据后,发现seq不匹配,认为连接没有建立,认为数据无效而丢掉数据D,服务端则会认为发送数据一直失败,不断重发数据D
  2. +
  3. 明确对端的seq号,才能有序传输
  4. +
+

如果客户端发送了一次SYN服务端一直没有应答SYN,此时客户端又发了一次SYN给服务端,而现在服务给第二次应答后,客户端可以依据第二次的服务的应答给服务端应答,从而建立一次正确的连接。如果此时收到服务端应答的第一次SYN,客户端此时的X已经是第二次的X值了,所以判断是一个无效的SYN就可以拒绝服务端对第一次SYN的回复,从而避免错误的连接。

+

四次挥手

tcpclose

+

http://www.tcpipguide.com/free/t_TCPConnectionTermination-2.htm

+

抓包的例子中,是服务端主动发起端口连接,与上图不同

+

tcpall

+
    +
  1. 338号包服务端1发起终止连接FIN,seq为162+369=531 (X),ack为对端的seq+len = 621服务端进入FIN_WAIT1状态

    +
  2. +
  3. 339号包客户端102向服务端应答ACK,告诉对端收到了结束连接的请求,应答ack=532 (X+1),自己的序号seq为334号包的Seq+Len= 621(Y),其实也等于服务端应答的ack的值,客户端进入CLOSE WAIT状态,之所以这里没有发FIN是因为此时102可能还有数据给1要发,要等数据发完之后,才能发FIN给1。而服务端收到ACK后进入FIN_WAIT2状态

    +
  4. +
  5. 340号包客户端现在没有要发的数据了,此时给服务端1发送FIN和ACK,这里由于没有数据交互了seq和ack的值没有变化(如果中间102还有给1发过数据,那么这次的seq根据上一个包的seq按照seq的计算规则计算),客户端进入LAST ACK状态

    +
  6. +
  7. 341号包服务端1收到客户端102的FIN之后,说明数据发送完了,可以断开了进入TIME WAIT状态,并给对端应答ACK,seq=X+1 = 532, ack = 对端FIN的seq+1 = 621+1 = 622

    +
  8. +
  9. 客户端102收到ACK后,最终进入CLOSED状态

    +
  10. +
  11. 服务端1在等待2倍MSL( 一个片段在网络中最大的存活时间 )时间后,才进入CLOSED状态

    +
  12. +
+
计算规则
    +
  • FIN的应答ACK的ack的值为对端的FIN请求的seq+1,即339和341的ack为发送FIN的338和340的seq+1

    +
  • +
  • 一次FIN占用1个seq号,因此发送了一次FIN之后,下一包的seq为X+1,即341的seq为338的seq+1

    +
  • +
+
为什么断开连接要四次

在断开连接的发起端发送FIN后,接收端可能还有数据要发送,因此接收端需要先把FIN应答一下,等自己的数据发送完,再给对端发送一个FIN,标识现在可以断开了。因此当一端发送断开连接请求后,没有接收完的数据还是会接收完才会真正断开

+
为什么要等2MSL

最后一个ACK发出后,对端可能没有收到,从而可能还会发FIN过来,如果直接断开,就不会应答,导致对端一直重复发FIN过来。而2MSL是一个发送和应答的时间,如果等了这么久没有消息,说明对端收到了ACK,就可以断开了。

+

TCP窗口

一发一答的机制保障数据的可靠性,但是每次一个包的发送,等待应答效率就很低。发送数据时,如果有1000字节的数据,而每个包只能发100个字节,如果1s发送一次数据,每次发送完等待收到应答后,再发送下一个数据,需要发送10s才能发送完所有数据。这样效率太低了,可以不用等上次的应答,直接发送下一个包的数据,例如接收端告诉发送端1s可以处理200个字节,这样发送端1s就发送两个包,这样5s就发完所有数据。而那个200就是接收窗口大小。

+

一个数据包中的win=8192标识的发送方的接收窗口的大小,这样对端发送数据的时候知道当前可以一次发送多少数据。如果接收时的处理速度跟不上接收数据的速度,缓存就会被占满,最终导致接收窗口的大小为0.

+

发送窗口由接收窗口和网络因素共同决定大小。发送窗口决定一下子可以最多发送多少字节,MSS是每个包的最大长度

+

在一个窗口中发出的n个包,不一定就必须对应n个确认包。TCP可以累积起来确认,收到多个包时,可以只确认最后一个。

+

TCP Window Scale:是为了解决最大窗口数的扩展,TCP头中只有16bit作为窗口大小,因此窗口的大小为65535字节,而技术进步后,这个值太小了,因此又在option中增加了Window Scale,它是2的指数倍。例如窗口大小为128,而window scale是3,则最终的窗口大小为128*(2**3)=128*8=1024

+

网络拥塞

一次性发送太多数据,就会导致接收端处理不过来,拥塞导致丢包,能导致网络拥塞的数据量称为拥塞点。拥塞情况和数据通过的节点、当时的网络状态相关,因此是动态变化的。

+

为什么一般很少出现拥塞点?

+
    +
  • windows默认的TCP窗口为64KB,而网络已经进步了这么多,所以不会在窗口范围拥塞
  • +
  • 大多场景都是小数据传输如网络聊天
  • +
  • 数据同步传输,就会发一次等一次
  • +
  • 网络性能提升,出现后很快恢复不易发现
  • +
+
拥塞窗口

由于无法准确定位拥塞点的大小,发送方只能维护一个虚拟的拥塞窗口,并尽量让它接近真实的拥塞点。网络对发送窗口的限制,通过拥塞窗口实现。

+
    +
  1. 连接刚建立时,初始拥塞窗口设置为2、3或4个MSS大小
  2. +
  3. 如果发出去的包都收到确认,说明可以增大窗口,每收到n个确认,就把窗口增加n个MSS。比如发了2个后收到两个确认,窗口就增大到2+2个,当发了4个都收到时,就增加到4+4个,以2的指数增加。这个过程为慢启动
  4. +
  5. 增加到一定值后,增加的量要小点,不能翻倍的增加了,每个往返时间增加了1个MSS,例如发了16个包,全部被确认了,拥塞窗口就增加到17个MSS,一次增加1个。这个过程为拥塞避免。慢启动到拥塞避免的过度点为临界窗口值
  6. +
+
超时重传

发送方发出的数据收不到对应的确认包应答,发送方等待一段时间后,认为包丢失,重新发送一次。从发出原始包到重传这个包的这段时间成为RTO。

+

发生重传之后,RFC建议重新调整拥塞窗口为1MSS,然后进入慢启动过程。

+

超时重传性能影响:

+
    +
  1. RTO阶段不能发数据,浪费了时间
  2. +
  3. 拥塞窗口需要从1MSS重新调整一遍
  4. +
+
快速重传

发送数据过程中只有中间的几个包丢失,接收端发现后续的包的seq比预期的大,就会每收一个包,就ack一次期望的seq号,用来提醒发送方重传,当发送方收到3个或以上的重复确认Dup Ack,就认为对应的包丢了,立即重传那个包。用3个来判断是为了避免由于包到达接收端的顺序有差异,导致错误的触发重传。

+

当在拥塞避免阶段发生快速重传时,RFC 5681认为临界窗口应设置为发送拥塞时还没有被确认的数据量的1/2(但不能小于2个MSS)。然后将拥塞窗口设置为临界窗口的值+3个MSS,继续保持在拥塞避免阶段。而不用向超时重传那样从1个MSS重来一遍。

+

当发送端有多个包丢掉时,重发的策略有多种:

+
    +
  1. 从第一个丢包号开始之后的所有包都重新发一遍
  2. +
  3. 接收方收到重传的第一个包后,回复丢的第二个包的序号,发送方根据ack重传,依次把所有丢的包重传完。这个称为NewReno,由RFC 2582和3782定义
  4. +
  5. 接收方通知发送端自己已经收到的包号,同时告诉发送端第一个丢失的包号,发送端根据已经收到和第一个没有收到的包号,把所有没有收到的重发一遍。这种称为Sack方案 RFC2018中定义.Sack中的seq区间为收到的包
  6. +
+

tcpsack

+
结论
    +
  • 没有拥塞时,窗口越大,性能越好,可以尽量的增加接收窗口
  • +
  • 经常发生拥塞,通过限制接收窗口,可间接限制发送窗口,从而减少重传导致的性能损失
  • +
  • 尽量避免超时重传
  • +
  • 快速重传影响小,几乎没有等到时间,拥塞窗口减小幅度小
  • +
  • SACK和NewReno都可以提高重传效率
  • +
  • 丢包对小文件的影响比大文件严重,小文件可能等不到3个dup ack(总的数据量都没有3个包),所以无法触发快速重传,只能超时重传
  • +
+
Westwood算法

根据接收端应答的ack计算拥塞窗口的大小,收到的确认越多,窗口越大

+
Vegas算法

根据网络的RTT(往返时间)来决定拥塞窗口,当RTT稳定时,增大拥塞窗口,RTT变大,网络繁忙时主动减小拥塞窗口。

+
Compound算法

windows中使用两个拥塞窗口,一个用Westwood算法,一个用Vegas算法,真正的拥塞窗口为两者之和。

+

windows可以使用

+
netsh interface tcp show global  # 查看当前的状态,默认为none,即关闭
netsh interface tcp set global congestionprovider=ctcp # 使用compound
netsh interface tcp set global congestionprovider=none # 关闭为none
+ +

compound

+
延迟确认

TCP处理交互式场景时,例如远程登录的SSH终端,输入字符,收到一个包之后暂时没有数据要发送给对方,就延迟一段时间再应答确认windows上为200ms。如果在这段时间里有数据发送,把确认包和这个数据在一个包中发回去。这样减轻网络负担。

+
Nagle算法

在发出去的数据还没有确认之前,又有小数据生成,就把小数据收集起来,凑满一个MSS或等收到确认后再发送。相当于把以后要发送的数据聚集起来一起发。

+

NFS

Network File System 由SUN设计,用来将网络上的目录挂载到客户端,对于客户端,就像是访问本地磁盘

+

RFC1813中有详细介绍

+

NFS对客户端的访问控制是通过IP绑定的,创建共享目录时,可以设置每一个ip的权限

+

客户端在共享目录中创建文件时可能会用UID作为文件所有者的标识,而不是用户名,而这个UID在别的客户端可能被映射为其他用户,不同的Linux系统客户端用户UID可能是相同的。可以通过抓包查看网络中实际创建的用户信息,在TCP上一层的RPC协议中

+

portmap进程维护一张进程与端口映射表,他自己的端口号是111,默认值

+
连接过程
    +
  1. 客户端通过服务器的portmap进程请求服务端NFS的端口,服务端应答端口号
  2. +
  3. 客户端按端口请求连接NFS进程,服务端应答
  4. +
  5. 客户端请求mount的端口,服务器应答端口号
  6. +
  7. 客户端按返回端口尝试连接服务端mount进程,服务器应答
  8. +
  9. 客户端请求挂载/xxx目录,服务端应答file handler给客户端,以便客户端访问文件
  10. +
+

客户端访问服务端的文件时,服务端通过文件名先找到file handler来进行后续操作,如果目录中文件过多,获取file handler非常耗时

+

mount时可以设置每次读的数据大小为512KB

+

mount -o rsize=524288 192.168.1.101:/tmp/share

+

默认写数据是异步的async WRITE Call,服务器在真正存盘之前就会应答WRITE Reply从而提高性能,只有COMMIT之后的数据才认为是写成功的。写操作中有UNSTABLE标志。

+

写操作中FILE_SYNC表示当前为同步sync写,同步写是一写一答,所以不需要COMMIT操作。一些客户端无论设置wsize为多少,每次写的数据都为4KB。

+

mount时使用noac选项表示让客户端不缓存文件属性,但是会把写操作设置为sync方式,导致效率降低

+
查问题

如果有问题,可以先用rpcinfo命令获取服务器上的端口列表,再用telnet命令逐个试探进程能否连上

+

rpcinfo -p 192.168.1.101 | egrep "portmapper|mountd|nfs"

+

telnet 192.168.1.101 111查看portmap的111端口能否连接上

+

DNS

    +
  • 使用nslookup默认的UDP查询域名
  • +
+

mss

+

对应抓包为

+

mss

+

网络环境为两级路由器,主路由器地址为192.168.0.x,次级路由器的ip地址为192.168.1.x,本机ip为192.168.1.102,连接在次级路由器上

+

由于没有指定服务器的地址,所以会到主路由器上查询,可以看到DNS的传输层为UDP协议

+
    +
  • 使用TCP的DNS
  • +
+

dnscmdtcp

+

指定-vc选项使用TCP协议,并通过114.114.114.114进行查询

+

对应抓包为

+

dnstcp

+

其中215-217是TCP握手过程,220-221对应于查询和应答,223/225为断开连接

+
    +
  • A记录 通过域名找到对应的IP地址

    +
  • +
  • PTR记录 从IP解析到域名 nslookup xx.xx.xx.xx可以找到域中的ip对应的名称

    +
  • +
  • SRV记录 指向域内的资源

    +
    nslookup
    > set tpye=SRV
    >_ldap._tcp.dc._msdcs.xxx.com #其中xxx.com为域名
    +
  • +
  • CNAME记录 别名。即让二级域名指向另一个域名,这样当IP改变只需要改指向的那个www的域名对应的ip,别名指向的是www的域名,不用更改。

    +
  • +
+
域名查询方式
    +
  • 递归查询: 从A找到B,B再找C,C再找D,再原路径把D返回给A
  • +
  • 迭代查询:A依次把B、C、D问一遍,最后找到D
  • +
+
负载均衡

DNS支持循环工作模式(round-robin)。一个网站有10服务器,对应10个IP,每次服务器返回的是其中一个ip,每次查询都按一定的规则切换ip,达到服务器资源的充分利用。

+
引入问题
    +
  • 名字相近的假域名
  • +
  • DNS服务器地址被恶意修改为假的ip地址
  • +
  • DNS服务器被攻击
  • +
  • DNS攻击
  • +
+

UDP

udp的包头一共8个字节,数据量比TCP小,同时不需要建立连接过程

+
    +
  • UDP发送的数据大小直接在网络层分割,接收方收到后组装,这个过程会降低性能
  • +
  • UDP没有重传机制,丢包由应用层协议处理。如果某个操作过程中,一个包丢失,需要把所有的包全部重传一遍。而TCP只需要重传丢的那个包
  • +
  • 接收端收到的包中如果有More Fragments标记说明还有分片的包,如果连续给接收端发这种包,接收端一直收而且无法组装这些分片导致内存耗尽。
  • +
+

TLS

https://wiki.wireshark.org/TLS

+

在页面的Example capture file章节有一个TLS的例子可以下载

+

SampleCaptures#SSL_with_decryption_keys 下载 snakeoil2_070531.tgz 这个文件

+
    +
  1. 使用wireshark打开其中的cap文件,可以看到443端口的通信

    +
  2. +
  3. 第19个包的info显示为Application Data,在包详细信息中显示数据是加密数据

    +
  4. +
  5. 选择要解密的包,右键Protocol Preference->Open Transport Layer Security Preferences打开RSA key list,编辑加入新的一条解码信息 ip 127.0.0.1, port 443, protocol http, key file选择下载的key文件

    +

    也可以在Edit->Prefernces->Protocol->TLS中编辑

    +

    tls

    +
  6. +
  7. 此时19号包显示为HTTP协议,里面的原始数据可以看到

    +
  8. +
+

Kerberos

Kerberos是一种身份认证协议,Windows的域中身份认证用到

+

问题解决

    +
  • telnet <ip> <port> 测试与主机一个端口是否可以连通,如果可以连通,考虑是否因为对端主动拒绝
  • +
+

* 把两个通信的设备连接到简单的网络环境中,排除网络问题

+
    +
  • NIC teaming和Large Segment Offload(LSO)可能导致乱序

    +
  • +
  • 一般存储设备都是读比写快;对于网络环境,服务端的带宽大,客户端的带宽小。读文件时,大带宽进入小带宽可能导致性能问题

    +
  • +
  • 查看实际重传的网络包,分析如果是连续的包都进行了重传,可以考虑打开SACK模式,减少重传包的量

    +
  • +
  • 梳理问题的工作原理流程,缩小问题出现在流程中的范围,从而缩小问题范围,模拟问题环境进行复现和解决

    +
  • +
+

tshark

终端上的wireshark版本,Windows安装目录默认有,还有capinfos/editcap。终端处理的数据方便进行导出,生成想要的报表

+

常用的命令或操作整理为脚本,提高效率

+
    +
  • capinfos.exe xx.pcap查看一个包的统计信息

    +
  • +
  • tshark -n -q -r xxx.pcap -z "rpc,programs"重看NFS协议的服务响应时间

    +
  • +
  • tshark -n -q -r xxx.pcap -z "io.stat.0.tcp.analysis.retransmission" 重传统计数据

    +
  • +
  • tshark -n -q -r xxx.pcap -z "io.stat.0.tcp.analysis.out_of_order"乱序统计数据

    +
  • +
  • tshark -n -q -r xxx.pcap -z "conv,tcp"一个cap文件中所有tcp协议的会话

    +
  • +
  • editcap input.cap output.cap -i <second>把包input拆分为second秒长的一个个包文件

    +
  • +
  • editcap input.cap output.cap -c <packets per file>把包input拆分为xxx个packets一个的包文件

    +
  • +
+

参考资料

    +
  • Wireshark网络分析就是这么简单
  • +
+]]>
+ + network; wireshark + +
+ + Gitlab使用 + /2020/02/18/Gitlab/ + Gitlab

https://gitlab.com/

+

Gitlab实现了git flow的工作模式,可以进行项目的管理、追溯、任务分配。

+

可以在网站注册账号直接使用gitlab的服务,也可以下载软件,自己在linux系统安装配置服务

+

注册时需要人机验证,需要科学上网

+

远程仓库

使用账号登陆后,可以开始创建一个项目

+

这个项目可以自己从零开始创建,也可以使用现有的模板,甚至从其他平台如GitHub导入

+

项目创建完成后,就可以git clone下来再本地进行开发了

+

项目管理

Milestone

可以看做是一个大的功能版本,这个版本里面有一些小的功能Issue组成

+

例如可以把读一本书作为一个里程碑

+

新建一个里程碑时,可以设置标题开始结束日期

+

Issue

一个Issue是一个独立的功能点,例如可以是读完书的某一个章节

+
    +
  • 一个Issue可以把它指派给某个成员,这个成员的To Do List将会收到通知

    +
  • +
  • 可以把它设置为某个milestone的issue

    +
  • +
  • issue可以设置完成时间

    +
  • +
+

直接在To Do List里点击对应的Issue,就可以看Issue的信息

+

处理Issue

本地新建一个对应Issue的分支git checkout -b wireshark

+

代码完成后,本地commit之后,push到远端

+

git push --set-upstream origin wireshark

+

填写commit的消息时,可以填入issue的编号例如read chapter 1 finished #1.其中的#1可以自动关联到对应的issue

+

此时在第一个issue的信息页面可以看到

+
Memory Walker @memorywalker changed due date to February 22, 2020 11 minutes ago
Memory Walker @memorywalker changed milestone to %wireshark数据包分析 11 minutes ago
Memory Walker @memorywalker mentioned in commit 57932869 5 minutes ago
+ +

在Merge Request中新建一个Request,选择issue的分支合并到master,并选择对应的管理人进行合并

+

管理人会收到一个新的Merge Request的任务,可以自己或再找人审核提交的内容

+

在changes标签页可以看到更改的内容,并进行评注

+

如果没有问题,可以点击merge进行合并,然后就可以关闭这个issue

+

测试项目

https://gitlab.com/memorywalker/blog/

+]]>
+ + Gitlab; git + +
+ + Code Review + /2020/02/13/code-review/ + Code Review

当多人合作时,可以每个人各自创建一个分支,每个分支都有明确的名称,做完自己的开发后,合并到一起

+

评审别人代码

    +
  • 接受这样的事实:很多编程上的主张都是一种个人观点。应该讨论它们的利与弊,提出你的倾向观点,迅速的达成一种解决方案。
  • +
  • 提问,而不是命令。(“把这个变量命名成:user_id你觉得怎样?”)
  • +
  • 请求说明。(“我不明白。你能解释一下吗?”)
  • +
  • 避免代码的归属之争。(“我的”,“不是我的”,“你的”)
  • +
  • 避免使用一些会被认为是有关人身特征的词语。(“笨蛋”,“愚蠢”)要把所有人都看作是有魅力的、聪明的、善意的。
  • +
  • 要明确。要记着并不是每个人都能理解你的意图。
  • +
  • 要谦虚。(“我不能确定——我们来分析一下。”)
  • +
  • 不要用夸张修辞语。(“总是”,“从不”,“永远”,“毫无…”)
  • +
  • 不要讽刺。
  • +
  • 展现真实的你。如果你不是幽默型的人,不喜欢使用一些表情符号或动画gif图,不要勉强。如果你是这种人,请自信的发挥。
  • +
  • 如果有太多的“我不理解”或“另一种方案:”的评论,请专门针对这个人进行交流。可以把你们线下的交流总结成一个帖子附在后面。
  • +
+

被别人评审代码

    +
  • 对审查者的建议表示感激。(“谢谢提醒。我会把它改正。”)
  • +
  • 理解审查是对事不对人。审查的是你的代码,而不是你。
  • +
  • 解释为什么代码写成这样。(“因为xxx原因我才写成这样。如果我把这个类/文件/方法/变量改个名会更清晰些吗?”)
  • +
  • 整理所作的改动,在以后的迭代中重构它们。
  • +
  • 在做修改的版本上注明代码审查的链接。(“Ready for review: http://github.com/organization/project/pull/1″)
  • +
  • push提交要基于最早的一轮反馈,并形成一个独立的分支。等这个分支上的任务完全完成了再合并。这让审查者能够根据早先的反馈找到你的单独的更新。
  • +
  • 努力站在审查者的立场上理解。
  • +
  • 争取回复每个评论。
  • +
  • 直到最后一个人退出登录后再合并分支。
  • +
  • 直到持续集成测试(TDDium, TravisCI,等)告诉你这个分支的测试套件通过后再合并分支。
  • +
+

代码审查的过程

    +
  • 针对你感觉非常好的地方以及不是很好的地方与作者交流。
  • +
  • 找出既能解决问题又能简化代码的方法。
  • +
  • 如果讨论变得过于哲学或理论,把讨论转到线下,做成一个有规律的每周五下午的讨论会。同时,是否采用你提出的实现方案,让作者自己做决定。
  • +
  • 提出你的实现方案,但要表现出作者也在考虑这种方案。(“你觉得这里用一个自定义校验如何?”)
  • +
  • 努力理解作者的立场。
  • +
  • pull请求登出时,加一个 👍 或“可以合并了”的注释。
  • +
+

Reference

[中文原文] (https://www.oschina.net/news/38067/github-code-review)

+

英文原文

+

Vocabulary

]]>
+ + code review + +
+ + ipa文件安装 + /2020/02/08/ipa-install-ios/ + ipa文件安装

越狱设备

    +
  1. 安装 Cydia 后,安装 AppSync Unified
  2. +
  3. 安装Filza文件管理器
  4. +
  5. 把下载的ipa文件copy到Filza中
  6. +
  7. 在Filza中直接点击ipa文件安装
  8. +
+

非越狱设备

    +
  1. PC安装 cydiaimpactor link
  2. +
  3. 连上设备,启动cydiaimpactor,导入ipa文件
  4. +
  5. 输入自己的Apple ID
  6. +
  7. 如果导入失败,勾选SSL选项
  8. +
+

备注

    +
  • shadowrocket/thor即使使用ipa文件安装之后也无法使用

    +
  • +
  • 星露谷物语、ftpmanager pro可以使用ipa直接安装

    +
  • +
  • ipa下载网站 https://www.iphonecake.com/ 这个网站提供的下载网盘需要fq

    +
  • +
+]]>
+ + ios + +
+ + Github study + /2020/02/07/Github/ + Github

当多人合作时,可以每个人各自创建一个分支,每个分支都有明确的名称,做完自己的开发后,合并到一起

+

远程仓库

远端仓库是存在远端服务器或PC上的git仓库,可以使用URL或文件系统的路径来访问一个远程仓库

+

可以把本地的repo的分支同步到remote repo,一个本地的repo可以关联多个远端repo

+

remote

git remote可以查看当前关联的remote repo的路径,一般使用origin作为主干的remote repo的名称

+

关联一个remote repo,在本地的repo目录下,执行

+

git remote add origin https://github.com/memorywalker/workflow.git

+

其中的origin只是一个惯例,也可以使用任意一个名称来代表远端repo,然后使用

+

git remote -v查看当前关联的remote repo是否正确

+

git remote rename newname oldname更改一个remote repo的别名

+

push

git push origin master把本地的master分支发送到名为origin的远端repo,会在远端创建一个master分支

+
To https://github.com/memorywalker/workflow.git
* [new branch] master -> master
+ +

执行git log --oneline --all可以看到当前本地更新的远端分支在哪个commit上,其中的origin/master称作追踪分支,表示一个远端分支当前指向当前的哪个commit

+
0f40286 (HEAD -> master, origin/master, backup) change call of duty
+ +

pull

git pull origin hexo从名为origin的远端更新hexo分支的commit到本地,pull会合并远端分支的更改到本地

+

fetch

当本地的更改和远端的commit有冲突时,可能不需要git自动合并remote的更改到本地,此时需要先把远端的更改下载到本地,在本地手动合并冲突后,再把本地的push到远端

+

git fetch origin master从名为origin的远端下载master分支到本地,但是不合并到本地的master分支

+
$ git log --oneline --all
f85bd96 (origin/master) add h2 style
0f40286 (HEAD -> master, backup) change call of duty
+ +

如果要把已经下载下来的合并到本地分支,需要本地执行merge命令

+

git merge origin/master,在本地把冲突处理

+

shortlog

git shortlog可以查看每一个提交者提交了多少次以及每次提交信息,默认使用作者的名称字母顺序,可以增加-n安提交次数降序排列,-s只显示提交次数,不显示提交信息

+

log

git log --author=xxx只显示作者名字以xxx开始提交的日志,如果名字中有空格,需要使用””包住

+

git log --grep=buggit log --grep bug过滤commit的信息中有bug的commit,这里grep的规则和shell的grep相同,如果有空格也需要””包住

+

rebase

rebase可以把多个commit合并到一起,如果和多人一起工作,不要把已经push过的commit执行rebase,这样会导致其他人本地的和库里面的不一致,合并起来很麻烦。

+

git rebase -i HEAD~3HEAD~3的位置重新创建一个base,这个commit之后的会合并到一起,之后git log不会看见已经合并的这些commit,-i标识交互的方式进行rebase

+

在执行rebase之前可以先创建一个backup分支,避免rebase之后被合并的commit被删除了无法恢复

+
*   c4f25cd (HEAD -> backup, master) change h2 style
|\
| * f85bd96 (origin/master) add h2 style
* | ff309fe add h2 style local
|/
* 0f40286 change call of duty
* 65d78c2 Revert "change title"
* ee4190c change title
+ +

执行git rebase -i HEAD~3

+
pick 0f40286 change call of duty
pick ff309fe add h2 style local
pick f85bd96 add h2 style

# Rebase 65d78c2..c4f25cd onto 65d78c2 (3 commands)
#
# Commands:
# p, pick <commit> = use commit
# r, reword <commit> = use commit, but edit the commit message
# e, edit <commit> = use commit, but stop for amending
# s, squash <commit> = use commit, but meld into previous commit
# f, fixup <commit> = like "squash", but discard this commit's log message
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with 'git rebase --continue')
# d, drop <commit> = remove commit
# l, label <label> = label current HEAD with a name
# t, reset <label> = reset HEAD to a label
# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]
+ +

修改其中的内容,从下向上依次是最早的commit,前缀改为s,说明要把这个commit合并到它的上一个commit,而r对这次提交重新写commit信息,作为最后rebase的新的commit的信息

+
r 0f40286 change call of duty
s ff309fe add h2 style local
s f85bd96 add h2 style
+ +

保存文件后,会提示编辑commit信息

+

合并后65d78c2现在是master的base,中间的其他commit都没有了,不过backup分支还有备份

+
* fc0772e (HEAD -> master) add h2 style
| * 9848bbf (readme) add readme file
| * c4f25cd (backup) change h2 style
| |\
| | * f85bd96 (origin/master) add h2 style
| * | ff309fe add h2 style local
| |/
| * 0f40286 change call of duty
|/
* 65d78c2 Revert "change title"
* ee4190c change title
+ +

Github

fork

拷贝一份其他人的repo到自己的账户

+

issue

如果要给公共库提交更改,要先查看库的贡献说明文档;查看issue列表是否有类似的问题,咨询库的所有者是否有人在处理这个问题、自己是否可以处理,避免浪费工作时间;是不要提交一个issue来追溯这个更改

+

github的issue不只是bug,可以是项目相关的任何问题,可以把一个issue指派给一个人或一个版本,一个issue下面可以评论,你也可以订阅这个issue,只要有变化,你都会收到通知

+

如果一个项目有CONTRIBUTING.md这个文件,在给项目新建issue时,会在页面的最下提示Remember, contributions to this repository should follow its contributing guidelines. 链接到项目的贡献说明文档

+

master分支作为默认的分支一般用来放所有的commit,而更改一个故障可以创建一个topic分支,分支的命就可以是bug-xxx之类,不要在master分支做自己的更改

+

尽量经常提交小的commit,一个commit的更改一定不能太多,比如十几个文件,几百行代码,因为管理者在合并你的代码时,可能会觉得其中的一部分时合适的,而另一部分不合适,如果全部放在一个commit里,无法单独更改

+

做了更改之后,不要忘记更多readme文件

+

pull request

当你在forked的项目上修改了一个故障,此时需要原始的项目维护者从你forked的项目pull这个更改到原始的项目上时,做的一个request

+

常规流程:

+
    +
  1. fork一个原始项目AA到自己的账户下
  2. +
  3. 把forked的项目下载到本地,并创建一个topic分支进行更改
  4. +
  5. 把topic分支的更改push到自己的账户
  6. +
  7. 在GitHub创建一个pull request并选择更改的topic分支
  8. +
+

watch && star

watch:当项目有任何的变化都会通知到你的邮箱,如果你是项目的维护者,需要这个

+

star:在自己的主页可以看到项目的更改,但是不会主动通知

+

与源项目同步

fork的项目在本地更改后,原始的项目可能已经更新了内容,但是还是需要把源项目的更改同步过来的

+
    +
  1. 在本地的项目中增加源项目作物一个remote repo

    +

    git remote add upstream https://github.com/udacity/course-collaboration-travel-plans.git

    +

    upstream通常作为原始项目的remote的别名

    +
  2. +
  3. git remote -v查看本地的项目应该是关联了两个remote的repo

    +
  4. +
  5. git fetch upstream master从源项目获取最新的更改

    +
  6. +
  7. git checkout master本地的分支切换到master分支

    +
  8. +
  9. git merge upstream/master合并远端upstream的master分支到本地的master分支

    +
  10. +
  11. git push origin master把最新的master推到自己的GitHub的项目的master上

    +
  12. +
+

Reference

http://www.firsttimersonly.com/

+

up for grabs

+

Vocabulary

defacto 事实上; 事实; 事实上的; 实际上; 实际上的

+

substantial 大量的; 价值巨大的; 重大的; 大而坚固的; 结实的; 牢固的

+

a11y stands for “accessibility”. In the word “accessibility”, there are eleven letters between the a and the y, so it gets shortened to just a11y

+

squash 压软(或挤软、压坏、压扁等); 把…压(或挤)变形; (使) 挤进; 塞入; 打断; 制止; 去除; 粉碎; 墙网球; 壁球; 果汁饮料; 南瓜小果

+]]>
+ + github; git + +
+ + Git study + /2020/02/05/Git/ + Git

/git/

+

BOOK

+

Terminology

/tɜːrmɪˈnɑːlədʒi / (某学科的) 术语; 有特别含义的用语; 专门用语

+

version control system (abbreviated as VCS)

+

source code manager (abbreviated as SCM)

+

commit 保存一份当前项目的state到git中,可以看做游戏保存当前进度

+

Repository / repo 一个仓库中包含了项目的所有文件,由commit组成

+

Working Directory 本地的工作目录

+

checkout 把repo中的所有文件拷贝一份到本地目录

+

staging area as a prep table where Git will take the next commit. Files on the Staging Index are poised to be added to the repository

+

branch 分支 游戏中保存一个新的存档,然后就可以选择不同的结局,在Half Life结尾G Man给你选择前可以新建一个存档位置,可以选择不为他打工

+

Working Directory -(add)-> staging area -(commit)-> Repository

+

Config

    +
  1. 右键打开Git bash,直接输入cd,进入home目录

    +
  2. +
  3. start . 在资源管理器中打开目录

    +
  4. +
  5. 再打开的文件中,右键点收藏夹,将当前文件添加到收藏夹,方便以后打开这个目录

    +
  6. +
  7. 把下载的配置文件中的bash_profile和文件夹udacity-terminal-config拷贝到根目录

    +
  8. +
  9. 由于windows不支持修改文件名为.开始的名字,需要在命令提示符下使用mv命令实现

    +

    $ mv bash_profile .bash_profile

    +

    $ mv udacity-terminal-config .udacity-terminal-config

    +
  10. +
  11. 重新打开一个bash窗口,点击左上角,option,设置前景色为黑色,背景色为白色

    +
  12. +
  13. 执行以下命令进行全局配置

    +
  14. +
+
# sets up Git with your name
git config --global user.name "<Your-Full-Name>"

# sets up Git with your email
git config --global user.email "<your-email-address>"

# makes sure that Git output is colored
git config --global color.ui auto

# displays the original state in a conflict
git config --global merge.conflictstyle diff3

git config --list

# git work with sublime editor
git config --global core.editor "'C:/Program Files/Sublime Text 2/sublime_text.exe' -n -w"

# git work with VS Code
git config --global core.editor "code --wait"
+ +

基本使用

init一个Repo

    +
  1. 新建一个目录并进入到新建目录中mkdir -p udacity-git-course/new-git-project && cd $_
  2. +
  3. 执行git init,会在当前目录下创建一个repo,.git中就是这个repo的目录
  4. +
+

Repo中的内容

+
    +
  • config file - where all project specific configuration settings are stored.
  • +
  • description file - this file is only used by the GitWeb program
  • +
  • hooks directory - this is where we could place client-side or server-side scripts that we can use to hook into Git’s different lifecycle events
  • +
  • info directory - contains the global excludes file
  • +
  • objects directory - this directory will store all of the commits we make
  • +
  • refs directory - this directory holds pointers to commits (basically the “branches” and “tags”)
  • +
+

clone一个Repo

clone可以创建一个现有项目的完全相同的复制

+

执行git clone https://github.com/udacity/course-git-blog-project会创建一个新的项目目录course-git-blog-project在当前目录中

+

执行git clone http://xxx/project newName可以在克隆时直接换一个本地的目录名称

+

status

git status查看当前repo的状态,应该在执行每一个git的命令后都查看一下status

+

log

git log查看所有commit历史记录

+

输出的内容在Less中相同

+
    +
  • 下翻
      +
    • j or 下翻一行
    • +
    • d 下翻半屏
    • +
    • f 下翻一屏
    • +
    +
  • +
  • 上翻
      +
    • k or 上翻一行
    • +
    • u 上翻半屏
    • +
    • b 上翻一屏
    • +
    +
  • +
  • 退出 press q to quit
  • +
+

git log --oneline 简化显示log信息

+

git log --stat显示每一个commit的汇总信息,stat是 statistics 的缩写

+

git log -p p是patch的缩写,显示每个文件具体改了哪些内容

+

git log -p --stat -w可以组合使用标记,-w不显示空白行的更改

+

git以行为单位对文件的更改进行追踪

+
diff --git a/index.html b/index.html  (正在显示的文件)
index 0381211..43f5b28 100644 (更改前的前后的这个文件的hash)
--- a/index.html (指明旧的文件)
+++ b/index.html (指明新的文件)
@@ -15,83 +15,85 @@ (-标识旧文件,从15行开始共83行,+标识新文件,15行开始,共85行)
<h1>Expedition</h1>
</header>

- <main> (旧文件删除的行)
- <h2 class="visuallyhidden">Articles</h2>
+ <div class="container"> (新文件增加行)
+ <main>
+ <h2 class="visuallyhidden">Articles</h2>
+ +
    +
  • git log -p fdf5493显示fdf5493和这个commit之前的所有log

    +
  • +
  • git show [SHA]查看指定的一次提交的信息,默认附带了-p标记,如果要加--stat会把默认的-p标记去掉,要手动加上-p, -w不显示对空白行的更改 git show --stat -p 8d3ea36

    +
  • +
+

add

将文件从work directory加入staging index

+
    +
  • git add index.html增加一个文件到staging index,多个文件用空格分隔开
  • +
  • git rm --cached index.html 删除一个staged的文件
  • +
  • git add .把当前目录下的所有文件增加到staging index
  • +
+

commit

git commit会打开配置的默认编辑器,当保存文件,关闭编辑器后,数据才会提交

+

git commit -m "Initial commit"提交信息使用-m

+

每次提交应该只有一个重点,记录一个单位的更改,只是更改项目的一个方面

+

一次提交不能包含不相关的更改

+
提交信息
    +
  • 信息简短,不超过60个英文单词
  • +
  • 解释提交内容做了什么,而不是为什么或怎么做的
  • +
  • 不要解释为什么做了这个更改
  • +
  • 不要解释怎么做了更改
  • +
  • 不要使用and,说明你提交了多个更改
  • +
  • 写完简短的信息后,可以换行增加一个空行,再写详细的更改原因,方便git log --oneline
  • +
+

udacity的commit style guide

+

diff

用来查看当前没有commit的更改

+

gitignore

在和.git目录同级的目录下使用touch .gitignore新建.gitignore文件用来屏蔽那些不需要版本管理的文件

+
globbing规则
    +
  • 空行用来分隔
  • +
  • #标识注释
  • +
  • *匹配0或多个字符
  • +
  • ?匹配1个字符
  • +
  • [abc]匹配a, b, or c
  • +
  • **匹配嵌入的目录 a/**/z匹配a/z,a/b/z, a/b/c/z
  • +
+

tag

tag用来标识一个特殊的版本,比如beta1.0,它和一个commit关联起来

+

git tag -a v1.0会以当前的commit创建一个tag并打开编辑器等待输入tag的备注信息,-a指明创建一个annotated tag,建议始终带有a选项的tag,包含更多的信息,如果不带a,只是一个轻量级的tag,没有创建人和创建日期信息

+

git tag列出当前repo的所有tag,使用git log可以看到当前的tag信息

+

git tag -d v1.0删除tag v1.0

+

git tag -a v1.0 9a2e3bf指定commit创建一个tag

+

branch

一个Tag永久性的指向一个commit,一个branch会移动到最后的一个commit

+

master是git给的默认branch,head指向当前活动的branch

+

git branch列出当前的所有分支,星号标识的是当前分支

+

git branch feature以当前的commit创建一个名为feature的分支

+

git branch feature SHA以SHA对应的commit创建一个名为feature的分支

+

git checkout master切换到master分支,checkout可以在多个branch之间切换,让head指向当前的分支。这个命令会:

+
    +
  1. 删除当前工作目录下的所有被git管理的文件(所有已经commit到repo中的文件),没有被add或commit的文件会保持不变
  2. +
  3. 从repo中取出指定分支的文件到当前工作目录
  4. +
+

git branch -d feature删除名为feature的分支,当前活动的分支不能被删除,如果一个分支上有commit是只有这个分支才有的,还没有合并到其他分支,也不能删除;如果要强制删除这个有自己的commit的分支,使用git branch -D feature

+

git checkout -b footer master基于master分支创建footer分支,并切换到footer分支

+

git log --graph --all --oneline graph用来显示log最左侧的分支路径线all参数用来显示repo中的所有分支

+

merge

把分支的更改进行合并,git可以自动合并不同分支的更改

+
    +
  • 普通merge : 如果两个分支有差异的内容,把另一个分支的内容合并到当前的分支,此时merge也是一次commit,需要提供message,而且git已经提供了默认的message
  • +
  • fast-forward merge 如果一个分支newfeature已经在master的前面(在master的基础上已经有了新的更改,但是master一直没有更改),此时要把它合入master分支,在合并的时候,只是把master指向newfeature的commit即可,并不需要一次新的commit
  • +
+

git merge name-of-branch-to-merge-in把另一个分支合入当前的分支,例如git merge sidebar

+
冲突处理

git以文件中的一行为单位作为文件改变的标识,当两个分支中对同一个文件的同一行都有修改,在自动merge的时候,就不能自动选择用哪一个分支的了

+
$ git merge head-update
Auto-merging index.html
CONFLICT (content): Merge conflict in index.html
Automatic merge failed; fix conflicts and then commit the result.
+ +

此时执行git status会提示

+
On branch master
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)

Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: index.html
+ +

此时文件已经被改动,并且有标记哪些部分是冲突的

+
    <header>
<<<<<<< HEAD 本地分支当前内容
<h1>Future</h1>
||||||| b27a903 合并前的上一次的原始内容
<h1>Expedition Future</h1>
======= 合并内容的结束行标记
<h1>Past</h1>
>>>>>>> head-update 合入的分支的结束标记
</header>
+ +

在编辑器中直接修改文本内容为最终需要的内容,保存后提交,可以在提交之前执行git diff查看更改的内容,避免把标记没有删除也提交上去

+

amend

git commit --amend修改最近一次的commit,而不会产生新的commit。

+

如果当前已经没有需要commit的内容,则会弹出编辑commit message的编辑器,修改message的内容

+

如果有遗漏的文件忘记修改,可以修改文件后并执行add来stage文件,执行git commit --amend让上次的commit增加新的文件

+

revert

revert是对一次commit的恢复,因此也是一次新的commit

+
$ git revert ee4190c
[master 65d78c2] Revert "change title"
1 file changed, 1 insertion(+), 1 deletion(-)
Moon (master) newrepo
$ git log --oneline
65d78c2 (HEAD -> master) Revert "change title" #新的一次提交
ee4190c change title
+ +

reset

reset从repo中删除一个commit,git会在删除数据前保存所有的信息30天,可以使用git reflog

+

在执行reset之前可以对当前的commit创建一个backup的新分支用来备份commit的数据git branch backup_somework。需要恢复时,git merge backup即可

+

git reset <reference-to-commit>把Head指向reference commit,删除中间的commit,把已经commit的数据放入staging index,把staged的数据变为unstaged

+

git reset --mixed HEAD^默认的选项,把当前commit的内容回退到work directory,变为unstaged状态

+

git reset --soft HEAD^把当前commit的内容回退到staging index

+

git reset --hard HEAD^把当前commit的内容放入stash

+

git checkout -- <filename>撤销当前工作目录中filename文件的所有更改

+
Relative Commit References

相对commit引用, HEAD指向当前commit,^指向当前的父commit,~指向第一层父commit

+
HEAD^ = HEAD~ = HEAD~1
HEAD^^ = HEAD~2
+ +

一个merge的commit有两个父commit,^指向执行git merge分支的父commit,^2指向合并过来的分支的父commit

+
* 9ec05ca (HEAD -> master) Revert "Set page heading to "Quests & Crusades""
* db7e87a Set page heading to "Quests & Crusades"
* 796ddb0 Merge branch 'heading-update'
|\
| * 4c9749e (heading-update) Set page heading to "Crusade"
* | 0c5975a Set page heading to "Quest"
|/
* 1a56a81 Merge branch 'sidebar'
+ +

HEAD^^^ 指向 0c5975a ,只有当前分支路径上带*的commit都是这个分支的

+

HEAD^^^2 指向 4c9749e

+

Vocabulary

    +
  • sneak / sniːk / 偷偷地走; 溜; 偷偷地做; 偷带; 偷拿; 偷走(不重要的或小的东西); 突然的; 出其不意的 ; 打小报告的人,告状者(尤指儿童);

    +

    Wanna have a sneak peak of the next lesson (偷偷看一下)

    +
  • +
  • intro 介绍; (尤指) 前奏,前言,导言

    +
  • +
  • outro 结尾部分

    +
  • +
  • globbing 通配符; 文件名扩展; 文件名代换; 展开

    +
  • +
  • annotated 给…作注解(或评注)

    +
  • +
  • delve /delv/ (在手提包、容器等中) 翻找; delve into her mother’s past探究母亲的过去

    +
  • +
  • nitty 尼堤; 多虱卵的; 很紧甚至有些紧弱;

    +
  • +
  • gritty 含沙砾的; 沙砾般的; 有勇气的; 坚定的; 坚毅的; (对消极事物的描述) 逼真的,真实的,活生生的; The sheets fell on the gritty floor 床单掉到满是沙砾的地板上

    +
  • +
  • nitty gritty 本质; 实质; 基本事实; The city’s newspapers still attempt to get down to the nitty gritty of investigative journalism 该市报纸仍在试图厘清调查性新闻的实质

    +
  • +
  • asterisk / ˈæstərɪsk / 星号(置于词语旁以引起注意或另有注释)

    +
  • +
  • nerve-wracking 令人焦虑的; 使人十分紧张的

    +
  • +
  • grins 露齿而笑; 咧着嘴笑; 龇着牙笑

    +
  • +
  • giggles 咯咯笑; 傻笑; 趣事; 玩笑; 可笑的事; 止不住的咯咯笑

    +
  • +
  • divergent 有分歧的; 不同的; 相异的;

    +
  • +
+]]>
+ + git + +
+ + Qemu下模拟ARM64搭建GDB Server调试环境 + /2019/06/22/qemu-aarch64-gdbserver/ + OS: ubuntu 18.04 LTS x64

+

Qemu

Install

需要模拟arm64平台,所以要安装aarch64版本
sudo apt-get install qemu-system-aarch64

+

Cross-compile

安装交叉编译工具链,需要把一些依赖的其他库安装好

+

sudo apt-get install flex bison build-essential pkg-config libglib2.0-dev libpixman-1-dev libssl-dev

+

这里不使用系统仓库自带的gcc-aarch64-linux-gnu,仓库里面的gcc版本不好调整为自己需要的,所以直接下载Linaro网站的.

+

Linaro网站提供了多个平台的交叉编译工具,也一直有更新,ubuntu 64位的系统选择x86_64_aarch64-linux-gnu版本,我用的是
gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu

+

下载到开发目录arm下后,解压

+
$ cd arm
$ tar -xvf gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu.tar.xz
+ +

Busy Box

下载busybox代码也到arm目录下,解压

+
$ cd arm
$ tar -xvf busybox-1.23.1.tar.gz
+ +

进入busybox根目录,先配置当前的环境变量为arm64

+
$ export ARCH=arm64
$ export CROSS_COMPILE=/home/arm/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
+ +

执行make menuconfig打开编译配置菜单,其中做以下配置

+
    +
  • 勾选静态编译 Settings->Build static binary (no shared lib)
  • +
  • 指定交叉编译器为:/home/arm/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
  • +
  • General Configuration –> Dont use /usr
  • +
  • Busybox Libary Tuning–> 勾选:[*]Username completion、[*]Fancy shell prompts 、[*]Query cursor position from terminal
  • +
+

保存配置后,会更新.config编译配置文件,可以打开确认编译信息的正确性

+

开始编译make -j4

+

最后执行make install在busybox根目录生成_install目录

+

Linux kernel

Linux Kernel下载

Kernel官网下载4.9.11版本的内核,不能下载太旧的版本,例如3.19和最新的gcc7.4不兼容,编译总是失败,提示COMPILE版本的错误信息。最好选择长期支持的版本,这样功能更稳定一些。

+

解压内核后配置环境变量后,可以对内核进行配置

+

在执行make menuconfig时会遇到

+
+

In file included from scripts/kconfig/mconf.c:23:0:
scripts/kconfig/lxdialog/dialog.h:38:20: fatal error: curses.h: No such file or directory
include CURSES_LOC
compilation terminated.
make[1]: * [scripts/kconfig/mconf.o] Error 1
make: *
[menuconfig] Error 2

+
+

此时需要安装ncurses devel sudo apt-get install libncurses5-dev

+
tar -xvf linux-4.19.11.tar
cd linux-4.19.11
# 配置环境变量为arm64
export ARCH=arm64
# 配置交叉工具链
export CROSS_COMPILE=/home/edison/develop/arm/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
# 根据当前的环境变量的arch类型,到内核的arch目录中把arch/arm64/configs/中的配置作为模板
make defconfig
# 打开配置菜单界面,此时配置菜单中可以看到当前的目标类型和工具链类型
make menuconfig
+ +

配置Kernel

根据需要把支持的设备勾选,不想支持的就不要勾选,否则编译时间太长.可以第一次多裁减一些,如果需要,后面在配置增加功能,把每一次修改的.config文件版本管理起来

+

Platform Selection只选择ARMv8 based Freescale Layerscape SoC familyARMv8 software model (Versatile Express)

+

Device Driver中普通程序不要支持的也可删除

+

因为要通过内存镜像启动内核,还需要配置使用内存文件系统

+

General setup->Initial RAM filesystem and RAM disk (initramfs/initrd) support

+

Device Drivers->Block devices-><*> RAM block device support,其中配置1个block(1) Default number of RAM disks内存大小为128M(131072) Default RAM disk size (kbytes)

+

如果需要调试内核,需要打开调试信息

+
kernel hacking-->
[*]compile the kernel with debug info
+ +

配置完成后,执行make -j12 开始编译内核,时间需要1个多小时

+

Run kernel

创建根文件系统

在编译内核的过程中,可以准备内核启动的根文件系统,这里参考了摩斯电码的脚本文件,做了简单修改

+
#!/bin/bash

sudo rm -rf rootfs
sudo rm -rf tmpfs
sudo rm -rf ramdisk*
# 创建根文件系统目录
sudo mkdir rootfs
# 把busybox拷贝到这里 _install 里面就2个目录和1个文件`bin\ linuxrc sbin\`
sudo cp ../busybox-1.23.1/_install/* rootfs/ -raf
# 初始化根目录结构
sudo mkdir -p rootfs/proc/
sudo mkdir -p rootfs/sys/
sudo mkdir -p rootfs/tmp/
sudo mkdir -p rootfs/root/
sudo mkdir -p rootfs/var/
sudo mkdir -p rootfs/mnt/
# 系统配置目录
sudo cp etc rootfs/ -arf
# 公共库目录
sudo mkdir -p rootfs/lib
# 后续编译程序也要依赖同样的库文件
sudo cp -arf ../gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/libc/lib/* rootfs/lib/
# 删除静态库,文件太大
sudo rm rootfs/lib/*.a
# strip减小so体积
sudo ../gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-strip rootfs/lib/*
# 初始化的设备
sudo mkdir -p rootfs/dev/
sudo mknod rootfs/dev/tty1 c 4 1
sudo mknod rootfs/dev/tty2 c 4 2
sudo mknod rootfs/dev/tty3 c 4 3
sudo mknod rootfs/dev/tty4 c 4 4
sudo mknod rootfs/dev/console c 5 1
sudo mknod rootfs/dev/null c 1 3
# dd Copy a file, converting and formatting according to the operands.
# if 输入文件 /dev/zero 表示一个尽量满足需要的无限大的文件,且文件内容都初始化为0
# of 输出文件 bs : block size count : num of blocks
# 这里的块数量需要根据rootfs目录文件大小调整,目前我的是57M
sudo dd if=/dev/zero of=ramdisk bs=1M count=64
# mkfs.ext4 will create a file system for use with ext4
sudo mkfs.ext4 -F ramdisk

sudo mkdir -p tmpfs
# -t : fs type -o : option loop : loop device
# 把文件系统镜像文件挂载到一个loop device上,从而可以把roofs的文件拷贝进去
sudo mount -t ext4 ramdisk ./tmpfs/ -o loop

sudo cp -raf rootfs/* tmpfs/
sudo umount tmpfs

sudo gzip --best -c ramdisk > ramdisk.gz
# 创建镜像文件
sudo mkimage -n "ramdisk" -A arm64 -O linux -T ramdisk -C gzip -d ramdisk.gz ramdisk.img
+ +

The loop device is a block device that maps its data blocks not to a
physical device such as a hard disk or optical disk drive, but to the
blocks of a regular file in a filesystem or to another block device. This can be useful for example to provide a block device for a filesystem image stored in a file, so that it can be mounted with the mount(8)
command

+

其中etc目录结构如下

+
etc
├── init.d #初始脚本目录
| └── rcS #启动时默认执行脚本
├── sysconfig
| └── HOSTNAME #登陆后的主机名保存在这里
├── fstab # fs mount
├── inittab # init
└── profile # shell环境变量
+ +
    +
  • /etc/init.d/rcS

    +
    #!/bin/sh
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    runlevel=S
    prevlevel=N
    umask 022
    export PATH runlevel prevlevel

    mount -a
    mkdir -p /dev/pts
    mount -t devpts devpts /dev/pts
    #mount -n -t usbfs none /proc/bus/usb
    echo /sbin/mdev > /proc/sys/kernel/hotplug
    mdev -s
    mkdir -p /var/lock

    ifconfig lo 127.0.0.1
    ifconfig eth0 192.168.43.202 netmask 255.255.255.0 broadcast 192.168.43.255

    /bin/hostname -F /etc/sysconfig/HOSTNAME
    +
  • +
  • /etc/sysconfig/HOSTNAME

    +
    aarch64
    +
  • +
  • /etc/fstab

    +
    #device		mount-point	type	options		dump	fsck order
    proc /proc proc defaults 0 0
    tmpfs /tmp tmpfs defaults 0 0
    sysfs /sys sysfs defaults 0 0
    tmpfs /dev tmpfs defaults 0 0
    var /dev tmpfs defaults 0 0
    ramfs /dev ramfs defaults 0 0
    debugfs /sys/kernel/debug debugfs defaults 0 0
    +
  • +
  • /etc/inittab

    +
    # /etc/inittab
    ::sysinit:/etc/init.d/rcS
    console::askfirst:-/bin/sh
    ::ctrlaltdel:/sbin/reboot
    ::shutdown:/bin/umount -a -r
    ::restart:/sbin/init
    +
  • +
  • /etc/profile

    +
    USER="root"
    LOGNAME=$USER
    export HOSTNAME=`/bin/hostname`
    export USER=root
    export HOME=/root
    export PS1="[$USER@$HOSTNAME \W]\# "
    PATH=/bin:/sbin:/usr/bin:/usr/sbin
    LD_LIBRARY_PATH=/lib:/usr/lib:$LD_LIBRARY_PATH
    export PATH LD_LIBRARY_PATH
    + +
  • +
+

对于生成的image文件可以通过mkimage -l ramdisk.img查看文件信息

+
Image Name:   ramdisk
Created: Sun Jun 23 21:18:57 2019
Image Type: AArch64 Linux RAMDisk Image (gzip compressed)
Data Size: 15885428 Bytes = 15513.11 kB = 15.15 MB
Load Address: 00000000
Entry Point: 00000000
+ +

使用Qemu运行

    +
  • run.sh
    qemu-system-aarch64 \
    -M virt \
    -cpu cortex-a53 \
    -smp 2 \
    -m 1024M \
    -kernel ./linux-4.19.11/arch/arm64/boot/Image \
    -nographic \
    -append "root=/dev/ram0 rw rootfstype=ext4 console=ttyAMA0 init=/linuxrc ignore_loglevel" \
    -initrd ./rootfs/ramdisk.img \
    -netdev tap,helper=/usr/lib/qemu/qemu-bridge-helper,id=hn0 -device virtio-net-pci,netdev=hn0,id=nic1 \
    -fsdev local,security_model=passthrough,id=fsdev0,path=/home/edison/develop/arm/nfsroot \
    -device virtio-9p-pci,id=fs0,fsdev=fsdev0,mount_tag=hostshare
    + +
  • +
+

共享目录

使用9p共享目录,内核在编译时默认是支持的
新建目录
mkdir nfsroot

+

启动时这两个选项

+
-fsdev local,security_model=passthrough,id=fsdev0,path=/home/edison/arm/nfsroot \
-device virtio-9p-pci,id=fs0,fsdev=fsdev0,mount_tag=hostshare
+ +

指明了共享目录的位置

+

在内核启动起来之后,把共享目录挂载上来,就可以看到文件了
也可以把这个mount添加到内核启动程序中,不用每次都执行一遍

+
[root@aarch64 ]# mount -t 9p -o trans=virtio,version=9p2000.L hostshare /mnt
[root@aarch64 ]# ls /mnt/
code
+ +

Network with Qemu

使用网桥方式,可以让qemu和host主机之间直接进行网络通信

+
    +
  1. 安装网桥工具
    sudo apt install bridge-utilssudo apt install uml-utilities
  2. +
  3. 新建一个网桥 sudo brctl addbr br0 网桥会在重启后消失
  4. +
  5. 启用此网桥 sudo ip link set br0 up
  6. +
  7. 确认/etc/qemu/bridge.confallow br0
  8. +
  9. 给帮助程序权限sudo chmod u+s /usr/lib/qemu/qemu-bridge-helper
  10. +
  11. qemu 启动时增加-netdev tap,helper=/usr/lib/qemu/qemu-bridge-helper,id=hn0 -device virtio-net-pci,netdev=hn0,id=nic1
  12. +
  13. qemu 启动后会自动在host主机上新建一个tap0的网卡
  14. +
  15. 使用brctl show查看br0和tap0已经关联上了
  16. +
  17. 把host主机的一个网卡也和br0关联起来,主机wifi的网卡由于是dhcp获取的ip,无法与br0绑定,需要使用有线网卡绑定sudo brctl addif br0 enp5s0
  18. +
+
bridge name	bridge id		STP enabled	interfaces
br0 8000.3860773ac46e no enp5s0
tap0
+ +
    +
  1. host设置各个网卡和网桥的ip,此处需要注意先设置br0的ip和tap0的ip,再设置host网卡的ip,否则guest里面无法ping外部主机的ip,最终使br0的mac和tap0的mac地址相同,具体原因还没来及查
    sudo ifconfig br0 192.168.43.210 netmask 255.255.255.0
    sudo ifconfig tap0 192.168.43.51 netmask 255.255.255.0
    sudo ifconfig enp5s0 192.168.43.50 netmask 255.255.255.0
  2. +
+
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
inet 192.168.43.210 netmask 255.255.255.0 broadcast 192.168.43.255
inet6 fe80::1429:b3ff:fe07:5f92 prefixlen 64 scopeid 0x20<link>
ether fe:16:30:37:22:4f txqueuelen 1000 (Ethernet)

tap0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.43.51 netmask 255.255.255.0 broadcast 192.168.43.255
inet6 fe80::fc16:30ff:fe37:224f prefixlen 64 scopeid 0x20<link>
ether fe:16:30:37:22:4f txqueuelen 1000 (Ethernet)

enp5s0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.43.50 netmask 255.255.255.0 broadcast 192.168.43.255
ether 38:xx:xx:xx:xx:xx txqueuelen 1000 (Ethernet)
+ +
    +
  1. guest设置eth0的ip 与br0的ip在一个网段内 例如 192.168.43.202
  2. +
+

qemu-bridge-helper使用/etc/qemu-ifup/etc/qemu-ifdown来控制虚拟虚拟机网卡tap0启动

+
    +
  • 如果想使用其他定义的网桥, /etc/qemu/bridge.conf中添加allow qemubr0
    qemu linux.img 
    -netdev tap,helper="/usr/local/libexec/qemu-bridge-helper --br=qemubr0",id=hn0 -device virtio-net-pci,netdev=hn0,id=nic1
    + +
  • +
+

Gdbserver

到GDB网站下载gdb的源码,其中gdbserver在里面的子目录gdbserver中,进入gdbserver的源码目录

+
$ cd ~/develop/arm/gdb-8.3/gdb/gdbserver
$ export CC=/home/edison/develop/arm/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc
$ export CXX=/home/edison/develop/arm/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++

$ ./configure --target=aarch64-linux-gnu --host=aarch64-linux-gnu
+ +

把编译出来的gdbserver放到共享目录

+

qemu 作为客户机执行

+

#./gdbserver 192.168.43.202:10000 all

+

192.168.43.202 is guest ip address
output:

+
Process /mnt/code/all created; pid = 1066
Listening on port 10000
Remote debugging from host 192.168.43.210, port 51730
+ +

主机host run:

+

/home/edison/develop/arm/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gdb all

+

in gdb console, connect to the guest gdbserver:

+
(gdb) target remote 192.168.43.202:10000
Reading /lib/ld-linux-aarch64.so.1 from remote target...
warning: File transfers from remote targets can be slow. Use "set sysroot" to access files locally instead.
Reading /lib/ld-linux-aarch64.so.1 from remote target...
Reading symbols from target:/lib/ld-linux-aarch64.so.1...(no debugging symbols found)...done.
0x0000ffffbf6d3d00 in ?? () from target:/lib/ld-linux-aarch64.so.1
# 设置一个目录,否则看不到库函数
(gdb) set sysroot /home/edison/develop/arm/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/libc/
warning: .dynamic section for "/home/edison/develop/arm/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/libc/lib/ld-linux-aarch64.so.1" is not at the expected address (wrong library or version mismatch?)
Reading symbols from /home/edison/develop/arm/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/libc/lib/ld-linux-aarch64.so.1...done.
Reading symbols from /home/edison/develop/arm/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/aarch64-linux-gnu/libc/lib/ld-linux-aarch64.so.1...done.
(gdb) b main
Breakpoint 1 at 0x4005f4: file main.cpp, line 7.
(gdb) b func(int)
Breakpoint 2 at 0x400630: file main.cpp, line 16.
(gdb) r
The "remote" target does not support "run". Try "help target" or "continue".
(gdb) c
Continuing.

Breakpoint 1, main () at main.cpp:7
7 int i = 25;
(gdb) list
2
3 int func(int i);
4
5 int main(void)
6 {
7 int i = 25;
8 int v = func(i);
9 printf("value is %d\n", v);
10 getchar();
11 return 0;
(gdb) c
Continuing.

Breakpoint 2, func (i=25) at main.cpp:16
16 int a = 2;
(gdb) c
Continuing.
[Inferior 1 (process 1066) exited normally]
+ +

测试程序

#include <stdio.h>

int func(int i);

int main(void)
{
int i = 25;
int v = func(i);
printf("value is %d\n", v);
getchar();
return 0;
}

int func(int i)
{
int a = 2;
return a * i;
}
+ +
    +
  • 简单的makefile
    # marcros
    CROSS_COMPILE := /home/edison/develop/arm/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-

    CC := $(CROSS_COMPILE)gcc
    LD := $(CC) -nostdlib
    CPP := $(CC) -E

    CCFLAGS := -Wall
    DBGFLAG := -g
    CCOBJFLAG := $(CCFLAG) -c

    # Path

    BIN_PATH := bin
    OBJ_PATH := obj
    SRC_PATH := src
    DBG_PATH := debug

    # compile
    TARGET_NAME := main

    TARGET := $(BIN_PATH)/$(TARGET_NAME)
    TARGET_DEBUG := $(DBG_PATH)/$(TARGET_NAME)

    all: main.o
    $(CC) -o $@ $^

    main.o: main.cpp
    $(CC) $(CCOBJFLAG) $(DBGFLAG) $^

    clean:
    rm -rf *.o all
    + +
  • +
+

启动运行信息

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[ 0.000000] Linux version 4.19.11 (edison@aquarius) (gcc version 7.4.1 20181213 [linaro-7.4-2019.02 revision 56ec6f6b99cc167ff0c2f8e1a2eed33b1edc85d4] (Linaro GCC 7.4-2019.02)) #3 SMP PREEMPT Sat Jun 15 12:02:57 CST 2019
[ 0.000000] Machine model: linux,dummy-virt
[ 0.000000] debug: ignoring loglevel setting.
[ 0.000000] efi: Getting EFI parameters from FDT:
[ 0.000000] efi: UEFI not found.
[ 0.000000] cma: Reserved 32 MiB at 0x000000007e000000
[ 0.000000] NUMA: No NUMA configuration found
[ 0.000000] NUMA: Faking a node at [mem 0x0000000000000000-0x000000007fffffff]
[ 0.000000] NUMA: NODE_DATA [mem 0x7dfea700-0x7dfebebf]
[ 0.000000] Zone ranges:
[ 0.000000] DMA32 [mem 0x0000000040000000-0x000000007fffffff]
[ 0.000000] Normal empty
[ 0.000000] Movable zone start for each node
[ 0.000000] Early memory node ranges
[ 0.000000] node 0: [mem 0x0000000040000000-0x000000007fffffff]
[ 0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x000000007fffffff]
[ 0.000000] On node 0 totalpages: 262144
[ 0.000000] DMA32 zone: 4096 pages used for memmap
[ 0.000000] DMA32 zone: 0 pages reserved
[ 0.000000] DMA32 zone: 262144 pages, LIFO batch:63
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] psci: PSCIv0.2 detected in firmware.
[ 0.000000] psci: Using standard PSCI v0.2 function IDs
[ 0.000000] psci: Trusted OS migration not required
[ 0.000000] random: get_random_bytes called from start_kernel+0xa8/0x418 with crng_init=0
[ 0.000000] percpu: Embedded 23 pages/cpu @(____ptrval____) s56984 r8192 d29032 u94208
[ 0.000000] pcpu-alloc: s56984 r8192 d29032 u94208 alloc=23*4096
[ 0.000000] pcpu-alloc: [0] 0 [0] 1
[ 0.000000] Detected VIPT I-cache on CPU0
[ 0.000000] CPU features: enabling workaround for ARM erratum 843419
[ 0.000000] CPU features: enabling workaround for ARM erratum 845719
[ 0.000000] CPU features: detected: Kernel page table isolation (KPTI)
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 258048
[ 0.000000] Policy zone: DMA32
[ 0.000000] Kernel command line: root=/dev/ram0 rw rootfstype=ext4 console=ttyAMA0 init=/linuxrc ignore_loglevel
[ 0.000000] Memory: 969596K/1048576K available (9020K kernel code, 610K rwdata, 3008K rodata, 768K init, 359K bss, 46212K reserved, 32768K cma-reserved)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
[ 0.000000] rcu: Preemptible hierarchical RCU implementation.
[ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=64 to nr_cpu_ids=2.
[ 0.000000] Tasks RCU enabled.
[ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
[ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[ 0.000000] GICv2m: range[mem 0x08020000-0x08020fff], SPI[80:143]
[ 0.000000] arch_timer: cp15 timer(s) running at 62.50MHz (virt).
[ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x1cd42e208c, max_idle_ns: 881590405314 ns
[ 0.000185] sched_clock: 56 bits at 62MHz, resolution 16ns, wraps every 4398046511096ns
[ 0.007286] Console: colour dummy device 80x25
[ 0.009634] Calibrating delay loop (skipped), value calculated using timer frequency.. 125.00 BogoMIPS (lpj=250000)
[ 0.009828] pid_max: default: 32768 minimum: 301
[ 0.011320] Security Framework initialized
[ 0.013353] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes)
[ 0.014631] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes)
[ 0.014987] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes)
[ 0.015139] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes)
[ 0.072332] ASID allocator initialised with 32768 entries
[ 0.079862] rcu: Hierarchical SRCU implementation.
[ 0.102195] EFI services will not be available.
[ 0.111945] smp: Bringing up secondary CPUs ...
[ 0.150710] Detected VIPT I-cache on CPU1
[ 0.152735] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[ 0.158057] smp: Brought up 1 node, 2 CPUs
[ 0.158170] SMP: Total of 2 processors activated.
[ 0.158288] CPU features: detected: 32-bit EL0 Support
[ 0.185724] CPU: All CPU(s) started at EL1
[ 0.186917] alternatives: patching kernel code
[ 0.205598] devtmpfs: initialized
[ 0.234248] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[ 0.234617] futex hash table entries: 512 (order: 3, 32768 bytes)
[ 0.245880] pinctrl core: initialized pinctrl subsystem
[ 0.275845] DMI not present or invalid.
[ 0.285543] NET: Registered protocol family 16
[ 0.289290] audit: initializing netlink subsys (disabled)
[ 0.292277] audit: type=2000 audit(0.252:1): state=initialized audit_enabled=0 res=1
[ 0.311872] cpuidle: using governor menu
[ 0.314254] vdso: 2 pages (1 code @ (____ptrval____), 1 data @ (____ptrval____))
[ 0.314476] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[ 0.325699] DMA: preallocated 256 KiB pool for atomic allocations
[ 0.328282] Serial: AMBA PL011 UART driver
[ 0.401940] 9000000.pl011: ttyAMA0 at MMIO 0x9000000 (irq = 39, base_baud = 0) is a PL011 rev1
[ 0.433798] console [ttyAMA0] enabled
[ 0.727257] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[ 0.733955] cryptd: max_cpu_qlen set to 1000
[ 0.744142] ACPI: Interpreter disabled.
[ 0.760164] vgaarb: loaded
[ 0.765256] SCSI subsystem initialized
[ 0.773399] libata version 3.00 loaded.
[ 0.785663] usbcore: registered new interface driver usbfs
[ 0.787906] usbcore: registered new interface driver hub
[ 0.789752] usbcore: registered new device driver usb
[ 0.794877] pps_core: LinuxPPS API ver. 1 registered
[ 0.795307] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.796439] PTP clock support registered
[ 0.806539] EDAC MC: Ver: 3.0.0
[ 0.828166] Advanced Linux Sound Architecture Driver Initialized.
[ 0.849084] clocksource: Switched to clocksource arch_sys_counter
[ 0.851823] VFS: Disk quotas dquot_6.6.0
[ 0.854846] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[ 0.858595] pnp: PnP ACPI: disabled
[ 1.017342] NET: Registered protocol family 2
[ 1.031887] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes)
[ 1.033022] TCP established hash table entries: 8192 (order: 4, 65536 bytes)
[ 1.034055] TCP bind hash table entries: 8192 (order: 5, 131072 bytes)
[ 1.034752] TCP: Hash tables configured (established 8192 bind 8192)
[ 1.038780] UDP hash table entries: 512 (order: 2, 16384 bytes)
[ 1.039445] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[ 1.042094] NET: Registered protocol family 1
[ 1.050677] RPC: Registered named UNIX socket transport module.
[ 1.051236] RPC: Registered udp transport module.
[ 1.051576] RPC: Registered tcp transport module.
[ 1.051922] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 1.053121] PCI: CLS 0 bytes, default 64
[ 1.058331] Trying to unpack rootfs image as initramfs...
[ 1.071951] rootfs image is not initramfs (no cpio magic); looks like an initrd
[ 1.219963] Freeing initrd memory: 15512K
[ 1.225178] hw perfevents: enabled with armv8_pmuv3 PMU driver, 1 counters available
[ 1.227220] kvm [1]: HYP mode not available
[ 1.290935] Initialise system trusted keyrings
[ 1.295592] workingset: timestamp_bits=44 max_order=18 bucket_order=0
[ 1.563944] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[ 1.620068] NFS: Registering the id_resolver key type
[ 1.626786] Key type id_resolver registered
[ 1.627912] Key type id_legacy registered
[ 1.630868] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[ 1.652401] 9p: Installing v9fs 9p2000 file system support
[ 1.664508] pstore: using deflate compression
[ 1.817988] Key type asymmetric registered
[ 1.819643] Asymmetric key parser 'x509' registered
[ 1.823133] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 246)
[ 1.827632] io scheduler noop registered
[ 1.828884] io scheduler deadline registered
[ 1.834561] io scheduler cfq registered (default)
[ 1.836114] io scheduler mq-deadline registered
[ 1.837955] io scheduler kyber registered
[ 1.926575] pl061_gpio 9030000.pl061: PL061 GPIO chip @0x0000000009030000 registered
[ 1.944322] pci-host-generic 3f000000.pcie: host bridge /pcie@10000000 ranges:
[ 1.950902] pci-host-generic 3f000000.pcie: IO 0x3eff0000..0x3effffff -> 0x00000000
[ 1.957916] pci-host-generic 3f000000.pcie: MEM 0x10000000..0x3efeffff -> 0x10000000
[ 1.962099] pci-host-generic 3f000000.pcie: MEM 0x8000000000..0xffffffffff -> 0x8000000000
[ 1.969611] pci-host-generic 3f000000.pcie: ECAM at [mem 0x3f000000-0x3fffffff] for [bus 00-0f]
[ 1.983121] pci-host-generic 3f000000.pcie: PCI host bridge to bus 0000:00
[ 1.987641] pci_bus 0000:00: root bus resource [bus 00-0f]
[ 1.992250] pci_bus 0000:00: root bus resource [io 0x0000-0xffff]
[ 1.995159] pci_bus 0000:00: root bus resource [mem 0x10000000-0x3efeffff]
[ 1.998891] pci_bus 0000:00: root bus resource [mem 0x8000000000-0xffffffffff]
[ 2.010065] pci 0000:00:00.0: [1b36:0008] type 00 class 0x060000
[ 2.038555] pci 0000:00:01.0: [1af4:1000] type 00 class 0x020000
[ 2.042423] pci 0000:00:01.0: reg 0x10: [io 0x0000-0x001f]
[ 2.044329] pci 0000:00:01.0: reg 0x14: [mem 0x00000000-0x00000fff]
[ 2.047344] pci 0000:00:01.0: reg 0x20: [mem 0x00000000-0x00003fff 64bit pref]
[ 2.050395] pci 0000:00:01.0: reg 0x30: [mem 0x00000000-0x0007ffff pref]
[ 2.066248] pci 0000:00:02.0: [1af4:1009] type 00 class 0x000200
[ 2.069640] pci 0000:00:02.0: reg 0x10: [io 0x0000-0x003f]
[ 2.072306] pci 0000:00:02.0: reg 0x14: [mem 0x00000000-0x00000fff]
[ 2.075211] pci 0000:00:02.0: reg 0x20: [mem 0x00000000-0x00003fff 64bit pref]
[ 2.103755] pci 0000:00:01.0: BAR 6: assigned [mem 0x10000000-0x1007ffff pref]
[ 2.109717] pci 0000:00:01.0: BAR 4: assigned [mem 0x8000000000-0x8000003fff 64bit pref]
[ 2.113851] pci 0000:00:02.0: BAR 4: assigned [mem 0x8000004000-0x8000007fff 64bit pref]
[ 2.115820] pci 0000:00:01.0: BAR 1: assigned [mem 0x10080000-0x10080fff]
[ 2.118111] pci 0000:00:02.0: BAR 1: assigned [mem 0x10081000-0x10081fff]
[ 2.119817] pci 0000:00:02.0: BAR 0: assigned [io 0x1000-0x103f]
[ 2.122333] pci 0000:00:01.0: BAR 0: assigned [io 0x1040-0x105f]
[ 2.211197] EINJ: ACPI disabled.
[ 2.330390] virtio-pci 0000:00:01.0: enabling device (0000 -> 0003)
[ 2.354839] virtio-pci 0000:00:02.0: enabling device (0000 -> 0003)
[ 2.512241] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 2.593580] cacheinfo: Unable to detect cache hierarchy for CPU 0
[ 2.638856] brd: module loaded
[ 2.756131] loop: module loaded
[ 2.834762] libphy: Fixed MDIO Bus: probed
[ 2.844183] tun: Universal TUN/TAP device driver, 1.6
[ 2.909715] thunder_xcv, ver 1.0
[ 2.911181] thunder_bgx, ver 1.0
[ 2.912558] nicpf, ver 1.0
[ 2.921499] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
[ 2.922236] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[ 2.925385] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.4.0-k
[ 2.926237] igb: Copyright (c) 2007-2014 Intel Corporation.
[ 2.928072] igbvf: Intel(R) Gigabit Virtual Function Network Driver - version 2.4.0-k
[ 2.929604] igbvf: Copyright (c) 2009 - 2012 Intel Corporation.
[ 2.932820] sky2: driver version 1.30
[ 2.948916] VFIO - User Level meta-driver version: 0.3
[ 2.954444] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 2.955462] ehci-pci: EHCI PCI platform driver
[ 2.957773] ehci-platform: EHCI generic platform driver
[ 2.961430] usbcore: registered new interface driver usb-storage
[ 2.991082] rtc-pl031 9010000.pl031: rtc core: registered pl031 as rtc0
[ 2.997556] i2c /dev entries driver
[ 3.024361] sdhci: Secure Digital Host Controller Interface driver
[ 3.030621] sdhci: Copyright(c) Pierre Ossman
[ 3.035477] Synopsys Designware Multimedia Card Interface Driver
[ 3.043428] sdhci-pltfm: SDHCI platform and OF driver helper
[ 3.056220] ledtrig-cpu: registered to indicate activity on CPUs
[ 3.086735] usbcore: registered new interface driver usbhid
[ 3.087646] usbhid: USB HID core driver
[ 3.115425] NET: Registered protocol family 17
[ 3.121396] 9pnet: Installing 9P2000 support
[ 3.127838] Key type dns_resolver registered
[ 3.140496] registered taskstats version 1
[ 3.141477] Loading compiled-in X.509 certificates
[ 3.165868] input: gpio-keys as /devices/platform/gpio-keys/input/input0
[ 3.174798] rtc-pl031 9010000.pl031: setting system clock to 2019-06-23 13:50:18 UTC (1561297818)
[ 3.179007] ALSA device list:
[ 3.179612] No soundcards found.
[ 3.190059] uart-pl011 9000000.pl011: no DMA platform data
[ 3.197681] RAMDISK: gzip image found at block 0
[ 8.860079] EXT4-fs (ram0): mounted filesystem with ordered data mode. Opts: (null)
[ 8.861974] VFS: Mounted root (ext4 filesystem) on device 1:0.
[ 8.870895] devtmpfs: mounted
[ 8.997547] Freeing unused kernel memory: 768K
[ 9.031224] Run /linuxrc as init process

Please press Enter to activate this console.
[root@aarch64 ]# ls
bin etc linuxrc mnt root sys var
dev lib lost+found proc sbin tmp
+ +]]>
+
+ + GitPages+Hexo+CI 自动部署个人主页 + /2019/06/19/hexo-github-ci/ + 现在已经习惯了使用Markdown写日志了,个人blog还是要坚持记录,WordPress平台的服务器资源总是不稳定,所以还是恢复很久之前使用gh-pages搭的主页。原来这里只是放了一篇模板文件 ORz

+

HEXO

之前使用了HEXO作为静态blog的框架,虽然Github官方支持的是Jekyll,但是之前创建仓库时用的Hexo,还想继续用原来的仓库,就不再调整了

+

安装

    +
  1. 安装nvm
  2. +
+

$ sudo apt install curl

+

$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash

+

提高npm的安装速度可以使用taobao的镜像服务,地址为cnpm,先安装
$ npm install -g cnpm --registry=https://registry.npm.taobao.org
后续使用cnpm install xxx --save来安装插件

+
    +
  1. 安装node.js $ nvm install stable

    +
  2. +
  3. 使用npm安装Hexo $ npm install -g hexo-cli

    +
  4. +
  5. 非空目录下初始化工程 $ hexo init .

    +
  6. +
  7. 安装相关插件 $ npm install

    +
  8. +
+

最终得到如下结构目录

+
.
├── _config.yml 配置文件
├── package.json 程序信息
├── scaffolds
├── source
| ├── _drafts
| └── _posts 源码目录,md文件放在这里
└── themes
+ +

写文章

    +
  • 执行命令新建一个文章
  • +
+

$ hexo new "post title with whitespace"

+

source/_post/下会自动生成md文件

+

打开后有文件基本信息,就可以正常写内容了

+
    +
  • 生成文章
  • +
+

$ hexo generate

+
    +
  • 本地预览
  • +
+

$ hexo server
系统提示服务器的地址http://0.0.0.0:4000/memorywalker/

+
INFO  Start processing
INFO Hexo is running at http://0.0.0.0:4000/memorywalker/. Press Ctrl+C to stop
+ +
    +
  • 执行命令的过程中增加--debug选项可以输出更多的调试信息,方便定位原因例如 hexo s --debug

    +
  • +
  • 支持图片显示

    +

    _config.ymlpost_asset_folder: true设置为true,由于github上只有source目录有直接访问权限,放在_posts目录中无法访问图片文件,所以新建一个uploads目录在source中,可以把需要的图片文件放在这个目录,也可以在这里建立子目录,此时目录结构如下

    +
    source--_posts\xx.md
    --uploads\avatar.gif
    + +

    目前缺点就是本地目录是不正确导致无法查看

    +

    icon

    +
  • +
+

升级Hexo

    +
  1. 升级全局的hexonpm i hexo-cli -g
  2. +
  3. 新建一个目录,$ hexo init .创建一个新的开发环境
  4. +
  5. 删除原来目录中的node_modulesthemes目录,把并把新目录的这两个目录复制到原来的目录中
  6. +
  7. 使用比较工具合并_config.yml文件的内容
  8. +
  9. 使用比较工具package.json文件的内容,把新的文件覆盖的旧目录后,把以前需要的插件再补充安装,例如git部署插件就需要重新安装npm install hexo-deployer-git --save
  10. +
+

安装Next主题

    +
  1. 把next主题下载一份到工程的themes目录下
    $ git clone https://github.com/theme-next/hexo-theme-next themes/next

    +
  2. +
  3. 修改工程的_config.yml中的theme: landscapetheme: next

    +
  4. +
  5. 执行hexo clean清除原来的缓存,hexo s生成新的文件并进行预览

    +
  6. +
  7. 升级主题 $ cd themes/next and then $ git pull

    +
  8. +
  9. 安装next主题后,使用Travis-CI自动部署会出现访问页面时主题用到的资源无法加载,需要修改原来项目_config.yml中的url如下:

    +
    url: http://memorywalker.github.io
    root: /
    +
  10. +
+
    +
  • 安装本地搜索插件
  • +
+

cnpm install hexo-generator-searchdb --save

+

修改themes\next\_config.yml找到local_search,设置为true

+

修改项目的_config.yml 添加如下:

+
search:
path: search.xml
field: post
format: html
limit: 10000
content: true
+ +

Github部署

GitHub Pages是针对个人提供的页面,一个用户只能有一个这样的仓库。这个仓库的名称必须是用户名.github.io,对应的访问网址也是用户名.github.io

+

新建用户名.github.io的仓库后,在这个仓库的Setting页面有GitHub Pages配置

+
+

GitHub Pages is designed to host your personal, organization, or project pages from a GitHub repository.

+
+

这个配置项中说明了发布地址,以及用户page必须放在master分支,master分支最终只会有hexo编译转换出来的静态博客的网页文件,它的文件都来自hexo g产生的public

+

在本地的hexo目录下新建一个Hexo分支,这个分支用来保存博客的源码程序,这个分支中只把上面的Hexo的框架文件和目录添加到分支,对于node_modulesnode的插件文件,public生成的发布文件,db.json这些文件不需要添加到分支更新到仓库。

+
    +
  • 安装git部署插件 $ npm install hexo-deployer-git --save
  • +
  • 修改hexo的配置文件_config.yml,其中增加
  • +
+
deploy:
type: git
repo: git@github.com:memorywalker/memorywalker.github.io.git
branch: master
message: [message] #leave this blank
+ +
    +
  • 执行$ hexo deploy,hexo会自动把public的文件push到github的master分支
  • +
+

以后每次写完markdown文件后,只需要$ hexo generate --deploy,在生成后自动发布

+

CI 自动发布

如果本地没有node.js的环境,此时如果需要发布文章,还要搭建完整的开发环境,使用TravisCI可以自动编译github上的工程,并把结果进行发布
https://www.travis-ci.org/ 使用github账号可以直接登陆

+
    +
  1. 在自己的所有工程列表中,打开需要自动部署的工程,并点击Settings
  2. +
  3. Settings–General: 只需要打开Build pushed branches,其他两个保持关闭
  4. +
  5. Environment Variables中增加一个Name 为GH_TOKEN,值为自己的Github Personal access Token
  6. +
  7. Github的个人设置中,进入Developer settings,在Personal access tokens中新建一个token,勾选Repo和user两个项,把自动产生的一段token放到刚刚的环境变量value中
  8. +
  9. 在博客的根目录新建.travis.yml文件,内容为
  10. +
+
language: node_js
node_js: stable

# assign build branches
branches:
only:
- hexo # this branch will be build

# cache this directory
cache:
directories:
- node_modules
- themes

# S: Build Lifecycle
before_install:
- npm install -g hexo-cli # install hexo
- git clone https://github.com/theme-next/hexo-theme-next themes/next

install:
- npm install # install by package.json

script:
- hexo generate

after_success:
- git config --global user.name "memorywalker"
- git config --global user.email "eddy.wd5@gmail.com"
- sed -i "s/gh_token/${GH_TOKEN}/g" _config.yml #使用travisCI中配置的token替换掉_config.yml中对应的占位符
- hexo deploy
# E: Build LifeCycle
+ +
    +
  1. 修改hexo的配置文件,把原来的自动部署的repo地址更新为https的

    +
    deploy:
    type: git
    repo: https://gh_token@github.com/memorywalker/memorywalker.github.io.git
    branch: master
    +
  2. +
  3. 把更新的文件push到博客源码分支hexo

    +
  4. +
  5. https://www.travis-ci.org/memorywalker/memorywalker.github.io可以查看编译运行情况

    +
  6. +
+

基于TravisCI自动化部署Hexo博客到Github

+]]>
+ + blog + +
+ + Hello World + /2016/03/29/hello-world/ + Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

+

Quick Start

Create a new post

$ hexo new "My New Post"
+ +

More info: Writing

+

Run server

$ hexo server
+ +

More info: Server

+

Generate static files

$ hexo generate
+ +

More info: Generating

+

Deploy to remote sites

$ hexo deploy
+ +

More info: Deployment

+]]>
+
+ + MarkDown学习 + /2016/03/29/markdown-study/ + MarkDown学习

2013/9/16 23:46:13

+

网上总结的几个优点:

+
    +
  • 纯文本,意味着别人可以简单的修改编辑,关键是可以放到github上用版本管理工具管理起来
  • +
  • 语法简单,如果只是简单的写作,不写科技论文,你需要知道的就那么几个常用标记
  • +
  • 专心写作,这个优点需要因人而异,没有了word里面各种排版格式设置,你只需要把自己想到的用文字写下来
  • +
  • 格式转换,可以转换为HTML格式,互联网时代,HTML格式就是个万能格式,大家都能懂,还可以转换到其他格式
  • +
+

本文参考主要来自献给写作者的 Markdown 新手指南

+

段落 直接回车换行,一行或多行一个效果

+

粗体

+

斜体

+

标题用#的个数来表示

+

一级标题

二级标题

三级标题

四级标题

五级标题
六级标题

列表

+

无序列表用 “*” 、 “-”

+
    +
  • 中文
  • +
  • 英文
  • +
  • 日文
  • +
+

有序列表用 数字+. 如

+
    +
  1. 早晨
  2. +
  3. 中午
  4. +
  5. 下午
  6. +
  7. 傍晚
  8. +
  9. 夜晚
  10. +
+

引用

+
+

子曾经曰:“学而时习之,不亦乐乎”

+
+

强制换行
最后一个问题?
爱过

+

超链接显示文本

+

Google主页

+

图片
女汉子
三笠女汉子

+

国内网站简书

+

我在使用的软件markdownpad

+

本文预览

+]]>
+
+
diff --git a/tags/Gitlab-git/index.html b/tags/Gitlab-git/index.html new file mode 100644 index 000000000..01ffdec8f --- /dev/null +++ b/tags/Gitlab-git/index.html @@ -0,0 +1,990 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 标签: Gitlab; git | How Time Flies + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/blog/index.html b/tags/blog/index.html new file mode 100644 index 000000000..832e5356c --- /dev/null +++ b/tags/blog/index.html @@ -0,0 +1,990 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 标签: blog | How Time Flies + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/code-review/index.html b/tags/code-review/index.html new file mode 100644 index 000000000..9824797ff --- /dev/null +++ b/tags/code-review/index.html @@ -0,0 +1,990 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 标签: code review | How Time Flies + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/git/index.html b/tags/git/index.html new file mode 100644 index 000000000..6cc5f3ec3 --- /dev/null +++ b/tags/git/index.html @@ -0,0 +1,990 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 标签: git | How Time Flies + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/github-git/index.html b/tags/github-git/index.html new file mode 100644 index 000000000..8da0b5646 --- /dev/null +++ b/tags/github-git/index.html @@ -0,0 +1,990 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 标签: github; git | How Time Flies + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/ios/index.html b/tags/ios/index.html new file mode 100644 index 000000000..533499cce --- /dev/null +++ b/tags/ios/index.html @@ -0,0 +1,990 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 标签: ios | How Time Flies + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/network-proxifier/index.html b/tags/network-proxifier/index.html new file mode 100644 index 000000000..610607eb3 --- /dev/null +++ b/tags/network-proxifier/index.html @@ -0,0 +1,990 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 标签: network; proxifier | How Time Flies + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tags/network-wireshark/index.html b/tags/network-wireshark/index.html new file mode 100644 index 000000000..9feac9ee4 --- /dev/null +++ b/tags/network-wireshark/index.html @@ -0,0 +1,990 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 标签: network; wireshark | How Time Flies + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git "a/tags/\345\206\205\345\255\230\345\206\205\345\255\230/index.html" "b/tags/\345\206\205\345\255\230\345\206\205\345\255\230/index.html" new file mode 100644 index 000000000..bc694656d --- /dev/null +++ "b/tags/\345\206\205\345\255\230\345\206\205\345\255\230/index.html" @@ -0,0 +1,990 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 标签: 内存内存 | How Time Flies + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/uploads/avatar.gif b/uploads/avatar.gif new file mode 100644 index 0000000000000000000000000000000000000000..ab30c1870ca99e742809886ddb3138da4023c11d GIT binary patch literal 13881 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 literal 0 HcmV?d00001 diff --git a/uploads/memory/buddyexp.png b/uploads/memory/buddyexp.png new file mode 100644 index 0000000000000000000000000000000000000000..74855b1a4fad8ece810ce9ecfbf838296797d824 GIT binary patch literal 48913 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 VzKMn}cYI<10#8>zmvv4FO#nE;A4&iK literal 0 HcmV?d00001 diff --git a/uploads/memory/linuxmemory.png b/uploads/memory/linuxmemory.png new file mode 100644 index 0000000000000000000000000000000000000000..c54b8f8053c3c73364252451559ca401b10314db GIT binary patch literal 286018 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%0DMZ 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

~~sB~R1+mhUM+yW?pk>zH=l4_E4&)vha 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 FqC^)6Tu>?tmal75Z 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%0D&h0U*)x{KnKANe=+&+3)H5Jp-ht5s)a;PsjE% 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 literal 0 HcmV?d00001 diff --git a/uploads/proxy/proxifier_dns.png b/uploads/proxy/proxifier_dns.png new file mode 100644 index 0000000000000000000000000000000000000000..2b788a44772d682613bda45cd0ce918c5b421d1c GIT binary patch literal 35808 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%0AGTXAs<(-OudT*z6Sv|BTt&)G)df zM9#c9_5f)5gxH3nJj$L;SqxS-h)V8wB|LaX+fZd^@#SV*-j&eQdfrlV=ra=56i|2v z15!k<;#7DyhCbS%0;Y}MR;w**1W2lE!b0c&q@(F`XS~?+25(v8w*B_N3#b7}yNoBx zfbH>y^5C@ma+dG7NnyFYMRHAw(bj%duTzFM+y~r-;3H?rmV(1E{AnxA>1S^4!+(pG zs)kA3g}MaXnD8VKHam=IKJ9F+*v>|0p^wDcO)A@U8JNRM{M09t;$zDXwU;>pHW5Nx z?pT(k>McW{YTjOyRp_o^i5p_or0YaqwHmQHe@)&S^o?)mWH%LcyuQb;N2ql3tv=bd zos7ul4A*z6-Jj#_s+Ha!lyNl7KXyt)hY|Z9Z?(g2Ec>=na)=|cCc(nECsWOIZ3^54 zrNB&PMI@SNb0StxdZY(v9ryAFofY?HIqXT}xW9iTj1bMA-MaP+I|DQT|0?XV=<$97 z6ivFcc*pVYpym{5FQ}_tZokw=fh?IhslT5hLVrI}PZ*j1fP4y(_VrKut;qoL0bB83 z5kY5jsyJ>#Q^DNv@j-rueA;H9+$TjW>`&;Z*h=p)(}`o`^P@8-iQRv*GhYr#cH$b+ V5X5f?L&KMne5!zkh5r*?R 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 G=l=lX2yPPq literal 0 HcmV?d00001 diff --git a/uploads/proxy/proxifier_using.png b/uploads/proxy/proxifier_using.png new file mode 100644 index 0000000000000000000000000000000000000000..a3113cb9fa6d20ca34cfecf1060f03d167208359 GIT binary patch literal 102416 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%0A7TA>=s>a{IK^v+lVu6@nIiQ_MIf{ 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

m2E)pSbtmIF~Hugd3r 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 literal 0 HcmV?d00001

?i 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 S%?l`Hb>Ixj43VGBn;NL0>Q>5<5ya;V3 zPn}-9hRm^>-BsVJGcz3A4Grz((-n5A3m>2r41V-9zE;`~@MtG;Ui;M<*;kRxBZ-J#-?*>N-p#{RY%Er%L?%5JFI zI0E^V<9H9eZ3bzBoZq|KE++(k%%6IQ-%s@l3|sjfqCOOA(Q_~{ItW1w(=L}`lJS!RGUO_<>hJ_@DzT|$m(eS#ap}z%K~l}LX6wU71NF!X?Qb~{6IdNr zC^5c?IIfB9H?*7A)Xz2w_Ohj)S*lzz{y66wCWL(otLY!Evs1_!sC}M!o6{~|a+8RM zZG?~K7$3fDn9SU1zcdWU(l9!8`*6mrov_m9xTiZ@nD1d8sYYVf$aA8vx*m#Ga}gT` zPCoH~h=0xBa8|{@SRw%dty^*4Ago7bX`I8$IRDh=ksuXpu3(%Kc092LQzXoz-nrl2^wse_KtUO7q*W9Bqc zVOzVQ@N@3YCEZs2xw+omh`Q%u;*_&^Ej@Av(HZS+;}C~)=3iPMK{CFl7JB1awY$oj z>b;m6OKR%huXyNdf0~}62a2>B9M|@~eqOVcke+wiWGj#VAb~gF#1tm#V%Q037A}mT zb5b~dip$k=^yOa(E`(4gARx>E*)cBQq6Efvp_(^V79PoY)m{t5+S%ivhW>${YUT_9 zBX+e`bu#m+MX@-g(Zh4NMvl78>Gzd1hv}(LRb_AQd)XkzUmmdAzY6|H)f)t+H~{8*)M$lDda@;2a>pm3)> zj(pEkt0HF$at$gK8%<`8HONyyVB#888OD>(Y4Z}N@O6uma@-|G2ah`T}XN2JZG zOvI*6QYsZ87!`cM`HH%3KDQ4PgQmT0O> zMCa?adasC(4cv!wycd#Zj)Nd$g<8CEZMx!Fz0dd`QM)yuQJ}wa#>z zi>Wd4)Zv(GC13_n2wMc>xbs@x2;cE84zF~T|LyG+o<-U3ETxg7s6J6zbZ}T=U?EI_ z;(6f^Jk2gnC6iI*o4jVpP`IzczEU~wJ1|AUgzYp&r7pC-wC3-ay@zP2dYFfLIQb<; zBPoHMDS~g|$z*9P$HO)z#|;`# z_ONcjCsrL#-n*yvVy8_2LLOoMo9Y3%=ICI9OM!}p4nChX!_67}^!y~LDN^aX*sN;< zRW9!XUg5O70}33H+11~)s0U*h1CrWNq|)rCCZiFvj?x7_y`y{A{X|g){{FHLKR&z+ z=U=?byd_bhIlM27UgcWirw42=Bu3 z5ty$ow_m6~YCQQd@ken+vN`|+6odvqTHYr~DJdnVX!trA+$K1om3i5OJ%l@|xgQ@3 zy1gbm?2|9-=G=L6>L9$?;|DOLjQtd>XxOfqLtBGnLz}NUZJ9|!Z2>jMO0HMRW-8k1 z8R080{^c(l*!~0U9=&~-9EDazSvwmf8|ZS3?n>z!HytN>*#B>g?(enH4+@+$&dIs` m@Ra=rw*S!|rFyb_(Tew_xAHs9hJFHm&Y503^X`=E-TwoEjC1h- literal 0 HcmV?d00001 diff --git a/uploads/wireshark/compound.png b/uploads/wireshark/compound.png new file mode 100644 index 0000000000000000000000000000000000000000..92aededa187b2331bdd8073422b7d018f768e441 GIT binary patch literal 14302 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 W4kwnP`Qdf+2Pn#_%2Z341phzX0X1R( literal 0 HcmV?d00001 diff --git a/uploads/wireshark/dnscmd.png b/uploads/wireshark/dnscmd.png new file mode 100644 index 0000000000000000000000000000000000000000..2ef8e225495d3e5d1e14dd68d5eed96be9e39143 GIT binary patch literal 4840 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 literal 0 HcmV?d00001 diff --git a/uploads/wireshark/dnscmdtcp.png b/uploads/wireshark/dnscmdtcp.png new file mode 100644 index 0000000000000000000000000000000000000000..35cfc217712c4021c9c58cefd46ca58125c8fbee GIT binary patch literal 4979 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 literal 0 HcmV?d00001 diff --git a/uploads/wireshark/dnstcp.png b/uploads/wireshark/dnstcp.png new file mode 100644 index 0000000000000000000000000000000000000000..e34cb1d9d921b2399a2deaf18d2238a363082046 GIT binary patch literal 51786 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 z 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 Km15;bFa84#9uuVi literal 0 HcmV?d00001 diff --git a/uploads/wireshark/handshaketcp.png b/uploads/wireshark/handshaketcp.png new file mode 100644 index 0000000000000000000000000000000000000000..8caddb2b7b51e527aa674a3052fc5c4f65d01390 GIT binary patch literal 40303 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 literal 0 HcmV?d00001 diff --git a/uploads/wireshark/mtulen.png b/uploads/wireshark/mtulen.png new file mode 100644 index 0000000000000000000000000000000000000000..639ba1c6e3da29907bf06f06f75fe129fa3b619a GIT binary patch literal 25965 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 hdWu3&lA{R#g3 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 JMMDkV{y!p&fHeRB literal 0 HcmV?d00001 diff --git a/uploads/wireshark/tcpall.png b/uploads/wireshark/tcpall.png new file mode 100644 index 0000000000000000000000000000000000000000..98e3e1e0398de89c640914bc4960865d84a1fae3 GIT binary patch literal 52531 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 z≀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 literal 0 HcmV?d00001 diff --git a/uploads/wireshark/tcphandseq.png b/uploads/wireshark/tcphandseq.png new file mode 100644 index 0000000000000000000000000000000000000000..83d16251f50415219e811dd6e3a13f1ac55ae84a GIT binary patch literal 10539 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 z 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