colaibu commited on
Commit
5291d03
·
verified ·
1 Parent(s): dc21b39

Upload 45 files

Browse files
Files changed (46) hide show
  1. .gitattributes +3 -0
  2. Dockerfile +6 -0
  3. LICENSE +21 -0
  4. README.md +78 -0
  5. ccaa +61 -0
  6. ccaa.sh +265 -0
  7. ccaa_dir/AriaNg/LICENSE +21 -0
  8. ccaa_dir/AriaNg/css/aria-ng-70e1362684.min.css +4 -0
  9. ccaa_dir/AriaNg/css/bootstrap-3.4.1.min.css +0 -0
  10. ccaa_dir/AriaNg/css/plugins-ccac6fc3fc.min.css +0 -0
  11. ccaa_dir/AriaNg/dindex.html +14 -0
  12. ccaa_dir/AriaNg/favicon.ico +0 -0
  13. ccaa_dir/AriaNg/favicon.png +0 -0
  14. ccaa_dir/AriaNg/fonts/fontawesome-webfont.eot +3 -0
  15. ccaa_dir/AriaNg/fonts/fontawesome-webfont.svg +0 -0
  16. ccaa_dir/AriaNg/fonts/fontawesome-webfont.ttf +3 -0
  17. ccaa_dir/AriaNg/fonts/fontawesome-webfont.woff +0 -0
  18. ccaa_dir/AriaNg/fonts/fontawesome-webfont.woff2 +0 -0
  19. ccaa_dir/AriaNg/index.html +7 -0
  20. ccaa_dir/AriaNg/index.manifest +23 -0
  21. ccaa_dir/AriaNg/js/angular-packages-1.6.10.min.js +0 -0
  22. ccaa_dir/AriaNg/js/aria-ng-da5356c403.min.js +0 -0
  23. ccaa_dir/AriaNg/js/bootstrap-3.4.1.min.js +6 -0
  24. ccaa_dir/AriaNg/js/echarts-common-3.8.5.min.js +0 -0
  25. ccaa_dir/AriaNg/js/jquery-3.3.1.min.js +2 -0
  26. ccaa_dir/AriaNg/js/moment-with-locales-2.24.0.min.js +1 -0
  27. ccaa_dir/AriaNg/js/plugins-cc1df97b8f.min.js +0 -0
  28. ccaa_dir/AriaNg/langs/zh_Hans.txt +660 -0
  29. ccaa_dir/AriaNg/langs/zh_Hant.txt +660 -0
  30. ccaa_dir/AriaNg/robots.txt +4 -0
  31. ccaa_dir/AriaNg/tileicon.png +0 -0
  32. ccaa_dir/AriaNg/touchicon.png +0 -0
  33. ccaa_dir/aria2.conf +103 -0
  34. ccaa_dir/aria2.session +0 -0
  35. ccaa_dir/config.json +8 -0
  36. ccaa_dir/index.html +0 -0
  37. ccaa_dir/services/aria2.service +9 -0
  38. ccaa_dir/services/ccaa_web.service +9 -0
  39. ccaa_dir/services/filebrowser.service +9 -0
  40. ccaa_dir/upbt.sh +27 -0
  41. ccaa_dir/version.txt +1 -0
  42. ccaa_web +3 -0
  43. ccaa_web.go +24 -0
  44. dccaa +64 -0
  45. docker-ccaa.sh +168 -0
  46. uninstall.sh +82 -0
.gitattributes CHANGED
@@ -33,3 +33,6 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ ccaa_dir/AriaNg/fonts/fontawesome-webfont.eot filter=lfs diff=lfs merge=lfs -text
37
+ ccaa_dir/AriaNg/fonts/fontawesome-webfont.ttf filter=lfs diff=lfs merge=lfs -text
38
+ ccaa_web filter=lfs diff=lfs merge=lfs -text
Dockerfile ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ FROM alpine:3.11.6
2
+
3
+ WORKDIR /root
4
+ RUN wget https://raw.githubusercontent.com/helloxz/ccaa/master/docker-ccaa.sh && sh docker-ccaa.sh install
5
+ VOLUME /data/ccaaDown
6
+ EXPOSE 6080 6081 6800 51413
LICENSE ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ MIT License
2
+
3
+ Copyright (c) 2018 Mr.zou
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
README.md ADDED
@@ -0,0 +1,78 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # CCAA
2
+
3
+ 原为`CentOS + Caddy + AriaNg + Aria2`,故命名为CCAA,不过现在不仅仅支持CentOS,主流的Debian、Ubuntu也已经支持,自2.0版本已移除Caddy,改用Golang写了一个简单的webserver来运行AriaNg
4
+
5
+ - Aria2 提供离线下载
6
+ - ccaa_web支撑AriaNg运行
7
+ - AriaNg为Aria2 提供WEB界面
8
+ - Filemanager提供文件管理
9
+
10
+ ### 主要功能
11
+
12
+ * 支持HTTP/HTTPS/FTP/BT/磁力链接等离线下载,断点续传等
13
+ * 文件管理、视频在线播放
14
+ * 完善的帮助文档
15
+
16
+ ### 环境要求
17
+
18
+ * 支持的操作系统:CentOS 7-8、Debian 8-10、Ubuntu 16-18
19
+ * 操作系统要求64位
20
+
21
+ **虽然以上系统经过了基本测试,但不排除可能存着某些特殊情况无法安装,如有问题,请在Github Issues反馈**
22
+
23
+ ### 安装CCAA
24
+
25
+ 一键安装脚本(使用root用户):
26
+ ```bash
27
+ #海外
28
+ bash <(curl -Lsk https://raw.githubusercontent.com/wfq1971/ccaa/master/ccaa.sh)
29
+ #国内
30
+ bash <(curl -Lsk https://raw.githubusercontent.com/wfq1971/ccaa/master/ccaa.sh) cdn
31
+ ```
32
+ 如果出现`-bash: curl: command not found`错误,说明`curl`命令没安装,请输入下面的命令先安装`curl`,再回过头来执行上面的命令再来一次。
33
+
34
+ ```bash
35
+ #Debian or Ubuntu
36
+ apt-get -y install curl
37
+ #CentOS
38
+ yum -y install curl
39
+ ```
40
+
41
+ ### Docker安装
42
+ ```bash
43
+ docker run --name="ccaa" -d -p 6080:6080 -p 6081:6081 -p 6800:6800 -p 51413:51413 \
44
+ -v /data/ccaaDown:/data/ccaaDown \
45
+ -e PASS="xiaoz.me" \
46
+ helloz/ccaa \
47
+ sh -c "dccaa pass && dccaa start"
48
+ ```
49
+
50
+ * 第一个`/data/ccaaDown`为本地目录,CCAA下载后的内容会保存在此目录,请根据自身情况设置
51
+ * `xiaoz.me`为Aria2密钥,运行的时候请修改为自己的密码
52
+ * 文件管理默认用户名为`ccaa`,密码为`admin`,登录后可在后台修改
53
+
54
+
55
+ ### 常用命令
56
+
57
+ * ccaa:进入CCAA操作界面
58
+ * ccaa status:查看CCAA运行状态
59
+ * ccaa stop:停止CCAA
60
+ * ccaa start:启动CCAA
61
+ * ccaa restart:重启CCAA
62
+ * ccaa -v:查看CCAA版本(2.0开始支持)
63
+
64
+ ### 部分截图
65
+
66
+ ![](https://imgurl.org/upload/1810/e8bf5842058b46c5.png)
67
+
68
+ ![](https://imgurl.org/upload/1810/1180fb03eb3117ce.png)
69
+
70
+ ### 联系我
71
+
72
+ * Blog: [https://www.xiaoz.me/](https://www.xiaoz.me/)
73
+ * QQ: 337003006
74
+ * 技术交流群: 147687134
75
+
76
+ ### 请我喝一杯咖啡
77
+
78
+ ![](https://imgurl.org/upload/1712/cb349aa4a1b95997.png)
ccaa ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/bash
2
+ ##### CCAA管理脚本 #####
3
+ ##### Author:xiaoz.me #####
4
+ ##### Update:2020-02-27 #####
5
+
6
+ #导入环境变量
7
+ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/bin:/sbin
8
+ export PATH
9
+
10
+ aria2pid=$(pgrep 'aria2c')
11
+ ccaa_web_pid=$(pgrep 'ccaa_web')
12
+ filebrowser_pid=$(pgrep 'filebrowser')
13
+
14
+ #如果变量不存在
15
+ if [ ! $1 ]
16
+ then
17
+ bash <(curl -Lsk https://raw.githubusercontent.com/helloxz/ccaa/master/ccaa.sh)
18
+ exit
19
+ fi
20
+
21
+ case $1 in
22
+ 'start')
23
+ nohup sudo -u ccaa aria2c --conf-path=/etc/ccaa/aria2.conf > /var/log/aria2.log 2>&1 &
24
+ nohup sudo -u ccaa /usr/sbin/ccaa_web > /var/log/ccaa_web.log 2>&1 &
25
+ nohup sudo -u ccaa filebrowser -c /etc/ccaa/config.json > /var/log/fbrun.log 2>&1 &
26
+ exit
27
+ ;;
28
+ 'stop')
29
+ kill -9 ${aria2pid}
30
+ kill -9 ${ccaa_web_pid}
31
+ kill -9 ${filebrowser_pid}
32
+ ;;
33
+ 'restart')
34
+ kill -9 ${aria2pid}
35
+ kill -9 ${ccaa_web_pid}
36
+ kill -9 ${filebrowser_pid}
37
+ nohup sudo -u ccaa aria2c --conf-path=/etc/ccaa/aria2.conf > /var/log/aria2.log 2>&1 &
38
+ nohup sudo -u ccaa /usr/sbin/ccaa_web > /var/log/ccaa_web.log 2>&1 &
39
+ nohup sudo -u ccaa filebrowser -c /etc/ccaa/config.json > /var/log/fbrun.log 2>&1 &
40
+ exit;
41
+ ;;
42
+ 'status')
43
+ if [ "$aria2pid" == "" ]
44
+ then
45
+ echo "Not running!"
46
+ else
47
+ echo '-----------------------------------------------'
48
+ echo "Aria2 is running,pid is ${aria2pid}."
49
+ echo "AriaNg is running,pid is ${ccaa_web_pid}."
50
+ echo "Filebrowser is running,pid is ${filebrowser_pid}."
51
+ echo '-----------------------------------------------'
52
+ fi
53
+ ;;
54
+ '-v')
55
+ cat /etc/ccaa/version.txt && echo ''
56
+ ;;
57
+ *)
58
+ echo '参数错误!'
59
+ exit
60
+ ;;
61
+ esac
ccaa.sh ADDED
@@ -0,0 +1,265 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/bash
2
+ ##### 一键安装File Browser + Aria2 + AriaNg #####
3
+ ##### 作者:xiaoz.me #####
4
+ ##### 更新时间:2020-02-27 #####
5
+
6
+ #导入环境变量
7
+ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/bin:/sbin
8
+ export PATH
9
+
10
+ #CDN域名设置
11
+ if [ $1 = 'cdn' ]
12
+ then
13
+ aria2_url='https://github.com/q3aql/aria2-static-builds/releases/download/v1.36.0/aria2-1.36.0-linux-gnu-64bit-build1.tar.bz2'
14
+ filebrowser_url='https://github.com/filebrowser/filebrowser/releases/download/v2.32.0/linux-amd64-filebrowser.tar.gz'
15
+ master_url='https://github.com/wfq1971/ccaa/archive/master.zip'
16
+ ccaa_web_url='https://raw.githubusercontent.com/crazypeace/ccaa/refs/heads/master/ccaa_web'
17
+ else
18
+ aria2_url='https://github.com/q3aql/aria2-static-builds/releases/download/v1.35.0/aria2-1.35.0-linux-gnu-64bit-build1.tar.bz2'
19
+ filebrowser_url='https://github.com/filebrowser/filebrowser/releases/download/v2.0.16/linux-amd64-filebrowser.tar.gz'
20
+ master_url='https://github.com/helloxz/ccaa/archive/master.zip'
21
+ ccaa_web_url='http://soft.xiaoz.org/linux/ccaa_web.tar.gz'
22
+ fi
23
+
24
+ #安装前的检查
25
+ function check(){
26
+ echo '-------------------------------------------------------------'
27
+ if [ -e "/etc/ccaa" ]
28
+ then
29
+ echo 'CCAA已经安装,若需要重新安装,请先卸载再安装!'
30
+ echo '-------------------------------------------------------------'
31
+ exit
32
+ else
33
+ echo '检测通过,即将开始安装。'
34
+ echo '-------------------------------------------------------------'
35
+ fi
36
+ }
37
+
38
+ #安装之前的准备
39
+ function setout(){
40
+ if [ -e "/usr/bin/yum" ]
41
+ then
42
+ yum -y install curl gcc make bzip2 gzip wget unzip tar
43
+ else
44
+ #更新软件,否则可能make命令无法安装
45
+ sudo apt-get update
46
+ sudo apt-get install -y curl make bzip2 gzip wget unzip sudo
47
+ fi
48
+ #创建临时目录
49
+ cd
50
+ mkdir ./ccaa_tmp
51
+ #创建用户和用户组
52
+ groupadd ccaa
53
+ useradd -M -g ccaa ccaa -s /sbin/nologin
54
+ }
55
+ #安装Aria2
56
+ function install_aria2(){
57
+ #进入临时目录
58
+ cd ./ccaa_tmp
59
+ #yum -y update
60
+ #安装aria2静态编译版本,来源于https://github.com/q3aql/aria2-static-builds/
61
+ wget -c ${aria2_url}
62
+ tar jxvf aria2-1.35.0-linux-gnu-64bit-build1.tar.bz2
63
+ cd aria2-1.35.0-linux-gnu-64bit-build1
64
+ make install
65
+ cd
66
+ }
67
+
68
+ #安装File Browser文件管理器
69
+ function install_file_browser(){
70
+ cd ./ccaa_tmp
71
+ #下载File Browser
72
+ wget ${filebrowser_url}
73
+ #解压
74
+ tar -zxvf linux-amd64-filebrowser.tar.gz
75
+ #移动位置
76
+ mv filebrowser /usr/sbin
77
+ cd
78
+ }
79
+ #处理配置文件
80
+ function dealconf(){
81
+ cd ./ccaa_tmp
82
+ #下载CCAA项目
83
+ wget ${master_url}
84
+ #解压
85
+ unzip master.zip
86
+ #复制CCAA核心目录
87
+ mv ccaa-master/ccaa_dir /etc/ccaa
88
+ #创建aria2日志文件
89
+ touch /var/log/aria2.log
90
+ #upbt增加执行权限
91
+ chmod +x /etc/ccaa/upbt.sh
92
+ chmod +x ccaa-master/ccaa
93
+ cp ccaa-master/ccaa /usr/sbin
94
+ cd
95
+ }
96
+ #自动放行端口
97
+ function chk_firewall(){
98
+ if [ -e "/etc/sysconfig/iptables" ]
99
+ then
100
+ iptables -I INPUT -p tcp --dport 6080 -j ACCEPT
101
+ iptables -I INPUT -p tcp --dport 6081 -j ACCEPT
102
+ iptables -I INPUT -p tcp --dport 6800 -j ACCEPT
103
+ iptables -I INPUT -p tcp --dport 6998 -j ACCEPT
104
+ iptables -I INPUT -p tcp --dport 51413 -j ACCEPT
105
+ service iptables save
106
+ service iptables restart
107
+ elif [ -e "/etc/firewalld/zones/public.xml" ]
108
+ then
109
+ firewall-cmd --zone=public --add-port=6080/tcp --permanent
110
+ firewall-cmd --zone=public --add-port=6081/tcp --permanent
111
+ firewall-cmd --zone=public --add-port=6800/tcp --permanent
112
+ firewall-cmd --zone=public --add-port=6998/tcp --permanent
113
+ firewall-cmd --zone=public --add-port=51413/tcp --permanent
114
+ firewall-cmd --reload
115
+ elif [ -e "/etc/ufw/before.rules" ]
116
+ then
117
+ sudo ufw allow 6080/tcp
118
+ sudo ufw allow 6081/tcp
119
+ sudo ufw allow 6800/tcp
120
+ sudo ufw allow 6998/tcp
121
+ sudo ufw allow 51413/tcp
122
+ fi
123
+ }
124
+ #删除端口
125
+ function del_post() {
126
+ if [ -e "/etc/sysconfig/iptables" ]
127
+ then
128
+ sed -i '/^.*6080.*/'d /etc/sysconfig/iptables
129
+ sed -i '/^.*6081.*/'d /etc/sysconfig/iptables
130
+ sed -i '/^.*6800.*/'d /etc/sysconfig/iptables
131
+ sed -i '/^.*6998.*/'d /etc/sysconfig/iptables
132
+ sed -i '/^.*51413.*/'d /etc/sysconfig/iptables
133
+ service iptables save
134
+ service iptables restart
135
+ elif [ -e "/etc/firewalld/zones/public.xml" ]
136
+ then
137
+ firewall-cmd --zone=public --remove-port=6080/tcp --permanent
138
+ firewall-cmd --zone=public --remove-port=6081/tcp --permanent
139
+ firewall-cmd --zone=public --remove-port=6800/tcp --permanent
140
+ firewall-cmd --zone=public --remove-port=6998/tcp --permanent
141
+ firewall-cmd --zone=public --remove-port=51413/tcp --permanent
142
+ firewall-cmd --reload
143
+ elif [ -e "/etc/ufw/before.rules" ]
144
+ then
145
+ sudo ufw delete 6080/tcp
146
+ sudo ufw delete 6081/tcp
147
+ sudo ufw delete 6800/tcp
148
+ sudo ufw delete 6998/tcp
149
+ sudo ufw delete 51413/tcp
150
+ fi
151
+ }
152
+ #添加服务
153
+ function add_service() {
154
+ if [ -d "/etc/systemd/system" ]
155
+ then
156
+ cp /etc/ccaa/services/* /etc/systemd/system
157
+ systemctl daemon-reload
158
+ fi
159
+ }
160
+ #设置账号密码
161
+ function setting(){
162
+ cd
163
+ cd ./ccaa_tmp
164
+ echo '-------------------------------------------------------------'
165
+ read -p "设置下载路径(请填写绝对地址,默认/data/ccaaDown):" downpath
166
+ read -p "Aria2 RPC 密钥:(字母或数字组合,不要含有特殊字符):" secret
167
+ #如果Aria2密钥为空
168
+ while [ -z "${secret}" ]
169
+ do
170
+ read -p "Aria2 RPC 密钥:(字母或数字组合,不要含有特殊字符):" secret
171
+ done
172
+
173
+ #如果下载路径为空,设置默认下载路径
174
+ if [ -z "${downpath}" ]
175
+ then
176
+ downpath='/data/ccaaDown'
177
+ fi
178
+
179
+ #获取ip
180
+ osip=$(curl ipv4.ip.sb)
181
+
182
+ #执行替换操作
183
+ mkdir -p ${downpath}
184
+ sed -i "s%dir=%dir=${downpath}%g" /etc/ccaa/aria2.conf
185
+ sed -i "s/rpc-secret=/rpc-secret=${secret}/g" /etc/ccaa/aria2.conf
186
+ #替换filebrowser读取路径
187
+ sed -i "s%ccaaDown%${downpath}%g" /etc/ccaa/config.json
188
+ #替换AriaNg服务器链接
189
+ sed -i "s/server_ip/${osip}/g" /etc/ccaa/AriaNg/index.html
190
+
191
+ #更新tracker
192
+ bash /etc/ccaa/upbt.sh
193
+
194
+ #安装AriaNg
195
+ wget ${ccaa_web_url}
196
+ tar -zxvf ccaa_web.tar.gz
197
+ cp ccaa_web /usr/sbin/
198
+ chmod +x /usr/sbin/ccaa_web
199
+
200
+ #启动服务
201
+ nohup sudo -u ccaa aria2c --conf-path=/etc/ccaa/aria2.conf > /var/log/aria2.log 2>&1 &
202
+ #nohup caddy -conf="/etc/ccaa/caddy.conf" > /etc/ccaa/caddy.log 2>&1 &
203
+ nohup sudo -u ccaa /usr/sbin/ccaa_web > /var/log/ccaa_web.log 2>&1 &
204
+ #运行filebrowser
205
+ nohup sudo -u ccaa filebrowser -c /etc/ccaa/config.json > /var/log/fbrun.log 2>&1 &
206
+
207
+ #重置权限
208
+ chown -R ccaa:ccaa /etc/ccaa/
209
+ chown -R ccaa:ccaa ${downpath}
210
+
211
+ #注册服务
212
+ add_service
213
+
214
+ echo '-------------------------------------------------------------'
215
+ echo "大功告成,请访问: http://${osip}:6080/"
216
+ echo 'File Browser 用户名:ccaa'
217
+ echo 'File Browser 密码:admin'
218
+ echo 'Aria2 RPC 密钥:' ${secret}
219
+ echo '帮助文档: https://dwz.ovh/ccaa (必看)'
220
+ echo '-------------------------------------------------------------'
221
+ }
222
+ #清理工作
223
+ function cleanup(){
224
+ cd
225
+ rm -rf ccaa_tmp
226
+ #rm -rf *.conf
227
+ #rm -rf init
228
+ }
229
+
230
+ #卸载
231
+ function uninstall(){
232
+ wget -O ccaa-uninstall.sh https://raw.githubusercontent.com/helloxz/ccaa/master/uninstall.sh
233
+ bash ccaa-uninstall.sh
234
+ }
235
+
236
+ #选择安装方式
237
+ echo "------------------------------------------------"
238
+ echo "Linux + File Browser + Aria2 + AriaNg一键安装脚本(CCAA)"
239
+ echo "1) 安装CCAA"
240
+ echo "2) 卸载CCAA"
241
+ echo "3) 更新bt-tracker"
242
+ echo "q) 退出!"
243
+ read -p ":" istype
244
+ case $istype in
245
+ 1)
246
+ check
247
+ setout
248
+ chk_firewall
249
+ install_aria2 && \
250
+ install_file_browser && \
251
+ dealconf && \
252
+ setting && \
253
+ cleanup
254
+ ;;
255
+ 2)
256
+ uninstall
257
+ ;;
258
+ 3)
259
+ bash /etc/ccaa/upbt.sh
260
+ ;;
261
+ q)
262
+ exit
263
+ ;;
264
+ *) echo '参数错误!'
265
+ esac
ccaa_dir/AriaNg/LICENSE ADDED
@@ -0,0 +1,21 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2016-2020 MaysWind ([email protected])
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
ccaa_dir/AriaNg/css/aria-ng-70e1362684.min.css ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ /*!
2
+ * AriaNg
3
+ * https://github.com/mayswind/AriaNg
4
+ */body,html{margin:0;padding:0}body{-ms-user-select:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}td{vertical-align:middle!important}.blur{-webkit-filter:blur(5px);-moz-filter:blur(5px);-ms-filter:blur(5px);filter:blur(5px);filter:progid:DXImageTransform.Microsoft.Blur(PixelRadius=5,MakeShadow=false)}.disable-overlay{position:fixed;left:0;top:0;right:0;bottom:0;z-index:9999;cursor:not-allowed}.main-header .logo{overflow:visible}.main-header .logo .dropdown-menu{z-index:2000}.main-header .navbar .nav>li{display:inline-block}.main-header .navbar .nav>li>a{padding-left:10px;padding-right:10px}.main-header .navbar .nav>li.disabled>a{pointer-events:none!important}.main-header .navbar .navbar-nav{margin-left:5px}.main-header .navbar .navbar-searchbar{padding-top:8px;padding-right:20px;float:right}.main-header .logo .logo-mini{font-size:14px!important}.main-header .logo .logo-lg{cursor:pointer}.main-header .rpcselect-dropdown{max-height:200px;overflow-x:hidden}.main-sidebar{z-index:1010}.content-wrapper{min-height:calc(100vh - 48px)}.content-wrapper,.right-side{background-color:#fff}.content-wrapper>.content-body{overflow-y:scroll}.main-footer>.navbar{margin-bottom:0;min-height:inherit}.main-footer>.navbar>.navbar-toolbar>.nav{float:left;margin:0}.main-footer>.navbar>.navbar-toolbar>.nav>li{display:inline-block;float:left}.main-footer>.navbar>.navbar-toolbar>.nav>li>a{padding:0 10px}.main-footer>.navbar>.navbar-toolbar>.nav>li:first-child>a{padding-left:0}.dropdown-menu.right-align{left:inherit;right:0}.default-cursor{cursor:default!important}.pointer-cursor{cursor:pointer!important}.text-cursor{cursor:text!important}.allow-word-break{word-wrap:break-word;word-break:break-all}.auto-ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:absolute;border:1px solid #eee;background-color:#fff}.main-footer>.navbar>.navbar-toolbar>.nav>li>a{padding-left:8px;padding-right:8px}}.toolbar{cursor:pointer}.toolbar:active{-webkit-box-shadow:inset 0 2px 6px rgba(0,0,0,.125);box-shadow:inset 0 2px 6px rgba(0,0,0,.125)}.dropdown-menu small{color:#999}.dropdown-submenu{position:relative}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;border-radius:0 6px 6px 6px}.dropdown-submenu:hover>.dropdown-menu{display:block}.dropdown-submenu>a:after{display:block;content:" ";float:right;width:0;height:0;border-color:transparent;border-style:solid;border-width:5px 0 5px 5px;border-left-color:#ccc;margin-top:5px;margin-right:-10px}.dropdown-menu>li.dropdown-submenu:hover{background-color:#e1e3e9}.dropdown-submenu:hover>a:after{border-left-color:#fff}.dropdown-submenu.pull-left{float:none}.dropdown-submenu.pull-left>.dropdown-menu{left:-100%;margin-left:10px;border-radius:6px 0 6px 6px}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-thumb{background-clip:padding-box;background-color:#c4d2db;min-height:28px}::-webkit-scrollbar-thumb:active,::-webkit-scrollbar-thumb:hover{background-color:#d4dfe7}@media (max-width:767px){::-webkit-scrollbar{width:6px}}.fade-in.ng-enter{-webkit-transition:all .3s linear;transition:all .3s linear;opacity:0}.fade-in.ng-enter.ng-enter-active{opacity:1}.btn-group+.btn{margin-left:4px}.progress-bar{-webkit-transition:initial!important;transition:initial!important}.input-group-addon-compact{padding:0 4px}.nav-tabs-custom .nav-tabs>li>a{display:inline-block}.nav-tabs-custom .nav-tabs>li>a.nav-tab-close{padding-left:0;margin-left:-12px}.nav-tabs-custom .nav-tabs>li.nav-tab-title-rpcname>a{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}@media (max-width:991px){.nav-tabs-custom .nav-tabs>li.nav-tab-title-rpcname>a{max-width:150px}}@media (max-width:767px){.nav-tabs-custom .nav-tabs>li.nav-tab-title-rpcname>a{max-width:120px}}.input-group.input-group-multiple>.input-group-addon{border-left:0;border-right:0}.input-group.input-group-multiple>.input-group-addon-container:first-child,.input-group.input-group-multiple>.input-group-addon:first-child{border-left:1px solid #d2d6de}.input-group .input-group-addon-container{width:1%;display:table-cell}.fa-half{font-size:.5em}.fa-1_1x{font-size:1.1em}.fa-rotate-45{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-filter:none;filter:none}.fa-right-bottom{right:0;bottom:-6px}.fa-order-asc,.fa-order-desc,.fa-right-bottom{position:relative}.fa-order-asc{bottom:-2px}.fa-order-desc{bottom:2px}.checkbox.checkbox-hide{padding-left:0}.checkbox.checkbox-hide>input,.checkbox.checkbox-hide>input+label:after,.checkbox.checkbox-hide>input+label:before{display:none!important}.checkbox.checkbox-hide>label{padding-left:0}.checkbox-compact{margin-top:2px;margin-bottom:2px}.checkbox-inline{display:inline-block}.icon-dir-expand+.checkbox{margin-left:6px}input-dropdown[input-class-name=form-control]>.input-dropdown{width:100%}.input-dropdown ul{border:1px solid #888}.input-dropdown ul>li.active{background-color:#e1e3e9}.input-dropdown ul>li{padding:2px 14px}.gu-mirror{cursor:grabbing;cursor:-webkit-grabbing}.global-status{cursor:pointer}.global-status>.realtime-speed{padding:0 15px}.global-status>.realtime-speed:first-child{padding-left:5px}.global-status>.realtime-speed:last-child{padding-right:5px}.global-status span.realtime-speed>i{padding-right:2px}.task-table{margin-left:15px;margin-right:15px}.task-table .task-table-title{font-size:12px;padding-top:4px;padding-bottom:4px}.task-table .task-table-title a{color:#000;cursor:pointer}.task-table>.task-table-body.draggable{cursor:move;cursor:grab;cursor:-webkit-grab}.task-table>.task-table-body>div.row{padding-top:8px;padding-bottom:8px;border-top:1px solid #ddd}.task-table>div.row:first-child{border-top:inherit}@media (max-width:767px){.task-table>.task-table-title{display:none!important}.task-table>.task-table-body>div.row:first-child{border-top:inherit}}.task-table .task-name{font-size:14px;display:block}.task-table .peer-name-wrapper{display:inline-block;width:100%}.task-table .task-files,.task-table .task-size{font-size:12px;display:block}.task-table .progress{margin-bottom:0}.task-table .task-last-time,.task-table .task-last-time+.task-download-speed,.task-table .task-seeders{color:#888;font-size:12px}.task-table .task-last-time+.task-download-speed,.task-table .task-seeders{margin-top:1px}.task-table .task-last-time+.task-download-speed{padding-left:20px}.task-table .task-download-speed,.task-table .task-peer-download-speed{font-size:12px}.task-table .checkbox,.task-table .radio{margin-top:0;margin-bottom:0}.task-table .progress{position:relative}.task-table .progress span{position:absolute;display:block;width:100%}.task-table .progress span.progress-lower{color:#000}@media (max-width:767px){.task-table .task-peer-download-speed{float:right}}.task-table .task-right-arrow{visibility:hidden;position:absolute;right:14px;margin-top:-12px}.task-table .row:hover .task-right-arrow,.task-table .row[data-selected=true] .task-right-arrow{visibility:visible}.task-table .task-right-arrow i{color:#c8c8c8;font-size:60px}.task-table .task-right-arrow i:hover{color:#d8d8d8}.settings-table{margin-left:15px;margin-right:15px}.settings-table .settings-table-title{font-size:12px;padding-top:4px;padding-bottom:4px}.settings-table .settings-table-title a{color:#000}.settings-table>div.row{padding-top:8px;padding-bottom:8px;border-top:1px solid #ddd}.settings-table>div.row:first-child{border-top:inherit}.settings-table+.settings-table>div.row:first-child{border-top:1px solid #ddd}.settings-table .input-group-addon{background-color:#eee}.settings-table .asterisk{color:red}.settings-table .description,.settings-table .description-inline{color:#888;font-size:12px;font-weight:400;font-style:normal}.settings-table .description{display:block}.settings-table .description-inline{display:inline-block}.settings-table em{color:#888;font-size:12px;font-weight:400}.settings-table .setting-value .form-group{margin-bottom:0}.settings-table .setting-value .form-group .form-control-icon{color:#3c8dbc}.settings-table .setting-value .form-group select.form-control+.form-control-icon>.form-control-feedback{right:10px}.settings-table .setting-value .input-group .form-group .form-control:focus{z-index:inherit}.settings-table .setting-value .input-group .form-control-rpcport{min-width:70px}.settings-table .setting-value .input-group .form-control-rpcinterface{min-width:100px}@media (max-width:991px){.settings-table .setting-value .input-group .form-control-rpcinterface,.settings-table .setting-value .input-group .form-control-rpcport{min-width:60px}}.settings-table .tip{font-size:12px;padding:4px 8px}.settings-table .multi-line{display:block}@media (max-width:767px){.settings-table .setting-key{font-weight:700}.settings-table .description{display:inline-block}}@media (min-width:768px){.settings-table .setting-key-without-desc{padding-top:6px}}.new-task-table{margin-left:15px;margin-right:15px}.new-task-table>div.row{padding-top:8px;padding-bottom:8px}.new-task-table>div.row:first-child{border-top:inherit}.new-task-table .new-task-toollink>a{margin-right:20px}@media (max-width:767px){.new-task-table .new-task-toollink>a{display:block}}.settings-table .new-task-filter-title{padding-top:6px}.piece-bar-wrapper{height:20px}.piece-bar{width:100%}.piece-map{padding-left:6px;padding-right:2px;line-height:11px}.piece-legends{text-align:center;margin-top:4px;margin-bottom:4px}.piece-legend{display:inline-block;margin-right:4px}.piece-legend>.piece,.piece-map .piece{width:10px;height:10px;background-color:#eef2f4;border:1px solid #dee2e5;display:inline-block;margin-right:1px}.piece-legend>.piece.piece-completed,.piece-map .piece.piece-completed{background-color:#b8dd69;border-color:#b8dd69}.piece-legend>.piece{margin-right:4px}.chart-popover{max-width:320px}.chart-popover .popover-content{padding:0}.chart-pop-wrapper{padding-left:4px;padding-right:4px;overflow-x:hidden}.chart-pop{display:table}.chart-pop .loading{width:100%;height:100%;display:table-cell;text-align:center;vertical-align:middle}.global-status-chart{width:312px;height:200px}.task-status-chart-wrapper{overflow-x:hidden}@-webkit-keyframes three-quarters{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes three-quarters{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.btn-spinner{font-family:sans-serif;font-weight:100}.btn-spinner:not(:required){-webkit-animation:three-quarters 1.25s infinite linear;animation:three-quarters 1.25s infinite linear;border:3px solid #8c8c8c;border-right-color:transparent;border-radius:100%;-webkit-box-sizing:border-box;box-sizing:border-box;display:inline-block;position:relative;vertical-align:middle;overflow:hidden;text-indent:-9999px;width:18px;height:18px}.btn-danger .btn-spinner:not(:required),.btn-primary .btn-spinner:not(:required){border:3px solid #efefef;border-right-color:transparent}.btn-spinner:not(:required){margin-left:-22px;opacity:0;-webkit-transition:margin .4s ease-out,opacity .2s ease-out;transition:margin .4s ease-out,opacity .2s ease-out}.is-loading .btn-spinner{-webkit-transition:margin .2s ease-in,opacity .4s ease-in;transition:margin .2s ease-in,opacity .4s ease-in;margin-left:5px;opacity:1}.skin-aria-ng{overflow-y:hidden}.skin-aria-ng,.skin-aria-ng .h1,.skin-aria-ng .h2,.skin-aria-ng .h3,.skin-aria-ng .h4,.skin-aria-ng .h5,.skin-aria-ng .h6,.skin-aria-ng .main-header .logo,.skin-aria-ng .popover,.skin-aria-ng .sweet-alert,.skin-aria-ng .tooltip,.skin-aria-ng h1,.skin-aria-ng h2,.skin-aria-ng h3,.skin-aria-ng h4,.skin-aria-ng h5,.skin-aria-ng h6{font-family:Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif}.skin-aria-ng .main-header .navbar{background-color:#f6f6f6;border-bottom:1px solid #ddd}.skin-aria-ng .main-header .navbar .nav>li>a{color:#707070;font-size:16px}.skin-aria-ng .main-header .navbar .nav .open>a,.skin-aria-ng .main-header .navbar .nav .open>a:focus,.skin-aria-ng .main-header .navbar .nav .open>a:hover,.skin-aria-ng .main-header .navbar .nav>.active>a,.skin-aria-ng .main-header .navbar .nav>li>a:active,.skin-aria-ng .main-header .navbar .nav>li>a:focus,.skin-aria-ng .main-header .navbar .nav>li>a:hover{color:#0080ff}.skin-aria-ng .main-header .navbar .nav>li.disabled>a{color:#ccc!important}.skin-aria-ng .main-header .navbar .nav>li.divider{padding:10px 0;margin-left:4px;margin-right:4px;border-right:1px solid #ccc;position:relative;top:15px}.skin-aria-ng .main-header .navbar .navbar-searchbar .form-control-icon{color:#999}@media (max-width:767px){.skin-aria-ng .main-header .navbar{padding-left:20px}.skin-aria-ng .main-header .navbar .navbar-nav{margin-left:-10px}.skin-aria-ng .main-header .navbar .nav>li.divider{margin-left:0;margin-right:0;top:5px}}.skin-aria-ng .main-header .logo{background-color:#3c4852;color:#fff;border-bottom:1px solid #59636b}.skin-aria-ng .main-header .logo .logo-lg:hover{color:#ccc}.skin-aria-ng .main-header .logo .logo-lg .logo-lg-title{margin-right:6px}.skin-aria-ng .main-header .logo .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.skin-aria-ng .main-header .logo .dropdown-menu>li.active>a{color:#777;background-color:#fff}.skin-aria-ng .main-header .logo .dropdown-menu>li.active:hover>a{color:#333;background-color:#e1e3e9}.skin-aria-ng .content-header{background:transparent}.skin-aria-ng .left-side,.skin-aria-ng .main-sidebar,.skin-aria-ng .wrapper{background-color:#3c4852}.skin-aria-ng .sidebar-menu>li.header{color:#707070;background-color:#2e343c;padding-top:3px;padding-bottom:3px}.skin-aria-ng .sidebar-menu>li>a{border-left:3px solid transparent;padding-top:9px;padding-bottom:9px}.skin-aria-ng .sidebar-menu>li:hover>a{color:#dfdfdf;background-color:#313a42}.skin-aria-ng .sidebar-menu>li.active>a{color:#5399e8;background-color:#252c30}.skin-aria-ng .sidebar-menu>li.treeview:hover>a{color:#a2b5b9;background-color:#3c4852}.skin-aria-ng .sidebar-menu>li.treeview.active:hover>a,.skin-aria-ng .sidebar-menu>li.treeview.active>a{color:#5399e8;background-color:#3c4852}.skin-aria-ng .sidebar-menu>li.treeview>a:hover{color:#dfdfdf;background-color:#313a42}.skin-aria-ng .sidebar-menu>li.treeview>ul.treeview-menu{margin:0;padding:0;background-color:#3c4852}.skin-aria-ng .sidebar-menu>li.treeview>ul.treeview-menu>li>a{color:#8aa4af;padding:6px 5px 6px 41px}.skin-aria-ng .sidebar-menu>li.treeview>ul.treeview-menu>li>a:hover{color:#dfdfdf;background-color:#313a42}.skin-aria-ng .sidebar-menu>li.treeview>ul.treeview-menu>li.active>a{color:#5399e8;background-color:#252c30}.skin-aria-ng .sidebar-menu i.fa{font-size:18px;margin-right:2px}.skin-aria-ng .sidebar a{color:#a2b5b9}.skin-aria-ng .sidebar a:hover{text-decoration:none}@media (max-width:767px){.skin-aria-ng .main-sidebar{margin-top:5px}}.right-side,.skin-aria-ng .content-wrapper{background-color:#fff}.skin-aria-ng .content-wrapper .form-control[type=text]{padding-left:14px}@media screen and (max-width:767px){.skin-aria-ng .content-wrapper .content{margin-top:5px}}.skin-aria-ng .main-footer{font-size:12px}.skin-aria-ng .main-footer>.navbar{border:0}.skin-aria-ng .main-footer>.navbar>.navbar-toolbar>.nav>li.divider{padding-top:16px;margin-left:4px;margin-right:4px;border-right:1px solid #ccc;position:relative;top:0}.skin-aria-ng .main-footer>.navbar>.navbar-toolbar>.nav>li>a{color:#707070;line-height:17px}.skin-aria-ng .main-footer>.navbar>.navbar-toolbar>.nav>li.open>a,.skin-aria-ng .main-footer>.navbar>.navbar-toolbar>.nav>li>a:active,.skin-aria-ng .main-footer>.navbar>.navbar-toolbar>.nav>li>a:focus,.skin-aria-ng .main-footer>.navbar>.navbar-toolbar>.nav>li>a:hover{color:#0080ff;background:none}.skin-aria-ng .global-status{margin-right:10px;color:inherit}.skin-aria-ng .global-status:hover{border:1px solid #ccc;margin-right:9px;margin-top:-1px}.skin-aria-ng .progress-bar-primary{background-color:#208fe5}.skin-aria-ng .progress-bar-warning{background-color:#f39c12}.skin-aria-ng .icon-primary{color:#3c8dbc}.skin-aria-ng .icon-download{color:#3a89e9}.skin-aria-ng .icon-upload{color:#74a329}.skin-aria-ng .icon-seeder{margin-left:4px;color:#74a329}.skin-aria-ng .icon-error{margin-left:4px;color:#dd4b39}.skin-aria-ng .icon-expand{color:#5399e8}.skin-aria-ng .icon-dir-expand{color:#999}.skin-aria-ng .nav-tabs-custom{-webkit-box-shadow:none;box-shadow:none;margin-bottom:0}.skin-aria-ng .nav-tabs-custom>.nav-tabs{border-bottom:1px dotted #ddd}.skin-aria-ng .nav-tabs-custom>.nav-tabs>li{border-top:0;margin-top:1px;margin-right:2px}.skin-aria-ng .nav-tabs-custom>.nav-tabs>li.active{border-bottom:2px solid #208fe5}.skin-aria-ng .nav-tabs-custom>.nav-tabs>li.slim>a{padding-left:5px;padding-right:5px}.skin-aria-ng .nav-tabs-custom>.nav-tabs>li.slim.active{margin-bottom:-1px;border-bottom:inherit}.skin-aria-ng .nav-tabs-custom>.nav-tabs>li.divider{padding:10px 0;margin-left:4px;margin-right:4px;margin-top:11px;border-right:1px solid #ccc}.skin-aria-ng .nav-tabs-custom>.nav-tabs>li.nav-toolbar{margin-left:15px;margin-right:5px}@media (max-width:767px){.skin-aria-ng .nav-tabs-custom>.nav-tabs>li.nav-toolbar{float:right}}.skin-aria-ng .nav-tabs-custom>.nav-tabs>li.nav-toolbar>.btn-group{margin-right:4px}.skin-aria-ng .nav-tabs-custom>.nav-tabs>li>a{color:#aaa;border:0}.skin-aria-ng .nav-tabs-custom>.nav-tabs>li.active>a,.skin-aria-ng .nav-tabs-custom>.nav-tabs>li>a:active,.skin-aria-ng .nav-tabs-custom>.nav-tabs>li>a:hover{color:#208fe5}.skin-aria-ng .nav-tabs-custom>.nav-tabs>li>a.nav-tab-close:hover{color:#dd4b39!important;margin-left:-14px}.skin-aria-ng .nav-tabs-custom>.nav-tabs>li>a.nav-tab-close:hover>.fa-times:before{content:"\f057";font-size:1.1em}.skin-aria-ng .nav-tabs-custom>.nav-tabs>li>div.btn-group{padding-top:5px;padding-bottom:5px}.skin-aria-ng .tooltip.tooltip-error.in,.skin-aria-ng .tooltip.tooltip-success.in,.skin-aria-ng .tooltip.tooltip-warning.in{filter:alpha(opacity=95);opacity:.95}.skin-aria-ng .tooltip.tooltip-success.top-left .tooltip-arrow,.skin-aria-ng .tooltip.tooltip-success.top-right .tooltip-arrow,.skin-aria-ng .tooltip.tooltip-success.top .tooltip-arrow{border-top-color:#00a65a}.skin-aria-ng .tooltip.tooltip-warning.top-left .tooltip-arrow,.skin-aria-ng .tooltip.tooltip-warning.top-right .tooltip-arrow,.skin-aria-ng .tooltip.tooltip-warning.top .tooltip-arrow{border-top-color:#f39c12}.skin-aria-ng .tooltip.tooltip-error.top-left .tooltip-arrow,.skin-aria-ng .tooltip.tooltip-error.top-right .tooltip-arrow,.skin-aria-ng .tooltip.tooltip-error.top .tooltip-arrow{border-top-color:#dd4b39}.skin-aria-ng .tooltip.tooltip-success.left .tooltip-arrow{border-left-color:#00a65a}.skin-aria-ng .tooltip.tooltip-warning.left .tooltip-arrow{border-left-color:#f39c12}.skin-aria-ng .tooltip.tooltip-error.left .tooltip-arrow{border-left-color:#dd4b39}.skin-aria-ng .tooltip.tooltip-success.right .tooltip-arrow{border-right-color:#00a65a}.skin-aria-ng .tooltip.tooltip-warning.right .tooltip-arrow{border-right-color:#f39c12}.skin-aria-ng .tooltip.tooltip-error.right .tooltip-arrow{border-right-color:#dd4b39}.skin-aria-ng .tooltip.tooltip-success.bottom-left .tooltip-arrow,.skin-aria-ng .tooltip.tooltip-success.bottom-right .tooltip-arrow,.skin-aria-ng .tooltip.tooltip-success.bottom .tooltip-arrow{border-bottom-color:#00a65a}.skin-aria-ng .tooltip.tooltip-warning.bottom-left .tooltip-arrow,.skin-aria-ng .tooltip.tooltip-warning.bottom-right .tooltip-arrow,.skin-aria-ng .tooltip.tooltip-warning.bottom .tooltip-arrow{border-bottom-color:#f39c12}.skin-aria-ng .tooltip.tooltip-error.bottom-left .tooltip-arrow,.skin-aria-ng .tooltip.tooltip-error.bottom-right .tooltip-arrow,.skin-aria-ng .tooltip.tooltip-error.bottom .tooltip-arrow{border-bottom-color:#dd4b39}.skin-aria-ng .tooltip.tooltip-success .tooltip-inner{background-color:#00a65a}.skin-aria-ng .tooltip.tooltip-warning .tooltip-inner{background-color:#f39c12}.skin-aria-ng .tooltip.tooltip-error .tooltip-inner{background-color:#dd4b39}.skin-aria-ng .input-group .form-group.has-success+.input-group-addon{border-color:#00a65a;background-color:#00a65a;color:#fff}.skin-aria-ng .input-group .form-group.has-warning+.input-group-addon{border-color:#f39c12;background-color:#f39c12;color:#fff}.skin-aria-ng .input-group .form-group.has-error+.input-group-addon{border-color:#dd4b39;background-color:#dd4b39;color:#fff}.skin-aria-ng input:-moz-placeholder,.skin-aria-ng input:-ms-input-placeholder,.skin-aria-ng input::-moz-placeholder,.skin-aria-ng input::-webkit-input-placeholder{color:#999}.skin-aria-ng select.placeholder{color:#999}.skin-aria-ng .checkbox-primary input[type=checkbox]:checked+label:before,.skin-aria-ng .checkbox-primary input[type=checkbox]:indeterminate+label:before,.skin-aria-ng .checkbox-primary input[type=radio]:checked+label:before,.skin-aria-ng .checkbox-primary input[type=radio]:indeterminate+label:before{background-color:#208fe5;border-color:#208fe5}.skin-aria-ng .task-table{background-color:#fff}.skin-aria-ng .task-table>.task-table-body>div.row:nth-of-type(odd){background-color:#f9f9f9}.skin-aria-ng .task-table>.task-table-body>div.row:hover{background-color:#f5f5f5}.skin-aria-ng .task-table .peer-client{color:#888;font-size:12px}.skin-aria-ng .settings-table{background-color:#fff}.skin-aria-ng .settings-table.striped>div.row:nth-of-type(odd){background-color:#f9f9f9}.skin-aria-ng .settings-table.striped>div.row.no-background{background-color:inherit}.skin-aria-ng .settings-table.hoverable>div.row:hover{background-color:#f5f5f5}.skin-aria-ng .settings-table.hoverable>div.row.no-hover:hover{background-color:inherit}.skin-aria-ng .settings-table.hoverable>div.row:nth-of-type(odd).no-hover:hover{background-color:#f9f9f9}.skin-aria-ng .new-task-table{background-color:#fff}
ccaa_dir/AriaNg/css/bootstrap-3.4.1.min.css ADDED
The diff for this file is too large to render. See raw diff
 
ccaa_dir/AriaNg/css/plugins-ccac6fc3fc.min.css ADDED
The diff for this file is too large to render. See raw diff
 
ccaa_dir/AriaNg/dindex.html ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html><html ng-app="ariaNg" manifest="index.manifest"><head><meta charset="utf-8"><meta http-equiv="Content-Type" content="text/html;charset=utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no,minimal-ui" name="viewport"><meta name="mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-title" content="AriaNg"><meta name="apple-mobile-web-app-status-bar-style" content="black"><meta name="msapplication-TileColor" content="#3c4852"><meta name="msapplication-TileImage" content="tileicon.png"><meta name="description" content="AriaNg, a modern web frontend making aria2 easier to use."><meta name="theme-color" content="#3c4852"><meta name="format-detection" content="telephone=no"><title>AriaNg</title><link rel="icon" href="favicon.png"><!--[if IE]><link rel="shortcut icon" href="favicon.ico"><![endif]--><link rel="apple-touch-icon" href="touchicon.png"><link rel="stylesheet" href="css/bootstrap-3.4.1.min.css"><link rel="stylesheet" href="css/plugins-ccac6fc3fc.min.css"><link rel="stylesheet" href="css/aria-ng-70e1362684.min.css"></head><body class="hold-transition skin-aria-ng sidebar-mini fixed"><div class="wrapper" ng-controller="MainController" ng-swipe-left="swipeActions.leftSwipe()" ng-swipe-right="swipeActions.rightSwipe()" ng-swipe-disable-mouse><header class="main-header"><div class="logo"><div class="logo-mini">AriaNg</div><div class="logo-lg" title="AriaNg {{ariaNgVersion}}"><div class="dropdown"><span class="dropdown-toggle" data-toggle="dropdown"><span class="logo-lg-title">AriaNg</span><i class="fa fa-caret-right fa-right-bottom fa-rotate-45 fa-half" aria-hidden="true"></i></span><ul class="dropdown-menu dropdown-menu-right rpcselect-dropdown" role="menu"><li ng-repeat="setting in rpcSettings" ng-class="{'active': setting.isDefault}"><a class="pointer-cursor" ng-click="switchRpcSetting(setting)"><span ng-bind="(setting.rpcAlias ? setting.rpcAlias : setting.rpcHost + ':' + setting.rpcPort)">RPC</span> <i class="fa" ng-class="{'fa-check': setting.isDefault}"></i></a></li></ul></div></div></div><nav class="navbar navbar-static-top" role="navigation"><div class="navbar-toolbar"><ul class="nav navbar-nav"><li><a class="toolbar" title="{{'New' | translate}}" ng-href="#!/new"><i class="fa fa-plus"></i> <span translate>New</span></a></li><li class="divider"></li><li class="disabled" ng-class="{'disabled': !isSpecifiedTaskSelected('paused')}"><a class="toolbar" title="{{'Start' | translate}}" ng-click="changeTasksState('start')"><i class="fa fa-play"></i></a></li><li class="disabled" ng-class="{'disabled': !isSpecifiedTaskSelected('active', 'waiting')}"><a class="toolbar" title="{{'Pause' | translate}}" ng-click="changeTasksState('pause')"><i class="fa fa-pause"></i></a></li><li class="disabled" ng-class="{'disabled': !isTaskSelected() && !isSpecifiedTaskShowing('complete', 'error', 'removed')}"><a class="toolbar dropdown-toggle" data-toggle="dropdown" title="{{'Delete' | translate}}"><i class="fa fa-trash-o"></i> <i class="fa fa-caret-right fa-right-bottom fa-rotate-45 fa-half" aria-hidden="true"></i></a><ul class="dropdown-menu" role="menu"><li ng-if="isTaskSelected()"><a class="pointer-cursor" ng-click="removeTasks()"><span translate>Remove Task</span></a></li><li ng-if="taskContext.enableSelectAll && isSpecifiedTaskShowing('complete', 'error', 'removed')"><a class="pointer-cursor" ng-click="clearStoppedTasks()"><span translate>Clear Stopped Tasks</span></a></li></ul></li><li class="divider"></li><li class="disabled" ng-class="{'disabled': !taskContext.enableSelectAll || !taskContext.list || taskContext.list.length < 1}"><a class="toolbar" title="{{'Select All' | translate}}" ng-click="selectAllTasks()"><i class="fa fa-th-large"></i></a></li><li class="disabled" ng-class="{'disabled': !taskContext.enableSelectAll || !taskContext.list || taskContext.list.length < 1}"><a class="toolbar dropdown-toggle" data-toggle="dropdown" title="{{'Display Order' | translate}}"><i class="fa fa-sort-alpha-asc"></i> <i class="fa fa-caret-right fa-right-bottom fa-rotate-45 fa-half" aria-hidden="true"></i></a><ul class="dropdown-menu" role="menu"><li><a class="pointer-cursor" ng-click="changeDisplayOrder('default:asc')"><span translate>Default</span> <i class="fa" ng-class="{'fa-check': isSetDisplayOrder('default')}"></i></a></li><li><a class="pointer-cursor" ng-click="changeDisplayOrder('name:asc')"><span translate>By File Name</span> <i class="fa" ng-class="{'fa-check': isSetDisplayOrder('name')}"></i></a></li><li><a class="pointer-cursor" ng-click="changeDisplayOrder('size:asc')"><span translate>By File Size</span> <i class="fa" ng-class="{'fa-check': isSetDisplayOrder('size')}"></i></a></li><li><a class="pointer-cursor" ng-click="changeDisplayOrder('percent:desc')"><span translate>By Progress</span> <i class="fa" ng-class="{'fa-check': isSetDisplayOrder('percent')}"></i></a></li><li><a class="pointer-cursor" ng-click="changeDisplayOrder('remain:asc')"><span translate>By Remaining</span> <i class="fa" ng-class="{'fa-check': isSetDisplayOrder('remain')}"></i></a></li><li><a class="pointer-cursor" ng-click="changeDisplayOrder('dspeed:desc')"><span translate>By Download Speed</span> <i class="fa" ng-class="{'fa-check': isSetDisplayOrder('dspeed')}"></i></a></li><li><a class="pointer-cursor" ng-click="changeDisplayOrder('uspeed:desc')"><span translate>By Upload Speed</span> <i class="fa" ng-class="{'fa-check': isSetDisplayOrder('uspeed')}"></i></a></li></ul></li><li class="divider"></li><li><a class="toolbar" title="{{'Help' | translate}}" href="https://github.com/mayswind/AriaNg" target="_blank"><i class="fa fa-question-circle-o"></i></a></li></ul></div><div class="navbar-searchbar hidden-xs"><ul class="nav navbar-nav"><li><input class="form-control" ng-placeholder="('Search' | translate)" title="{{'Search' | translate}}" ng-model="searchContext.text"><div class="form-control-icon"><span class="fa fa-search form-control-feedback"></span></div></li></ul></div></nav></header><aside class="main-sidebar"><section class="sidebar"><ul id="siderbar-menu" class="sidebar-menu" data-widget="tree" data-animation-speed="300"><li class="header" translate>Download</li><li data-href-match="/downloading"><a href="#!/downloading"><i class="fa fa-arrow-circle-o-down"></i> <span ng-bind="('Downloading' | translate) + (globalStat && globalStat.numActive > 0 ? ' (' + globalStat.numActive + ')' : '')">Downloading</span></a></li><li data-href-match="/waiting"><a href="#!/waiting"><i class="fa fa-clock-o"></i> <span ng-bind="('Waiting' | translate) + (globalStat && globalStat.numWaiting > 0 ? ' (' + globalStat.numWaiting + ')' : '')">Waiting</span></a></li><li data-href-match="/stopped"><a href="#!/stopped"><i class="fa fa-check-circle-o"></i> <span ng-bind="('Finished / Stopped' | translate) + (globalStat && globalStat.numStopped > 0 ? ' (' + globalStat.numStopped + ')' : '')">Finished / Stopped</span></a></li><li class="header" translate>Settings</li><li data-href-match="/settings/ariang"><a href="#!/settings/ariang"><i class="fa fa-cog"></i> <span translate>AriaNg Settings</span></a></li><li class="treeview"><a href="javascript:void(0);"><i class="fa fa-cogs"></i> <span translate>Aria2 Settings</span> <span class="pull-right-container"><i class="fa fa-angle-left pull-right"></i></span></a><ul class="treeview-menu"><li data-href-match="/settings/aria2/basic"><a href="#!/settings/aria2/basic"><span translate>Basic Settings</span></a></li><li data-href-match="/settings/aria2/http-ftp-sftp"><a href="#!/settings/aria2/http-ftp-sftp"><span translate>HTTP/FTP/SFTP Settings</span></a></li><li data-href-match="/settings/aria2/http"><a href="#!/settings/aria2/http"><span translate>HTTP Settings</span></a></li><li data-href-match="/settings/aria2/ftp-sftp"><a href="#!/settings/aria2/ftp-sftp"><span translate>FTP/SFTP Settings</span></a></li><li data-href-match="/settings/aria2/bt"><a href="#!/settings/aria2/bt"><span translate>BitTorrent Settings</span></a></li><li data-href-match="/settings/aria2/metalink"><a href="#!/settings/aria2/metalink"><span translate>Metalink Settings</span></a></li><li data-href-match="/settings/aria2/rpc"><a href="#!/settings/aria2/rpc"><span translate>RPC Settings</span></a></li><li data-href-match="/settings/aria2/advanced"><a href="#!/settings/aria2/advanced"><span translate>Advanced Settings</span></a></li></ul></li><li class="ng-cloak" data-href-match="/debug" ng-if="enableDebugMode()"><a href="#!/debug"><i class="fa fa-wrench"></i> <span translate>AriaNg Debug Console</span></a></li><li data-href-match="/status"><a href="#!/status"><span class="label pull-right" ng-if="globalStatusContext.isEnabled || isCurrentRpcUseWebSocket" ng-class="{'label-primary': taskContext.rpcStatus === 'Connecting', 'label-success': taskContext.rpcStatus === 'Connected', 'label-danger': taskContext.rpcStatus === 'Disconnected'}" ng-bind="taskContext.rpcStatus | translate"></span> <i class="fa fa-server"></i> <span translate>Aria2 Status</span></a></li>
2
+ <li>
3
+ <a class="toolbar" id = "filem" title="文件管理" href="javascript:;" target = "_blank">
4
+ <i class="fa fa-folder-o"></i> 文件管理
5
+ </a>
6
+ </li>
7
+ </ul></section></aside><div id="content-wrapper" class="content-wrapper"><div id="content-body" class="content-body"><div ng-view cg-busy="{ promise: loadPromise, message: ('Loading' | translate) }"></div></div></div><footer class="main-footer"><nav class="navbar" role="navigation"><div class="navbar-toolbar"><ul class="nav navbar-nav"><li><a data-toggle="push-menu" role="button" title="{{'Toggle Navigation' | translate}}"><i class="fa fa-bars"></i></a></li><li class="divider"></li><li class="dropup"><a class="dropdown-toggle" data-toggle="dropdown" role="button" title="{{'Shortcut' | translate}}"><i class="fa fa-wrench"></i> <span translate>Shortcut</span> <i class="fa fa-caret-right fa-right-bottom fa-rotate-45 fa-half" aria-hidden="true"></i></a><ul class="dropdown-menu" role="menu"><li><a class="pointer-cursor" ng-click="showQuickSettingDialog('globalSpeedLimit', 'Global Rate Limit')"><span translate>Global Rate Limit</span></a></li></ul></li></ul></div><div class="pull-right ng-cloak" ng-if="globalStatusContext.isEnabled"><a class="global-status" title="{{('Click to pin' | translate)}}" ng-pop-chart ng-data="globalStatusContext.data" ng-container="body" ng-placement="top" ng-trigger="click hover" ng-popover-class="global-status-chart"><span class="realtime-speed"><i class="icon-download fa fa-arrow-down"></i> <span ng-bind="(globalStat.downloadSpeed | readableVolume) + '/s'"></span> </span><span class="realtime-speed"><i class="icon-upload fa fa-arrow-up"></i> <span ng-bind="(globalStat.uploadSpeed | readableVolume) + '/s'"></span></span></a></div></nav></footer><ng-setting-dialog setting="quickSettingContext"></ng-setting-dialog></div><script src="js/jquery-3.3.1.min.js"></script><script src="js/angular-packages-1.6.10.min.js"></script><script src="js/bootstrap-3.4.1.min.js"></script><script src="js/moment-with-locales-2.24.0.min.js"></script><script src="js/echarts-common-3.8.5.min.js"></script><script src="js/plugins-cc1df97b8f.min.js"></script><script src="js/aria-ng-da5356c403.min.js"></script>
8
+ <script type="text/javascript">
9
+ $(document).ready(function(){
10
+ var myhost = document.domain;
11
+ setTimeout(function(){$("#filem").attr('href','http://' + myhost + ':6081');},3000);
12
+ });
13
+ </script>
14
+ </body></html>
ccaa_dir/AriaNg/favicon.ico ADDED
ccaa_dir/AriaNg/favicon.png ADDED
ccaa_dir/AriaNg/fonts/fontawesome-webfont.eot ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7bfcab6db99d5cfbf1705ca0536ddc78585432cc5fa41bbd7ad0f009033b2979
3
+ size 165742
ccaa_dir/AriaNg/fonts/fontawesome-webfont.svg ADDED
ccaa_dir/AriaNg/fonts/fontawesome-webfont.ttf ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:aa58f33f239a0fb02f5c7a6c45c043d7a9ac9a093335806694ecd6d4edc0d6a8
3
+ size 165548
ccaa_dir/AriaNg/fonts/fontawesome-webfont.woff ADDED
Binary file (98 kB). View file
 
ccaa_dir/AriaNg/fonts/fontawesome-webfont.woff2 ADDED
Binary file (77.2 kB). View file
 
ccaa_dir/AriaNg/index.html ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html><html ng-app="ariaNg" manifest="index.manifest"><head><meta charset="utf-8"><meta http-equiv="Content-Type" content="text/html;charset=utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no,minimal-ui" name="viewport"><meta name="mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-title" content="AriaNg"><meta name="apple-mobile-web-app-status-bar-style" content="black"><meta name="msapplication-TileColor" content="#3c4852"><meta name="msapplication-TileImage" content="tileicon.png"><meta name="description" content="AriaNg, a modern web frontend making aria2 easier to use."><meta name="theme-color" content="#3c4852"><meta name="format-detection" content="telephone=no"><title>AriaNg</title><link rel="icon" href="favicon.png"><!--[if IE]><link rel="shortcut icon" href="favicon.ico"><![endif]--><link rel="apple-touch-icon" href="touchicon.png"><link rel="stylesheet" href="css/bootstrap-3.4.1.min.css"><link rel="stylesheet" href="css/plugins-ccac6fc3fc.min.css"><link rel="stylesheet" href="css/aria-ng-70e1362684.min.css"></head><body class="hold-transition skin-aria-ng sidebar-mini fixed"><div class="wrapper" ng-controller="MainController" ng-swipe-left="swipeActions.leftSwipe()" ng-swipe-right="swipeActions.rightSwipe()" ng-swipe-disable-mouse><header class="main-header"><div class="logo"><div class="logo-mini">AriaNg</div><div class="logo-lg" title="AriaNg {{ariaNgVersion}}"><div class="dropdown"><span class="dropdown-toggle" data-toggle="dropdown"><span class="logo-lg-title">AriaNg</span><i class="fa fa-caret-right fa-right-bottom fa-rotate-45 fa-half" aria-hidden="true"></i></span><ul class="dropdown-menu dropdown-menu-right rpcselect-dropdown" role="menu"><li ng-repeat="setting in rpcSettings" ng-class="{'active': setting.isDefault}"><a class="pointer-cursor" ng-click="switchRpcSetting(setting)"><span ng-bind="(setting.rpcAlias ? setting.rpcAlias : setting.rpcHost + ':' + setting.rpcPort)">RPC</span> <i class="fa" ng-class="{'fa-check': setting.isDefault}"></i></a></li></ul></div></div></div><nav class="navbar navbar-static-top" role="navigation"><div class="navbar-toolbar"><ul class="nav navbar-nav"><li><a class="toolbar" title="{{'New' | translate}}" ng-href="#!/new"><i class="fa fa-plus"></i> <span translate>New</span></a></li><li class="divider"></li><li class="disabled" ng-class="{'disabled': !isSpecifiedTaskSelected('paused')}"><a class="toolbar" title="{{'Start' | translate}}" ng-click="changeTasksState('start')"><i class="fa fa-play"></i></a></li><li class="disabled" ng-class="{'disabled': !isSpecifiedTaskSelected('active', 'waiting')}"><a class="toolbar" title="{{'Pause' | translate}}" ng-click="changeTasksState('pause')"><i class="fa fa-pause"></i></a></li><li class="disabled" ng-class="{'disabled': !isTaskSelected() && !isSpecifiedTaskShowing('complete', 'error', 'removed')}"><a class="toolbar dropdown-toggle" data-toggle="dropdown" title="{{'Delete' | translate}}"><i class="fa fa-trash-o"></i> <i class="fa fa-caret-right fa-right-bottom fa-rotate-45 fa-half" aria-hidden="true"></i></a><ul class="dropdown-menu" role="menu"><li ng-if="isTaskSelected()"><a class="pointer-cursor" ng-click="removeTasks()"><span translate>Remove Task</span></a></li><li ng-if="taskContext.enableSelectAll && isSpecifiedTaskShowing('complete', 'error', 'removed')"><a class="pointer-cursor" ng-click="clearStoppedTasks()"><span translate>Clear Stopped Tasks</span></a></li></ul></li><li class="divider"></li><li class="disabled" ng-class="{'disabled': !taskContext.enableSelectAll || !taskContext.list || taskContext.list.length < 1}"><a class="toolbar" title="{{'Select All' | translate}}" ng-click="selectAllTasks()"><i class="fa fa-th-large"></i></a></li><li class="disabled" ng-class="{'disabled': !taskContext.enableSelectAll || !taskContext.list || taskContext.list.length < 1}"><a class="toolbar dropdown-toggle" data-toggle="dropdown" title="{{'Display Order' | translate}}"><i class="fa fa-sort-alpha-asc"></i> <i class="fa fa-caret-right fa-right-bottom fa-rotate-45 fa-half" aria-hidden="true"></i></a><ul class="dropdown-menu" role="menu"><li><a class="pointer-cursor" ng-click="changeDisplayOrder('default:asc')"><span translate>Default</span> <i class="fa" ng-class="{'fa-check': isSetDisplayOrder('default')}"></i></a></li><li><a class="pointer-cursor" ng-click="changeDisplayOrder('name:asc')"><span translate>By File Name</span> <i class="fa" ng-class="{'fa-check': isSetDisplayOrder('name')}"></i></a></li><li><a class="pointer-cursor" ng-click="changeDisplayOrder('size:asc')"><span translate>By File Size</span> <i class="fa" ng-class="{'fa-check': isSetDisplayOrder('size')}"></i></a></li><li><a class="pointer-cursor" ng-click="changeDisplayOrder('percent:desc')"><span translate>By Progress</span> <i class="fa" ng-class="{'fa-check': isSetDisplayOrder('percent')}"></i></a></li><li><a class="pointer-cursor" ng-click="changeDisplayOrder('remain:asc')"><span translate>By Remaining</span> <i class="fa" ng-class="{'fa-check': isSetDisplayOrder('remain')}"></i></a></li><li><a class="pointer-cursor" ng-click="changeDisplayOrder('dspeed:desc')"><span translate>By Download Speed</span> <i class="fa" ng-class="{'fa-check': isSetDisplayOrder('dspeed')}"></i></a></li><li><a class="pointer-cursor" ng-click="changeDisplayOrder('uspeed:desc')"><span translate>By Upload Speed</span> <i class="fa" ng-class="{'fa-check': isSetDisplayOrder('uspeed')}"></i></a></li></ul></li><li class="divider"></li><li><a class="toolbar" title="{{'Help' | translate}}" href="https://github.com/mayswind/AriaNg" target="_blank"><i class="fa fa-question-circle-o"></i></a></li></ul></div><div class="navbar-searchbar hidden-xs"><ul class="nav navbar-nav"><li><input class="form-control" ng-placeholder="('Search' | translate)" title="{{'Search' | translate}}" ng-model="searchContext.text"><div class="form-control-icon"><span class="fa fa-search form-control-feedback"></span></div></li></ul></div></nav></header><aside class="main-sidebar"><section class="sidebar"><ul id="siderbar-menu" class="sidebar-menu" data-widget="tree" data-animation-speed="300"><li class="header" translate>Download</li><li data-href-match="/downloading"><a href="#!/downloading"><i class="fa fa-arrow-circle-o-down"></i> <span ng-bind="('Downloading' | translate) + (globalStat && globalStat.numActive > 0 ? ' (' + globalStat.numActive + ')' : '')">Downloading</span></a></li><li data-href-match="/waiting"><a href="#!/waiting"><i class="fa fa-clock-o"></i> <span ng-bind="('Waiting' | translate) + (globalStat && globalStat.numWaiting > 0 ? ' (' + globalStat.numWaiting + ')' : '')">Waiting</span></a></li><li data-href-match="/stopped"><a href="#!/stopped"><i class="fa fa-check-circle-o"></i> <span ng-bind="('Finished / Stopped' | translate) + (globalStat && globalStat.numStopped > 0 ? ' (' + globalStat.numStopped + ')' : '')">Finished / Stopped</span></a></li><li class="header" translate>Settings</li><li data-href-match="/settings/ariang"><a href="#!/settings/ariang"><i class="fa fa-cog"></i> <span translate>AriaNg Settings</span></a></li><li class="treeview"><a href="javascript:void(0);"><i class="fa fa-cogs"></i> <span translate>Aria2 Settings</span> <span class="pull-right-container"><i class="fa fa-angle-left pull-right"></i></span></a><ul class="treeview-menu"><li data-href-match="/settings/aria2/basic"><a href="#!/settings/aria2/basic"><span translate>Basic Settings</span></a></li><li data-href-match="/settings/aria2/http-ftp-sftp"><a href="#!/settings/aria2/http-ftp-sftp"><span translate>HTTP/FTP/SFTP Settings</span></a></li><li data-href-match="/settings/aria2/http"><a href="#!/settings/aria2/http"><span translate>HTTP Settings</span></a></li><li data-href-match="/settings/aria2/ftp-sftp"><a href="#!/settings/aria2/ftp-sftp"><span translate>FTP/SFTP Settings</span></a></li><li data-href-match="/settings/aria2/bt"><a href="#!/settings/aria2/bt"><span translate>BitTorrent Settings</span></a></li><li data-href-match="/settings/aria2/metalink"><a href="#!/settings/aria2/metalink"><span translate>Metalink Settings</span></a></li><li data-href-match="/settings/aria2/rpc"><a href="#!/settings/aria2/rpc"><span translate>RPC Settings</span></a></li><li data-href-match="/settings/aria2/advanced"><a href="#!/settings/aria2/advanced"><span translate>Advanced Settings</span></a></li></ul></li><li class="ng-cloak" data-href-match="/debug" ng-if="enableDebugMode()"><a href="#!/debug"><i class="fa fa-wrench"></i> <span translate>AriaNg Debug Console</span></a></li><li data-href-match="/status"><a href="#!/status"><span class="label pull-right" ng-if="globalStatusContext.isEnabled || isCurrentRpcUseWebSocket" ng-class="{'label-primary': taskContext.rpcStatus === 'Connecting', 'label-success': taskContext.rpcStatus === 'Connected', 'label-danger': taskContext.rpcStatus === 'Disconnected'}" ng-bind="taskContext.rpcStatus | translate"></span> <i class="fa fa-server"></i> <span translate>Aria2 Status</span></a></li>
2
+ <li>
3
+ <a class="toolbar" title="文件管理" href="http://server_ip:6081/" target="_blank">
4
+ <i class="fa fa-folder-o"></i> 文件管理
5
+ </a>
6
+ </li>
7
+ </ul></section></aside><div id="content-wrapper" class="content-wrapper"><div id="content-body" class="content-body"><div ng-view cg-busy="{ promise: loadPromise, message: ('Loading' | translate) }"></div></div></div><footer class="main-footer"><nav class="navbar" role="navigation"><div class="navbar-toolbar"><ul class="nav navbar-nav"><li><a data-toggle="push-menu" role="button" title="{{'Toggle Navigation' | translate}}"><i class="fa fa-bars"></i></a></li><li class="divider"></li><li class="dropup"><a class="dropdown-toggle" data-toggle="dropdown" role="button" title="{{'Shortcut' | translate}}"><i class="fa fa-wrench"></i> <span translate>Shortcut</span> <i class="fa fa-caret-right fa-right-bottom fa-rotate-45 fa-half" aria-hidden="true"></i></a><ul class="dropdown-menu" role="menu"><li><a class="pointer-cursor" ng-click="showQuickSettingDialog('globalSpeedLimit', 'Global Rate Limit')"><span translate>Global Rate Limit</span></a></li></ul></li></ul></div><div class="pull-right ng-cloak" ng-if="globalStatusContext.isEnabled"><a class="global-status" title="{{('Click to pin' | translate)}}" ng-pop-chart ng-data="globalStatusContext.data" ng-container="body" ng-placement="top" ng-trigger="click hover" ng-popover-class="global-status-chart"><span class="realtime-speed"><i class="icon-download fa fa-arrow-down"></i> <span ng-bind="(globalStat.downloadSpeed | readableVolume) + '/s'"></span> </span><span class="realtime-speed"><i class="icon-upload fa fa-arrow-up"></i> <span ng-bind="(globalStat.uploadSpeed | readableVolume) + '/s'"></span></span></a></div></nav></footer><ng-setting-dialog setting="quickSettingContext"></ng-setting-dialog></div><script src="js/jquery-3.3.1.min.js"></script><script src="js/angular-packages-1.6.10.min.js"></script><script src="js/bootstrap-3.4.1.min.js"></script><script src="js/moment-with-locales-2.24.0.min.js"></script><script src="js/echarts-common-3.8.5.min.js"></script><script src="js/plugins-cc1df97b8f.min.js"></script><script src="js/aria-ng-da5356c403.min.js"></script></body></html>
ccaa_dir/AriaNg/index.manifest ADDED
@@ -0,0 +1,23 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ CACHE MANIFEST
2
+
3
+ CACHE:
4
+ css/aria-ng-70e1362684.min.css
5
+ css/bootstrap-3.4.1.min.css
6
+ css/plugins-ccac6fc3fc.min.css
7
+ js/angular-packages-1.6.10.min.js
8
+ js/aria-ng-da5356c403.min.js
9
+ js/bootstrap-3.4.1.min.js
10
+ js/echarts-common-3.8.5.min.js
11
+ js/jquery-3.3.1.min.js
12
+ js/moment-with-locales-2.24.0.min.js
13
+ js/plugins-cc1df97b8f.min.js
14
+ fonts/fontawesome-webfont.woff2
15
+ index.html
16
+
17
+ NETWORK:
18
+ *
19
+
20
+ SETTINGS:
21
+ prefer-online
22
+
23
+ # hash: fa5a7f64f538edccc1eecff90ab96dffcbfa73bf7317501f6f3d3023e3a96b2b
ccaa_dir/AriaNg/js/angular-packages-1.6.10.min.js ADDED
The diff for this file is too large to render. See raw diff
 
ccaa_dir/AriaNg/js/aria-ng-da5356c403.min.js ADDED
The diff for this file is too large to render. See raw diff
 
ccaa_dir/AriaNg/js/bootstrap-3.4.1.min.js ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ /*!
2
+ * Bootstrap v3.4.1 (https://getbootstrap.com/)
3
+ * Copyright 2011-2019 Twitter, Inc.
4
+ * Licensed under the MIT license
5
+ */
6
+ if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");!function(t){"use strict";var e=jQuery.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||3<e[0])throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(),function(n){"use strict";n.fn.emulateTransitionEnd=function(t){var e=!1,i=this;n(this).one("bsTransitionEnd",function(){e=!0});return setTimeout(function(){e||n(i).trigger(n.support.transition.end)},t),this},n(function(){n.support.transition=function o(){var t=document.createElement("bootstrap"),e={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var i in e)if(t.style[i]!==undefined)return{end:e[i]};return!1}(),n.support.transition&&(n.event.special.bsTransitionEnd={bindType:n.support.transition.end,delegateType:n.support.transition.end,handle:function(t){if(n(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}})})}(jQuery),function(s){"use strict";var e='[data-dismiss="alert"]',a=function(t){s(t).on("click",e,this.close)};a.VERSION="3.4.1",a.TRANSITION_DURATION=150,a.prototype.close=function(t){var e=s(this),i=e.attr("data-target");i||(i=(i=e.attr("href"))&&i.replace(/.*(?=#[^\s]*$)/,"")),i="#"===i?[]:i;var o=s(document).find(i);function n(){o.detach().trigger("closed.bs.alert").remove()}t&&t.preventDefault(),o.length||(o=e.closest(".alert")),o.trigger(t=s.Event("close.bs.alert")),t.isDefaultPrevented()||(o.removeClass("in"),s.support.transition&&o.hasClass("fade")?o.one("bsTransitionEnd",n).emulateTransitionEnd(a.TRANSITION_DURATION):n())};var t=s.fn.alert;s.fn.alert=function o(i){return this.each(function(){var t=s(this),e=t.data("bs.alert");e||t.data("bs.alert",e=new a(this)),"string"==typeof i&&e[i].call(t)})},s.fn.alert.Constructor=a,s.fn.alert.noConflict=function(){return s.fn.alert=t,this},s(document).on("click.bs.alert.data-api",e,a.prototype.close)}(jQuery),function(s){"use strict";var n=function(t,e){this.$element=s(t),this.options=s.extend({},n.DEFAULTS,e),this.isLoading=!1};function i(o){return this.each(function(){var t=s(this),e=t.data("bs.button"),i="object"==typeof o&&o;e||t.data("bs.button",e=new n(this,i)),"toggle"==o?e.toggle():o&&e.setState(o)})}n.VERSION="3.4.1",n.DEFAULTS={loadingText:"loading..."},n.prototype.setState=function(t){var e="disabled",i=this.$element,o=i.is("input")?"val":"html",n=i.data();t+="Text",null==n.resetText&&i.data("resetText",i[o]()),setTimeout(s.proxy(function(){i[o](null==n[t]?this.options[t]:n[t]),"loadingText"==t?(this.isLoading=!0,i.addClass(e).attr(e,e).prop(e,!0)):this.isLoading&&(this.isLoading=!1,i.removeClass(e).removeAttr(e).prop(e,!1))},this),0)},n.prototype.toggle=function(){var t=!0,e=this.$element.closest('[data-toggle="buttons"]');if(e.length){var i=this.$element.find("input");"radio"==i.prop("type")?(i.prop("checked")&&(t=!1),e.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==i.prop("type")&&(i.prop("checked")!==this.$element.hasClass("active")&&(t=!1),this.$element.toggleClass("active")),i.prop("checked",this.$element.hasClass("active")),t&&i.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var t=s.fn.button;s.fn.button=i,s.fn.button.Constructor=n,s.fn.button.noConflict=function(){return s.fn.button=t,this},s(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(t){var e=s(t.target).closest(".btn");i.call(e,"toggle"),s(t.target).is('input[type="radio"], input[type="checkbox"]')||(t.preventDefault(),e.is("input,button")?e.trigger("focus"):e.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(t){s(t.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(t.type))})}(jQuery),function(p){"use strict";var c=function(t,e){this.$element=p(t),this.$indicators=this.$element.find(".carousel-indicators"),this.options=e,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",p.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",p.proxy(this.pause,this)).on("mouseleave.bs.carousel",p.proxy(this.cycle,this))};function r(n){return this.each(function(){var t=p(this),e=t.data("bs.carousel"),i=p.extend({},c.DEFAULTS,t.data(),"object"==typeof n&&n),o="string"==typeof n?n:i.slide;e||t.data("bs.carousel",e=new c(this,i)),"number"==typeof n?e.to(n):o?e[o]():i.interval&&e.pause().cycle()})}c.VERSION="3.4.1",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(t){if(!/input|textarea/i.test(t.target.tagName)){switch(t.which){case 37:this.prev();break;case 39:this.next();break;default:return}t.preventDefault()}},c.prototype.cycle=function(t){return t||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(p.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(t){return this.$items=t.parent().children(".item"),this.$items.index(t||this.$active)},c.prototype.getItemForDirection=function(t,e){var i=this.getItemIndex(e);if(("prev"==t&&0===i||"next"==t&&i==this.$items.length-1)&&!this.options.wrap)return e;var o=(i+("prev"==t?-1:1))%this.$items.length;return this.$items.eq(o)},c.prototype.to=function(t){var e=this,i=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(t>this.$items.length-1||t<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){e.to(t)}):i==t?this.pause().cycle():this.slide(i<t?"next":"prev",this.$items.eq(t))},c.prototype.pause=function(t){return t||(this.paused=!0),this.$element.find(".next, .prev").length&&p.support.transition&&(this.$element.trigger(p.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){if(!this.sliding)return this.slide("next")},c.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},c.prototype.slide=function(t,e){var i=this.$element.find(".item.active"),o=e||this.getItemForDirection(t,i),n=this.interval,s="next"==t?"left":"right",a=this;if(o.hasClass("active"))return this.sliding=!1;var r=o[0],l=p.Event("slide.bs.carousel",{relatedTarget:r,direction:s});if(this.$element.trigger(l),!l.isDefaultPrevented()){if(this.sliding=!0,n&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var h=p(this.$indicators.children()[this.getItemIndex(o)]);h&&h.addClass("active")}var d=p.Event("slid.bs.carousel",{relatedTarget:r,direction:s});return p.support.transition&&this.$element.hasClass("slide")?(o.addClass(t),"object"==typeof o&&o.length&&o[0].offsetWidth,i.addClass(s),o.addClass(s),i.one("bsTransitionEnd",function(){o.removeClass([t,s].join(" ")).addClass("active"),i.removeClass(["active",s].join(" ")),a.sliding=!1,setTimeout(function(){a.$element.trigger(d)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(i.removeClass("active"),o.addClass("active"),this.sliding=!1,this.$element.trigger(d)),n&&this.cycle(),this}};var t=p.fn.carousel;p.fn.carousel=r,p.fn.carousel.Constructor=c,p.fn.carousel.noConflict=function(){return p.fn.carousel=t,this};var e=function(t){var e=p(this),i=e.attr("href");i&&(i=i.replace(/.*(?=#[^\s]+$)/,""));var o=e.attr("data-target")||i,n=p(document).find(o);if(n.hasClass("carousel")){var s=p.extend({},n.data(),e.data()),a=e.attr("data-slide-to");a&&(s.interval=!1),r.call(n,s),a&&n.data("bs.carousel").to(a),t.preventDefault()}};p(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),p(window).on("load",function(){p('[data-ride="carousel"]').each(function(){var t=p(this);r.call(t,t.data())})})}(jQuery),function(a){"use strict";var r=function(t,e){this.$element=a(t),this.options=a.extend({},r.DEFAULTS,e),this.$trigger=a('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};function n(t){var e,i=t.attr("data-target")||(e=t.attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,"");return a(document).find(i)}function l(o){return this.each(function(){var t=a(this),e=t.data("bs.collapse"),i=a.extend({},r.DEFAULTS,t.data(),"object"==typeof o&&o);!e&&i.toggle&&/show|hide/.test(o)&&(i.toggle=!1),e||t.data("bs.collapse",e=new r(this,i)),"string"==typeof o&&e[o]()})}r.VERSION="3.4.1",r.TRANSITION_DURATION=350,r.DEFAULTS={toggle:!0},r.prototype.dimension=function(){return this.$element.hasClass("width")?"width":"height"},r.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var t,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(t=e.data("bs.collapse"))&&t.transitioning)){var i=a.Event("show.bs.collapse");if(this.$element.trigger(i),!i.isDefaultPrevented()){e&&e.length&&(l.call(e,"hide"),t||e.data("bs.collapse",null));var o=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[o](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var n=function(){this.$element.removeClass("collapsing").addClass("collapse in")[o](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return n.call(this);var s=a.camelCase(["scroll",o].join("-"));this.$element.one("bsTransitionEnd",a.proxy(n,this)).emulateTransitionEnd(r.TRANSITION_DURATION)[o](this.$element[0][s])}}}},r.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var t=a.Event("hide.bs.collapse");if(this.$element.trigger(t),!t.isDefaultPrevented()){var e=this.dimension();this.$element[e](this.$element[e]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var i=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};if(!a.support.transition)return i.call(this);this.$element[e](0).one("bsTransitionEnd",a.proxy(i,this)).emulateTransitionEnd(r.TRANSITION_DURATION)}}},r.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},r.prototype.getParent=function(){return a(document).find(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(t,e){var i=a(e);this.addAriaAndCollapsedClass(n(i),i)},this)).end()},r.prototype.addAriaAndCollapsedClass=function(t,e){var i=t.hasClass("in");t.attr("aria-expanded",i),e.toggleClass("collapsed",!i).attr("aria-expanded",i)};var t=a.fn.collapse;a.fn.collapse=l,a.fn.collapse.Constructor=r,a.fn.collapse.noConflict=function(){return a.fn.collapse=t,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(t){var e=a(this);e.attr("data-target")||t.preventDefault();var i=n(e),o=i.data("bs.collapse")?"toggle":e.data();l.call(i,o)})}(jQuery),function(a){"use strict";var r='[data-toggle="dropdown"]',o=function(t){a(t).on("click.bs.dropdown",this.toggle)};function l(t){var e=t.attr("data-target");e||(e=(e=t.attr("href"))&&/#[A-Za-z]/.test(e)&&e.replace(/.*(?=#[^\s]*$)/,""));var i="#"!==e?a(document).find(e):null;return i&&i.length?i:t.parent()}function s(o){o&&3===o.which||(a(".dropdown-backdrop").remove(),a(r).each(function(){var t=a(this),e=l(t),i={relatedTarget:this};e.hasClass("open")&&(o&&"click"==o.type&&/input|textarea/i.test(o.target.tagName)&&a.contains(e[0],o.target)||(e.trigger(o=a.Event("hide.bs.dropdown",i)),o.isDefaultPrevented()||(t.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",i)))))}))}o.VERSION="3.4.1",o.prototype.toggle=function(t){var e=a(this);if(!e.is(".disabled, :disabled")){var i=l(e),o=i.hasClass("open");if(s(),!o){"ontouchstart"in document.documentElement&&!i.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",s);var n={relatedTarget:this};if(i.trigger(t=a.Event("show.bs.dropdown",n)),t.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),i.toggleClass("open").trigger(a.Event("shown.bs.dropdown",n))}return!1}},o.prototype.keydown=function(t){if(/(38|40|27|32)/.test(t.which)&&!/input|textarea/i.test(t.target.tagName)){var e=a(this);if(t.preventDefault(),t.stopPropagation(),!e.is(".disabled, :disabled")){var i=l(e),o=i.hasClass("open");if(!o&&27!=t.which||o&&27==t.which)return 27==t.which&&i.find(r).trigger("focus"),e.trigger("click");var n=i.find(".dropdown-menu li:not(.disabled):visible a");if(n.length){var s=n.index(t.target);38==t.which&&0<s&&s--,40==t.which&&s<n.length-1&&s++,~s||(s=0),n.eq(s).trigger("focus")}}}};var t=a.fn.dropdown;a.fn.dropdown=function e(i){return this.each(function(){var t=a(this),e=t.data("bs.dropdown");e||t.data("bs.dropdown",e=new o(this)),"string"==typeof i&&e[i].call(t)})},a.fn.dropdown.Constructor=o,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=t,this},a(document).on("click.bs.dropdown.data-api",s).on("click.bs.dropdown.data-api",".dropdown form",function(t){t.stopPropagation()}).on("click.bs.dropdown.data-api",r,o.prototype.toggle).on("keydown.bs.dropdown.data-api",r,o.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",o.prototype.keydown)}(jQuery),function(a){"use strict";var s=function(t,e){this.options=e,this.$body=a(document.body),this.$element=a(t),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.fixedContent=".navbar-fixed-top, .navbar-fixed-bottom",this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};function r(o,n){return this.each(function(){var t=a(this),e=t.data("bs.modal"),i=a.extend({},s.DEFAULTS,t.data(),"object"==typeof o&&o);e||t.data("bs.modal",e=new s(this,i)),"string"==typeof o?e[o](n):i.show&&e.show(n)})}s.VERSION="3.4.1",s.TRANSITION_DURATION=300,s.BACKDROP_TRANSITION_DURATION=150,s.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},s.prototype.toggle=function(t){return this.isShown?this.hide():this.show(t)},s.prototype.show=function(i){var o=this,t=a.Event("show.bs.modal",{relatedTarget:i});this.$element.trigger(t),this.isShown||t.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){o.$element.one("mouseup.dismiss.bs.modal",function(t){a(t.target).is(o.$element)&&(o.ignoreBackdropClick=!0)})}),this.backdrop(function(){var t=a.support.transition&&o.$element.hasClass("fade");o.$element.parent().length||o.$element.appendTo(o.$body),o.$element.show().scrollTop(0),o.adjustDialog(),t&&o.$element[0].offsetWidth,o.$element.addClass("in"),o.enforceFocus();var e=a.Event("shown.bs.modal",{relatedTarget:i});t?o.$dialog.one("bsTransitionEnd",function(){o.$element.trigger("focus").trigger(e)}).emulateTransitionEnd(s.TRANSITION_DURATION):o.$element.trigger("focus").trigger(e)}))},s.prototype.hide=function(t){t&&t.preventDefault(),t=a.Event("hide.bs.modal"),this.$element.trigger(t),this.isShown&&!t.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(s.TRANSITION_DURATION):this.hideModal())},s.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(t){document===t.target||this.$element[0]===t.target||this.$element.has(t.target).length||this.$element.trigger("focus")},this))},s.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(t){27==t.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},s.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},s.prototype.hideModal=function(){var t=this;this.$element.hide(),this.backdrop(function(){t.$body.removeClass("modal-open"),t.resetAdjustments(),t.resetScrollbar(),t.$element.trigger("hidden.bs.modal")})},s.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},s.prototype.backdrop=function(t){var e=this,i=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var o=a.support.transition&&i;if(this.$backdrop=a(document.createElement("div")).addClass("modal-backdrop "+i).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(t){this.ignoreBackdropClick?this.ignoreBackdropClick=!1:t.target===t.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide())},this)),o&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!t)return;o?this.$backdrop.one("bsTransitionEnd",t).emulateTransitionEnd(s.BACKDROP_TRANSITION_DURATION):t()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var n=function(){e.removeBackdrop(),t&&t()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",n).emulateTransitionEnd(s.BACKDROP_TRANSITION_DURATION):n()}else t&&t()},s.prototype.handleUpdate=function(){this.adjustDialog()},s.prototype.adjustDialog=function(){var t=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&t?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!t?this.scrollbarWidth:""})},s.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},s.prototype.checkScrollbar=function(){var t=window.innerWidth;if(!t){var e=document.documentElement.getBoundingClientRect();t=e.right-Math.abs(e.left)}this.bodyIsOverflowing=document.body.clientWidth<t,this.scrollbarWidth=this.measureScrollbar()},s.prototype.setScrollbar=function(){var t=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"";var n=this.scrollbarWidth;this.bodyIsOverflowing&&(this.$body.css("padding-right",t+n),a(this.fixedContent).each(function(t,e){var i=e.style.paddingRight,o=a(e).css("padding-right");a(e).data("padding-right",i).css("padding-right",parseFloat(o)+n+"px")}))},s.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad),a(this.fixedContent).each(function(t,e){var i=a(e).data("padding-right");a(e).removeData("padding-right"),e.style.paddingRight=i||""})},s.prototype.measureScrollbar=function(){var t=document.createElement("div");t.className="modal-scrollbar-measure",this.$body.append(t);var e=t.offsetWidth-t.clientWidth;return this.$body[0].removeChild(t),e};var t=a.fn.modal;a.fn.modal=r,a.fn.modal.Constructor=s,a.fn.modal.noConflict=function(){return a.fn.modal=t,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(t){var e=a(this),i=e.attr("href"),o=e.attr("data-target")||i&&i.replace(/.*(?=#[^\s]+$)/,""),n=a(document).find(o),s=n.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(i)&&i},n.data(),e.data());e.is("a")&&t.preventDefault(),n.one("show.bs.modal",function(t){t.isDefaultPrevented()||n.one("hidden.bs.modal",function(){e.is(":visible")&&e.trigger("focus")})}),r.call(n,s,this)})}(jQuery),function(g){"use strict";var o=["sanitize","whiteList","sanitizeFn"],a=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],t={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},r=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:/?#]*(?:[/?#]|$))/gi,l=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+/]+=*$/i;function u(t,e){var i=t.nodeName.toLowerCase();if(-1!==g.inArray(i,e))return-1===g.inArray(i,a)||Boolean(t.nodeValue.match(r)||t.nodeValue.match(l));for(var o=g(e).filter(function(t,e){return e instanceof RegExp}),n=0,s=o.length;n<s;n++)if(i.match(o[n]))return!0;return!1}function n(t,e,i){if(0===t.length)return t;if(i&&"function"==typeof i)return i(t);if(!document.implementation||!document.implementation.createHTMLDocument)return t;var o=document.implementation.createHTMLDocument("sanitization");o.body.innerHTML=t;for(var n=g.map(e,function(t,e){return e}),s=g(o.body).find("*"),a=0,r=s.length;a<r;a++){var l=s[a],h=l.nodeName.toLowerCase();if(-1!==g.inArray(h,n))for(var d=g.map(l.attributes,function(t){return t}),p=[].concat(e["*"]||[],e[h]||[]),c=0,f=d.length;c<f;c++)u(d[c],p)||l.removeAttribute(d[c].nodeName);else l.parentNode.removeChild(l)}return o.body.innerHTML}var m=function(t,e){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",t,e)};m.VERSION="3.4.1",m.TRANSITION_DURATION=150,m.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0},sanitize:!0,sanitizeFn:null,whiteList:t},m.prototype.init=function(t,e,i){if(this.enabled=!0,this.type=t,this.$element=g(e),this.options=this.getOptions(i),this.$viewport=this.options.viewport&&g(document).find(g.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var o=this.options.trigger.split(" "),n=o.length;n--;){var s=o[n];if("click"==s)this.$element.on("click."+this.type,this.options.selector,g.proxy(this.toggle,this));else if("manual"!=s){var a="hover"==s?"mouseenter":"focusin",r="hover"==s?"mouseleave":"focusout";this.$element.on(a+"."+this.type,this.options.selector,g.proxy(this.enter,this)),this.$element.on(r+"."+this.type,this.options.selector,g.proxy(this.leave,this))}}this.options.selector?this._options=g.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},m.prototype.getDefaults=function(){return m.DEFAULTS},m.prototype.getOptions=function(t){var e=this.$element.data();for(var i in e)e.hasOwnProperty(i)&&-1!==g.inArray(i,o)&&delete e[i];return(t=g.extend({},this.getDefaults(),e,t)).delay&&"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),t.sanitize&&(t.template=n(t.template,t.whiteList,t.sanitizeFn)),t},m.prototype.getDelegateOptions=function(){var i={},o=this.getDefaults();return this._options&&g.each(this._options,function(t,e){o[t]!=e&&(i[t]=e)}),i},m.prototype.enter=function(t){var e=t instanceof this.constructor?t:g(t.currentTarget).data("bs."+this.type);if(e||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data("bs."+this.type,e)),t instanceof g.Event&&(e.inState["focusin"==t.type?"focus":"hover"]=!0),e.tip().hasClass("in")||"in"==e.hoverState)e.hoverState="in";else{if(clearTimeout(e.timeout),e.hoverState="in",!e.options.delay||!e.options.delay.show)return e.show();e.timeout=setTimeout(function(){"in"==e.hoverState&&e.show()},e.options.delay.show)}},m.prototype.isInStateTrue=function(){for(var t in this.inState)if(this.inState[t])return!0;return!1},m.prototype.leave=function(t){var e=t instanceof this.constructor?t:g(t.currentTarget).data("bs."+this.type);if(e||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data("bs."+this.type,e)),t instanceof g.Event&&(e.inState["focusout"==t.type?"focus":"hover"]=!1),!e.isInStateTrue()){if(clearTimeout(e.timeout),e.hoverState="out",!e.options.delay||!e.options.delay.hide)return e.hide();e.timeout=setTimeout(function(){"out"==e.hoverState&&e.hide()},e.options.delay.hide)}},m.prototype.show=function(){var t=g.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(t);var e=g.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(t.isDefaultPrevented()||!e)return;var i=this,o=this.tip(),n=this.getUID(this.type);this.setContent(),o.attr("id",n),this.$element.attr("aria-describedby",n),this.options.animation&&o.addClass("fade");var s="function"==typeof this.options.placement?this.options.placement.call(this,o[0],this.$element[0]):this.options.placement,a=/\s?auto?\s?/i,r=a.test(s);r&&(s=s.replace(a,"")||"top"),o.detach().css({top:0,left:0,display:"block"}).addClass(s).data("bs."+this.type,this),this.options.container?o.appendTo(g(document).find(this.options.container)):o.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var l=this.getPosition(),h=o[0].offsetWidth,d=o[0].offsetHeight;if(r){var p=s,c=this.getPosition(this.$viewport);s="bottom"==s&&l.bottom+d>c.bottom?"top":"top"==s&&l.top-d<c.top?"bottom":"right"==s&&l.right+h>c.width?"left":"left"==s&&l.left-h<c.left?"right":s,o.removeClass(p).addClass(s)}var f=this.getCalculatedOffset(s,l,h,d);this.applyPlacement(f,s);var u=function(){var t=i.hoverState;i.$element.trigger("shown.bs."+i.type),i.hoverState=null,"out"==t&&i.leave(i)};g.support.transition&&this.$tip.hasClass("fade")?o.one("bsTransitionEnd",u).emulateTransitionEnd(m.TRANSITION_DURATION):u()}},m.prototype.applyPlacement=function(t,e){var i=this.tip(),o=i[0].offsetWidth,n=i[0].offsetHeight,s=parseInt(i.css("margin-top"),10),a=parseInt(i.css("margin-left"),10);isNaN(s)&&(s=0),isNaN(a)&&(a=0),t.top+=s,t.left+=a,g.offset.setOffset(i[0],g.extend({using:function(t){i.css({top:Math.round(t.top),left:Math.round(t.left)})}},t),0),i.addClass("in");var r=i[0].offsetWidth,l=i[0].offsetHeight;"top"==e&&l!=n&&(t.top=t.top+n-l);var h=this.getViewportAdjustedDelta(e,t,r,l);h.left?t.left+=h.left:t.top+=h.top;var d=/top|bottom/.test(e),p=d?2*h.left-o+r:2*h.top-n+l,c=d?"offsetWidth":"offsetHeight";i.offset(t),this.replaceArrow(p,i[0][c],d)},m.prototype.replaceArrow=function(t,e,i){this.arrow().css(i?"left":"top",50*(1-t/e)+"%").css(i?"top":"left","")},m.prototype.setContent=function(){var t=this.tip(),e=this.getTitle();this.options.html?(this.options.sanitize&&(e=n(e,this.options.whiteList,this.options.sanitizeFn)),t.find(".tooltip-inner").html(e)):t.find(".tooltip-inner").text(e),t.removeClass("fade in top bottom left right")},m.prototype.hide=function(t){var e=this,i=g(this.$tip),o=g.Event("hide.bs."+this.type);function n(){"in"!=e.hoverState&&i.detach(),e.$element&&e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),t&&t()}if(this.$element.trigger(o),!o.isDefaultPrevented())return i.removeClass("in"),g.support.transition&&i.hasClass("fade")?i.one("bsTransitionEnd",n).emulateTransitionEnd(m.TRANSITION_DURATION):n(),this.hoverState=null,this},m.prototype.fixTitle=function(){var t=this.$element;(t.attr("title")||"string"!=typeof t.attr("data-original-title"))&&t.attr("data-original-title",t.attr("title")||"").attr("title","")},m.prototype.hasContent=function(){return this.getTitle()},m.prototype.getPosition=function(t){var e=(t=t||this.$element)[0],i="BODY"==e.tagName,o=e.getBoundingClientRect();null==o.width&&(o=g.extend({},o,{width:o.right-o.left,height:o.bottom-o.top}));var n=window.SVGElement&&e instanceof window.SVGElement,s=i?{top:0,left:0}:n?null:t.offset(),a={scroll:i?document.documentElement.scrollTop||document.body.scrollTop:t.scrollTop()},r=i?{width:g(window).width(),height:g(window).height()}:null;return g.extend({},o,a,r,s)},m.prototype.getCalculatedOffset=function(t,e,i,o){return"bottom"==t?{top:e.top+e.height,left:e.left+e.width/2-i/2}:"top"==t?{top:e.top-o,left:e.left+e.width/2-i/2}:"left"==t?{top:e.top+e.height/2-o/2,left:e.left-i}:{top:e.top+e.height/2-o/2,left:e.left+e.width}},m.prototype.getViewportAdjustedDelta=function(t,e,i,o){var n={top:0,left:0};if(!this.$viewport)return n;var s=this.options.viewport&&this.options.viewport.padding||0,a=this.getPosition(this.$viewport);if(/right|left/.test(t)){var r=e.top-s-a.scroll,l=e.top+s-a.scroll+o;r<a.top?n.top=a.top-r:l>a.top+a.height&&(n.top=a.top+a.height-l)}else{var h=e.left-s,d=e.left+s+i;h<a.left?n.left=a.left-h:d>a.right&&(n.left=a.left+a.width-d)}return n},m.prototype.getTitle=function(){var t=this.$element,e=this.options;return t.attr("data-original-title")||("function"==typeof e.title?e.title.call(t[0]):e.title)},m.prototype.getUID=function(t){for(;t+=~~(1e6*Math.random()),document.getElementById(t););return t},m.prototype.tip=function(){if(!this.$tip&&(this.$tip=g(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},m.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},m.prototype.enable=function(){this.enabled=!0},m.prototype.disable=function(){this.enabled=!1},m.prototype.toggleEnabled=function(){this.enabled=!this.enabled},m.prototype.toggle=function(t){var e=this;t&&((e=g(t.currentTarget).data("bs."+this.type))||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data("bs."+this.type,e))),t?(e.inState.click=!e.inState.click,e.isInStateTrue()?e.enter(e):e.leave(e)):e.tip().hasClass("in")?e.leave(e):e.enter(e)},m.prototype.destroy=function(){var t=this;clearTimeout(this.timeout),this.hide(function(){t.$element.off("."+t.type).removeData("bs."+t.type),t.$tip&&t.$tip.detach(),t.$tip=null,t.$arrow=null,t.$viewport=null,t.$element=null})},m.prototype.sanitizeHtml=function(t){return n(t,this.options.whiteList,this.options.sanitizeFn)};var e=g.fn.tooltip;g.fn.tooltip=function i(o){return this.each(function(){var t=g(this),e=t.data("bs.tooltip"),i="object"==typeof o&&o;!e&&/destroy|hide/.test(o)||(e||t.data("bs.tooltip",e=new m(this,i)),"string"==typeof o&&e[o]())})},g.fn.tooltip.Constructor=m,g.fn.tooltip.noConflict=function(){return g.fn.tooltip=e,this}}(jQuery),function(n){"use strict";var s=function(t,e){this.init("popover",t,e)};if(!n.fn.tooltip)throw new Error("Popover requires tooltip.js");s.VERSION="3.4.1",s.DEFAULTS=n.extend({},n.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),((s.prototype=n.extend({},n.fn.tooltip.Constructor.prototype)).constructor=s).prototype.getDefaults=function(){return s.DEFAULTS},s.prototype.setContent=function(){var t=this.tip(),e=this.getTitle(),i=this.getContent();if(this.options.html){var o=typeof i;this.options.sanitize&&(e=this.sanitizeHtml(e),"string"===o&&(i=this.sanitizeHtml(i))),t.find(".popover-title").html(e),t.find(".popover-content").children().detach().end()["string"===o?"html":"append"](i)}else t.find(".popover-title").text(e),t.find(".popover-content").children().detach().end().text(i);t.removeClass("fade top bottom left right in"),t.find(".popover-title").html()||t.find(".popover-title").hide()},s.prototype.hasContent=function(){return this.getTitle()||this.getContent()},s.prototype.getContent=function(){var t=this.$element,e=this.options;return t.attr("data-content")||("function"==typeof e.content?e.content.call(t[0]):e.content)},s.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var t=n.fn.popover;n.fn.popover=function e(o){return this.each(function(){var t=n(this),e=t.data("bs.popover"),i="object"==typeof o&&o;!e&&/destroy|hide/.test(o)||(e||t.data("bs.popover",e=new s(this,i)),"string"==typeof o&&e[o]())})},n.fn.popover.Constructor=s,n.fn.popover.noConflict=function(){return n.fn.popover=t,this}}(jQuery),function(s){"use strict";function n(t,e){this.$body=s(document.body),this.$scrollElement=s(t).is(document.body)?s(window):s(t),this.options=s.extend({},n.DEFAULTS,e),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",s.proxy(this.process,this)),this.refresh(),this.process()}function e(o){return this.each(function(){var t=s(this),e=t.data("bs.scrollspy"),i="object"==typeof o&&o;e||t.data("bs.scrollspy",e=new n(this,i)),"string"==typeof o&&e[o]()})}n.VERSION="3.4.1",n.DEFAULTS={offset:10},n.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},n.prototype.refresh=function(){var t=this,o="offset",n=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),s.isWindow(this.$scrollElement[0])||(o="position",n=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var t=s(this),e=t.data("target")||t.attr("href"),i=/^#./.test(e)&&s(e);return i&&i.length&&i.is(":visible")&&[[i[o]().top+n,e]]||null}).sort(function(t,e){return t[0]-e[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},n.prototype.process=function(){var t,e=this.$scrollElement.scrollTop()+this.options.offset,i=this.getScrollHeight(),o=this.options.offset+i-this.$scrollElement.height(),n=this.offsets,s=this.targets,a=this.activeTarget;if(this.scrollHeight!=i&&this.refresh(),o<=e)return a!=(t=s[s.length-1])&&this.activate(t);if(a&&e<n[0])return this.activeTarget=null,this.clear();for(t=n.length;t--;)a!=s[t]&&e>=n[t]&&(n[t+1]===undefined||e<n[t+1])&&this.activate(s[t])},n.prototype.activate=function(t){this.activeTarget=t,this.clear();var e=this.selector+'[data-target="'+t+'"],'+this.selector+'[href="'+t+'"]',i=s(e).parents("li").addClass("active");i.parent(".dropdown-menu").length&&(i=i.closest("li.dropdown").addClass("active")),i.trigger("activate.bs.scrollspy")},n.prototype.clear=function(){s(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var t=s.fn.scrollspy;s.fn.scrollspy=e,s.fn.scrollspy.Constructor=n,s.fn.scrollspy.noConflict=function(){return s.fn.scrollspy=t,this},s(window).on("load.bs.scrollspy.data-api",function(){s('[data-spy="scroll"]').each(function(){var t=s(this);e.call(t,t.data())})})}(jQuery),function(r){"use strict";var a=function(t){this.element=r(t)};function e(i){return this.each(function(){var t=r(this),e=t.data("bs.tab");e||t.data("bs.tab",e=new a(this)),"string"==typeof i&&e[i]()})}a.VERSION="3.4.1",a.TRANSITION_DURATION=150,a.prototype.show=function(){var t=this.element,e=t.closest("ul:not(.dropdown-menu)"),i=t.data("target");if(i||(i=(i=t.attr("href"))&&i.replace(/.*(?=#[^\s]*$)/,"")),!t.parent("li").hasClass("active")){var o=e.find(".active:last a"),n=r.Event("hide.bs.tab",{relatedTarget:t[0]}),s=r.Event("show.bs.tab",{relatedTarget:o[0]});if(o.trigger(n),t.trigger(s),!s.isDefaultPrevented()&&!n.isDefaultPrevented()){var a=r(document).find(i);this.activate(t.closest("li"),e),this.activate(a,a.parent(),function(){o.trigger({type:"hidden.bs.tab",relatedTarget:t[0]}),t.trigger({type:"shown.bs.tab",relatedTarget:o[0]})})}}},a.prototype.activate=function(t,e,i){var o=e.find("> .active"),n=i&&r.support.transition&&(o.length&&o.hasClass("fade")||!!e.find("> .fade").length);function s(){o.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),t.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),n?(t[0].offsetWidth,t.addClass("in")):t.removeClass("fade"),t.parent(".dropdown-menu").length&&t.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),i&&i()}o.length&&n?o.one("bsTransitionEnd",s).emulateTransitionEnd(a.TRANSITION_DURATION):s(),o.removeClass("in")};var t=r.fn.tab;r.fn.tab=e,r.fn.tab.Constructor=a,r.fn.tab.noConflict=function(){return r.fn.tab=t,this};var i=function(t){t.preventDefault(),e.call(r(this),"show")};r(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',i).on("click.bs.tab.data-api",'[data-toggle="pill"]',i)}(jQuery),function(l){"use strict";var h=function(t,e){this.options=l.extend({},h.DEFAULTS,e);var i=this.options.target===h.DEFAULTS.target?l(this.options.target):l(document).find(this.options.target);this.$target=i.on("scroll.bs.affix.data-api",l.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",l.proxy(this.checkPositionWithEventLoop,this)),this.$element=l(t),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};function i(o){return this.each(function(){var t=l(this),e=t.data("bs.affix"),i="object"==typeof o&&o;e||t.data("bs.affix",e=new h(this,i)),"string"==typeof o&&e[o]()})}h.VERSION="3.4.1",h.RESET="affix affix-top affix-bottom",h.DEFAULTS={offset:0,target:window},h.prototype.getState=function(t,e,i,o){var n=this.$target.scrollTop(),s=this.$element.offset(),a=this.$target.height();if(null!=i&&"top"==this.affixed)return n<i&&"top";if("bottom"==this.affixed)return null!=i?!(n+this.unpin<=s.top)&&"bottom":!(n+a<=t-o)&&"bottom";var r=null==this.affixed,l=r?n:s.top;return null!=i&&n<=i?"top":null!=o&&t-o<=l+(r?a:e)&&"bottom"},h.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(h.RESET).addClass("affix");var t=this.$target.scrollTop(),e=this.$element.offset();return this.pinnedOffset=e.top-t},h.prototype.checkPositionWithEventLoop=function(){setTimeout(l.proxy(this.checkPosition,this),1)},h.prototype.checkPosition=function(){if(this.$element.is(":visible")){var t=this.$element.height(),e=this.options.offset,i=e.top,o=e.bottom,n=Math.max(l(document).height(),l(document.body).height());"object"!=typeof e&&(o=i=e),"function"==typeof i&&(i=e.top(this.$element)),"function"==typeof o&&(o=e.bottom(this.$element));var s=this.getState(n,t,i,o);if(this.affixed!=s){null!=this.unpin&&this.$element.css("top","");var a="affix"+(s?"-"+s:""),r=l.Event(a+".bs.affix");if(this.$element.trigger(r),r.isDefaultPrevented())return;this.affixed=s,this.unpin="bottom"==s?this.getPinnedOffset():null,this.$element.removeClass(h.RESET).addClass(a).trigger(a.replace("affix","affixed")+".bs.affix")}"bottom"==s&&this.$element.offset({top:n-t-o})}};var t=l.fn.affix;l.fn.affix=i,l.fn.affix.Constructor=h,l.fn.affix.noConflict=function(){return l.fn.affix=t,this},l(window).on("load",function(){l('[data-spy="affix"]').each(function(){var t=l(this),e=t.data();e.offset=e.offset||{},null!=e.offsetBottom&&(e.offset.bottom=e.offsetBottom),null!=e.offsetTop&&(e.offset.top=e.offsetTop),i.call(t,e)})})}(jQuery);
ccaa_dir/AriaNg/js/echarts-common-3.8.5.min.js ADDED
The diff for this file is too large to render. See raw diff
 
ccaa_dir/AriaNg/js/jquery-3.3.1.min.js ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ /*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */
2
+ !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<t&&t-1 in e)}k.fn=k.prototype={jquery:f,constructor:k,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=k.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return k.each(this,e)},map:function(n){return this.pushStack(k.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},k.extend=k.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||m(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(k.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||k.isPlainObject(n)?n:{},i=!1,a[t]=k.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},k.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=v.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t){b(e,{nonce:t&&t.nonce})},each:function(e,t){var n,r=0;if(d(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(p,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(d(Object(e))?k.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(d(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g.apply([],a)},guid:1,support:y}),"function"==typeof Symbol&&(k.fn[Symbol.iterator]=t[Symbol.iterator]),k.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var h=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,k="sizzle"+1*new Date,m=n.document,S=0,r=0,p=ue(),x=ue(),N=ue(),A=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",$=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",F=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+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="<a id='"+k+"'></a><select id='"+k+"-\r\\' msallowcapture=''><option selected=''></option></select>",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="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";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<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!==C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!==C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,attrHandle:{},find:{},relative:{">":{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<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(F," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),x="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[S,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[S,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[k]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(B,"$1"));return s[k]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[S,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[k]||(e[k]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===S&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(d,h,g,v,y,e){return v&&!v[k]&&(v=Ce(v)),y&&!y[k]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[k]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(B,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(B," ")}),a=a.slice(n.length)),b.filter)!(r=G[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=N[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[k]?i.push(a):o.push(a);(a=N(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=S+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t===C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument===C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(S=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(S=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=k.split("").sort(D).join("")===k,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);k.find=h,k.expr=h.selectors,k.expr[":"]=k.expr.pseudos,k.uniqueSort=k.unique=h.uniqueSort,k.text=h.getText,k.isXMLDoc=h.isXML,k.contains=h.contains,k.escapeSelector=h.escape;var T=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&k(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},N=k.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var D=/^<([a-z][^\/\0>:\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<i.call(n,e)!==r}):k.filter(n,e,r)}k.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?k.find.matchesSelector(r,e)?[r]:[]:k.find.matches(e,k.grep(t,function(e){return 1===e.nodeType}))},k.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(k(e).filter(function(){for(t=0;t<r;t++)if(k.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)k.find(e,i[t],n);return 1<r?k.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&N.test(e)?k(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\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<n;e++)if(k.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&k(e);if(!N.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&k.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?k.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(k(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(k.uniqueSort(k.merge(this.get(),k(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),k.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return T(e,"parentNode")},parentsUntil:function(e,t,n){return T(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return T(e,"nextSibling")},prevAll:function(e){return T(e,"previousSibling")},nextUntil:function(e,t,n){return T(e,"nextSibling",n)},prevUntil:function(e,t,n){return T(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return"undefined"!=typeof e.contentDocument?e.contentDocument:(A(e,"template")&&(e=e.content||e),k.merge([],e.childNodes))}},function(r,i){k.fn[r]=function(e,t){var n=k.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=k.filter(t,n)),1<this.length&&(O[r]||k.uniqueSort(n),H.test(r)&&n.reverse()),this.pushStack(n)}});var R=/[^\x20\t\r\n\f]+/g;function M(e){return e}function I(e){throw e}function W(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}k.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},k.each(e.match(R)||[],function(e,t){n[t]=!0}),n):k.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){k.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return k.each(arguments,function(e,t){var n;while(-1<(n=k.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<k.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},k.extend({Deferred:function(e){var o=[["notify","progress",k.Callbacks("memory"),k.Callbacks("memory"),2],["resolve","done",k.Callbacks("once memory"),k.Callbacks("once memory"),0,"resolved"],["reject","fail",k.Callbacks("once memory"),k.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return k.Deferred(function(r){k.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,m(t)?s?t.call(e,l(u,o,M,s),l(u,o,I,s)):(u++,t.call(e,l(u,o,M,s),l(u,o,I,s),l(u,o,M,o.notifyWith))):(a!==M&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){k.Deferred.exceptionHook&&k.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==I&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(k.Deferred.getStackHook&&(t.stackTrace=k.Deferred.getStackHook()),C.setTimeout(t))}}return k.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:M,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:M)),o[2][3].add(l(0,e,m(n)?n:I))}).promise()},promise:function(e){return null!=e?k.extend(e,a):a}},s={};return k.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=k.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(W(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)W(i[t],a(t),o.reject);return o.promise()}});var $=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;k.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&$.test(e.name)&&C.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},k.readyException=function(e){C.setTimeout(function(){throw e})};var F=k.Deferred();function B(){E.removeEventListener("DOMContentLoaded",B),C.removeEventListener("load",B),k.ready()}k.fn.ready=function(e){return F.then(e)["catch"](function(e){k.readyException(e)}),this},k.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--k.readyWait:k.isReady)||(k.isReady=!0)!==e&&0<--k.readyWait||F.resolveWith(E,[k])}}),k.ready.then=F.then,"complete"===E.readyState||"loading"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(k.ready):(E.addEventListener("DOMContentLoaded",B),C.addEventListener("load",B));var _=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===w(n))for(s in i=!0,n)_(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(k(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},z=/^-ms-/,U=/-([a-z])/g;function X(e,t){return t.toUpperCase()}function V(e){return e.replace(z,"ms-").replace(U,X)}var G=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Y(){this.expando=k.expando+Y.uid++}Y.uid=1,Y.prototype={cache:function(e){var t=e[this.expando];return t||(t={},G(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[V(t)]=n;else for(r in t)i[V(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][V(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(V):(t=V(t))in r?[t]:t.match(R)||[]).length;while(n--)delete r[t[n]]}(void 0===t||k.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!k.isEmptyObject(t)}};var Q=new Y,J=new Y,K=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Z=/[A-Z]/g;function ee(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(Z,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:K.test(i)?JSON.parse(i):i)}catch(e){}J.set(e,t,n)}else n=void 0;return n}k.extend({hasData:function(e){return J.hasData(e)||Q.hasData(e)},data:function(e,t,n){return J.access(e,t,n)},removeData:function(e,t){J.remove(e,t)},_data:function(e,t,n){return Q.access(e,t,n)},_removeData:function(e,t){Q.remove(e,t)}}),k.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=J.get(o),1===o.nodeType&&!Q.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=V(r.slice(5)),ee(o,r,i[r]));Q.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){J.set(this,n)}):_(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=J.get(o,n))?t:void 0!==(t=ee(o,n))?t:void 0;this.each(function(){J.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){J.remove(this,e)})}}),k.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Q.get(e,t),n&&(!r||Array.isArray(n)?r=Q.access(e,t,k.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=k.queue(e,t),r=n.length,i=n.shift(),o=k._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){k.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Q.get(e,n)||Q.access(e,n,{empty:k.Callbacks("once memory").add(function(){Q.remove(e,[t+"queue",n])})})}}),k.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?k.queue(this[0],t):void 0===n?this:this.each(function(){var e=k.queue(this,t,n);k._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&k.dequeue(this,t)})},dequeue:function(e){return this.each(function(){k.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=k.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Q.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var te=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ne=new RegExp("^(?:([+-])=|)("+te+")([a-z%]*)$","i"),re=["Top","Right","Bottom","Left"],ie=E.documentElement,oe=function(e){return k.contains(e.ownerDocument,e)},ae={composed:!0};ie.getRootNode&&(oe=function(e){return k.contains(e.ownerDocument,e)||e.getRootNode(ae)===e.ownerDocument});var se=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&oe(e)&&"none"===k.css(e,"display")},ue=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];for(o in i=n.apply(e,r||[]),t)e.style[o]=a[o];return i};function le(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return k.css(e,t,"")},u=s(),l=n&&n[3]||(k.cssNumber[t]?"":"px"),c=e.nodeType&&(k.cssNumber[t]||"px"!==l&&+u)&&ne.exec(k.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)k.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,k.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ce={};function fe(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Q.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&se(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ce[s])||(o=a.body.appendChild(a.createElement(s)),u=k.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ce[s]=u)))):"none"!==n&&(l[c]="none",Q.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}k.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){se(this)?k(this).show():k(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_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;n<r;n++)Q.set(e[n],"globalEval",!t||Q.get(t[n],"globalEval"))}ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;var me,xe,be=/<|&#?\w+;/;function we(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===w(o))k.merge(p,o.nodeType?[o]:o);else if(be.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+k.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;k.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<k.inArray(o,r))i&&i.push(o);else if(l=oe(o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}me=E.createDocumentFragment().appendChild(E.createElement("div")),(xe=E.createElement("input")).setAttribute("type","radio"),xe.setAttribute("checked","checked"),xe.setAttribute("name","t"),me.appendChild(xe),y.checkClone=me.cloneNode(!0).cloneNode(!0).lastChild.checked,me.innerHTML="<textarea>x</textarea>",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<arguments.length;t++)u[t]=arguments[t];if(s.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,s)){a=k.event.handlers.call(this,s,l),t=0;while((i=a[t++])&&!s.isPropagationStopped()){s.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!s.isImmediatePropagationStopped())s.rnamespace&&!1!==o.namespace&&!s.rnamespace.test(o.namespace)||(s.handleObj=o,s.data=o.data,void 0!==(r=((k.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u))&&!1===(s.result=r)&&(s.preventDefault(),s.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,s),s.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<k(i,this).index(l):k.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(k.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[k.expando]?e:new k.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click",ke),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,"input")&&De(t,"click"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,"input")&&Q.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},k.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},k.Event=function(e,t){if(!(this instanceof k.Event))return new k.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?ke:Se,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&k.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[k.expando]=!0},k.Event.prototype={constructor:k.Event,isDefaultPrevented:Se,isPropagationStopped:Se,isImmediatePropagationStopped:Se,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=ke,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=ke,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=ke,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},k.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&Te.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ce.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},k.event.addProp),k.each({focus:"focusin",blur:"focusout"},function(e,t){k.event.special[e]={setup:function(){return De(this,e,Ne),!1},trigger:function(){return De(this,e),!0},delegateType:t}}),k.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){k.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||k.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),k.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,k(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Se),this.each(function(){k.event.remove(this,e,n,t)})}});var je=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/<script|<style|<link/i,Le=/checked\s*(?:[^=]|=\s*.checked.)/i,He=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\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<r;n++)k.event.add(t,i,l[i][n]);J.hasData(e)&&(s=J.access(e),u=k.extend({},s),J.set(t,u))}}function Ie(n,r,i,o){r=g.apply([],r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&"string"==typeof d&&!y.checkClone&&Le.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Ie(t,r,i,o)});if(f&&(t=(e=we(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=k.map(ve(e,"script"),Pe)).length;c<f;c++)u=e,c!==p&&(u=k.clone(u,!0,!0),s&&k.merge(a,ve(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,k.map(a,Re),c=0;c<s;c++)u=a[c],he.test(u.type||"")&&!Q.access(u,"globalEval")&&k.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?k._evalUrl&&!u.noModule&&k._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")}):b(u.textContent.replace(He,""),u,l))}return n}function We(e,t,n){for(var r,i=t?k.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||k.cleanData(ve(r)),r.parentNode&&(n&&oe(r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}k.extend({htmlPrefilter:function(e){return e.replace(je,"<$1></$2>")},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<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Me(o[r],a[r]);else Me(e,c);return 0<(a=ve(c,"script")).length&&ye(a,!f&&ve(e,"script")),c},cleanData:function(e){for(var t,n,r,i=k.event.special,o=0;void 0!==(n=e[o]);o++)if(G(n)){if(t=n[Q.expando]){if(t.events)for(r in t.events)i[r]?k.event.remove(n,r):k.removeEvent(n,r,t.handle);n[Q.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),k.fn.extend({detach:function(e){return We(this,e,!0)},remove:function(e){return We(this,e)},text:function(e){return _(this,function(e){return void 0===e?k.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Ie(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Oe(this,e).appendChild(e)})},prepend:function(){return Ie(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Oe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(k.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return k.clone(this,e,t)})},html:function(e){return _(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!qe.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=k.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(k.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Ie(this,arguments,function(e){var t=this.parentNode;k.inArray(this,n)<0&&(k.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),k.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){k.fn[e]=function(e){for(var t,n=[],r=k(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),k(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var $e=new RegExp("^("+te+")(?!px)[a-z%]+$","i"),Fe=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Be=new RegExp(re.join("|"),"i");function _e(e,t,n){var r,i,o,a,s=e.style;return(n=n||Fe(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||oe(e)||(a=k.style(e,t)),!y.pixelBoxStyles()&&$e.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(u){s.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",u.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",ie.appendChild(s).appendChild(u);var e=C.getComputedStyle(u);n="1%"!==e.top,a=12===t(e.marginLeft),u.style.right="60%",o=36===t(e.right),r=36===t(e.width),u.style.position="absolute",i=12===t(u.offsetWidth/3),ie.removeChild(s),u=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s=E.createElement("div"),u=E.createElement("div");u.style&&(u.style.backgroundClip="content-box",u.cloneNode(!0).style.backgroundClip="",y.clearCloneStyle="content-box"===u.style.backgroundClip,k.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),a},scrollboxSize:function(){return e(),i}}))}();var Ue=["Webkit","Moz","ms"],Xe=E.createElement("div").style,Ve={};function Ge(e){var t=k.cssProps[e]||Ve[e];return t||(e in Xe?e:Ve[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Ue.length;while(n--)if((e=Ue[n]+t)in Xe)return e}(e)||e)}var Ye=/^(none|table(?!-c[ea]).+)/,Qe=/^--/,Je={position:"absolute",visibility:"hidden",display:"block"},Ke={letterSpacing:"0",fontWeight:"400"};function Ze(e,t,n){var r=ne.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function et(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=k.css(e,n+re[a],!0,i)),r?("content"===n&&(u-=k.css(e,"padding"+re[a],!0,i)),"margin"!==n&&(u-=k.css(e,"border"+re[a]+"Width",!0,i))):(u+=k.css(e,"padding"+re[a],!0,i),"padding"!==n?u+=k.css(e,"border"+re[a]+"Width",!0,i):s+=k.css(e,"border"+re[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function tt(e,t,n){var r=Fe(e),i=(!y.boxSizingReliable()||n)&&"border-box"===k.css(e,"boxSizing",!1,r),o=i,a=_e(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if($e.test(a)){if(!n)return a;a="auto"}return(!y.boxSizingReliable()&&i||"auto"===a||!parseFloat(a)&&"inline"===k.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===k.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+et(e,t,n||(i?"border":"content"),o,r,a)+"px"}function nt(e,t,n,r,i){return new nt.prototype.init(e,t,n,r,i)}k.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=_e(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=V(t),u=Qe.test(t),l=e.style;if(u||(t=Ge(s)),a=k.cssHooks[t]||k.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=ne.exec(n))&&i[1]&&(n=le(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(k.cssNumber[s]?"":"px")),y.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=V(t);return Qe.test(t)||(t=Ge(s)),(a=k.cssHooks[t]||k.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=_e(e,t,r)),"normal"===i&&t in Ke&&(i=Ke[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),k.each(["height","width"],function(e,u){k.cssHooks[u]={get:function(e,t,n){if(t)return!Ye.test(k.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?tt(e,u,n):ue(e,Je,function(){return tt(e,u,n)})},set:function(e,t,n){var r,i=Fe(e),o=!y.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===k.css(e,"boxSizing",!1,i),s=n?et(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-et(e,u,"border",!1,i)-.5)),s&&(r=ne.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=k.css(e,u)),Ze(0,t,s)}}}),k.cssHooks.marginLeft=ze(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(_e(e,"marginLeft"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),k.each({margin:"",padding:"",border:"Width"},function(i,o){k.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+re[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(k.cssHooks[i+o].set=Ze)}),k.fn.extend({css:function(e,t){return _(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Fe(e),i=t.length;a<i;a++)o[t[a]]=k.css(e,t[a],!1,r);return o}return void 0!==n?k.style(e,t,n):k.css(e,t)},e,t,1<arguments.length)}}),((k.Tween=nt).prototype={constructor:nt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||k.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(k.cssNumber[n]?"":"px")},cur:function(){var e=nt.propHooks[this.prop];return e&&e.get?e.get(this):nt.propHooks._default.get(this)},run:function(e){var t,n=nt.propHooks[this.prop];return this.options.duration?this.pos=t=k.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):nt.propHooks._default.set(this),this}}).init.prototype=nt.prototype,(nt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=k.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){k.fx.step[e.prop]?k.fx.step[e.prop](e):1!==e.elem.nodeType||!k.cssHooks[e.prop]&&null==e.elem.style[Ge(e.prop)]?e.elem[e.prop]=e.now:k.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=nt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},k.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},k.fx=nt.prototype.init,k.fx.step={};var rt,it,ot,at,st=/^(?:toggle|show|hide)$/,ut=/queueHooks$/;function lt(){it&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(lt):C.setTimeout(lt,k.fx.interval),k.fx.tick())}function ct(){return C.setTimeout(function(){rt=void 0}),rt=Date.now()}function ft(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=re[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function pt(e,t,n){for(var r,i=(dt.tweeners[t]||[]).concat(dt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function dt(o,e,t){var n,a,r=0,i=dt.prefilters.length,s=k.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=rt||ct(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:k.extend({},e),opts:k.extend(!0,{specialEasing:{},easing:k.easing._default},t),originalProperties:e,originalOptions:t,startTime:rt||ct(),duration:t.duration,tweens:[],createTween:function(e,t){var n=k.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=V(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=k.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=dt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(k._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return k.map(c,pt,l),m(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),k.fx.timer(k.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}k.Animation=k.extend(dt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return le(n.elem,e,ne.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=["*"]):e=e.match(R);for(var n,r=0,i=e.length;r<i;r++)n=e[r],dt.tweeners[n]=dt.tweeners[n]||[],dt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&se(e),v=Q.get(e,"fxshow");for(r in n.queue||(null==(a=k._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,k.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],st.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||k.style(e,r)}if((u=!k.isEmptyObject(t))||!k.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Q.get(e,"display")),"none"===(c=k.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=k.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===k.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=Q.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&fe([e],!0),p.done(function(){for(r in g||fe([e]),Q.remove(e,"fxshow"),d)k.style(e,r,d[r])})),u=pt(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?dt.prefilters.unshift(e):dt.prefilters.push(e)}}),k.speed=function(e,t,n){var r=e&&"object"==typeof e?k.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return k.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in k.fx.speeds?r.duration=k.fx.speeds[r.duration]:r.duration=k.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&k.dequeue(this,r.queue)},r},k.fn.extend({fadeTo:function(e,t,n,r){return this.filter(se).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=k.isEmptyObject(t),o=k.speed(e,n,r),a=function(){var e=dt(this,k.extend({},t),o);(i||Q.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&!1!==i&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=k.timers,r=Q.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&ut.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||k.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=Q.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=k.timers,o=n?n.length:0;for(t.finish=!0,k.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),k.each(["toggle","show","hide"],function(e,r){var i=k.fn[r];k.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(ft(r,!0),e,t,n)}}),k.each({slideDown:ft("show"),slideUp:ft("hide"),slideToggle:ft("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){k.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),k.timers=[],k.fx.tick=function(){var e,t=0,n=k.timers;for(rt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||k.fx.stop(),rt=void 0},k.fx.timer=function(e){k.timers.push(e),k.fx.start()},k.fx.interval=13,k.fx.start=function(){it||(it=!0,lt())},k.fx.stop=function(){it=null},k.fx.speeds={slow:600,fast:200,_default:400},k.fn.delay=function(r,e){return r=k.fx&&k.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},ot=E.createElement("input"),at=E.createElement("select").appendChild(E.createElement("option")),ot.type="checkbox",y.checkOn=""!==ot.value,y.optSelected=at.selected,(ot=E.createElement("input")).value="t",ot.type="radio",y.radioValue="t"===ot.value;var ht,gt=k.expr.attrHandle;k.fn.extend({attr:function(e,t){return _(this,k.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){k.removeAttr(this,e)})}}),k.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?k.prop(e,t,n):(1===o&&k.isXMLDoc(e)||(i=k.attrHooks[t.toLowerCase()]||(k.expr.match.bool.test(t)?ht:void 0)),void 0!==n?null===n?void k.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=k.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(R);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),ht={set:function(e,t,n){return!1===t?k.removeAttr(e,n):e.setAttribute(n,n),n}},k.each(k.expr.match.bool.source.match(/\w+/g),function(e,t){var a=gt[t]||k.find.attr;gt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=gt[o],gt[o]=r,r=null!=a(e,t,n)?o:null,gt[o]=i),r}});var vt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;function mt(e){return(e.match(R)||[]).join(" ")}function xt(e){return e.getAttribute&&e.getAttribute("class")||""}function bt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(R)||[]}k.fn.extend({prop:function(e,t){return _(this,k.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[k.propFix[e]||e]})}}),k.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&k.isXMLDoc(e)||(t=k.propFix[t]||t,i=k.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=k.find.attr(e,"tabindex");return t?parseInt(t,10):vt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),y.optSelected||(k.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),k.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){k.propFix[this.toLowerCase()]=this}),k.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).addClass(t.call(this,e,xt(this)))});if((e=bt(t)).length)while(n=this[u++])if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).removeClass(t.call(this,e,xt(this)))});if(!arguments.length)return this.attr("class","");if((e=bt(t)).length)while(n=this[u++])if(i=xt(n),r=1===n.nodeType&&" "+mt(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=mt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){k(this).toggleClass(i.call(this,e,xt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=k(this),r=bt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=xt(this))&&Q.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Q.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+mt(xt(n))+" ").indexOf(t))return!0;return!1}});var wt=/\r/g;k.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,k(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=k.map(t,function(e){return null==e?"":e+""})),(r=k.valHooks[this.type]||k.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=k.valHooks[t.type]||k.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(wt,""):null==e?"":e:void 0}}),k.extend({valHooks:{option:{get:function(e){var t=k.find.attr(e,"value");return null!=t?t:mt(k.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=k(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=k.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<k.inArray(k.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),k.each(["radio","checkbox"],function(){k.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<k.inArray(k(e).val(),t)}},y.checkOn||(k.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),y.focusin="onfocusin"in C;var Tt=/^(?:focusinfocus|focusoutblur)$/,Ct=function(e){e.stopPropagation()};k.extend(k.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,"type")?e.type:e,h=v.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!Tt.test(d+k.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[k.expando]?e:new k.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:k.makeArray(t,[e]),c=k.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,Tt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Q.get(o,"events")||{})[e.type]&&Q.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&G(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!G(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),k.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,Ct),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,Ct),k.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=k.extend(new k.Event,n,{type:e,isSimulated:!0});k.event.trigger(r,null,t)}}),k.fn.extend({trigger:function(e,t){return this.each(function(){k.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return k.event.trigger(e,t,n,!0)}}),y.focusin||k.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){k.event.simulate(r,e.target,k.event.fix(e))};k.event.special[r]={setup:function(){var e=this.ownerDocument||this,t=Q.access(e,r);t||e.addEventListener(n,i,!0),Q.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this,t=Q.access(e,r)-1;t?Q.access(e,r,t):(e.removeEventListener(n,i,!0),Q.remove(e,r))}}});var Et=C.location,kt=Date.now(),St=/\?/;k.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||k.error("Invalid XML: "+e),t};var Nt=/\[\]$/,At=/\r?\n/g,Dt=/^(?:submit|button|image|reset|file)$/i,jt=/^(?:input|select|textarea|keygen)/i;function qt(n,e,r,i){var t;if(Array.isArray(e))k.each(e,function(e,t){r||Nt.test(n)?i(n,t):qt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==w(e))i(n,e);else for(t in e)qt(n+"["+t+"]",e[t],r,i)}k.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!k.isPlainObject(e))k.each(e,function(){i(this.name,this.value)});else for(n in e)qt(n,e[n],t,i);return r.join("&")},k.fn.extend({serialize:function(){return k.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=k.prop(this,"elements");return e?k.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!k(this).is(":disabled")&&jt.test(this.nodeName)&&!Dt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=k(this).val();return null==n?null:Array.isArray(n)?k.map(n,function(e){return{name:t.name,value:e.replace(At,"\r\n")}}):{name:t.name,value:n.replace(At,"\r\n")}}).get()}});var Lt=/%20/g,Ht=/#.*$/,Ot=/([?&])_=[^&]*/,Pt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Rt=/^(?:GET|HEAD)$/,Mt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Ft=E.createElement("a");function Bt(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(R)||[];if(m(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function _t(t,i,o,a){var s={},u=t===Wt;function l(e){var r;return s[e]=!0,k.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function zt(e,t){var n,r,i=k.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&k.extend(!0,e,r),e}Ft.href=Et.href,k.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":k.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,k.ajaxSettings),t):zt(k.ajaxSettings,e)},ajaxPrefilter:Bt(It),ajaxTransport:Bt(Wt),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=k.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?k(y):k.event,x=k.Deferred(),b=k.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Pt.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Et.href)+"").replace(Mt,Et.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(R)||[""],null==v.crossDomain){r=E.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Ft.protocol+"//"+Ft.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=k.param(v.data,v.traditional)),_t(It,v,t,T),h)return T;for(i in(g=k.event&&v.global)&&0==k.active++&&k.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Rt.test(v.type),f=v.url.replace(Ht,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Lt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(St.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Ot,"$1"),o=(St.test(f)?"&":"?")+"_="+kt+++o),v.url=f+o),v.ifModified&&(k.lastModified[f]&&T.setRequestHeader("If-Modified-Since",k.lastModified[f]),k.etag[f]&&T.setRequestHeader("If-None-Match",k.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+$t+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=_t(Wt,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&C.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(k.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(k.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--k.active||k.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return k.get(e,t,n,"json")},getScript:function(e,t){return k.get(e,void 0,t,"script")}}),k.each(["get","post"],function(e,i){k[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),k.ajax(k.extend({url:e,type:i,dataType:r,data:t,success:n},k.isPlainObject(e)&&e))}}),k._evalUrl=function(e,t){return k.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){k.globalEval(e,t)}})},k.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=k(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return m(n)?this.each(function(e){k(this).wrapInner(n.call(this,e))}):this.each(function(){var e=k(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){k(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){k(this).replaceWith(this.childNodes)}),this}}),k.expr.pseudos.hidden=function(e){return!k.expr.pseudos.visible(e)},k.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},k.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Ut={0:200,1223:204},Xt=k.ajaxSettings.xhr();y.cors=!!Xt&&"withCredentials"in Xt,y.ajax=Xt=!!Xt,k.ajaxTransport(function(i){var o,a;if(y.cors||Xt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Ut[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&C.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),k.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),k.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return k.globalEval(e),e}}}),k.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),k.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=k("<script>").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="<form></form><form></form>",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<s&&(r=mt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&k.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?k("<div>").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<arguments.length?this.on(n,null,e,t):this.trigger(n)}}),k.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),k.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),k.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||k.guid++,i},k.holdReady=function(e){e?k.readyWait++:k.ready(!0)},k.isArray=Array.isArray,k.parseJSON=JSON.parse,k.nodeName=A,k.isFunction=m,k.isWindow=x,k.camelCase=V,k.type=w,k.now=Date.now,k.isNumeric=function(e){var t=k.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return k});var Qt=C.jQuery,Jt=C.$;return k.noConflict=function(e){return C.$===k&&(C.$=Jt),e&&C.jQuery===k&&(C.jQuery=Qt),k},e||(C.jQuery=C.$=k),k});
ccaa_dir/AriaNg/js/moment-with-locales-2.24.0.min.js ADDED
@@ -0,0 +1 @@
 
 
1
+ !function(a,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):a.moment=e()}(this,function(){"use strict";var a,t;function M(){return a.apply(null,arguments)}function s(a){return a instanceof Array||"[object Array]"===Object.prototype.toString.call(a)}function c(a){return null!=a&&"[object Object]"===Object.prototype.toString.call(a)}function u(a){return void 0===a}function l(a){return"number"==typeof a||"[object Number]"===Object.prototype.toString.call(a)}function d(a){return a instanceof Date||"[object Date]"===Object.prototype.toString.call(a)}function A(a,e){var i,r=[];for(i=0;i<a.length;++i)r.push(e(a[i],i));return r}function g(a,e){return Object.prototype.hasOwnProperty.call(a,e)}function m(a,e){for(var i in e)g(e,i)&&(a[i]=e[i]);return g(e,"toString")&&(a.toString=e.toString),g(e,"valueOf")&&(a.valueOf=e.valueOf),a}function h(a,e,i,r){return De(a,e,i,r,!0).utc()}function y(a){return null==a._pf&&(a._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}),a._pf}function f(a){if(null==a._isValid){var e=y(a),i=t.call(e.parsedDateParts,function(a){return null!=a}),r=!isNaN(a._d.getTime())&&e.overflow<0&&!e.empty&&!e.invalidMonth&&!e.invalidWeekday&&!e.weekdayMismatch&&!e.nullInput&&!e.invalidFormat&&!e.userInvalidated&&(!e.meridiem||e.meridiem&&i);if(a._strict&&(r=r&&0===e.charsLeftOver&&0===e.unusedTokens.length&&void 0===e.bigHour),null!=Object.isFrozen&&Object.isFrozen(a))return r;a._isValid=r}return a._isValid}function _(a){var e=h(NaN);return null!=a?m(y(e),a):y(e).userInvalidated=!0,e}t=Array.prototype.some?Array.prototype.some:function(a){for(var e=Object(this),i=e.length>>>0,r=0;r<i;r++)if(r in e&&a.call(this,e[r],r,e))return!0;return!1};var n=M.momentProperties=[];function p(a,e){var i,r,t;if(u(e._isAMomentObject)||(a._isAMomentObject=e._isAMomentObject),u(e._i)||(a._i=e._i),u(e._f)||(a._f=e._f),u(e._l)||(a._l=e._l),u(e._strict)||(a._strict=e._strict),u(e._tzm)||(a._tzm=e._tzm),u(e._isUTC)||(a._isUTC=e._isUTC),u(e._offset)||(a._offset=e._offset),u(e._pf)||(a._pf=y(e)),u(e._locale)||(a._locale=e._locale),0<n.length)for(i=0;i<n.length;i++)u(t=e[r=n[i]])||(a[r]=t);return a}var e=!1;function b(a){p(this,a),this._d=new Date(null!=a._d?a._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===e&&(e=!0,M.updateOffset(this),e=!1)}function S(a){return a instanceof b||null!=a&&null!=a._isAMomentObject}function k(a){return a<0?Math.ceil(a)||0:Math.floor(a)}function T(a){var e=+a,i=0;return 0!==e&&isFinite(e)&&(i=k(e)),i}function o(a,e,i){var r,t=Math.min(a.length,e.length),n=Math.abs(a.length-e.length),o=0;for(r=0;r<t;r++)(i&&a[r]!==e[r]||!i&&T(a[r])!==T(e[r]))&&o++;return o+n}function D(a){!1===M.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+a)}function i(t,n){var o=!0;return m(function(){if(null!=M.deprecationHandler&&M.deprecationHandler(null,t),o){for(var a,e=[],i=0;i<arguments.length;i++){if(a="","object"==typeof arguments[i]){for(var r in a+="\n["+i+"] ",arguments[0])a+=r+": "+arguments[0][r]+", ";a=a.slice(0,-2)}else a=arguments[i];e.push(a)}D(t+"\nArguments: "+Array.prototype.slice.call(e).join("")+"\n"+(new Error).stack),o=!1}return n.apply(this,arguments)},n)}var r,E={};function v(a,e){null!=M.deprecationHandler&&M.deprecationHandler(a,e),E[a]||(D(e),E[a]=!0)}function P(a){return a instanceof Function||"[object Function]"===Object.prototype.toString.call(a)}function w(a,e){var i,r=m({},a);for(i in e)g(e,i)&&(c(a[i])&&c(e[i])?(r[i]={},m(r[i],a[i]),m(r[i],e[i])):null!=e[i]?r[i]=e[i]:delete r[i]);for(i in a)g(a,i)&&!g(e,i)&&c(a[i])&&(r[i]=m({},r[i]));return r}function Y(a){null!=a&&this.set(a)}M.suppressDeprecationWarnings=!1,M.deprecationHandler=null,r=Object.keys?Object.keys:function(a){var e,i=[];for(e in a)g(a,e)&&i.push(e);return i};var z={};function O(a,e){var i=a.toLowerCase();z[i]=z[i+"s"]=z[e]=a}function C(a){return"string"==typeof a?z[a]||z[a.toLowerCase()]:void 0}function L(a){var e,i,r={};for(i in a)g(a,i)&&(e=C(i))&&(r[e]=a[i]);return r}var N={};function G(a,e){N[a]=e}function B(a,e,i){var r=""+Math.abs(a),t=e-r.length;return(0<=a?i?"+":"":"-")+Math.pow(10,Math.max(0,t)).toString().substr(1)+r}var W=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,R=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,H={},x={};function I(a,e,i,r){var t=r;"string"==typeof r&&(t=function(){return this[r]()}),a&&(x[a]=t),e&&(x[e[0]]=function(){return B(t.apply(this,arguments),e[1],e[2])}),i&&(x[i]=function(){return this.localeData().ordinal(t.apply(this,arguments),a)})}function F(a,e){return a.isValid()?(e=U(e,a.localeData()),H[e]=H[e]||function(r){var a,t,e,n=r.match(W);for(a=0,t=n.length;a<t;a++)x[n[a]]?n[a]=x[n[a]]:n[a]=(e=n[a]).match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"");return function(a){var e,i="";for(e=0;e<t;e++)i+=P(n[e])?n[e].call(a,r):n[e];return i}}(e),H[e](a)):a.localeData().invalidDate()}function U(a,e){var i=5;function r(a){return e.longDateFormat(a)||a}for(R.lastIndex=0;0<=i&&R.test(a);)a=a.replace(R,r),R.lastIndex=0,i-=1;return a}var j=/\d/,q=/\d\d/,V=/\d{3}/,K=/\d{4}/,Z=/[+-]?\d{6}/,J=/\d\d?/,X=/\d\d\d\d?/,Q=/\d\d\d\d\d\d?/,$=/\d{1,3}/,aa=/\d{1,4}/,ea=/[+-]?\d{1,6}/,ia=/\d+/,ra=/[+-]?\d+/,ta=/Z|[+-]\d\d:?\d\d/gi,na=/Z|[+-]\d\d(?::?\d\d)?/gi,oa=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,sa={};function ca(a,i,r){sa[a]=P(i)?i:function(a,e){return a&&r?r:i}}function ua(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var la={};function da(a,i){var e,r=i;for("string"==typeof a&&(a=[a]),l(i)&&(r=function(a,e){e[i]=T(a)}),e=0;e<a.length;e++)la[a[e]]=r}function Aa(a,t){da(a,function(a,e,i,r){i._w=i._w||{},t(a,i._w,i,r)})}var ma=0,ha=1,fa=2,_a=3,pa=4,Ma=5,ga=6,ya=7,ba=8;function Sa(a){return ka(a)?366:365}function ka(a){return a%4==0&&a%100!=0||a%400==0}I("Y",0,0,function(){var a=this.year();return a<=9999?""+a:"+"+a}),I(0,["YY",2],0,function(){return this.year()%100}),I(0,["YYYY",4],0,"year"),I(0,["YYYYY",5],0,"year"),I(0,["YYYYYY",6,!0],0,"year"),O("year","y"),G("year",1),ca("Y",ra),ca("YY",J,q),ca("YYYY",aa,K),ca("YYYYY",ea,Z),ca("YYYYYY",ea,Z),da(["YYYYY","YYYYYY"],ma),da("YYYY",function(a,e){e[ma]=2===a.length?M.parseTwoDigitYear(a):T(a)}),da("YY",function(a,e){e[ma]=M.parseTwoDigitYear(a)}),da("Y",function(a,e){e[ma]=parseInt(a,10)}),M.parseTwoDigitYear=function(a){return T(a)+(68<T(a)?1900:2e3)};var Ta,Da=Ea("FullYear",!0);function Ea(e,i){return function(a){return null!=a?(Pa(this,e,a),M.updateOffset(this,i),this):va(this,e)}}function va(a,e){return a.isValid()?a._d["get"+(a._isUTC?"UTC":"")+e]():NaN}function Pa(a,e,i){a.isValid()&&!isNaN(i)&&("FullYear"===e&&ka(a.year())&&1===a.month()&&29===a.date()?a._d["set"+(a._isUTC?"UTC":"")+e](i,a.month(),wa(i,a.month())):a._d["set"+(a._isUTC?"UTC":"")+e](i))}function wa(a,e){if(isNaN(a)||isNaN(e))return NaN;var i=(e%12+12)%12;return a+=(e-i)/12,1===i?ka(a)?29:28:31-i%7%2}Ta=Array.prototype.indexOf?Array.prototype.indexOf:function(a){var e;for(e=0;e<this.length;++e)if(this[e]===a)return e;return-1},I("M",["MM",2],"Mo",function(){return this.month()+1}),I("MMM",0,0,function(a){return this.localeData().monthsShort(this,a)}),I("MMMM",0,0,function(a){return this.localeData().months(this,a)}),O("month","M"),G("month",8),ca("M",J),ca("MM",J,q),ca("MMM",function(a,e){return e.monthsShortRegex(a)}),ca("MMMM",function(a,e){return e.monthsRegex(a)}),da(["M","MM"],function(a,e){e[ha]=T(a)-1}),da(["MMM","MMMM"],function(a,e,i,r){var t=i._locale.monthsParse(a,r,i._strict);null!=t?e[ha]=t:y(i).invalidMonth=a});var Ya=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,za="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),Oa="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_");function Ca(a,e){var i;if(!a.isValid())return a;if("string"==typeof e)if(/^\d+$/.test(e))e=T(e);else if(!l(e=a.localeData().monthsParse(e)))return a;return i=Math.min(a.date(),wa(a.year(),e)),a._d["set"+(a._isUTC?"UTC":"")+"Month"](e,i),a}function La(a){return null!=a?(Ca(this,a),M.updateOffset(this,!0),this):va(this,"Month")}var Na=oa,Ga=oa;function Ba(){function a(a,e){return e.length-a.length}var e,i,r=[],t=[],n=[];for(e=0;e<12;e++)i=h([2e3,e]),r.push(this.monthsShort(i,"")),t.push(this.months(i,"")),n.push(this.months(i,"")),n.push(this.monthsShort(i,""));for(r.sort(a),t.sort(a),n.sort(a),e=0;e<12;e++)r[e]=ua(r[e]),t[e]=ua(t[e]);for(e=0;e<24;e++)n[e]=ua(n[e]);this._monthsRegex=new RegExp("^("+n.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+t.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+r.join("|")+")","i")}function Wa(a){var e;if(a<100&&0<=a){var i=Array.prototype.slice.call(arguments);i[0]=a+400,e=new Date(Date.UTC.apply(null,i)),isFinite(e.getUTCFullYear())&&e.setUTCFullYear(a)}else e=new Date(Date.UTC.apply(null,arguments));return e}function Ra(a,e,i){var r=7+e-i;return-(7+Wa(a,0,r).getUTCDay()-e)%7+r-1}function Ha(a,e,i,r,t){var n,o,s=1+7*(e-1)+(7+i-r)%7+Ra(a,r,t);return o=s<=0?Sa(n=a-1)+s:s>Sa(a)?(n=a+1,s-Sa(a)):(n=a,s),{year:n,dayOfYear:o}}function xa(a,e,i){var r,t,n=Ra(a.year(),e,i),o=Math.floor((a.dayOfYear()-n-1)/7)+1;return o<1?r=o+Ia(t=a.year()-1,e,i):o>Ia(a.year(),e,i)?(r=o-Ia(a.year(),e,i),t=a.year()+1):(t=a.year(),r=o),{week:r,year:t}}function Ia(a,e,i){var r=Ra(a,e,i),t=Ra(a+1,e,i);return(Sa(a)-r+t)/7}function Fa(a,e){return a.slice(e,7).concat(a.slice(0,e))}I("w",["ww",2],"wo","week"),I("W",["WW",2],"Wo","isoWeek"),O("week","w"),O("isoWeek","W"),G("week",5),G("isoWeek",5),ca("w",J),ca("ww",J,q),ca("W",J),ca("WW",J,q),Aa(["w","ww","W","WW"],function(a,e,i,r){e[r.substr(0,1)]=T(a)}),I("d",0,"do","day"),I("dd",0,0,function(a){return this.localeData().weekdaysMin(this,a)}),I("ddd",0,0,function(a){return this.localeData().weekdaysShort(this,a)}),I("dddd",0,0,function(a){return this.localeData().weekdays(this,a)}),I("e",0,0,"weekday"),I("E",0,0,"isoWeekday"),O("day","d"),O("weekday","e"),O("isoWeekday","E"),G("day",11),G("weekday",11),G("isoWeekday",11),ca("d",J),ca("e",J),ca("E",J),ca("dd",function(a,e){return e.weekdaysMinRegex(a)}),ca("ddd",function(a,e){return e.weekdaysShortRegex(a)}),ca("dddd",function(a,e){return e.weekdaysRegex(a)}),Aa(["dd","ddd","dddd"],function(a,e,i,r){var t=i._locale.weekdaysParse(a,r,i._strict);null!=t?e.d=t:y(i).invalidWeekday=a}),Aa(["d","e","E"],function(a,e,i,r){e[r]=T(a)});var Ua="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),ja="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),qa="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),Va=oa,Ka=oa,Za=oa;function Ja(){function a(a,e){return e.length-a.length}var e,i,r,t,n,o=[],s=[],c=[],u=[];for(e=0;e<7;e++)i=h([2e3,1]).day(e),r=this.weekdaysMin(i,""),t=this.weekdaysShort(i,""),n=this.weekdays(i,""),o.push(r),s.push(t),c.push(n),u.push(r),u.push(t),u.push(n);for(o.sort(a),s.sort(a),c.sort(a),u.sort(a),e=0;e<7;e++)s[e]=ua(s[e]),c[e]=ua(c[e]),u[e]=ua(u[e]);this._weekdaysRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+c.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+o.join("|")+")","i")}function Xa(){return this.hours()%12||12}function Qa(a,e){I(a,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),e)})}function $a(a,e){return e._meridiemParse}I("H",["HH",2],0,"hour"),I("h",["hh",2],0,Xa),I("k",["kk",2],0,function(){return this.hours()||24}),I("hmm",0,0,function(){return""+Xa.apply(this)+B(this.minutes(),2)}),I("hmmss",0,0,function(){return""+Xa.apply(this)+B(this.minutes(),2)+B(this.seconds(),2)}),I("Hmm",0,0,function(){return""+this.hours()+B(this.minutes(),2)}),I("Hmmss",0,0,function(){return""+this.hours()+B(this.minutes(),2)+B(this.seconds(),2)}),Qa("a",!0),Qa("A",!1),O("hour","h"),G("hour",13),ca("a",$a),ca("A",$a),ca("H",J),ca("h",J),ca("k",J),ca("HH",J,q),ca("hh",J,q),ca("kk",J,q),ca("hmm",X),ca("hmmss",Q),ca("Hmm",X),ca("Hmmss",Q),da(["H","HH"],_a),da(["k","kk"],function(a,e,i){var r=T(a);e[_a]=24===r?0:r}),da(["a","A"],function(a,e,i){i._isPm=i._locale.isPM(a),i._meridiem=a}),da(["h","hh"],function(a,e,i){e[_a]=T(a),y(i).bigHour=!0}),da("hmm",function(a,e,i){var r=a.length-2;e[_a]=T(a.substr(0,r)),e[pa]=T(a.substr(r)),y(i).bigHour=!0}),da("hmmss",function(a,e,i){var r=a.length-4,t=a.length-2;e[_a]=T(a.substr(0,r)),e[pa]=T(a.substr(r,2)),e[Ma]=T(a.substr(t)),y(i).bigHour=!0}),da("Hmm",function(a,e,i){var r=a.length-2;e[_a]=T(a.substr(0,r)),e[pa]=T(a.substr(r))}),da("Hmmss",function(a,e,i){var r=a.length-4,t=a.length-2;e[_a]=T(a.substr(0,r)),e[pa]=T(a.substr(r,2)),e[Ma]=T(a.substr(t))});var ae,ee=Ea("Hours",!0),ie={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:za,monthsShort:Oa,week:{dow:0,doy:6},weekdays:Ua,weekdaysMin:qa,weekdaysShort:ja,meridiemParse:/[ap]\.?m?\.?/i},re={},te={};function ne(a){return a?a.toLowerCase().replace("_","-"):a}function oe(a){var e=null;if(!re[a]&&"undefined"!=typeof module&&module&&module.exports)try{e=ae._abbr,require("./locale/"+a),se(e)}catch(a){}return re[a]}function se(a,e){var i;return a&&((i=u(e)?ue(a):ce(a,e))?ae=i:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+a+" not found. Did you forget to load it?")),ae._abbr}function ce(a,e){if(null===e)return delete re[a],null;var i,r=ie;if(e.abbr=a,null!=re[a])v("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),r=re[a]._config;else if(null!=e.parentLocale)if(null!=re[e.parentLocale])r=re[e.parentLocale]._config;else{if(null==(i=oe(e.parentLocale)))return te[e.parentLocale]||(te[e.parentLocale]=[]),te[e.parentLocale].push({name:a,config:e}),null;r=i._config}return re[a]=new Y(w(r,e)),te[a]&&te[a].forEach(function(a){ce(a.name,a.config)}),se(a),re[a]}function ue(a){var e;if(a&&a._locale&&a._locale._abbr&&(a=a._locale._abbr),!a)return ae;if(!s(a)){if(e=oe(a))return e;a=[a]}return function(a){for(var e,i,r,t,n=0;n<a.length;){for(e=(t=ne(a[n]).split("-")).length,i=(i=ne(a[n+1]))?i.split("-"):null;0<e;){if(r=oe(t.slice(0,e).join("-")))return r;if(i&&i.length>=e&&o(t,i,!0)>=e-1)break;e--}n++}return ae}(a)}function le(a){var e,i=a._a;return i&&-2===y(a).overflow&&(e=i[ha]<0||11<i[ha]?ha:i[fa]<1||i[fa]>wa(i[ma],i[ha])?fa:i[_a]<0||24<i[_a]||24===i[_a]&&(0!==i[pa]||0!==i[Ma]||0!==i[ga])?_a:i[pa]<0||59<i[pa]?pa:i[Ma]<0||59<i[Ma]?Ma:i[ga]<0||999<i[ga]?ga:-1,y(a)._overflowDayOfYear&&(e<ma||fa<e)&&(e=fa),y(a)._overflowWeeks&&-1===e&&(e=ya),y(a)._overflowWeekday&&-1===e&&(e=ba),y(a).overflow=e),a}function de(a,e,i){return null!=a?a:null!=e?e:i}function Ae(a){var e,i,r,t,n,o=[];if(!a._d){var s,c;for(s=a,c=new Date(M.now()),r=s._useUTC?[c.getUTCFullYear(),c.getUTCMonth(),c.getUTCDate()]:[c.getFullYear(),c.getMonth(),c.getDate()],a._w&&null==a._a[fa]&&null==a._a[ha]&&function(a){var e,i,r,t,n,o,s,c;if(null!=(e=a._w).GG||null!=e.W||null!=e.E)n=1,o=4,i=de(e.GG,a._a[ma],xa(Ee(),1,4).year),r=de(e.W,1),((t=de(e.E,1))<1||7<t)&&(c=!0);else{n=a._locale._week.dow,o=a._locale._week.doy;var u=xa(Ee(),n,o);i=de(e.gg,a._a[ma],u.year),r=de(e.w,u.week),null!=e.d?((t=e.d)<0||6<t)&&(c=!0):null!=e.e?(t=e.e+n,(e.e<0||6<e.e)&&(c=!0)):t=n}r<1||r>Ia(i,n,o)?y(a)._overflowWeeks=!0:null!=c?y(a)._overflowWeekday=!0:(s=Ha(i,r,t,n,o),a._a[ma]=s.year,a._dayOfYear=s.dayOfYear)}(a),null!=a._dayOfYear&&(n=de(a._a[ma],r[ma]),(a._dayOfYear>Sa(n)||0===a._dayOfYear)&&(y(a)._overflowDayOfYear=!0),i=Wa(n,0,a._dayOfYear),a._a[ha]=i.getUTCMonth(),a._a[fa]=i.getUTCDate()),e=0;e<3&&null==a._a[e];++e)a._a[e]=o[e]=r[e];for(;e<7;e++)a._a[e]=o[e]=null==a._a[e]?2===e?1:0:a._a[e];24===a._a[_a]&&0===a._a[pa]&&0===a._a[Ma]&&0===a._a[ga]&&(a._nextDay=!0,a._a[_a]=0),a._d=(a._useUTC?Wa:function(a,e,i,r,t,n,o){var s;return a<100&&0<=a?(s=new Date(a+400,e,i,r,t,n,o),isFinite(s.getFullYear())&&s.setFullYear(a)):s=new Date(a,e,i,r,t,n,o),s}).apply(null,o),t=a._useUTC?a._d.getUTCDay():a._d.getDay(),null!=a._tzm&&a._d.setUTCMinutes(a._d.getUTCMinutes()-a._tzm),a._nextDay&&(a._a[_a]=24),a._w&&void 0!==a._w.d&&a._w.d!==t&&(y(a).weekdayMismatch=!0)}}var me=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,he=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,fe=/Z|[+-]\d\d(?::?\d\d)?/,_e=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],pe=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Me=/^\/?Date\((\-?\d+)/i;function ge(a){var e,i,r,t,n,o,s=a._i,c=me.exec(s)||he.exec(s);if(c){for(y(a).iso=!0,e=0,i=_e.length;e<i;e++)if(_e[e][1].exec(c[1])){t=_e[e][0],r=!1!==_e[e][2];break}if(null==t)return void(a._isValid=!1);if(c[3]){for(e=0,i=pe.length;e<i;e++)if(pe[e][1].exec(c[3])){n=(c[2]||" ")+pe[e][0];break}if(null==n)return void(a._isValid=!1)}if(!r&&null!=n)return void(a._isValid=!1);if(c[4]){if(!fe.exec(c[4]))return void(a._isValid=!1);o="Z"}a._f=t+(n||"")+(o||""),ke(a)}else a._isValid=!1}var ye=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/;var be={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function Se(a){var e,i,r,t,n,o,s,c,u,l,d,A=ye.exec(a._i.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,""));if(A){var m=(t=A[4],n=A[3],o=A[2],s=A[5],c=A[6],u=A[7],d=[(l=parseInt(t,10),l<=49?2e3+l:l<=999?1900+l:l),Oa.indexOf(n),parseInt(o,10),parseInt(s,10),parseInt(c,10)],u&&d.push(parseInt(u,10)),d);if(i=m,r=a,(e=A[1])&&ja.indexOf(e)!==new Date(i[0],i[1],i[2]).getDay()&&(y(r).weekdayMismatch=!0,!(r._isValid=!1)))return;a._a=m,a._tzm=function(a,e,i){if(a)return be[a];if(e)return 0;var r=parseInt(i,10),t=r%100;return(r-t)/100*60+t}(A[8],A[9],A[10]),a._d=Wa.apply(null,a._a),a._d.setUTCMinutes(a._d.getUTCMinutes()-a._tzm),y(a).rfc2822=!0}else a._isValid=!1}function ke(a){if(a._f!==M.ISO_8601)if(a._f!==M.RFC_2822){a._a=[],y(a).empty=!0;var e,i,r,t,n,o,s,c,u=""+a._i,l=u.length,d=0;for(r=U(a._f,a._locale).match(W)||[],e=0;e<r.length;e++)t=r[e],(i=(u.match((_=t,p=a,g(sa,_)?sa[_](p._strict,p._locale):new RegExp(ua(_.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,e,i,r,t){return e||i||r||t})))))||[])[0])&&(0<(n=u.substr(0,u.indexOf(i))).length&&y(a).unusedInput.push(n),u=u.slice(u.indexOf(i)+i.length),d+=i.length),x[t]?(i?y(a).empty=!1:y(a).unusedTokens.push(t),o=t,c=a,null!=(s=i)&&g(la,o)&&la[o](s,c._a,c,o)):a._strict&&!i&&y(a).unusedTokens.push(t);y(a).charsLeftOver=l-d,0<u.length&&y(a).unusedInput.push(u),a._a[_a]<=12&&!0===y(a).bigHour&&0<a._a[_a]&&(y(a).bigHour=void 0),y(a).parsedDateParts=a._a.slice(0),y(a).meridiem=a._meridiem,a._a[_a]=(A=a._locale,m=a._a[_a],null==(h=a._meridiem)?m:null!=A.meridiemHour?A.meridiemHour(m,h):(null!=A.isPM&&((f=A.isPM(h))&&m<12&&(m+=12),f||12!==m||(m=0)),m)),Ae(a),le(a)}else Se(a);else ge(a);var A,m,h,f,_,p}function Te(a){var e,i,r,t,n=a._i,o=a._f;return a._locale=a._locale||ue(a._l),null===n||void 0===o&&""===n?_({nullInput:!0}):("string"==typeof n&&(a._i=n=a._locale.preparse(n)),S(n)?new b(le(n)):(d(n)?a._d=n:s(o)?function(a){var e,i,r,t,n;if(0===a._f.length)return y(a).invalidFormat=!0,a._d=new Date(NaN);for(t=0;t<a._f.length;t++)n=0,e=p({},a),null!=a._useUTC&&(e._useUTC=a._useUTC),e._f=a._f[t],ke(e),f(e)&&(n+=y(e).charsLeftOver,n+=10*y(e).unusedTokens.length,y(e).score=n,(null==r||n<r)&&(r=n,i=e));m(a,i||e)}(a):o?ke(a):u(i=(e=a)._i)?e._d=new Date(M.now()):d(i)?e._d=new Date(i.valueOf()):"string"==typeof i?(r=e,null===(t=Me.exec(r._i))?(ge(r),!1===r._isValid&&(delete r._isValid,Se(r),!1===r._isValid&&(delete r._isValid,M.createFromInputFallback(r)))):r._d=new Date(+t[1])):s(i)?(e._a=A(i.slice(0),function(a){return parseInt(a,10)}),Ae(e)):c(i)?function(a){if(!a._d){var e=L(a._i);a._a=A([e.year,e.month,e.day||e.date,e.hour,e.minute,e.second,e.millisecond],function(a){return a&&parseInt(a,10)}),Ae(a)}}(e):l(i)?e._d=new Date(i):M.createFromInputFallback(e),f(a)||(a._d=null),a))}function De(a,e,i,r,t){var n,o={};return!0!==i&&!1!==i||(r=i,i=void 0),(c(a)&&function(a){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(a).length;var e;for(e in a)if(a.hasOwnProperty(e))return!1;return!0}(a)||s(a)&&0===a.length)&&(a=void 0),o._isAMomentObject=!0,o._useUTC=o._isUTC=t,o._l=i,o._i=a,o._f=e,o._strict=r,(n=new b(le(Te(o))))._nextDay&&(n.add(1,"d"),n._nextDay=void 0),n}function Ee(a,e,i,r){return De(a,e,i,r,!1)}M.createFromInputFallback=i("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(a){a._d=new Date(a._i+(a._useUTC?" UTC":""))}),M.ISO_8601=function(){},M.RFC_2822=function(){};var ve=i("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var a=Ee.apply(null,arguments);return this.isValid()&&a.isValid()?a<this?this:a:_()}),Pe=i("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var a=Ee.apply(null,arguments);return this.isValid()&&a.isValid()?this<a?this:a:_()});function we(a,e){var i,r;if(1===e.length&&s(e[0])&&(e=e[0]),!e.length)return Ee();for(i=e[0],r=1;r<e.length;++r)e[r].isValid()&&!e[r][a](i)||(i=e[r]);return i}var Ye=["year","quarter","month","week","day","hour","minute","second","millisecond"];function ze(a){var e=L(a),i=e.year||0,r=e.quarter||0,t=e.month||0,n=e.week||e.isoWeek||0,o=e.day||0,s=e.hour||0,c=e.minute||0,u=e.second||0,l=e.millisecond||0;this._isValid=function(a){for(var e in a)if(-1===Ta.call(Ye,e)||null!=a[e]&&isNaN(a[e]))return!1;for(var i=!1,r=0;r<Ye.length;++r)if(a[Ye[r]]){if(i)return!1;parseFloat(a[Ye[r]])!==T(a[Ye[r]])&&(i=!0)}return!0}(e),this._milliseconds=+l+1e3*u+6e4*c+1e3*s*60*60,this._days=+o+7*n,this._months=+t+3*r+12*i,this._data={},this._locale=ue(),this._bubble()}function Oe(a){return a instanceof ze}function Ce(a){return a<0?-1*Math.round(-1*a):Math.round(a)}function Le(a,i){I(a,0,0,function(){var a=this.utcOffset(),e="+";return a<0&&(a=-a,e="-"),e+B(~~(a/60),2)+i+B(~~a%60,2)})}Le("Z",":"),Le("ZZ",""),ca("Z",na),ca("ZZ",na),da(["Z","ZZ"],function(a,e,i){i._useUTC=!0,i._tzm=Ge(na,a)});var Ne=/([\+\-]|\d\d)/gi;function Ge(a,e){var i=(e||"").match(a);if(null===i)return null;var r=((i[i.length-1]||[])+"").match(Ne)||["-",0,0],t=60*r[1]+T(r[2]);return 0===t?0:"+"===r[0]?t:-t}function Be(a,e){var i,r;return e._isUTC?(i=e.clone(),r=(S(a)||d(a)?a.valueOf():Ee(a).valueOf())-i.valueOf(),i._d.setTime(i._d.valueOf()+r),M.updateOffset(i,!1),i):Ee(a).local()}function We(a){return 15*-Math.round(a._d.getTimezoneOffset()/15)}function Re(){return!!this.isValid()&&this._isUTC&&0===this._offset}M.updateOffset=function(){};var He=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,xe=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Ie(a,e){var i,r,t,n,o,s,c=a,u=null;return Oe(a)?c={ms:a._milliseconds,d:a._days,M:a._months}:l(a)?(c={},e?c[e]=a:c.milliseconds=a):(u=He.exec(a))?(i="-"===u[1]?-1:1,c={y:0,d:T(u[fa])*i,h:T(u[_a])*i,m:T(u[pa])*i,s:T(u[Ma])*i,ms:T(Ce(1e3*u[ga]))*i}):(u=xe.exec(a))?(i="-"===u[1]?-1:1,c={y:Fe(u[2],i),M:Fe(u[3],i),w:Fe(u[4],i),d:Fe(u[5],i),h:Fe(u[6],i),m:Fe(u[7],i),s:Fe(u[8],i)}):null==c?c={}:"object"==typeof c&&("from"in c||"to"in c)&&(n=Ee(c.from),o=Ee(c.to),t=n.isValid()&&o.isValid()?(o=Be(o,n),n.isBefore(o)?s=Ue(n,o):((s=Ue(o,n)).milliseconds=-s.milliseconds,s.months=-s.months),s):{milliseconds:0,months:0},(c={}).ms=t.milliseconds,c.M=t.months),r=new ze(c),Oe(a)&&g(a,"_locale")&&(r._locale=a._locale),r}function Fe(a,e){var i=a&&parseFloat(a.replace(",","."));return(isNaN(i)?0:i)*e}function Ue(a,e){var i={};return i.months=e.month()-a.month()+12*(e.year()-a.year()),a.clone().add(i.months,"M").isAfter(e)&&--i.months,i.milliseconds=+e-+a.clone().add(i.months,"M"),i}function je(r,t){return function(a,e){var i;return null===e||isNaN(+e)||(v(t,"moment()."+t+"(period, number) is deprecated. Please use moment()."+t+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),i=a,a=e,e=i),qe(this,Ie(a="string"==typeof a?+a:a,e),r),this}}function qe(a,e,i,r){var t=e._milliseconds,n=Ce(e._days),o=Ce(e._months);a.isValid()&&(r=null==r||r,o&&Ca(a,va(a,"Month")+o*i),n&&Pa(a,"Date",va(a,"Date")+n*i),t&&a._d.setTime(a._d.valueOf()+t*i),r&&M.updateOffset(a,n||o))}Ie.fn=ze.prototype,Ie.invalid=function(){return Ie(NaN)};var Ve=je(1,"add"),Ke=je(-1,"subtract");function Ze(a,e){var i=12*(e.year()-a.year())+(e.month()-a.month()),r=a.clone().add(i,"months");return-(i+(e-r<0?(e-r)/(r-a.clone().add(i-1,"months")):(e-r)/(a.clone().add(i+1,"months")-r)))||0}function Je(a){var e;return void 0===a?this._locale._abbr:(null!=(e=ue(a))&&(this._locale=e),this)}M.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",M.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Xe=i("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(a){return void 0===a?this.localeData():this.locale(a)});function Qe(){return this._locale}var $e=126227808e5;function ai(a,e){return(a%e+e)%e}function ei(a,e,i){return a<100&&0<=a?new Date(a+400,e,i)-$e:new Date(a,e,i).valueOf()}function ii(a,e,i){return a<100&&0<=a?Date.UTC(a+400,e,i)-$e:Date.UTC(a,e,i)}function ri(a,e){I(0,[a,a.length],0,e)}function ti(a,e,i,r,t){var n;return null==a?xa(this,r,t).year:((n=Ia(a,r,t))<e&&(e=n),function(a,e,i,r,t){var n=Ha(a,e,i,r,t),o=Wa(n.year,0,n.dayOfYear);return this.year(o.getUTCFullYear()),this.month(o.getUTCMonth()),this.date(o.getUTCDate()),this}.call(this,a,e,i,r,t))}I(0,["gg",2],0,function(){return this.weekYear()%100}),I(0,["GG",2],0,function(){return this.isoWeekYear()%100}),ri("gggg","weekYear"),ri("ggggg","weekYear"),ri("GGGG","isoWeekYear"),ri("GGGGG","isoWeekYear"),O("weekYear","gg"),O("isoWeekYear","GG"),G("weekYear",1),G("isoWeekYear",1),ca("G",ra),ca("g",ra),ca("GG",J,q),ca("gg",J,q),ca("GGGG",aa,K),ca("gggg",aa,K),ca("GGGGG",ea,Z),ca("ggggg",ea,Z),Aa(["gggg","ggggg","GGGG","GGGGG"],function(a,e,i,r){e[r.substr(0,2)]=T(a)}),Aa(["gg","GG"],function(a,e,i,r){e[r]=M.parseTwoDigitYear(a)}),I("Q",0,"Qo","quarter"),O("quarter","Q"),G("quarter",7),ca("Q",j),da("Q",function(a,e){e[ha]=3*(T(a)-1)}),I("D",["DD",2],"Do","date"),O("date","D"),G("date",9),ca("D",J),ca("DD",J,q),ca("Do",function(a,e){return a?e._dayOfMonthOrdinalParse||e._ordinalParse:e._dayOfMonthOrdinalParseLenient}),da(["D","DD"],fa),da("Do",function(a,e){e[fa]=T(a.match(J)[0])});var ni=Ea("Date",!0);I("DDD",["DDDD",3],"DDDo","dayOfYear"),O("dayOfYear","DDD"),G("dayOfYear",4),ca("DDD",$),ca("DDDD",V),da(["DDD","DDDD"],function(a,e,i){i._dayOfYear=T(a)}),I("m",["mm",2],0,"minute"),O("minute","m"),G("minute",14),ca("m",J),ca("mm",J,q),da(["m","mm"],pa);var oi=Ea("Minutes",!1);I("s",["ss",2],0,"second"),O("second","s"),G("second",15),ca("s",J),ca("ss",J,q),da(["s","ss"],Ma);var si,ci=Ea("Seconds",!1);for(I("S",0,0,function(){return~~(this.millisecond()/100)}),I(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),I(0,["SSS",3],0,"millisecond"),I(0,["SSSS",4],0,function(){return 10*this.millisecond()}),I(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),I(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),I(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),I(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),I(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),O("millisecond","ms"),G("millisecond",16),ca("S",$,j),ca("SS",$,q),ca("SSS",$,V),si="SSSS";si.length<=9;si+="S")ca(si,ia);function ui(a,e){e[ga]=T(1e3*("0."+a))}for(si="S";si.length<=9;si+="S")da(si,ui);var li=Ea("Milliseconds",!1);I("z",0,0,"zoneAbbr"),I("zz",0,0,"zoneName");var di=b.prototype;function Ai(a){return a}di.add=Ve,di.calendar=function(a,e){var i=a||Ee(),r=Be(i,this).startOf("day"),t=M.calendarFormat(this,r)||"sameElse",n=e&&(P(e[t])?e[t].call(this,i):e[t]);return this.format(n||this.localeData().calendar(t,this,Ee(i)))},di.clone=function(){return new b(this)},di.diff=function(a,e,i){var r,t,n;if(!this.isValid())return NaN;if(!(r=Be(a,this)).isValid())return NaN;switch(t=6e4*(r.utcOffset()-this.utcOffset()),e=C(e)){case"year":n=Ze(this,r)/12;break;case"month":n=Ze(this,r);break;case"quarter":n=Ze(this,r)/3;break;case"second":n=(this-r)/1e3;break;case"minute":n=(this-r)/6e4;break;case"hour":n=(this-r)/36e5;break;case"day":n=(this-r-t)/864e5;break;case"week":n=(this-r-t)/6048e5;break;default:n=this-r}return i?n:k(n)},di.endOf=function(a){var e;if(void 0===(a=C(a))||"millisecond"===a||!this.isValid())return this;var i=this._isUTC?ii:ei;switch(a){case"year":e=i(this.year()+1,0,1)-1;break;case"quarter":e=i(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":e=i(this.year(),this.month()+1,1)-1;break;case"week":e=i(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":e=i(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":e=i(this.year(),this.month(),this.date()+1)-1;break;case"hour":e=this._d.valueOf(),e+=36e5-ai(e+(this._isUTC?0:6e4*this.utcOffset()),36e5)-1;break;case"minute":e=this._d.valueOf(),e+=6e4-ai(e,6e4)-1;break;case"second":e=this._d.valueOf(),e+=1e3-ai(e,1e3)-1}return this._d.setTime(e),M.updateOffset(this,!0),this},di.format=function(a){a||(a=this.isUtc()?M.defaultFormatUtc:M.defaultFormat);var e=F(this,a);return this.localeData().postformat(e)},di.from=function(a,e){return this.isValid()&&(S(a)&&a.isValid()||Ee(a).isValid())?Ie({to:this,from:a}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},di.fromNow=function(a){return this.from(Ee(),a)},di.to=function(a,e){return this.isValid()&&(S(a)&&a.isValid()||Ee(a).isValid())?Ie({from:this,to:a}).locale(this.locale()).humanize(!e):this.localeData().invalidDate()},di.toNow=function(a){return this.to(Ee(),a)},di.get=function(a){return P(this[a=C(a)])?this[a]():this},di.invalidAt=function(){return y(this).overflow},di.isAfter=function(a,e){var i=S(a)?a:Ee(a);return!(!this.isValid()||!i.isValid())&&("millisecond"===(e=C(e)||"millisecond")?this.valueOf()>i.valueOf():i.valueOf()<this.clone().startOf(e).valueOf())},di.isBefore=function(a,e){var i=S(a)?a:Ee(a);return!(!this.isValid()||!i.isValid())&&("millisecond"===(e=C(e)||"millisecond")?this.valueOf()<i.valueOf():this.clone().endOf(e).valueOf()<i.valueOf())},di.isBetween=function(a,e,i,r){var t=S(a)?a:Ee(a),n=S(e)?e:Ee(e);return!!(this.isValid()&&t.isValid()&&n.isValid())&&("("===(r=r||"()")[0]?this.isAfter(t,i):!this.isBefore(t,i))&&(")"===r[1]?this.isBefore(n,i):!this.isAfter(n,i))},di.isSame=function(a,e){var i,r=S(a)?a:Ee(a);return!(!this.isValid()||!r.isValid())&&("millisecond"===(e=C(e)||"millisecond")?this.valueOf()===r.valueOf():(i=r.valueOf(),this.clone().startOf(e).valueOf()<=i&&i<=this.clone().endOf(e).valueOf()))},di.isSameOrAfter=function(a,e){return this.isSame(a,e)||this.isAfter(a,e)},di.isSameOrBefore=function(a,e){return this.isSame(a,e)||this.isBefore(a,e)},di.isValid=function(){return f(this)},di.lang=Xe,di.locale=Je,di.localeData=Qe,di.max=Pe,di.min=ve,di.parsingFlags=function(){return m({},y(this))},di.set=function(a,e){if("object"==typeof a)for(var i=function(a){var e=[];for(var i in a)e.push({unit:i,priority:N[i]});return e.sort(function(a,e){return a.priority-e.priority}),e}(a=L(a)),r=0;r<i.length;r++)this[i[r].unit](a[i[r].unit]);else if(P(this[a=C(a)]))return this[a](e);return this},di.startOf=function(a){var e;if(void 0===(a=C(a))||"millisecond"===a||!this.isValid())return this;var i=this._isUTC?ii:ei;switch(a){case"year":e=i(this.year(),0,1);break;case"quarter":e=i(this.year(),this.month()-this.month()%3,1);break;case"month":e=i(this.year(),this.month(),1);break;case"week":e=i(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":e=i(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":e=i(this.year(),this.month(),this.date());break;case"hour":e=this._d.valueOf(),e-=ai(e+(this._isUTC?0:6e4*this.utcOffset()),36e5);break;case"minute":e=this._d.valueOf(),e-=ai(e,6e4);break;case"second":e=this._d.valueOf(),e-=ai(e,1e3)}return this._d.setTime(e),M.updateOffset(this,!0),this},di.subtract=Ke,di.toArray=function(){var a=this;return[a.year(),a.month(),a.date(),a.hour(),a.minute(),a.second(),a.millisecond()]},di.toObject=function(){var a=this;return{years:a.year(),months:a.month(),date:a.date(),hours:a.hours(),minutes:a.minutes(),seconds:a.seconds(),milliseconds:a.milliseconds()}},di.toDate=function(){return new Date(this.valueOf())},di.toISOString=function(a){if(!this.isValid())return null;var e=!0!==a,i=e?this.clone().utc():this;return i.year()<0||9999<i.year()?F(i,e?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):P(Date.prototype.toISOString)?e?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",F(i,"Z")):F(i,e?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},di.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var a="moment",e="";this.isLocal()||(a=0===this.utcOffset()?"moment.utc":"moment.parseZone",e="Z");var i="["+a+'("]',r=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",t=e+'[")]';return this.format(i+r+"-MM-DD[T]HH:mm:ss.SSS"+t)},di.toJSON=function(){return this.isValid()?this.toISOString():null},di.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},di.unix=function(){return Math.floor(this.valueOf()/1e3)},di.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},di.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},di.year=Da,di.isLeapYear=function(){return ka(this.year())},di.weekYear=function(a){return ti.call(this,a,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},di.isoWeekYear=function(a){return ti.call(this,a,this.isoWeek(),this.isoWeekday(),1,4)},di.quarter=di.quarters=function(a){return null==a?Math.ceil((this.month()+1)/3):this.month(3*(a-1)+this.month()%3)},di.month=La,di.daysInMonth=function(){return wa(this.year(),this.month())},di.week=di.weeks=function(a){var e=this.localeData().week(this);return null==a?e:this.add(7*(a-e),"d")},di.isoWeek=di.isoWeeks=function(a){var e=xa(this,1,4).week;return null==a?e:this.add(7*(a-e),"d")},di.weeksInYear=function(){var a=this.localeData()._week;return Ia(this.year(),a.dow,a.doy)},di.isoWeeksInYear=function(){return Ia(this.year(),1,4)},di.date=ni,di.day=di.days=function(a){if(!this.isValid())return null!=a?this:NaN;var e,i,r=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(e=a,i=this.localeData(),a="string"!=typeof e?e:isNaN(e)?"number"==typeof(e=i.weekdaysParse(e))?e:null:parseInt(e,10),this.add(a-r,"d")):r},di.weekday=function(a){if(!this.isValid())return null!=a?this:NaN;var e=(this.day()+7-this.localeData()._week.dow)%7;return null==a?e:this.add(a-e,"d")},di.isoWeekday=function(a){if(!this.isValid())return null!=a?this:NaN;if(null==a)return this.day()||7;var e,i,r=(e=a,i=this.localeData(),"string"==typeof e?i.weekdaysParse(e)%7||7:isNaN(e)?null:e);return this.day(this.day()%7?r:r-7)},di.dayOfYear=function(a){var e=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==a?e:this.add(a-e,"d")},di.hour=di.hours=ee,di.minute=di.minutes=oi,di.second=di.seconds=ci,di.millisecond=di.milliseconds=li,di.utcOffset=function(a,e,i){var r,t=this._offset||0;if(!this.isValid())return null!=a?this:NaN;if(null==a)return this._isUTC?t:We(this);if("string"==typeof a){if(null===(a=Ge(na,a)))return this}else Math.abs(a)<16&&!i&&(a*=60);return!this._isUTC&&e&&(r=We(this)),this._offset=a,this._isUTC=!0,null!=r&&this.add(r,"m"),t!==a&&(!e||this._changeInProgress?qe(this,Ie(a-t,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,M.updateOffset(this,!0),this._changeInProgress=null)),this},di.utc=function(a){return this.utcOffset(0,a)},di.local=function(a){return this._isUTC&&(this.utcOffset(0,a),this._isUTC=!1,a&&this.subtract(We(this),"m")),this},di.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var a=Ge(ta,this._i);null!=a?this.utcOffset(a):this.utcOffset(0,!0)}return this},di.hasAlignedHourOffset=function(a){return!!this.isValid()&&(a=a?Ee(a).utcOffset():0,(this.utcOffset()-a)%60==0)},di.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},di.isLocal=function(){return!!this.isValid()&&!this._isUTC},di.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},di.isUtc=Re,di.isUTC=Re,di.zoneAbbr=function(){return this._isUTC?"UTC":""},di.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},di.dates=i("dates accessor is deprecated. Use date instead.",ni),di.months=i("months accessor is deprecated. Use month instead",La),di.years=i("years accessor is deprecated. Use year instead",Da),di.zone=i("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(a,e){return null!=a?("string"!=typeof a&&(a=-a),this.utcOffset(a,e),this):-this.utcOffset()}),di.isDSTShifted=i("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!u(this._isDSTShifted))return this._isDSTShifted;var a={};if(p(a,this),(a=Te(a))._a){var e=a._isUTC?h(a._a):Ee(a._a);this._isDSTShifted=this.isValid()&&0<o(a._a,e.toArray())}else this._isDSTShifted=!1;return this._isDSTShifted});var mi=Y.prototype;function hi(a,e,i,r){var t=ue(),n=h().set(r,e);return t[i](n,a)}function fi(a,e,i){if(l(a)&&(e=a,a=void 0),a=a||"",null!=e)return hi(a,e,i,"month");var r,t=[];for(r=0;r<12;r++)t[r]=hi(a,r,i,"month");return t}function _i(a,e,i,r){"boolean"==typeof a?l(e)&&(i=e,e=void 0):(e=a,a=!1,l(i=e)&&(i=e,e=void 0)),e=e||"";var t,n=ue(),o=a?n._week.dow:0;if(null!=i)return hi(e,(i+o)%7,r,"day");var s=[];for(t=0;t<7;t++)s[t]=hi(e,(t+o)%7,r,"day");return s}mi.calendar=function(a,e,i){var r=this._calendar[a]||this._calendar.sameElse;return P(r)?r.call(e,i):r},mi.longDateFormat=function(a){var e=this._longDateFormat[a],i=this._longDateFormat[a.toUpperCase()];return e||!i?e:(this._longDateFormat[a]=i.replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a])},mi.invalidDate=function(){return this._invalidDate},mi.ordinal=function(a){return this._ordinal.replace("%d",a)},mi.preparse=Ai,mi.postformat=Ai,mi.relativeTime=function(a,e,i,r){var t=this._relativeTime[i];return P(t)?t(a,e,i,r):t.replace(/%d/i,a)},mi.pastFuture=function(a,e){var i=this._relativeTime[0<a?"future":"past"];return P(i)?i(e):i.replace(/%s/i,e)},mi.set=function(a){var e,i;for(i in a)P(e=a[i])?this[i]=e:this["_"+i]=e;this._config=a,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},mi.months=function(a,e){return a?s(this._months)?this._months[a.month()]:this._months[(this._months.isFormat||Ya).test(e)?"format":"standalone"][a.month()]:s(this._months)?this._months:this._months.standalone},mi.monthsShort=function(a,e){return a?s(this._monthsShort)?this._monthsShort[a.month()]:this._monthsShort[Ya.test(e)?"format":"standalone"][a.month()]:s(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},mi.monthsParse=function(a,e,i){var r,t,n;if(this._monthsParseExact)return function(a,e,i){var r,t,n,o=a.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],r=0;r<12;++r)n=h([2e3,r]),this._shortMonthsParse[r]=this.monthsShort(n,"").toLocaleLowerCase(),this._longMonthsParse[r]=this.months(n,"").toLocaleLowerCase();return i?"MMM"===e?-1!==(t=Ta.call(this._shortMonthsParse,o))?t:null:-1!==(t=Ta.call(this._longMonthsParse,o))?t:null:"MMM"===e?-1!==(t=Ta.call(this._shortMonthsParse,o))?t:-1!==(t=Ta.call(this._longMonthsParse,o))?t:null:-1!==(t=Ta.call(this._longMonthsParse,o))?t:-1!==(t=Ta.call(this._shortMonthsParse,o))?t:null}.call(this,a,e,i);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),r=0;r<12;r++){if(t=h([2e3,r]),i&&!this._longMonthsParse[r]&&(this._longMonthsParse[r]=new RegExp("^"+this.months(t,"").replace(".","")+"$","i"),this._shortMonthsParse[r]=new RegExp("^"+this.monthsShort(t,"").replace(".","")+"$","i")),i||this._monthsParse[r]||(n="^"+this.months(t,"")+"|^"+this.monthsShort(t,""),this._monthsParse[r]=new RegExp(n.replace(".",""),"i")),i&&"MMMM"===e&&this._longMonthsParse[r].test(a))return r;if(i&&"MMM"===e&&this._shortMonthsParse[r].test(a))return r;if(!i&&this._monthsParse[r].test(a))return r}},mi.monthsRegex=function(a){return this._monthsParseExact?(g(this,"_monthsRegex")||Ba.call(this),a?this._monthsStrictRegex:this._monthsRegex):(g(this,"_monthsRegex")||(this._monthsRegex=Ga),this._monthsStrictRegex&&a?this._monthsStrictRegex:this._monthsRegex)},mi.monthsShortRegex=function(a){return this._monthsParseExact?(g(this,"_monthsRegex")||Ba.call(this),a?this._monthsShortStrictRegex:this._monthsShortRegex):(g(this,"_monthsShortRegex")||(this._monthsShortRegex=Na),this._monthsShortStrictRegex&&a?this._monthsShortStrictRegex:this._monthsShortRegex)},mi.week=function(a){return xa(a,this._week.dow,this._week.doy).week},mi.firstDayOfYear=function(){return this._week.doy},mi.firstDayOfWeek=function(){return this._week.dow},mi.weekdays=function(a,e){var i=s(this._weekdays)?this._weekdays:this._weekdays[a&&!0!==a&&this._weekdays.isFormat.test(e)?"format":"standalone"];return!0===a?Fa(i,this._week.dow):a?i[a.day()]:i},mi.weekdaysMin=function(a){return!0===a?Fa(this._weekdaysMin,this._week.dow):a?this._weekdaysMin[a.day()]:this._weekdaysMin},mi.weekdaysShort=function(a){return!0===a?Fa(this._weekdaysShort,this._week.dow):a?this._weekdaysShort[a.day()]:this._weekdaysShort},mi.weekdaysParse=function(a,e,i){var r,t,n;if(this._weekdaysParseExact)return function(a,e,i){var r,t,n,o=a.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],r=0;r<7;++r)n=h([2e3,1]).day(r),this._minWeekdaysParse[r]=this.weekdaysMin(n,"").toLocaleLowerCase(),this._shortWeekdaysParse[r]=this.weekdaysShort(n,"").toLocaleLowerCase(),this._weekdaysParse[r]=this.weekdays(n,"").toLocaleLowerCase();return i?"dddd"===e?-1!==(t=Ta.call(this._weekdaysParse,o))?t:null:"ddd"===e?-1!==(t=Ta.call(this._shortWeekdaysParse,o))?t:null:-1!==(t=Ta.call(this._minWeekdaysParse,o))?t:null:"dddd"===e?-1!==(t=Ta.call(this._weekdaysParse,o))?t:-1!==(t=Ta.call(this._shortWeekdaysParse,o))?t:-1!==(t=Ta.call(this._minWeekdaysParse,o))?t:null:"ddd"===e?-1!==(t=Ta.call(this._shortWeekdaysParse,o))?t:-1!==(t=Ta.call(this._weekdaysParse,o))?t:-1!==(t=Ta.call(this._minWeekdaysParse,o))?t:null:-1!==(t=Ta.call(this._minWeekdaysParse,o))?t:-1!==(t=Ta.call(this._weekdaysParse,o))?t:-1!==(t=Ta.call(this._shortWeekdaysParse,o))?t:null}.call(this,a,e,i);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),r=0;r<7;r++){if(t=h([2e3,1]).day(r),i&&!this._fullWeekdaysParse[r]&&(this._fullWeekdaysParse[r]=new RegExp("^"+this.weekdays(t,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[r]=new RegExp("^"+this.weekdaysShort(t,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[r]=new RegExp("^"+this.weekdaysMin(t,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[r]||(n="^"+this.weekdays(t,"")+"|^"+this.weekdaysShort(t,"")+"|^"+this.weekdaysMin(t,""),this._weekdaysParse[r]=new RegExp(n.replace(".",""),"i")),i&&"dddd"===e&&this._fullWeekdaysParse[r].test(a))return r;if(i&&"ddd"===e&&this._shortWeekdaysParse[r].test(a))return r;if(i&&"dd"===e&&this._minWeekdaysParse[r].test(a))return r;if(!i&&this._weekdaysParse[r].test(a))return r}},mi.weekdaysRegex=function(a){return this._weekdaysParseExact?(g(this,"_weekdaysRegex")||Ja.call(this),a?this._weekdaysStrictRegex:this._weekdaysRegex):(g(this,"_weekdaysRegex")||(this._weekdaysRegex=Va),this._weekdaysStrictRegex&&a?this._weekdaysStrictRegex:this._weekdaysRegex)},mi.weekdaysShortRegex=function(a){return this._weekdaysParseExact?(g(this,"_weekdaysRegex")||Ja.call(this),a?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(g(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Ka),this._weekdaysShortStrictRegex&&a?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},mi.weekdaysMinRegex=function(a){return this._weekdaysParseExact?(g(this,"_weekdaysRegex")||Ja.call(this),a?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(g(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Za),this._weekdaysMinStrictRegex&&a?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},mi.isPM=function(a){return"p"===(a+"").toLowerCase().charAt(0)},mi.meridiem=function(a,e,i){return 11<a?i?"pm":"PM":i?"am":"AM"},se("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(a){var e=a%10;return a+(1===T(a%100/10)?"th":1===e?"st":2===e?"nd":3===e?"rd":"th")}}),M.lang=i("moment.lang is deprecated. Use moment.locale instead.",se),M.langData=i("moment.langData is deprecated. Use moment.localeData instead.",ue);var pi=Math.abs;function Mi(a,e,i,r){var t=Ie(e,i);return a._milliseconds+=r*t._milliseconds,a._days+=r*t._days,a._months+=r*t._months,a._bubble()}function gi(a){return a<0?Math.floor(a):Math.ceil(a)}function yi(a){return 4800*a/146097}function bi(a){return 146097*a/4800}function Si(a){return function(){return this.as(a)}}var ki=Si("ms"),Ti=Si("s"),Di=Si("m"),Ei=Si("h"),vi=Si("d"),Pi=Si("w"),wi=Si("M"),Yi=Si("Q"),zi=Si("y");function Oi(a){return function(){return this.isValid()?this._data[a]:NaN}}var Ci=Oi("milliseconds"),Li=Oi("seconds"),Ni=Oi("minutes"),Gi=Oi("hours"),Bi=Oi("days"),Wi=Oi("months"),Ri=Oi("years"),Hi=Math.round,xi={ss:44,s:45,m:45,h:22,d:26,M:11},Ii=Math.abs;function Fi(a){return(0<a)-(a<0)||+a}function Ui(){if(!this.isValid())return this.localeData().invalidDate();var a,e,i=Ii(this._milliseconds)/1e3,r=Ii(this._days),t=Ii(this._months);e=k((a=k(i/60))/60),i%=60,a%=60;var n=k(t/12),o=t%=12,s=r,c=e,u=a,l=i?i.toFixed(3).replace(/\.?0+$/,""):"",d=this.asSeconds();if(!d)return"P0D";var A=d<0?"-":"",m=Fi(this._months)!==Fi(d)?"-":"",h=Fi(this._days)!==Fi(d)?"-":"",f=Fi(this._milliseconds)!==Fi(d)?"-":"";return A+"P"+(n?m+n+"Y":"")+(o?m+o+"M":"")+(s?h+s+"D":"")+(c||u||l?"T":"")+(c?f+c+"H":"")+(u?f+u+"M":"")+(l?f+l+"S":"")}var ji=ze.prototype;return ji.isValid=function(){return this._isValid},ji.abs=function(){var a=this._data;return this._milliseconds=pi(this._milliseconds),this._days=pi(this._days),this._months=pi(this._months),a.milliseconds=pi(a.milliseconds),a.seconds=pi(a.seconds),a.minutes=pi(a.minutes),a.hours=pi(a.hours),a.months=pi(a.months),a.years=pi(a.years),this},ji.add=function(a,e){return Mi(this,a,e,1)},ji.subtract=function(a,e){return Mi(this,a,e,-1)},ji.as=function(a){if(!this.isValid())return NaN;var e,i,r=this._milliseconds;if("month"===(a=C(a))||"quarter"===a||"year"===a)switch(e=this._days+r/864e5,i=this._months+yi(e),a){case"month":return i;case"quarter":return i/3;case"year":return i/12}else switch(e=this._days+Math.round(bi(this._months)),a){case"week":return e/7+r/6048e5;case"day":return e+r/864e5;case"hour":return 24*e+r/36e5;case"minute":return 1440*e+r/6e4;case"second":return 86400*e+r/1e3;case"millisecond":return Math.floor(864e5*e)+r;default:throw new Error("Unknown unit "+a)}},ji.asMilliseconds=ki,ji.asSeconds=Ti,ji.asMinutes=Di,ji.asHours=Ei,ji.asDays=vi,ji.asWeeks=Pi,ji.asMonths=wi,ji.asQuarters=Yi,ji.asYears=zi,ji.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*T(this._months/12):NaN},ji._bubble=function(){var a,e,i,r,t,n=this._milliseconds,o=this._days,s=this._months,c=this._data;return 0<=n&&0<=o&&0<=s||n<=0&&o<=0&&s<=0||(n+=864e5*gi(bi(s)+o),s=o=0),c.milliseconds=n%1e3,a=k(n/1e3),c.seconds=a%60,e=k(a/60),c.minutes=e%60,i=k(e/60),c.hours=i%24,s+=t=k(yi(o+=k(i/24))),o-=gi(bi(t)),r=k(s/12),s%=12,c.days=o,c.months=s,c.years=r,this},ji.clone=function(){return Ie(this)},ji.get=function(a){return a=C(a),this.isValid()?this[a+"s"]():NaN},ji.milliseconds=Ci,ji.seconds=Li,ji.minutes=Ni,ji.hours=Gi,ji.days=Bi,ji.weeks=function(){return k(this.days()/7)},ji.months=Wi,ji.years=Ri,ji.humanize=function(a){if(!this.isValid())return this.localeData().invalidDate();var e,i,r,t,n,o,s,c,u,l,d=this.localeData(),A=(e=!a,i=d,r=Ie(this).abs(),t=Hi(r.as("s")),n=Hi(r.as("m")),o=Hi(r.as("h")),s=Hi(r.as("d")),c=Hi(r.as("M")),u=Hi(r.as("y")),(l=t<=xi.ss&&["s",t]||t<xi.s&&["ss",t]||n<=1&&["m"]||n<xi.m&&["mm",n]||o<=1&&["h"]||o<xi.h&&["hh",o]||s<=1&&["d"]||s<xi.d&&["dd",s]||c<=1&&["M"]||c<xi.M&&["MM",c]||u<=1&&["y"]||["yy",u])[2]=e,l[3]=0<+this,l[4]=i,function(a,e,i,r,t){return t.relativeTime(e||1,!!i,a,r)}.apply(null,l));return a&&(A=d.pastFuture(+this,A)),d.postformat(A)},ji.toISOString=Ui,ji.toString=Ui,ji.toJSON=Ui,ji.locale=Je,ji.localeData=Qe,ji.toIsoString=i("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Ui),ji.lang=Xe,I("X",0,0,"unix"),I("x",0,0,"valueOf"),ca("x",ra),ca("X",/[+-]?\d+(\.\d{1,3})?/),da("X",function(a,e,i){i._d=new Date(1e3*parseFloat(a,10))}),da("x",function(a,e,i){i._d=new Date(T(a))}),M.version="2.24.0",a=Ee,M.fn=di,M.min=function(){return we("isBefore",[].slice.call(arguments,0))},M.max=function(){return we("isAfter",[].slice.call(arguments,0))},M.now=function(){return Date.now?Date.now():+new Date},M.utc=h,M.unix=function(a){return Ee(1e3*a)},M.months=function(a,e){return fi(a,e,"months")},M.isDate=d,M.locale=se,M.invalid=_,M.duration=Ie,M.isMoment=S,M.weekdays=function(a,e,i){return _i(a,e,i,"weekdays")},M.parseZone=function(){return Ee.apply(null,arguments).parseZone()},M.localeData=ue,M.isDuration=Oe,M.monthsShort=function(a,e){return fi(a,e,"monthsShort")},M.weekdaysMin=function(a,e,i){return _i(a,e,i,"weekdaysMin")},M.defineLocale=ce,M.updateLocale=function(a,e){if(null!=e){var i,r,t=ie;null!=(r=oe(a))&&(t=r._config),(i=new Y(e=w(t,e))).parentLocale=re[a],re[a]=i,se(a)}else null!=re[a]&&(null!=re[a].parentLocale?re[a]=re[a].parentLocale:null!=re[a]&&delete re[a]);return re[a]},M.locales=function(){return r(re)},M.weekdaysShort=function(a,e,i){return _i(a,e,i,"weekdaysShort")},M.normalizeUnits=C,M.relativeTimeRounding=function(a){return void 0===a?Hi:"function"==typeof a&&(Hi=a,!0)},M.relativeTimeThreshold=function(a,e){return void 0!==xi[a]&&(void 0===e?xi[a]:(xi[a]=e,"s"===a&&(xi.ss=e-1),!0))},M.calendarFormat=function(a,e){var i=a.diff(e,"days",!0);return i<-6?"sameElse":i<-1?"lastWeek":i<0?"lastDay":i<1?"sameDay":i<2?"nextDay":i<7?"nextWeek":"sameElse"},M.prototype=di,M.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},M}),function(a,e){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?e(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],e):e(a.moment)}(this,function(a){"use strict";return a.defineLocale("zh-cn",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah点mm分",LLLL:"YYYY年M月D日ddddAh点mm分",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(a,e){return 12===a&&(a=0),"凌晨"===e||"早上"===e||"上午"===e?a:"下午"===e||"晚上"===e?a+12:11<=a?a:a+12},meridiem:function(a,e,i){var r=100*a+e;return r<600?"凌晨":r<900?"早上":r<1130?"上午":r<1230?"中午":r<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|周)/,ordinal:function(a,e){switch(e){case"d":case"D":case"DDD":return a+"日";case"M":return a+"月";case"w":case"W":return a+"周";default:return a}},relativeTime:{future:"%s内",past:"%s前",s:"几秒",ss:"%d 秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},week:{dow:1,doy:4}})}),function(a,e){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?e(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],e):e(a.moment)}(this,function(a){"use strict";return a.defineLocale("zh-tw",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日dddd HH:mm",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(a,e){return 12===a&&(a=0),"凌晨"===e||"早上"===e||"上午"===e?a:"中午"===e?11<=a?a:a+12:"下午"===e||"晚上"===e?a+12:void 0},meridiem:function(a,e,i){var r=100*a+e;return r<600?"凌晨":r<900?"早上":r<1130?"上午":r<1230?"中午":r<1800?"下午":"晚上"},calendar:{sameDay:"[今天] LT",nextDay:"[明天] LT",nextWeek:"[下]dddd LT",lastDay:"[昨天] LT",lastWeek:"[上]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(a,e){switch(e){case"d":case"D":case"DDD":return a+"日";case"M":return a+"月";case"w":case"W":return a+"週";default:return a}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",ss:"%d 秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}})}),function(a,e){"use strict";"object"==typeof module&&module.exports?module.exports=e(require("moment")):"function"==typeof define&&define.amd?define(["moment"],e):e(a.moment)}(this,function(n){"use strict";var e,o={},s={},c={},u={},l={};n&&"string"==typeof n.version||P("Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/");var a=n.version.split("."),i=+a[0],r=+a[1];function d(a){return 96<a?a-87:64<a?a-29:a-48}function t(a){var e=0,i=a.split("."),r=i[0],t=i[1]||"",n=1,o=0,s=1;for(45===a.charCodeAt(0)&&(s=-(e=1));e<r.length;e++)o=60*o+d(r.charCodeAt(e));for(e=0;e<t.length;e++)n/=60,o+=d(t.charCodeAt(e))*n;return o*s}function A(a){for(var e=0;e<a.length;e++)a[e]=t(a[e])}function m(a,e){var i,r=[];for(i=0;i<e.length;i++)r[i]=a[e[i]];return r}function h(a){var e=a.split("|"),i=e[2].split(" "),r=e[3].split(""),t=e[4].split(" ");return A(i),A(r),A(t),function(a,e){for(var i=0;i<e;i++)a[i]=Math.round((a[i-1]||0)+6e4*a[i]);a[e-1]=1/0}(t,r.length),{name:e[0],abbrs:m(e[1].split(" "),r),offsets:m(i,r),untils:t,population:0|e[5]}}function f(a){a&&this._set(h(a))}function _(a,e){this.name=a,this.zones=e}function p(a){var e=a.toTimeString(),i=e.match(/\([a-z ]+\)/i);"GMT"===(i=i&&i[0]?(i=i[0].match(/[A-Z]/g))?i.join(""):void 0:(i=e.match(/[A-Z]{3,5}/g))?i[0]:void 0)&&(i=void 0),this.at=+a,this.abbr=i,this.offset=a.getTimezoneOffset()}function M(a){this.zone=a,this.offsetScore=0,this.abbrScore=0}function g(a,e){for(var i,r;r=6e4*((e.at-a.at)/12e4|0);)(i=new p(new Date(a.at+r))).offset===a.offset?a=i:e=i;return a}function y(a,e){return a.offsetScore!==e.offsetScore?a.offsetScore-e.offsetScore:a.abbrScore!==e.abbrScore?a.abbrScore-e.abbrScore:a.zone.population!==e.zone.population?e.zone.population-a.zone.population:e.zone.name.localeCompare(a.zone.name)}function b(a,e){var i,r;for(A(e),i=0;i<e.length;i++)r=e[i],l[r]=l[r]||{},l[r][a]=!0}function S(a){return(a||"").toLowerCase().replace(/\//g,"_")}function k(a){var e,i,r,t;for("string"==typeof a&&(a=[a]),e=0;e<a.length;e++)t=S(i=(r=a[e].split("|"))[0]),o[t]=a[e],u[t]=i,b(t,r[2].split(" "))}function T(a,e){a=S(a);var i,r=o[a];return r instanceof f?r:"string"==typeof r?(r=new f(r),o[a]=r):s[a]&&e!==T&&(i=T(s[a],T))?((r=o[a]=new f)._set(i),r.name=u[a],r):null}function D(a){var e,i,r,t;for("string"==typeof a&&(a=[a]),e=0;e<a.length;e++)r=S((i=a[e].split("|"))[0]),t=S(i[1]),s[r]=t,u[r]=i[0],s[t]=r,u[t]=i[1]}function E(a){k(a.zones),D(a.links),function(a){var e,i,r,t;if(a&&a.length)for(e=0;e<a.length;e++)i=(t=a[e].split("|"))[0].toUpperCase(),r=t[1].split(" "),c[i]=new _(i,r)}(a.countries),w.dataVersion=a.version}function v(a){var e="X"===a._f||"x"===a._f;return!(!a._a||void 0!==a._tzm||e)}function P(a){"undefined"!=typeof console&&"function"==typeof console.error&&console.error(a)}function w(a){var e=Array.prototype.slice.call(arguments,0,-1),i=arguments[arguments.length-1],r=T(i),t=n.utc.apply(null,e);return r&&!n.isMoment(a)&&v(t)&&t.add(r.parse(t),"minutes"),t.tz(i),t}(i<2||2==i&&r<6)&&P("Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js "+n.version+". See momentjs.com"),f.prototype={_set:function(a){this.name=a.name,this.abbrs=a.abbrs,this.untils=a.untils,this.offsets=a.offsets,this.population=a.population},_index:function(a){var e,i=+a,r=this.untils;for(e=0;e<r.length;e++)if(i<r[e])return e},countries:function(){var e=this.name;return Object.keys(c).filter(function(a){return-1!==c[a].zones.indexOf(e)})},parse:function(a){var e,i,r,t,n=+a,o=this.offsets,s=this.untils,c=s.length-1;for(t=0;t<c;t++)if(e=o[t],i=o[t+1],r=o[t?t-1:t],e<i&&w.moveAmbiguousForward?e=i:r<e&&w.moveInvalidForward&&(e=r),n<s[t]-6e4*e)return o[t];return o[c]},abbr:function(a){return this.abbrs[this._index(a)]},offset:function(a){return P("zone.offset has been deprecated in favor of zone.utcOffset"),this.offsets[this._index(a)]},utcOffset:function(a){return this.offsets[this._index(a)]}},M.prototype.scoreOffsetAt=function(a){this.offsetScore+=Math.abs(this.zone.utcOffset(a.at)-a.offset),this.zone.abbr(a.at).replace(/[^A-Z]/g,"")!==a.abbr&&this.abbrScore++},w.version="0.5.28",w.dataVersion="",w._zones=o,w._links=s,w._names=u,w._countries=c,w.add=k,w.link=D,w.load=E,w.zone=T,w.zoneExists=function a(e){return a.didShowError||(a.didShowError=!0,P("moment.tz.zoneExists('"+e+"') has been deprecated in favor of !moment.tz.zone('"+e+"')")),!!T(e)},w.guess=function(a){return e&&!a||(e=function(){try{var a=Intl.DateTimeFormat().resolvedOptions().timeZone;if(a&&3<a.length){var e=u[S(a)];if(e)return e;P("Moment Timezone found "+a+" from the Intl api, but did not have that data loaded.")}}catch(a){}var i,r,t,n=function(){var a,e,i,r=(new Date).getFullYear()-2,t=new p(new Date(r,0,1)),n=[t];for(i=1;i<48;i++)(e=new p(new Date(r,i,1))).offset!==t.offset&&(a=g(t,e),n.push(a),n.push(new p(new Date(a.at+6e4)))),t=e;for(i=0;i<4;i++)n.push(new p(new Date(r+i,0,1))),n.push(new p(new Date(r+i,6,1)));return n}(),o=n.length,s=function(a){var e,i,r,t=a.length,n={},o=[];for(e=0;e<t;e++)for(i in r=l[a[e].offset]||{})r.hasOwnProperty(i)&&(n[i]=!0);for(e in n)n.hasOwnProperty(e)&&o.push(u[e]);return o}(n),c=[];for(r=0;r<s.length;r++){for(i=new M(T(s[r]),o),t=0;t<o;t++)i.scoreOffsetAt(n[t]);c.push(i)}return c.sort(y),0<c.length?c[0].zone.name:void 0}()),e},w.names=function(){var a,e=[];for(a in u)u.hasOwnProperty(a)&&(o[a]||o[s[a]])&&u[a]&&e.push(u[a]);return e.sort()},w.Zone=f,w.unpack=h,w.unpackBase60=t,w.needsOffset=v,w.moveInvalidForward=!0,w.moveAmbiguousForward=!1,w.countries=function(){return Object.keys(c)},w.zonesForCountry=function(a,e){if(i=(i=a).toUpperCase(),!(a=c[i]||null))return null;var i,r=a.zones.sort();return e?r.map(function(a){return{name:a,offset:T(a).utcOffset(new Date)}}):r};var Y,z=n.fn;function O(a){return function(){return this._z?this._z.abbr(this):a.call(this)}}function C(a){return function(){return this._z=null,a.apply(this,arguments)}}n.tz=w,n.defaultZone=null,n.updateOffset=function(a,e){var i,r=n.defaultZone;if(void 0===a._z&&(r&&v(a)&&!a._isUTC&&(a._d=n.utc(a._a)._d,a.utc().add(r.parse(a),"minutes")),a._z=r),a._z)if(i=a._z.utcOffset(a),Math.abs(i)<16&&(i/=60),void 0!==a.utcOffset){var t=a._z;a.utcOffset(-i,e),a._z=t}else a.zone(i,e)},z.tz=function(a,e){if(a){if("string"!=typeof a)throw new Error("Time zone name must be a string, got "+a+" ["+typeof a+"]");return this._z=T(a),this._z?n.updateOffset(this,e):P("Moment Timezone has no data for "+a+". See http://momentjs.com/timezone/docs/#/data-loading/."),this}if(this._z)return this._z.name},z.zoneName=O(z.zoneName),z.zoneAbbr=O(z.zoneAbbr),z.utc=C(z.utc),z.local=C(z.local),z.utcOffset=(Y=z.utcOffset,function(){return 0<arguments.length&&(this._z=null),Y.apply(this,arguments)}),n.tz.setDefault=function(a){return(i<2||2==i&&r<9)&&P("Moment Timezone setDefault() requires Moment.js >= 2.9.0. You are using Moment.js "+n.version+"."),n.defaultZone=a?T(a):null,n};var L=n.momentProperties;return"[object Array]"===Object.prototype.toString.call(L)?(L.push("_z"),L.push("_a")):L&&(L._z=null),E({version:"2019c",zones:["Africa/Abidjan|GMT|0|0||48e5","Africa/Nairobi|EAT|-30|0||47e5","Africa/Algiers|CET|-10|0||26e5","Africa/Lagos|WAT|-10|0||17e6","Africa/Maputo|CAT|-20|0||26e5","Africa/Cairo|EET EEST|-20 -30|01010|1M2m0 gL0 e10 mn0|15e6","Africa/Casablanca|+00 +01|0 -10|010101010101010101010101010101010101|1H3C0 wM0 co0 go0 1o00 s00 dA0 vc0 11A0 A00 e00 y00 11A0 uM0 e00 Dc0 11A0 s00 e00 IM0 WM0 mo0 gM0 LA0 WM0 jA0 e00 28M0 e00 2600 e00 28M0 e00 2600 gM0|32e5","Europe/Paris|CET CEST|-10 -20|01010101010101010101010|1GNB0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|11e6","Africa/Johannesburg|SAST|-20|0||84e5","Africa/Khartoum|EAT CAT|-30 -20|01|1Usl0|51e5","Africa/Sao_Tome|GMT WAT|0 -10|010|1UQN0 2q00|","Africa/Tripoli|EET CET CEST|-20 -10 -20|0120|1IlA0 TA0 1o00|11e5","Africa/Windhoek|CAT WAT|-20 -10|0101010101010|1GQo0 11B0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|32e4","America/Adak|HST HDT|a0 90|01010101010101010101010|1GIc0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|326","America/Anchorage|AKST AKDT|90 80|01010101010101010101010|1GIb0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|30e4","America/Santo_Domingo|AST|40|0||29e5","America/Araguaina|-03 -02|30 20|010|1IdD0 Lz0|14e4","America/Fortaleza|-03|30|0||34e5","America/Asuncion|-03 -04|30 40|01010101010101010101010|1GTf0 1cN0 17b0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0 19X0 1ip0 17b0 1ip0 17b0 1ip0 19X0 1fB0 19X0 1fB0|28e5","America/Panama|EST|50|0||15e5","America/Mexico_City|CST CDT|60 50|01010101010101010101010|1GQw0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0|20e6","America/Bahia|-02 -03|20 30|01|1GCq0|27e5","America/Managua|CST|60|0||22e5","America/La_Paz|-04|40|0||19e5","America/Lima|-05|50|0||11e6","America/Denver|MST MDT|70 60|01010101010101010101010|1GI90 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|26e5","America/Campo_Grande|-03 -04|30 40|0101010101010101|1GCr0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|77e4","America/Cancun|CST CDT EST|60 50 50|01010102|1GQw0 1nX0 14p0 1lb0 14p0 1lb0 Dd0|63e4","America/Caracas|-0430 -04|4u 40|01|1QMT0|29e5","America/Chicago|CST CDT|60 50|01010101010101010101010|1GI80 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|92e5","America/Chihuahua|MST MDT|70 60|01010101010101010101010|1GQx0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0 11B0 1nX0 14p0 1lb0 14p0 1lb0 14p0 1nX0 11B0 1nX0|81e4","America/Phoenix|MST|70|0||42e5","America/Los_Angeles|PST PDT|80 70|01010101010101010101010|1GIa0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|15e6","America/New_York|EST EDT|50 40|01010101010101010101010|1GI70 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|21e6","America/Rio_Branco|-04 -05|40 50|01|1KLE0|31e4","America/Fort_Nelson|PST PDT MST|80 70 70|01010102|1GIa0 1zb0 Op0 1zb0 Op0 1zb0 Op0|39e2","America/Halifax|AST ADT|40 30|01010101010101010101010|1GI60 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|39e4","America/Godthab|-03 -02|30 20|01010101010101010101010|1GNB0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|17e3","America/Grand_Turk|EST EDT AST|50 40 40|0101010121010101010|1GI70 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 5Ip0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|37e2","America/Havana|CST CDT|50 40|01010101010101010101010|1GQt0 1qM0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Oo0 1zc0 Rc0 1zc0 Oo0 1zc0|21e5","America/Metlakatla|PST AKST AKDT|80 90 80|01212120121212121|1PAa0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 uM0 jB0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|14e2","America/Miquelon|-03 -02|30 20|01010101010101010101010|1GI50 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|61e2","America/Montevideo|-02 -03|20 30|01010101|1GI40 1o10 11z0 1o10 11z0 1o10 11z0|17e5","America/Noronha|-02|20|0||30e2","America/Port-au-Prince|EST EDT|50 40|010101010101010101010|1GI70 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 3iN0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|23e5","Antarctica/Palmer|-03 -04|30 40|010101010|1H3D0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0|40","America/Santiago|-03 -04|30 40|010101010101010101010|1H3D0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|62e5","America/Sao_Paulo|-02 -03|20 30|0101010101010101|1GCq0 1zd0 Lz0 1C10 Lz0 1C10 On0 1zd0 On0 1zd0 On0 1zd0 On0 1HB0 FX0|20e6","Atlantic/Azores|-01 +00|10 0|01010101010101010101010|1GNB0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|25e4","America/St_Johns|NST NDT|3u 2u|01010101010101010101010|1GI5u 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Op0 1zb0 Rd0 1zb0 Op0 1zb0|11e4","Antarctica/Casey|+11 +08|-b0 -80|0101|1GAF0 blz0 3m10|10","Antarctica/Davis|+05 +07|-50 -70|01|1GAI0|70","Pacific/Port_Moresby|+10|-a0|0||25e4","Pacific/Guadalcanal|+11|-b0|0||11e4","Asia/Tashkent|+05|-50|0||23e5","Pacific/Auckland|NZDT NZST|-d0 -c0|01010101010101010101010|1GQe0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00|14e5","Asia/Baghdad|+03|-30|0||66e5","Antarctica/Troll|+00 +02|0 -20|01010101010101010101010|1GNB0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|40","Asia/Dhaka|+06|-60|0||16e6","Asia/Amman|EET EEST|-20 -30|010101010101010101010|1GPy0 4bX0 Dd0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 11A0 1o00|25e5","Asia/Kamchatka|+12|-c0|0||18e4","Asia/Baku|+04 +05|-40 -50|010101010|1GNA0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00|27e5","Asia/Bangkok|+07|-70|0||15e6","Asia/Barnaul|+07 +06|-70 -60|010|1N7v0 3rd0|","Asia/Beirut|EET EEST|-20 -30|01010101010101010101010|1GNy0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0|22e5","Asia/Kuala_Lumpur|+08|-80|0||71e5","Asia/Kolkata|IST|-5u|0||15e6","Asia/Chita|+10 +08 +09|-a0 -80 -90|012|1N7s0 3re0|33e4","Asia/Ulaanbaatar|+08 +09|-80 -90|01010|1O8G0 1cJ0 1cP0 1cJ0|12e5","Asia/Shanghai|CST|-80|0||23e6","Asia/Colombo|+0530|-5u|0||22e5","Asia/Damascus|EET EEST|-20 -30|01010101010101010101010|1GPy0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0 1qL0 WN0 1qL0 WN0 1qL0|26e5","Asia/Dili|+09|-90|0||19e4","Asia/Dubai|+04|-40|0||39e5","Asia/Famagusta|EET EEST +03|-20 -30 -30|0101010101201010101010|1GNB0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 15U0 2Ks0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|","Asia/Gaza|EET EEST|-20 -30|01010101010101010101010|1GPy0 1a00 1fA0 1cL0 1cN0 1nX0 1210 1nz0 1220 1qL0 WN0 1qL0 WN0 1qL0 11c0 1oo0 11c0 1rc0 Wo0 1rc0 Wo0 1rc0|18e5","Asia/Hong_Kong|HKT|-80|0||73e5","Asia/Hovd|+07 +08|-70 -80|01010|1O8H0 1cJ0 1cP0 1cJ0|81e3","Asia/Irkutsk|+09 +08|-90 -80|01|1N7t0|60e4","Europe/Istanbul|EET EEST +03|-20 -30 -30|01010101012|1GNB0 1qM0 11A0 1o00 1200 1nA0 11A0 1tA0 U00 15w0|13e6","Asia/Jakarta|WIB|-70|0||31e6","Asia/Jayapura|WIT|-90|0||26e4","Asia/Jerusalem|IST IDT|-20 -30|01010101010101010101010|1GPA0 1aL0 1eN0 1oL0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0 W10 1rz0 10N0 1oL0 10N0 1oL0 10N0 1rz0 W10 1rz0|81e4","Asia/Kabul|+0430|-4u|0||46e5","Asia/Karachi|PKT|-50|0||24e6","Asia/Kathmandu|+0545|-5J|0||12e5","Asia/Yakutsk|+10 +09|-a0 -90|01|1N7s0|28e4","Asia/Krasnoyarsk|+08 +07|-80 -70|01|1N7u0|10e5","Asia/Magadan|+12 +10 +11|-c0 -a0 -b0|012|1N7q0 3Cq0|95e3","Asia/Makassar|WITA|-80|0||15e5","Asia/Manila|PST|-80|0||24e6","Europe/Athens|EET EEST|-20 -30|01010101010101010101010|1GNB0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|35e5","Asia/Novosibirsk|+07 +06|-70 -60|010|1N7v0 4eN0|15e5","Asia/Omsk|+07 +06|-70 -60|01|1N7v0|12e5","Asia/Pyongyang|KST KST|-90 -8u|010|1P4D0 6BA0|29e5","Asia/Qyzylorda|+06 +05|-60 -50|01|1Xei0|73e4","Asia/Rangoon|+0630|-6u|0||48e5","Asia/Sakhalin|+11 +10|-b0 -a0|010|1N7r0 3rd0|58e4","Asia/Seoul|KST|-90|0||23e6","Asia/Srednekolymsk|+12 +11|-c0 -b0|01|1N7q0|35e2","Asia/Tehran|+0330 +0430|-3u -4u|01010101010101010101010|1GLUu 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0 1cp0 1dz0 1cp0 1dz0 1cN0 1dz0 1cp0 1dz0|14e6","Asia/Tokyo|JST|-90|0||38e6","Asia/Tomsk|+07 +06|-70 -60|010|1N7v0 3Qp0|10e5","Asia/Vladivostok|+11 +10|-b0 -a0|01|1N7r0|60e4","Asia/Yekaterinburg|+06 +05|-60 -50|01|1N7w0|14e5","Europe/Lisbon|WET WEST|0 -10|01010101010101010101010|1GNB0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|27e5","Atlantic/Cape_Verde|-01|10|0||50e4","Australia/Sydney|AEDT AEST|-b0 -a0|01010101010101010101010|1GQg0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|40e5","Australia/Adelaide|ACDT ACST|-au -9u|01010101010101010101010|1GQgu 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1fA0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|11e5","Australia/Brisbane|AEST|-a0|0||20e5","Australia/Darwin|ACST|-9u|0||12e4","Australia/Eucla|+0845|-8J|0||368","Australia/Lord_Howe|+11 +1030|-b0 -au|01010101010101010101010|1GQf0 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1fAu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu 1cLu 1cMu|347","Australia/Perth|AWST|-80|0||18e5","Pacific/Easter|-05 -06|50 60|010101010101010101010|1H3D0 Op0 1zb0 Rd0 1wn0 Rd0 46n0 Ap0 1Nb0 Ap0 1Nb0 Ap0 1zb0 11B0 1nX0 11B0 1nX0 11B0 1nX0 11B0|30e2","Europe/Dublin|GMT IST|0 -10|01010101010101010101010|1GNB0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|12e5","Etc/GMT-1|+01|-10|0||","Pacific/Fakaofo|+13|-d0|0||483","Pacific/Kiritimati|+14|-e0|0||51e2","Etc/GMT-2|+02|-20|0||","Pacific/Tahiti|-10|a0|0||18e4","Pacific/Niue|-11|b0|0||12e2","Etc/GMT+12|-12|c0|0||","Pacific/Galapagos|-06|60|0||25e3","Etc/GMT+7|-07|70|0||","Pacific/Pitcairn|-08|80|0||56","Pacific/Gambier|-09|90|0||125","Etc/UTC|UTC|0|0||","Europe/Ulyanovsk|+04 +03|-40 -30|010|1N7y0 3rd0|13e5","Europe/London|GMT BST|0 -10|01010101010101010101010|1GNB0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|10e6","Europe/Chisinau|EET EEST|-20 -30|01010101010101010101010|1GNA0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|67e4","Europe/Kaliningrad|+03 EET|-30 -20|01|1N7z0|44e4","Europe/Kirov|+04 +03|-40 -30|01|1N7y0|48e4","Europe/Moscow|MSK MSK|-40 -30|01|1N7y0|16e6","Europe/Saratov|+04 +03|-40 -30|010|1N7y0 5810|","Europe/Simferopol|EET EEST MSK MSK|-20 -30 -40 -30|0101023|1GNB0 1qM0 11A0 1o00 11z0 1nW0|33e4","Europe/Volgograd|+04 +03|-40 -30|010|1N7y0 9Jd0|10e5","Pacific/Honolulu|HST|a0|0||37e4","MET|MET MEST|-10 -20|01010101010101010101010|1GNB0 1qM0 11A0 1o00 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0 WM0 1qM0 11A0 1o00 11A0 1o00 11A0 1qM0 WM0 1qM0|","Pacific/Chatham|+1345 +1245|-dJ -cJ|01010101010101010101010|1GQe0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00|600","Pacific/Apia|+14 +13|-e0 -d0|01010101010101010101010|1GQe0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1cM0 1fA0 1a00 1fA0 1a00 1fA0 1a00 1fA0 1a00|37e3","Pacific/Bougainville|+10 +11|-a0 -b0|01|1NwE0|18e4","Pacific/Fiji|+13 +12|-d0 -c0|01010101010101010101010|1Goe0 1Nc0 Ao0 1Q00 xz0 1SN0 uM0 1SM0 uM0 1VA0 s00 1VA0 s00 1VA0 s00 20o0 pc0 20o0 s00 20o0 pc0 20o0|88e4","Pacific/Guam|ChST|-a0|0||17e4","Pacific/Marquesas|-0930|9u|0||86e2","Pacific/Pago_Pago|SST|b0|0||37e2","Pacific/Norfolk|+1130 +11 +12|-bu -b0 -c0|012121212|1PoCu 9Jcu 1cM0 1cM0 1cM0 1cM0 1cM0 1cM0|25e4","Pacific/Tongatapu|+13 +14|-d0 -e0|010|1S4d0 s00|75e3"],links:["Africa/Abidjan|Africa/Accra","Africa/Abidjan|Africa/Bamako","Africa/Abidjan|Africa/Banjul","Africa/Abidjan|Africa/Bissau","Africa/Abidjan|Africa/Conakry","Africa/Abidjan|Africa/Dakar","Africa/Abidjan|Africa/Freetown","Africa/Abidjan|Africa/Lome","Africa/Abidjan|Africa/Monrovia","Africa/Abidjan|Africa/Nouakchott","Africa/Abidjan|Africa/Ouagadougou","Africa/Abidjan|Africa/Timbuktu","Africa/Abidjan|America/Danmarkshavn","Africa/Abidjan|Atlantic/Reykjavik","Africa/Abidjan|Atlantic/St_Helena","Africa/Abidjan|Etc/GMT","Africa/Abidjan|Etc/GMT+0","Africa/Abidjan|Etc/GMT-0","Africa/Abidjan|Etc/GMT0","Africa/Abidjan|Etc/Greenwich","Africa/Abidjan|GMT","Africa/Abidjan|GMT+0","Africa/Abidjan|GMT-0","Africa/Abidjan|GMT0","Africa/Abidjan|Greenwich","Africa/Abidjan|Iceland","Africa/Algiers|Africa/Tunis","Africa/Cairo|Egypt","Africa/Casablanca|Africa/El_Aaiun","Africa/Johannesburg|Africa/Maseru","Africa/Johannesburg|Africa/Mbabane","Africa/Lagos|Africa/Bangui","Africa/Lagos|Africa/Brazzaville","Africa/Lagos|Africa/Douala","Africa/Lagos|Africa/Kinshasa","Africa/Lagos|Africa/Libreville","Africa/Lagos|Africa/Luanda","Africa/Lagos|Africa/Malabo","Africa/Lagos|Africa/Ndjamena","Africa/Lagos|Africa/Niamey","Africa/Lagos|Africa/Porto-Novo","Africa/Maputo|Africa/Blantyre","Africa/Maputo|Africa/Bujumbura","Africa/Maputo|Africa/Gaborone","Africa/Maputo|Africa/Harare","Africa/Maputo|Africa/Kigali","Africa/Maputo|Africa/Lubumbashi","Africa/Maputo|Africa/Lusaka","Africa/Nairobi|Africa/Addis_Ababa","Africa/Nairobi|Africa/Asmara","Africa/Nairobi|Africa/Asmera","Africa/Nairobi|Africa/Dar_es_Salaam","Africa/Nairobi|Africa/Djibouti","Africa/Nairobi|Africa/Juba","Africa/Nairobi|Africa/Kampala","Africa/Nairobi|Africa/Mogadishu","Africa/Nairobi|Indian/Antananarivo","Africa/Nairobi|Indian/Comoro","Africa/Nairobi|Indian/Mayotte","Africa/Tripoli|Libya","America/Adak|America/Atka","America/Adak|US/Aleutian","America/Anchorage|America/Juneau","America/Anchorage|America/Nome","America/Anchorage|America/Sitka","America/Anchorage|America/Yakutat","America/Anchorage|US/Alaska","America/Campo_Grande|America/Cuiaba","America/Chicago|America/Indiana/Knox","America/Chicago|America/Indiana/Tell_City","America/Chicago|America/Knox_IN","America/Chicago|America/Matamoros","America/Chicago|America/Menominee","America/Chicago|America/North_Dakota/Beulah","America/Chicago|America/North_Dakota/Center","America/Chicago|America/North_Dakota/New_Salem","America/Chicago|America/Rainy_River","America/Chicago|America/Rankin_Inlet","America/Chicago|America/Resolute","America/Chicago|America/Winnipeg","America/Chicago|CST6CDT","America/Chicago|Canada/Central","America/Chicago|US/Central","America/Chicago|US/Indiana-Starke","America/Chihuahua|America/Mazatlan","America/Chihuahua|Mexico/BajaSur","America/Denver|America/Boise","America/Denver|America/Cambridge_Bay","America/Denver|America/Edmonton","America/Denver|America/Inuvik","America/Denver|America/Ojinaga","America/Denver|America/Shiprock","America/Denver|America/Yellowknife","America/Denver|Canada/Mountain","America/Denver|MST7MDT","America/Denver|Navajo","America/Denver|US/Mountain","America/Fortaleza|America/Argentina/Buenos_Aires","America/Fortaleza|America/Argentina/Catamarca","America/Fortaleza|America/Argentina/ComodRivadavia","America/Fortaleza|America/Argentina/Cordoba","America/Fortaleza|America/Argentina/Jujuy","America/Fortaleza|America/Argentina/La_Rioja","America/Fortaleza|America/Argentina/Mendoza","America/Fortaleza|America/Argentina/Rio_Gallegos","America/Fortaleza|America/Argentina/Salta","America/Fortaleza|America/Argentina/San_Juan","America/Fortaleza|America/Argentina/San_Luis","America/Fortaleza|America/Argentina/Tucuman","America/Fortaleza|America/Argentina/Ushuaia","America/Fortaleza|America/Belem","America/Fortaleza|America/Buenos_Aires","America/Fortaleza|America/Catamarca","America/Fortaleza|America/Cayenne","America/Fortaleza|America/Cordoba","America/Fortaleza|America/Jujuy","America/Fortaleza|America/Maceio","America/Fortaleza|America/Mendoza","America/Fortaleza|America/Paramaribo","America/Fortaleza|America/Recife","America/Fortaleza|America/Rosario","America/Fortaleza|America/Santarem","America/Fortaleza|Antarctica/Rothera","America/Fortaleza|Atlantic/Stanley","America/Fortaleza|Etc/GMT+3","America/Halifax|America/Glace_Bay","America/Halifax|America/Goose_Bay","America/Halifax|America/Moncton","America/Halifax|America/Thule","America/Halifax|Atlantic/Bermuda","America/Halifax|Canada/Atlantic","America/Havana|Cuba","America/La_Paz|America/Boa_Vista","America/La_Paz|America/Guyana","America/La_Paz|America/Manaus","America/La_Paz|America/Porto_Velho","America/La_Paz|Brazil/West","America/La_Paz|Etc/GMT+4","America/Lima|America/Bogota","America/Lima|America/Guayaquil","America/Lima|Etc/GMT+5","America/Los_Angeles|America/Dawson","America/Los_Angeles|America/Ensenada","America/Los_Angeles|America/Santa_Isabel","America/Los_Angeles|America/Tijuana","America/Los_Angeles|America/Vancouver","America/Los_Angeles|America/Whitehorse","America/Los_Angeles|Canada/Pacific","America/Los_Angeles|Canada/Yukon","America/Los_Angeles|Mexico/BajaNorte","America/Los_Angeles|PST8PDT","America/Los_Angeles|US/Pacific","America/Los_Angeles|US/Pacific-New","America/Managua|America/Belize","America/Managua|America/Costa_Rica","America/Managua|America/El_Salvador","America/Managua|America/Guatemala","America/Managua|America/Regina","America/Managua|America/Swift_Current","America/Managua|America/Tegucigalpa","America/Managua|Canada/Saskatchewan","America/Mexico_City|America/Bahia_Banderas","America/Mexico_City|America/Merida","America/Mexico_City|America/Monterrey","America/Mexico_City|Mexico/General","America/New_York|America/Detroit","America/New_York|America/Fort_Wayne","America/New_York|America/Indiana/Indianapolis","America/New_York|America/Indiana/Marengo","America/New_York|America/Indiana/Petersburg","America/New_York|America/Indiana/Vevay","America/New_York|America/Indiana/Vincennes","America/New_York|America/Indiana/Winamac","America/New_York|America/Indianapolis","America/New_York|America/Iqaluit","America/New_York|America/Kentucky/Louisville","America/New_York|America/Kentucky/Monticello","America/New_York|America/Louisville","America/New_York|America/Montreal","America/New_York|America/Nassau","America/New_York|America/Nipigon","America/New_York|America/Pangnirtung","America/New_York|America/Thunder_Bay","America/New_York|America/Toronto","America/New_York|Canada/Eastern","America/New_York|EST5EDT","America/New_York|US/East-Indiana","America/New_York|US/Eastern","America/New_York|US/Michigan","America/Noronha|Atlantic/South_Georgia","America/Noronha|Brazil/DeNoronha","America/Noronha|Etc/GMT+2","America/Panama|America/Atikokan","America/Panama|America/Cayman","America/Panama|America/Coral_Harbour","America/Panama|America/Jamaica","America/Panama|EST","America/Panama|Jamaica","America/Phoenix|America/Creston","America/Phoenix|America/Dawson_Creek","America/Phoenix|America/Hermosillo","America/Phoenix|MST","America/Phoenix|US/Arizona","America/Rio_Branco|America/Eirunepe","America/Rio_Branco|America/Porto_Acre","America/Rio_Branco|Brazil/Acre","America/Santiago|Chile/Continental","America/Santo_Domingo|America/Anguilla","America/Santo_Domingo|America/Antigua","America/Santo_Domingo|America/Aruba","America/Santo_Domingo|America/Barbados","America/Santo_Domingo|America/Blanc-Sablon","America/Santo_Domingo|America/Curacao","America/Santo_Domingo|America/Dominica","America/Santo_Domingo|America/Grenada","America/Santo_Domingo|America/Guadeloupe","America/Santo_Domingo|America/Kralendijk","America/Santo_Domingo|America/Lower_Princes","America/Santo_Domingo|America/Marigot","America/Santo_Domingo|America/Martinique","America/Santo_Domingo|America/Montserrat","America/Santo_Domingo|America/Port_of_Spain","America/Santo_Domingo|America/Puerto_Rico","America/Santo_Domingo|America/St_Barthelemy","America/Santo_Domingo|America/St_Kitts","America/Santo_Domingo|America/St_Lucia","America/Santo_Domingo|America/St_Thomas","America/Santo_Domingo|America/St_Vincent","America/Santo_Domingo|America/Tortola","America/Santo_Domingo|America/Virgin","America/Sao_Paulo|Brazil/East","America/St_Johns|Canada/Newfoundland","Antarctica/Palmer|America/Punta_Arenas","Asia/Baghdad|Antarctica/Syowa","Asia/Baghdad|Asia/Aden","Asia/Baghdad|Asia/Bahrain","Asia/Baghdad|Asia/Kuwait","Asia/Baghdad|Asia/Qatar","Asia/Baghdad|Asia/Riyadh","Asia/Baghdad|Etc/GMT-3","Asia/Baghdad|Europe/Minsk","Asia/Bangkok|Asia/Ho_Chi_Minh","Asia/Bangkok|Asia/Novokuznetsk","Asia/Bangkok|Asia/Phnom_Penh","Asia/Bangkok|Asia/Saigon","Asia/Bangkok|Asia/Vientiane","Asia/Bangkok|Etc/GMT-7","Asia/Bangkok|Indian/Christmas","Asia/Dhaka|Antarctica/Vostok","Asia/Dhaka|Asia/Almaty","Asia/Dhaka|Asia/Bishkek","Asia/Dhaka|Asia/Dacca","Asia/Dhaka|Asia/Kashgar","Asia/Dhaka|Asia/Qostanay","Asia/Dhaka|Asia/Thimbu","Asia/Dhaka|Asia/Thimphu","Asia/Dhaka|Asia/Urumqi","Asia/Dhaka|Etc/GMT-6","Asia/Dhaka|Indian/Chagos","Asia/Dili|Etc/GMT-9","Asia/Dili|Pacific/Palau","Asia/Dubai|Asia/Muscat","Asia/Dubai|Asia/Tbilisi","Asia/Dubai|Asia/Yerevan","Asia/Dubai|Etc/GMT-4","Asia/Dubai|Europe/Samara","Asia/Dubai|Indian/Mahe","Asia/Dubai|Indian/Mauritius","Asia/Dubai|Indian/Reunion","Asia/Gaza|Asia/Hebron","Asia/Hong_Kong|Hongkong","Asia/Jakarta|Asia/Pontianak","Asia/Jerusalem|Asia/Tel_Aviv","Asia/Jerusalem|Israel","Asia/Kamchatka|Asia/Anadyr","Asia/Kamchatka|Etc/GMT-12","Asia/Kamchatka|Kwajalein","Asia/Kamchatka|Pacific/Funafuti","Asia/Kamchatka|Pacific/Kwajalein","Asia/Kamchatka|Pacific/Majuro","Asia/Kamchatka|Pacific/Nauru","Asia/Kamchatka|Pacific/Tarawa","Asia/Kamchatka|Pacific/Wake","Asia/Kamchatka|Pacific/Wallis","Asia/Kathmandu|Asia/Katmandu","Asia/Kolkata|Asia/Calcutta","Asia/Kuala_Lumpur|Asia/Brunei","Asia/Kuala_Lumpur|Asia/Kuching","Asia/Kuala_Lumpur|Asia/Singapore","Asia/Kuala_Lumpur|Etc/GMT-8","Asia/Kuala_Lumpur|Singapore","Asia/Makassar|Asia/Ujung_Pandang","Asia/Rangoon|Asia/Yangon","Asia/Rangoon|Indian/Cocos","Asia/Seoul|ROK","Asia/Shanghai|Asia/Chongqing","Asia/Shanghai|Asia/Chungking","Asia/Shanghai|Asia/Harbin","Asia/Shanghai|Asia/Macao","Asia/Shanghai|Asia/Macau","Asia/Shanghai|Asia/Taipei","Asia/Shanghai|PRC","Asia/Shanghai|ROC","Asia/Tashkent|Antarctica/Mawson","Asia/Tashkent|Asia/Aqtau","Asia/Tashkent|Asia/Aqtobe","Asia/Tashkent|Asia/Ashgabat","Asia/Tashkent|Asia/Ashkhabad","Asia/Tashkent|Asia/Atyrau","Asia/Tashkent|Asia/Dushanbe","Asia/Tashkent|Asia/Oral","Asia/Tashkent|Asia/Samarkand","Asia/Tashkent|Etc/GMT-5","Asia/Tashkent|Indian/Kerguelen","Asia/Tashkent|Indian/Maldives","Asia/Tehran|Iran","Asia/Tokyo|Japan","Asia/Ulaanbaatar|Asia/Choibalsan","Asia/Ulaanbaatar|Asia/Ulan_Bator","Asia/Vladivostok|Asia/Ust-Nera","Asia/Yakutsk|Asia/Khandyga","Atlantic/Azores|America/Scoresbysund","Atlantic/Cape_Verde|Etc/GMT+1","Australia/Adelaide|Australia/Broken_Hill","Australia/Adelaide|Australia/South","Australia/Adelaide|Australia/Yancowinna","Australia/Brisbane|Australia/Lindeman","Australia/Brisbane|Australia/Queensland","Australia/Darwin|Australia/North","Australia/Lord_Howe|Australia/LHI","Australia/Perth|Australia/West","Australia/Sydney|Australia/ACT","Australia/Sydney|Australia/Canberra","Australia/Sydney|Australia/Currie","Australia/Sydney|Australia/Hobart","Australia/Sydney|Australia/Melbourne","Australia/Sydney|Australia/NSW","Australia/Sydney|Australia/Tasmania","Australia/Sydney|Australia/Victoria","Etc/UTC|Etc/UCT","Etc/UTC|Etc/Universal","Etc/UTC|Etc/Zulu","Etc/UTC|UCT","Etc/UTC|UTC","Etc/UTC|Universal","Etc/UTC|Zulu","Europe/Athens|Asia/Nicosia","Europe/Athens|EET","Europe/Athens|Europe/Bucharest","Europe/Athens|Europe/Helsinki","Europe/Athens|Europe/Kiev","Europe/Athens|Europe/Mariehamn","Europe/Athens|Europe/Nicosia","Europe/Athens|Europe/Riga","Europe/Athens|Europe/Sofia","Europe/Athens|Europe/Tallinn","Europe/Athens|Europe/Uzhgorod","Europe/Athens|Europe/Vilnius","Europe/Athens|Europe/Zaporozhye","Europe/Chisinau|Europe/Tiraspol","Europe/Dublin|Eire","Europe/Istanbul|Asia/Istanbul","Europe/Istanbul|Turkey","Europe/Lisbon|Atlantic/Canary","Europe/Lisbon|Atlantic/Faeroe","Europe/Lisbon|Atlantic/Faroe","Europe/Lisbon|Atlantic/Madeira","Europe/Lisbon|Portugal","Europe/Lisbon|WET","Europe/London|Europe/Belfast","Europe/London|Europe/Guernsey","Europe/London|Europe/Isle_of_Man","Europe/London|Europe/Jersey","Europe/London|GB","Europe/London|GB-Eire","Europe/Moscow|W-SU","Europe/Paris|Africa/Ceuta","Europe/Paris|Arctic/Longyearbyen","Europe/Paris|Atlantic/Jan_Mayen","Europe/Paris|CET","Europe/Paris|Europe/Amsterdam","Europe/Paris|Europe/Andorra","Europe/Paris|Europe/Belgrade","Europe/Paris|Europe/Berlin","Europe/Paris|Europe/Bratislava","Europe/Paris|Europe/Brussels","Europe/Paris|Europe/Budapest","Europe/Paris|Europe/Busingen","Europe/Paris|Europe/Copenhagen","Europe/Paris|Europe/Gibraltar","Europe/Paris|Europe/Ljubljana","Europe/Paris|Europe/Luxembourg","Europe/Paris|Europe/Madrid","Europe/Paris|Europe/Malta","Europe/Paris|Europe/Monaco","Europe/Paris|Europe/Oslo","Europe/Paris|Europe/Podgorica","Europe/Paris|Europe/Prague","Europe/Paris|Europe/Rome","Europe/Paris|Europe/San_Marino","Europe/Paris|Europe/Sarajevo","Europe/Paris|Europe/Skopje","Europe/Paris|Europe/Stockholm","Europe/Paris|Europe/Tirane","Europe/Paris|Europe/Vaduz","Europe/Paris|Europe/Vatican","Europe/Paris|Europe/Vienna","Europe/Paris|Europe/Warsaw","Europe/Paris|Europe/Zagreb","Europe/Paris|Europe/Zurich","Europe/Paris|Poland","Europe/Ulyanovsk|Europe/Astrakhan","Pacific/Auckland|Antarctica/McMurdo","Pacific/Auckland|Antarctica/South_Pole","Pacific/Auckland|NZ","Pacific/Chatham|NZ-CHAT","Pacific/Easter|Chile/EasterIsland","Pacific/Fakaofo|Etc/GMT-13","Pacific/Fakaofo|Pacific/Enderbury","Pacific/Galapagos|Etc/GMT+6","Pacific/Gambier|Etc/GMT+9","Pacific/Guadalcanal|Antarctica/Macquarie","Pacific/Guadalcanal|Etc/GMT-11","Pacific/Guadalcanal|Pacific/Efate","Pacific/Guadalcanal|Pacific/Kosrae","Pacific/Guadalcanal|Pacific/Noumea","Pacific/Guadalcanal|Pacific/Pohnpei","Pacific/Guadalcanal|Pacific/Ponape","Pacific/Guam|Pacific/Saipan","Pacific/Honolulu|HST","Pacific/Honolulu|Pacific/Johnston","Pacific/Honolulu|US/Hawaii","Pacific/Kiritimati|Etc/GMT-14","Pacific/Niue|Etc/GMT+11","Pacific/Pago_Pago|Pacific/Midway","Pacific/Pago_Pago|Pacific/Samoa","Pacific/Pago_Pago|US/Samoa","Pacific/Pitcairn|Etc/GMT+8","Pacific/Port_Moresby|Antarctica/DumontDUrville","Pacific/Port_Moresby|Etc/GMT-10","Pacific/Port_Moresby|Pacific/Chuuk","Pacific/Port_Moresby|Pacific/Truk","Pacific/Port_Moresby|Pacific/Yap","Pacific/Tahiti|Etc/GMT+10","Pacific/Tahiti|Pacific/Rarotonga"],countries:["AD|Europe/Andorra","AE|Asia/Dubai","AF|Asia/Kabul","AG|America/Port_of_Spain America/Antigua","AI|America/Port_of_Spain America/Anguilla","AL|Europe/Tirane","AM|Asia/Yerevan","AO|Africa/Lagos Africa/Luanda","AQ|Antarctica/Casey Antarctica/Davis Antarctica/DumontDUrville Antarctica/Mawson Antarctica/Palmer Antarctica/Rothera Antarctica/Syowa Antarctica/Troll Antarctica/Vostok Pacific/Auckland Antarctica/McMurdo","AR|America/Argentina/Buenos_Aires America/Argentina/Cordoba America/Argentina/Salta America/Argentina/Jujuy America/Argentina/Tucuman America/Argentina/Catamarca America/Argentina/La_Rioja America/Argentina/San_Juan America/Argentina/Mendoza America/Argentina/San_Luis America/Argentina/Rio_Gallegos America/Argentina/Ushuaia","AS|Pacific/Pago_Pago","AT|Europe/Vienna","AU|Australia/Lord_Howe Antarctica/Macquarie Australia/Hobart Australia/Currie Australia/Melbourne Australia/Sydney Australia/Broken_Hill Australia/Brisbane Australia/Lindeman Australia/Adelaide Australia/Darwin Australia/Perth Australia/Eucla","AW|America/Curacao America/Aruba","AX|Europe/Helsinki Europe/Mariehamn","AZ|Asia/Baku","BA|Europe/Belgrade Europe/Sarajevo","BB|America/Barbados","BD|Asia/Dhaka","BE|Europe/Brussels","BF|Africa/Abidjan Africa/Ouagadougou","BG|Europe/Sofia","BH|Asia/Qatar Asia/Bahrain","BI|Africa/Maputo Africa/Bujumbura","BJ|Africa/Lagos Africa/Porto-Novo","BL|America/Port_of_Spain America/St_Barthelemy","BM|Atlantic/Bermuda","BN|Asia/Brunei","BO|America/La_Paz","BQ|America/Curacao America/Kralendijk","BR|America/Noronha America/Belem America/Fortaleza America/Recife America/Araguaina America/Maceio America/Bahia America/Sao_Paulo America/Campo_Grande America/Cuiaba America/Santarem America/Porto_Velho America/Boa_Vista America/Manaus America/Eirunepe America/Rio_Branco","BS|America/Nassau","BT|Asia/Thimphu","BW|Africa/Maputo Africa/Gaborone","BY|Europe/Minsk","BZ|America/Belize","CA|America/St_Johns America/Halifax America/Glace_Bay America/Moncton America/Goose_Bay America/Blanc-Sablon America/Toronto America/Nipigon America/Thunder_Bay America/Iqaluit America/Pangnirtung America/Atikokan America/Winnipeg America/Rainy_River America/Resolute America/Rankin_Inlet America/Regina America/Swift_Current America/Edmonton America/Cambridge_Bay America/Yellowknife America/Inuvik America/Creston America/Dawson_Creek America/Fort_Nelson America/Vancouver America/Whitehorse America/Dawson","CC|Indian/Cocos","CD|Africa/Maputo Africa/Lagos Africa/Kinshasa Africa/Lubumbashi","CF|Africa/Lagos Africa/Bangui","CG|Africa/Lagos Africa/Brazzaville","CH|Europe/Zurich","CI|Africa/Abidjan","CK|Pacific/Rarotonga","CL|America/Santiago America/Punta_Arenas Pacific/Easter","CM|Africa/Lagos Africa/Douala","CN|Asia/Shanghai Asia/Urumqi","CO|America/Bogota","CR|America/Costa_Rica","CU|America/Havana","CV|Atlantic/Cape_Verde","CW|America/Curacao","CX|Indian/Christmas","CY|Asia/Nicosia Asia/Famagusta","CZ|Europe/Prague","DE|Europe/Zurich Europe/Berlin Europe/Busingen","DJ|Africa/Nairobi Africa/Djibouti","DK|Europe/Copenhagen","DM|America/Port_of_Spain America/Dominica","DO|America/Santo_Domingo","DZ|Africa/Algiers","EC|America/Guayaquil Pacific/Galapagos","EE|Europe/Tallinn","EG|Africa/Cairo","EH|Africa/El_Aaiun","ER|Africa/Nairobi Africa/Asmara","ES|Europe/Madrid Africa/Ceuta Atlantic/Canary","ET|Africa/Nairobi Africa/Addis_Ababa","FI|Europe/Helsinki","FJ|Pacific/Fiji","FK|Atlantic/Stanley","FM|Pacific/Chuuk Pacific/Pohnpei Pacific/Kosrae","FO|Atlantic/Faroe","FR|Europe/Paris","GA|Africa/Lagos Africa/Libreville","GB|Europe/London","GD|America/Port_of_Spain America/Grenada","GE|Asia/Tbilisi","GF|America/Cayenne","GG|Europe/London Europe/Guernsey","GH|Africa/Accra","GI|Europe/Gibraltar","GL|America/Godthab America/Danmarkshavn America/Scoresbysund America/Thule","GM|Africa/Abidjan Africa/Banjul","GN|Africa/Abidjan Africa/Conakry","GP|America/Port_of_Spain America/Guadeloupe","GQ|Africa/Lagos Africa/Malabo","GR|Europe/Athens","GS|Atlantic/South_Georgia","GT|America/Guatemala","GU|Pacific/Guam","GW|Africa/Bissau","GY|America/Guyana","HK|Asia/Hong_Kong","HN|America/Tegucigalpa","HR|Europe/Belgrade Europe/Zagreb","HT|America/Port-au-Prince","HU|Europe/Budapest","ID|Asia/Jakarta Asia/Pontianak Asia/Makassar Asia/Jayapura","IE|Europe/Dublin","IL|Asia/Jerusalem","IM|Europe/London Europe/Isle_of_Man","IN|Asia/Kolkata","IO|Indian/Chagos","IQ|Asia/Baghdad","IR|Asia/Tehran","IS|Atlantic/Reykjavik","IT|Europe/Rome","JE|Europe/London Europe/Jersey","JM|America/Jamaica","JO|Asia/Amman","JP|Asia/Tokyo","KE|Africa/Nairobi","KG|Asia/Bishkek","KH|Asia/Bangkok Asia/Phnom_Penh","KI|Pacific/Tarawa Pacific/Enderbury Pacific/Kiritimati","KM|Africa/Nairobi Indian/Comoro","KN|America/Port_of_Spain America/St_Kitts","KP|Asia/Pyongyang","KR|Asia/Seoul","KW|Asia/Riyadh Asia/Kuwait","KY|America/Panama America/Cayman","KZ|Asia/Almaty Asia/Qyzylorda Asia/Qostanay Asia/Aqtobe Asia/Aqtau Asia/Atyrau Asia/Oral","LA|Asia/Bangkok Asia/Vientiane","LB|Asia/Beirut","LC|America/Port_of_Spain America/St_Lucia","LI|Europe/Zurich Europe/Vaduz","LK|Asia/Colombo","LR|Africa/Monrovia","LS|Africa/Johannesburg Africa/Maseru","LT|Europe/Vilnius","LU|Europe/Luxembourg","LV|Europe/Riga","LY|Africa/Tripoli","MA|Africa/Casablanca","MC|Europe/Monaco","MD|Europe/Chisinau","ME|Europe/Belgrade Europe/Podgorica","MF|America/Port_of_Spain America/Marigot","MG|Africa/Nairobi Indian/Antananarivo","MH|Pacific/Majuro Pacific/Kwajalein","MK|Europe/Belgrade Europe/Skopje","ML|Africa/Abidjan Africa/Bamako","MM|Asia/Yangon","MN|Asia/Ulaanbaatar Asia/Hovd Asia/Choibalsan","MO|Asia/Macau","MP|Pacific/Guam Pacific/Saipan","MQ|America/Martinique","MR|Africa/Abidjan Africa/Nouakchott","MS|America/Port_of_Spain America/Montserrat","MT|Europe/Malta","MU|Indian/Mauritius","MV|Indian/Maldives","MW|Africa/Maputo Africa/Blantyre","MX|America/Mexico_City America/Cancun America/Merida America/Monterrey America/Matamoros America/Mazatlan America/Chihuahua America/Ojinaga America/Hermosillo America/Tijuana America/Bahia_Banderas","MY|Asia/Kuala_Lumpur Asia/Kuching","MZ|Africa/Maputo","NA|Africa/Windhoek","NC|Pacific/Noumea","NE|Africa/Lagos Africa/Niamey","NF|Pacific/Norfolk","NG|Africa/Lagos","NI|America/Managua","NL|Europe/Amsterdam","NO|Europe/Oslo","NP|Asia/Kathmandu","NR|Pacific/Nauru","NU|Pacific/Niue","NZ|Pacific/Auckland Pacific/Chatham","OM|Asia/Dubai Asia/Muscat","PA|America/Panama","PE|America/Lima","PF|Pacific/Tahiti Pacific/Marquesas Pacific/Gambier","PG|Pacific/Port_Moresby Pacific/Bougainville","PH|Asia/Manila","PK|Asia/Karachi","PL|Europe/Warsaw","PM|America/Miquelon","PN|Pacific/Pitcairn","PR|America/Puerto_Rico","PS|Asia/Gaza Asia/Hebron","PT|Europe/Lisbon Atlantic/Madeira Atlantic/Azores","PW|Pacific/Palau","PY|America/Asuncion","QA|Asia/Qatar","RE|Indian/Reunion","RO|Europe/Bucharest","RS|Europe/Belgrade","RU|Europe/Kaliningrad Europe/Moscow Europe/Simferopol Europe/Kirov Europe/Astrakhan Europe/Volgograd Europe/Saratov Europe/Ulyanovsk Europe/Samara Asia/Yekaterinburg Asia/Omsk Asia/Novosibirsk Asia/Barnaul Asia/Tomsk Asia/Novokuznetsk Asia/Krasnoyarsk Asia/Irkutsk Asia/Chita Asia/Yakutsk Asia/Khandyga Asia/Vladivostok Asia/Ust-Nera Asia/Magadan Asia/Sakhalin Asia/Srednekolymsk Asia/Kamchatka Asia/Anadyr","RW|Africa/Maputo Africa/Kigali","SA|Asia/Riyadh","SB|Pacific/Guadalcanal","SC|Indian/Mahe","SD|Africa/Khartoum","SE|Europe/Stockholm","SG|Asia/Singapore","SH|Africa/Abidjan Atlantic/St_Helena","SI|Europe/Belgrade Europe/Ljubljana","SJ|Europe/Oslo Arctic/Longyearbyen","SK|Europe/Prague Europe/Bratislava","SL|Africa/Abidjan Africa/Freetown","SM|Europe/Rome Europe/San_Marino","SN|Africa/Abidjan Africa/Dakar","SO|Africa/Nairobi Africa/Mogadishu","SR|America/Paramaribo","SS|Africa/Juba","ST|Africa/Sao_Tome","SV|America/El_Salvador","SX|America/Curacao America/Lower_Princes","SY|Asia/Damascus","SZ|Africa/Johannesburg Africa/Mbabane","TC|America/Grand_Turk","TD|Africa/Ndjamena","TF|Indian/Reunion Indian/Kerguelen","TG|Africa/Abidjan Africa/Lome","TH|Asia/Bangkok","TJ|Asia/Dushanbe","TK|Pacific/Fakaofo","TL|Asia/Dili","TM|Asia/Ashgabat","TN|Africa/Tunis","TO|Pacific/Tongatapu","TR|Europe/Istanbul","TT|America/Port_of_Spain","TV|Pacific/Funafuti","TW|Asia/Taipei","TZ|Africa/Nairobi Africa/Dar_es_Salaam","UA|Europe/Simferopol Europe/Kiev Europe/Uzhgorod Europe/Zaporozhye","UG|Africa/Nairobi Africa/Kampala","UM|Pacific/Pago_Pago Pacific/Wake Pacific/Honolulu Pacific/Midway","US|America/New_York America/Detroit America/Kentucky/Louisville America/Kentucky/Monticello America/Indiana/Indianapolis America/Indiana/Vincennes America/Indiana/Winamac America/Indiana/Marengo America/Indiana/Petersburg America/Indiana/Vevay America/Chicago America/Indiana/Tell_City America/Indiana/Knox America/Menominee America/North_Dakota/Center America/North_Dakota/New_Salem America/North_Dakota/Beulah America/Denver America/Boise America/Phoenix America/Los_Angeles America/Anchorage America/Juneau America/Sitka America/Metlakatla America/Yakutat America/Nome America/Adak Pacific/Honolulu","UY|America/Montevideo","UZ|Asia/Samarkand Asia/Tashkent","VA|Europe/Rome Europe/Vatican","VC|America/Port_of_Spain America/St_Vincent","VE|America/Caracas","VG|America/Port_of_Spain America/Tortola","VI|America/Port_of_Spain America/St_Thomas","VN|Asia/Bangkok Asia/Ho_Chi_Minh","VU|Pacific/Efate","WF|Pacific/Wallis","WS|Pacific/Apia","YE|Asia/Riyadh Asia/Aden","YT|Africa/Nairobi Indian/Mayotte","ZA|Africa/Johannesburg","ZM|Africa/Maputo Africa/Lusaka","ZW|Africa/Maputo Africa/Harare"]}),n});
ccaa_dir/AriaNg/js/plugins-cc1df97b8f.min.js ADDED
The diff for this file is too large to render. See raw diff
 
ccaa_dir/AriaNg/langs/zh_Hans.txt ADDED
@@ -0,0 +1,660 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [global]
2
+ AriaNg Version=AriaNg 版本
3
+ Operation Result=操作结果
4
+ Operation Succeeded=操作成功
5
+ is connected=已连接
6
+ Error=错误
7
+ OK=确定
8
+ Confirm=确认
9
+ Cancel=取消
10
+ Close=关闭
11
+ True=是
12
+ False=否
13
+ Connecting=连接中
14
+ Connected=已连接
15
+ Disconnected=未连接
16
+ Global=全局
17
+ New=新建
18
+ Start=开始任务
19
+ Pause=暂停任务
20
+ Retry=重试
21
+ Retry Selected Tasks=重试选中任务
22
+ Delete=删除任务
23
+ Select All=全部选中
24
+ Select None=全部不选
25
+ Select Invert=反向选择
26
+ Select All Failed Tasks=全选失败任务
27
+ Select All Completed Tasks=全选已完成任务
28
+ Display Order=显示顺序
29
+ Copy Download Url=复制下载链接
30
+ Copy Magnet Link=复制磁力链接
31
+ Help=帮助
32
+ Search=搜索
33
+ Default=默认
34
+ Expand=展开
35
+ Collapse=折叠
36
+ Expand All=全部展开
37
+ Collapse All=全部折叠
38
+ Open=打开
39
+ Save=保存
40
+ Import=导入
41
+ Remove Task=删除任务
42
+ Clear Stopped Tasks=清空已结束任务
43
+ Click to view task detail=点击查看任务详情
44
+ By File Name=按文件名
45
+ By File Size=按文件大小
46
+ By Progress=按进度
47
+ By Selected Status=按选中状态
48
+ By Remaining=按剩余时间
49
+ By Download Speed=按下载速度
50
+ By Upload Speed=按上传速度
51
+ By Peer Address=按节点地址
52
+ By Client Name=按客户端名称
53
+ Filters=过滤器
54
+ Download=下载
55
+ Upload=上传
56
+ Downloading=正在下载
57
+ Pending Verification=等待验证
58
+ Verifying=正在验证
59
+ Seeding=正在做种
60
+ Waiting=正在等待
61
+ Paused=已暂停
62
+ Completed=已完成
63
+ Error Occurred=发生错误
64
+ Removed=已删除
65
+ Finished / Stopped=已完成 / 已停止
66
+ Uncompleted=未完成
67
+ Click to pin=点击固定
68
+ Settings=系统设置
69
+ AriaNg Settings=AriaNg 设置
70
+ Aria2 Settings=Aria2 设置
71
+ Basic Settings=基本设置
72
+ HTTP/FTP/SFTP Settings=HTTP/FTP/SFTP 设置
73
+ HTTP Settings=HTTP 设置
74
+ FTP/SFTP Settings=FTP/SFTP 设置
75
+ BitTorrent Settings=BitTorrent 设置
76
+ Metalink Settings=Metalink 设置
77
+ RPC Settings=RPC 设置
78
+ Advanced Settings=高级设置
79
+ AriaNg Debug Console=AriaNg 调试控制台
80
+ Aria2 Status=Aria2 状态
81
+ File Name=文件名
82
+ File Size=大小
83
+ Progress=进度
84
+ Share Ratio=分享率
85
+ Remaining=剩余时间
86
+ Download Speed=下载速度
87
+ Upload Speed=上传速度
88
+ Links=链接
89
+ Torrent File=种子文件
90
+ Metalink File=Metalink 文件
91
+ File Name:=文件名:
92
+ Options=选项
93
+ Overview=总览
94
+ Pieces=区块信息
95
+ Files=文件列表
96
+ Peers=连接状态
97
+ Task Name=任务名称
98
+ Task Size=任务大小
99
+ Task Status=任务状态
100
+ Error Description=错误描述
101
+ Health Percentage=健康度
102
+ Info Hash=特征值
103
+ Seeders=种子数
104
+ Connections=连接数
105
+ Seed Creation Time=种子创建时间
106
+ Download Url=下载地址
107
+ Download Dir=下载路径
108
+ BT Tracker Servers=BT 服务器
109
+ Copy=复制
110
+ (Choose Files)=(选择文件)
111
+ Videos=视频
112
+ Audios=音频
113
+ Pictures=图片
114
+ Documents=文档
115
+ Applications=应用程序
116
+ Archives=存档文件
117
+ Other=其他
118
+ Custom=自定义
119
+ Custom Choose File=自定义选择文件
120
+ Address=地址
121
+ Client=客户端
122
+ Status=状态
123
+ Speed=速度
124
+ (local)=(本机)
125
+ No Data=无数据
126
+ No connected peers=没有连接到其他节点
127
+ Failed to change some tasks state.=修改一些任务状态时失败.
128
+ Confirm Retry=确认重试
129
+ Are you sure you want to retry the selected task? AriaNg will create same task after clicking OK.=您是否要重试选中的任务? 点击 "确定" 后, AriaNg 将会创建相同的任务.
130
+ Failed to retry this task.=该任务重试失败.
131
+ {{successCount}} tasks have been retried and {{failedCount}} tasks are failed.={{successCount}} 个任务重试成功以及 {{failedCount}} 个任务失败.
132
+ Confirm Remove=确认删除
133
+ Are you sure you want to remove the selected task?=您是否要删除选中的任务?
134
+ Failed to remove some task(s).=删除一些任务时失败.
135
+ Confirm Clear=确认清除
136
+ Are you sure you want to clear stopped tasks?=您是否要清除已结束的任务?
137
+ Download Links:=下载链接:
138
+ Download Now=立即下载
139
+ Download Later=手动下载
140
+ Open Torrent File=打开种子文件
141
+ Open Metalink File=打开 Metalink 文件
142
+ Support multiple URLs, one URL per line.=支持多个 URL 地址, 每个地址占一行.
143
+ Your browser does not support loading file!=您的浏览器不支持加载文件!
144
+ The selected file type is invalid!=选择的文件类型无效!
145
+ Failed to load file!=加载文件失败!
146
+ Download Completed=下载完成
147
+ BT Download Completed=BT 下载完成
148
+ Download Error=下载出错
149
+ Language=语言
150
+ Debug Mode=调试模式
151
+ Page Title=页面标题
152
+ Preview=预览
153
+ Tips: You can use the "noprefix" tag to ignore the prefix, "nosuffix" tag to ignore the suffix, and "scale\=n" tag to set the decimal precision.=小提示: 您可以使用 "noprefix" 标签忽略前缀, "nosuffix" 标签忽略后缀, 以及 "scale\=n" 标签设置小数的精度.
154
+ Example: ${downspeed:noprefix:nosuffix:scale\=1}=示例: ${downspeed:noprefix:nosuffix:scale\=1}
155
+ Updating Page Title Interval=页面标题更新间隔
156
+ Enable Browser Notification=启用浏览器通知
157
+ Aria2 RPC Alias=Aria2 RPC 别名
158
+ Aria2 RPC Address=Aria2 RPC 地址
159
+ Aria2 RPC Protocol=Aria2 RPC 协议
160
+ Aria2 RPC Http Request Method=Aria2 RPC Http 请求方法
161
+ POST method only supports aria2 v1.15.2 and above.=POST 方法仅支持 aria2 v1.15.2 及以上.
162
+ Aria2 RPC Secret Token=Aria2 RPC 密钥
163
+ Activate=激活
164
+ Reset Settings=重置设置
165
+ Confirm Reset=确认重置
166
+ Are you sure you want to reset all settings?=您是否要重置所有设置?
167
+ Clear Settings History=清除设置历史
168
+ Are you sure you want to clear all settings history?=您是否要清除所有设置的历史记录?
169
+ Delete RPC Setting=删除 RPC 设置
170
+ Add New RPC Setting=添加新 RPC 设置
171
+ Are you sure you want to remove rpc setting "{{rpcName}}"?=您是否要删除 RPC 设置 "{{rpcName}}"?
172
+ Updating Global Stat Interval=全局状态更新间隔
173
+ Updating Task Information Interval=任务信息更新间隔
174
+ Action After Creating New Tasks=创建新任务后执行操作
175
+ Navigate to Task List Page=转到任务列表页面
176
+ Navigate to Task Detail Page=转到任务详情页面
177
+ Action After Retrying Task=重试任务后执行操作
178
+ Navigate to Downloading Tasks Page=转到正在下载列表页面
179
+ Stay on Current Page=留在当前页面
180
+ Remove Old Tasks After Retrying=重试任务后删除原任务
181
+ Confirm Task Removal=任务删除前确认
182
+ RPC List Display Order=RPC 列表显示顺序
183
+ Recently Used=最近使用
184
+ RPC Alias=RPC 别名
185
+ Import / Export AriaNg Settings=导入 / 导出 AriaNg 设置
186
+ Import Settings=导入设置
187
+ Export Settings=导出设置
188
+ AriaNg settings data=AriaNg 设置数据
189
+ Confirm Import=确认导入
190
+ Are you sure you want to import all settings?=您是否要导入所有设置?
191
+ Invalid settings data format!=无效的设置数据格式!
192
+ Data has been copied to clipboard.=数据已经复制到剪贴板中.
193
+ Supported Placeholder=支持的占位符
194
+ AriaNg Title=AriaNg 标题
195
+ Current RPC Alias=当前 RPC 别名
196
+ Downloading Count=正在下载数量
197
+ Waiting Count=正在等待数量
198
+ Stopped Count=已停止数量
199
+ You have disabled notification in your browser. You should change your browser's settings before you enable this function.=您已经在浏览器中禁用通知功能. 如需使用此功能, 请修改您浏览器的设置.
200
+ Application cache has been updated, please reload the page for the changes to take effect.=应用缓存已经更新, 请重新加载页面使其生效.
201
+ Language resource has been updated, please reload the page for the changes to take effect.=语言资源已经更新, 请重新加载页面使其生效.
202
+ Configuration has been modified, please reload the page for the changes to take effect.=配置已经修改, 请重新加载页面使其生效.
203
+ Reload AriaNg=重新加载 AriaNg
204
+ Show Secret=显示密钥
205
+ Hide Secret=隐藏密钥
206
+ Aria2 Version=Aria2 版本
207
+ Enabled Features=已启用的功能
208
+ Operations=操作
209
+ Save Session=保存会话
210
+ Shutdown Aria2=关闭 Aria2
211
+ Confirm Shutdown=确认关闭
212
+ Are you sure you want to shutdown aria2?=您是否要关闭 aria2?
213
+ Session has been saved successfully.=会话已经成功保存.
214
+ Aria2 has been shutdown successfully.=Aria2 已经成功关闭.
215
+ Toggle Navigation=切换导航
216
+ Shortcut=快捷方式
217
+ Global Rate Limit=全局速度限制
218
+ Loading=正在加载...
219
+ More Than One Day=超过1天
220
+ Unknown=未知
221
+ Bytes=字节
222
+ Hours=小时
223
+ Minutes=分
224
+ Seconds=秒
225
+ Milliseconds=毫秒
226
+ Http=Http
227
+ Http (Disabled)=Http (已禁用)
228
+ Https=Https
229
+ WebSocket=WebSocket
230
+ WebSocket (Disabled)=WebSocket (已禁用)
231
+ WebSocket (Security)=WebSocket (安全)
232
+ Http and WebSocket would be disabled when accessing AriaNg via Https.=使用 Https 访问 AriaNg 时,Http 和 WebSocket 将被禁用.
233
+ POST=POST
234
+ GET=GET
235
+ Enabled=启用
236
+ Disabled=禁用
237
+ BitTorrent=BitTorrent
238
+ Changes to the settings take effect after refreshing page.=设置将在页面刷新后生效.
239
+ Show Detail=显示详情
240
+ Log Detail=日志详情
241
+ Type is illegal!=类型错误!
242
+ Parameter is invalid!=请求参数无效!
243
+ Option value cannot be empty!=参数内容不能为空!
244
+ Input number is invalid!=输入的数字无效!
245
+ Input number is below min value!=输入的数字小于最小值 {{value}} !
246
+ Input number is above max value!=输入的数字大于最大值 {{value}} !
247
+ Input value is invalid!=输入的内容无效!
248
+ Protocol is invalid!=协议无效!
249
+ RPC host cannot be empty!=RPC 主机不能为空!
250
+ RPC secret is not base64 encoded!=RPC 密钥不是 Base64 编码后的字符串!
251
+ URL is not base64 encoded!=指定 URL 不是 Base64 编码后的字符串!
252
+ Tap to configure and get started with AriaNg.=您还没有进行过设置, 点击这里进行设置.
253
+ Cannot initialize WebSocket!=无法初始化 WebSocket!
254
+ Access Denied!=拒绝访问!
255
+ You cannot use AriaNg because this browser does not meet the minimum requirements for data storage.=您无法使用 AriaNg, 因为这个浏览器不满足数据存储的最低要求.
256
+
257
+ [error]
258
+ unknown=未知错误.
259
+ operation.timeout=操作超时.
260
+ resource.notfound=无法找到指定资源.
261
+ error.resource.notfound.max-file-not-found=无法找到指定资源. 参见 --max-file-not-found option 参数.
262
+ error.download.aborted.lowest-speed-limit=由于下载速度过慢, 下载已经终止. 参见 --lowest-speed-limit option 参数.
263
+ error.network.problem=网络问题.
264
+ resume.notsupported=服务器不支持断点续传.
265
+ space.notenough=可用磁盘空间不足.
266
+ piece.length.different=分片大小与 .aria2 控制文件中的不同. 参见 --allow-piece-length-change 参数.
267
+ download.sametime=aria2 已经下载了另一个相同文件.
268
+ download.torrent.sametime=aria2 已经下载了另一个相同哈希的种子文件.
269
+ file.exists=文件已经存在. 参见 --allow-overwrite 参数.
270
+ file.rename.failed=文件重命名失败. 参见 --auto-file-renaming 参数.
271
+ file.open.failed=文件打开失败.
272
+ file.create.failed=文件创建或删除已有文件失败.
273
+ io.error=文件系统出错.
274
+ directory.create.failed=无法创建指定目录.
275
+ name.resolution.failed=域名解析失败.
276
+ metalink.file.parse.failed=解析 Metalink 文件失败.
277
+ ftp.command.failed=FTP 命令执行失败.
278
+ http.response.header.bad=HTTP 返回头无效或无法识别.
279
+ redirects.toomany=指定地址重定向过多.
280
+ http.authorization.failed=HTTP 认证失败.
281
+ bencoded.file.parse.failed=解析种子文件失败.
282
+ torrent.file.corrupted=指定 ".torrent" 种子文件已经损坏或缺少 aria2 需要的信息.
283
+ magnet.uri.bad=指定磁链地址无效.
284
+ option.bad=设置错误.
285
+ server.overload=远程服务器繁忙, 无法处理当前请求.
286
+ rpc.request.parse.failed=处理 RPC 请求失败.
287
+ checksum.failed=文件校验失败.
288
+
289
+ [languages]
290
+ English=英语
291
+ Simplified Chinese=简体中文
292
+ Traditional Chinese=繁体中文
293
+
294
+ [format]
295
+ longdate=YYYY年MM月DD日 HH:mm:ss
296
+ time.millisecond={{value}} 毫秒
297
+ time.milliseconds={{value}} 毫秒
298
+ time.second={{value}} 秒
299
+ time.seconds={{value}} 秒
300
+ time.minute={{value}} 分钟
301
+ time.minutes={{value}} 分钟
302
+ time.hour={{value}} 小时
303
+ time.hours={{value}} 小时
304
+ requires.aria2-version=需要 aria2 v{{version}} 或更高版本
305
+ task.new.download-links=下载链接 ({{count}} 个链接):
306
+ task.pieceinfo=已完成: {{completed}}, 共计: {{total}} 块
307
+ task.error-occurred=发生错误 ({{errorcode}})
308
+ task.verifying-percent=正在验证 ({{verifiedPercent}}%)
309
+ settings.file-count=({{count}} 个文件)
310
+ settings.total-count=(共计: {{count}}个)
311
+ debug.latest-logs=最近 {{count}} 条日志
312
+
313
+ [rpc.error]
314
+ unauthorized=认证失败!
315
+
316
+ [option]
317
+ true=是
318
+ false=否
319
+ default=默认
320
+ none=无
321
+ hide=隐藏
322
+ full=完整
323
+ http=Http
324
+ https=Https
325
+ ftp=Ftp
326
+ mem=仅内存
327
+ plain=明文
328
+ arc4=ARC4
329
+ binary=二进制
330
+ ascii=ASCII
331
+ debug=调试 (Debug)
332
+ info=普通 (Info)
333
+ notice=一般 (Notice)
334
+ warn=警告 (Warn)
335
+ error=错误 (Error)
336
+ adaptive=自适应
337
+ feedback=反馈
338
+ geom=几何
339
+ inorder=顺序
340
+ random=随机
341
+
342
+ [options]
343
+ dir.name=下载路径
344
+ dir.description=
345
+ log.name=日志文件
346
+ log.description=日志文件的路径. 如果设置为 "-", 日志则写入到 stdout. 如果设置为空字符串(""), 日志将不会记录到磁盘上.
347
+ max-concurrent-downloads.name=最大同时下载数
348
+ max-concurrent-downloads.description=
349
+ check-integrity.name=检查完整性
350
+ check-integrity.description=通过对文件的每个分块或整个文件进行哈希验证来检查文件的完整性. 此选项仅对BT、Metalink及设置了 --checksum 选项的 HTTP(S)/FTP 链接生效.
351
+ continue.name=断点续传
352
+ continue.description=继续下载部分完成的文件. 启用此选项可以继续下载从浏览器或其他程序按顺序下载的文件. 此选项目前只支持 HTTP(S)/FTP 下载的文件.
353
+ all-proxy.name=代理服务器
354
+ all-proxy.description=设置所有协议的代理服务器地址. 如果覆盖之前设置的代理服务器, 使用 "" 即可. 您还可以针对特定的协议覆盖此选项, 即使用 --http-proxy, --https-proxy 和 --ftp-proxy 选项. 此设置将会影响所有下载. 代理服务器地址的格式为 [http://][USER:PASSWORD@]HOST[:PORT].
355
+ all-proxy-user.name=代理服务器用户名
356
+ all-proxy-user.description=
357
+ all-proxy-passwd.name=代理服务器密码
358
+ all-proxy-passwd.description=
359
+ connect-timeout.name=连接超时时间
360
+ connect-timeout.description=设置建立 HTTP/FTP/代理服务器 连接的超时时间(秒). 当连接建立后, 此选项不再生效, 请使用 --timeout 选项.
361
+ dry-run.name=模拟运行
362
+ dry-run.description=如果设置为"是", aria2 将仅检查远程文件是否存在而不会下载文件内容. 此选项仅对 HTTP/FTP 下载生效. 如果设置为 true, BT 下载将会直接取消.
363
+ lowest-speed-limit.name=最小速度限制
364
+ lowest-speed-limit.description=当下载速度低于此选项设置的值(B/s) 时将会关闭连接. 0 表示不设置最小速度限制. 您可以增加数值的单位 K 或 M (1K = 1024, 1M = 1024K). 此选项不会影响 BT 下载.
365
+ max-connection-per-server.name=单服务器最大连接数
366
+ max-connection-per-server.description=
367
+ max-file-not-found.name=文件未找到重试次数
368
+ max-file-not-found.description=如果 aria2 从远程 HTTP/FTP 服务器收到 "文件未找到" 的状态超过此选项设置的次数后下载将会失败. 设置为 0 将会禁用此选项. 此选项仅影响 HTTP/FTP 服务器. 重试时同时会记录重试次数, 所以也需要设置 --max-tries 这个选项.
369
+ max-tries.name=最大尝试次数
370
+ max-tries.description=设置最大尝试次数. 0 表示不限制.
371
+ min-split-size.name=最小文件分片大小
372
+ min-split-size.description=aria2 不会分割小于 2*SIZE 字节的文件. 例如, 文件大小为 20MB, 如果 SIZE 为 10M, aria2 会把文件分成 2 段 [0-10MB) 和 [10MB-20MB), 并且使用 2 个源进行下载 (如果 --split >= 2). 如果 SIZE 为 15M, 由于 2*15M > 20MB, 因此 aria2 不会分割文件并使用 1 个源进行下载. 您可以增加数值的单位 K 或 M (1K = 1024, 1M = 1024K). 可以设置的值为: 1M-1024M.
373
+ netrc-path.name=.netrc 文件路径
374
+ netrc-path.description=
375
+ no-netrc.name=禁用 netrc
376
+ no-netrc.description=
377
+ no-proxy.name=不使用代理服务器列表
378
+ out.name=文件名
379
+ out.description=下载文件的文件名. 其总是相对于 --dir 选项中设置的路径. 当使用 --force-sequential 参数时此选项无效.
380
+ no-proxy.description=设置不使用代理服务器的主机名, 域名, 包含或不包含子网掩码的网络地址, 多个使用逗号分隔.
381
+ proxy-method.name=代理服务器请求方法
382
+ proxy-method.description=设置用来请求代理服务器的方法. 方法可设置为 GET 或 TUNNEL. HTTPS 下载将忽略此选项并总是使用 TUNNEL.
383
+ remote-time.name=获取服务器文件时间
384
+ remote-time.description=从 HTTP/FTP 服务获取远程文件的时间戳, 如果可用将设置到本地文件
385
+ reuse-uri.name=URI 复用
386
+ reuse-uri.description=当所有给定的 URI 地址都已使用, 继续使用已经使用过的 URI 地址.
387
+ retry-wait.name=重试等待时间
388
+ retry-wait.description=设置重试间隔时间(秒). 当此选项的值大于 0 时, aria2 在 HTTP 服务器返回 503 响应时将会重试.
389
+ server-stat-of.name=服务器状态保存文件
390
+ server-stat-of.description=指定用来保存服务器状态的文件名. 您可以使用 --server-stat-if 参数读取保存的数据.
391
+ server-stat-timeout.name=服务器状态超时
392
+ server-stat-timeout.description=指定服务器状态的过期时间 (单位为秒).
393
+ split.name=单任务连接数
394
+ split.description=下载时使用 N 个连接. 如果提供超过 N 个 URI 地址, 则使用前 N 个地址, 剩余的地址将作为备用. 如果提供的 URI 地址不足 N 个, 这些地址多次使用以保证同时建立 N 个连接. 同一服务器的连接数会被 --max-connection-per-server 选项限制.
395
+ stream-piece-selector.name=分片选择算法
396
+ stream-piece-selector.description=指定 HTTP/FTP 下载使用的分片选择算法. 分片表示的是并行下载时固定长度的分隔段. 如果设置为"默认", aria2 将会按减少建立连接数选择分片. 由于建立连接操作的成本较高, 因此这是合理的默认行为. 如果设置为"顺序", aria2 将选择索引最小的分片. 索引为 0 时表示为文件的第一个分片. 这将有助于视频的边下边播. --enable-http-pipelining 选项有助于减少重连接的开销. 请注意, aria2 依赖于 --min-split-size 选项, 所以有必要对 --min-split-size 选项设置一个合理的值. 如果设置为"随机", aria2 将随机选择一个分片. 就像"顺序"一样, 依赖于 --min-split-size 选项. 如果设置为"几何", aria2 会先选择索引最小的分片, 然后会为之前选择的分片保留指数增长的空间. 这将减少建立连接的次数, 同时文件开始部分将会先行下载. 这也有助于视频的边下边播.
397
+ timeout.name=超时时间
398
+ timeout.description=
399
+ uri-selector.name=URI 选择算法
400
+ uri-selector.description=指定 URI 选择的算法. 可选的值包括 "按顺序", "反馈" 和 "自适应". 如果设置为"按顺序", URI 将按列表中出现的顺序使用. 如果设置为"反馈", aria2 将根据之前的下载速度选择 URI 列表中下载速度最快的服务器. 同时也将有效跳过无效镜像. 之前统计的下载速度将作为服务器状态文件的一部分, 参见 --server-stat-of 和 --server-stat-if 选项. 如果设置为"自适应", 将从最好的镜像和保留的连接里选择一项. 补充说明, 其返回的镜像没有被测试过, 同时如果每个镜像都已经被测试过时, 返回的镜像还会被重新测试. 否则, 其将不会选择其他镜像. 例如"反馈", 其使用服务器状态文件.
401
+ check-certificate.name=检查证书
402
+ check-certificate.description=
403
+ http-accept-gzip.name=支持 GZip
404
+ http-accept-gzip.description=如果远程服务器的响应头中包含 Content-Encoding: gzip 或 Content-Encoding: deflate , 将发送包含 Accept: deflate, gzip 的请求头并解压缩响应.
405
+ http-auth-challenge.name=认证质询
406
+ http-auth-challenge.description=仅当服务器需要时才发送 HTTP 认证请求头. 如果设置为"否", 每次都会发送认证请求头. 例外: 如果用户名和密码包含在 URI 中, 将忽略此选项并且每次都会发送认证请求头.
407
+ http-no-cache.name=禁用缓存
408
+ http-no-cache.description=发送的请求头中将包含 Cache-Control: no-cache 和 Pragma: no-cache header 以避免内容被缓存. 如果设置为"否", 上述请求头将不会发送, 同时您也可以使用 --header 选项将 Cache-Control 请求头添加进去.
409
+ http-user.name=HTTP 默认用户名
410
+ http-user.description=
411
+ http-passwd.name=HTTP 默认密码
412
+ http-passwd.description=
413
+ http-proxy.name=HTTP 代理服务器
414
+ http-proxy.description=
415
+ http-proxy-user.name=HTTP 代理服务器用户名
416
+ http-proxy-user.description=
417
+ http-proxy-passwd.name=HTTP 代理服务器密码
418
+ http-proxy-passwd.description=
419
+ https-proxy.name=HTTPS 代理服务器
420
+ https-proxy.description=
421
+ https-proxy-user.name=HTTPS 代理服务器用户名
422
+ https-proxy-user.description=
423
+ https-proxy-passwd.name=HTTPS 代理服务器密码
424
+ https-proxy-passwd.description=
425
+ referer.name=请求来源
426
+ referer.description=设置 HTTP 请求来源 (Referer). 此选项将影响所有 HTTP/HTTPS 下载. 如果设置为 *, 请求来源将设置为下载链接. 此选项可以配合 --parameterized-uri 选项使用.
427
+ enable-http-keep-alive.name=启用持久连接
428
+ enable-http-keep-alive.description=启用 HTTP/1.1 持久连接.
429
+ enable-http-pipelining.name=启用 HTTP 管线化
430
+ enable-http-pipelining.description=启用 HTTP/1.1 管线化.
431
+ header.name=自定义请求头
432
+ header.description=增加 HTTP 请求头内容. 每行放置一项, 每项包含 "请求头名: 请求头值".
433
+ save-cookies.name=Cookies 保存路径
434
+ save-cookies.description=以 Mozilla/Firefox(1.x/2.x)/Netscape 格式将 Cookies 保存到文件中. 如果文件已经存在, 将被覆盖. 会话过期的 Cookies 也将会保存, 其过期时间将会设置为 0.
435
+ use-head.name=启用 HEAD 方法
436
+ use-head.description=第一次请求 HTTP 服务器时使用 HEAD 方法.
437
+ user-agent.name=自定义 User Agent
438
+ user-agent.description=
439
+ ftp-user.name=FTP 默认用户名
440
+ ftp-user.description=
441
+ ftp-passwd.name=FTP 默认密码
442
+ ftp-passwd.description=如果 URI 中包含用户名单不包含密码, aria2 首先会从 .netrc 文件中获取密码. 如果在 .netrc 文件中找到密码, 则使用该密码. 否则, 使用此选项设置的密码.
443
+ ftp-pasv.name=被动模式
444
+ ftp-pasv.description=在 FTP 中使用被动模式. 如果设置为"否", 则使用主动模式. 此选项不适用于 SFTP 传输.
445
+ ftp-proxy.name=FTP 代理服务器
446
+ ftp-proxy.description=
447
+ ftp-proxy-user.name=FTP 代理服务器用户名
448
+ ftp-proxy-user.description=
449
+ ftp-proxy-passwd.name=FTP 代理服务器密码
450
+ ftp-proxy-passwd.description=
451
+ ftp-type.name=传输类型
452
+ ftp-type.description=
453
+ ftp-reuse-connection.name=连接复用
454
+ ftp-reuse-connection.description=
455
+ ssh-host-key-md.name=SSH 公钥校验和
456
+ ssh-host-key-md.description=设置 SSH 主机公钥的校验和. TYPE 为哈希类型. 支持的哈希类型为 sha-1 和 md5. DIGEST 是十六进制摘要. 例如: sha-1=b030503d4de4539dc7885e6f0f5e256704edf4c3. 此选项可以在使用 SFTP 时用来验证服务器的公钥. 如果此选项不设置, 即保留默认, 不会进行任何验证。
457
+ bt-detach-seed-only.name=分离仅做种任务
458
+ bt-detach-seed-only.description=统计当前活动下载任务(参见 -j 选项) 时排除仅做种的任务. 这意味着, 如果参数设置为 -j3, 此选项打开并且当前有 3 个正在活动的任务, 并且其中有 1 个进入做种模式, 那么其会从正在下载的数量中排除(即数量会变为 2), 在队列中等待的下一个任务将会开始执行. 但要知道, 在 RPC 方法中, 做种的任务仍然被认为是活动的下载任务.
459
+ bt-enable-hook-after-hash-check.name=启用哈希检查完成事件
460
+ bt-enable-hook-after-hash-check.description=允许 BT 下载哈希检查(参见 -V 选项) 完成后调用命令. 默认情况下, 当哈希检查成功后, 通过 --on-bt-download-complete 设置的命令将会被执行. 如果要禁用此行为, 请设置为"否".
461
+ bt-enable-lpd.name=启用本地节点发现 (LPD)
462
+ bt-enable-lpd.description=
463
+ bt-exclude-tracker.name=BT 排除服务器地址
464
+ bt-exclude-tracker.description=逗号分隔的 BT 排除服务器地址. 您可以使用 * 匹配所有地址, 因此将排除所有服务器地址. 当在 shell 命令行使用 * 时, 需要使用转义符或引号.
465
+ bt-external-ip.name=外部 IP 地址
466
+ bt-external-ip.description=指定用在 BitTorrent 下载和 DHT 中的外部 IP 地址. 它可能被发送到 BitTorrent 服务器. 对于 DHT, 此选项将会报告本地节点正在下载特定的种子. 这对于在私有网络中使用 DHT 非常关键. 虽然这个方法叫外部, 但其可以接受各种类型的 IP 地址.
467
+ bt-force-encryption.name=强制加密
468
+ bt-force-encryption.description=BT 消息中的内容需要使用 arc4 加密. 此选项是设置 --bt-require-crypto --bt-min-crypto-level=arc4 这两个选项的快捷方式. 此选项不会修改上述两个选项的内容. 如果设置为"是", 将拒绝以前的 BT 握手, 并仅使用模糊握手及加密消息.
469
+ bt-hash-check-seed.name=做种前检查文件哈希
470
+ bt-hash-check-seed.description=如果设置为"是", 当使用 --check-integrity 选项完成哈希检查及文件完成后才继续做种. 如果您希望仅当文件损坏或未完成时检查文件, 请设置为"否". 此选项仅对 BT 下载有效
471
+ bt-load-saved-metadata.name=加载已保存的元数据文件
472
+ bt-load-saved-metadata.description=当使用磁链下载时, 在从 DHT 获取种子元数据之前, 首先尝试加载使用 --bt-save-metadata 选项保存的文件. 如果文件加载成功, 则不会从 DHT 下载元数据.
473
+ bt-max-open-files.name=最多打开文件数
474
+ bt-max-open-files.description=设置 BT/Metalink 下载全局打开的最大文件数.
475
+ bt-max-peers.name=最大连接节点数
476
+ bt-max-peers.description=设置每个 BT 下载的最大连接节点数. 0 表示不限制.
477
+ bt-metadata-only.name=仅下载种子文件
478
+ bt-metadata-only.description=仅下载种子文件. 种子文件中描述的文件将不会下载. 此选项仅对磁链生效.
479
+ bt-min-crypto-level.name=最低加密级别
480
+ bt-min-crypto-level.description=设置加密方法的最小级别. 如果节点提供多种加密方法, aria2 将选择满足给定级别的最低级别.
481
+ bt-prioritize-piece.name=优先下载
482
+ bt-prioritize-piece.description=尝试先下载每个文件开头或结尾的分片. 此选项有助于预览文件. 参数可以包括两个关键词: head 和 tail. 如果包含两个关键词, 需要使用逗号分隔. 每个关键词可以包含一个参数, SIZE. 例如, 如果指定 head=SIZE, 每个文件的最前 SIZE 数据将会获得更高的优先级. tail=SIZE 表示每个文件的最后 SIZE 数据. SIZE 可以包含 K 或 M (1K = 1024, 1M = 1024K).
483
+ bt-remove-unselected-file.name=删除未选择的文件
484
+ bt-remove-unselected-file.description=当 BT 任务完成后删除未选择的文件. 要选择需要下载的文件, 请使用 --select-file 选项. 如果没有选择, 则所有文件都默认为需要下载. 此选项会从磁盘上直接删除文件, 请谨慎使用此选项.
485
+ bt-require-crypto.name=需要加密
486
+ bt-require-crypto.description=如果设置为"是", aria 将不会接受以前的 BitTorrent 握手协议(\19BitTorrent 协议)并建立连接. 因此 aria2 总是模糊握手.
487
+ bt-request-peer-speed-limit.name=期望下载速度
488
+ bt-request-peer-speed-limit.description=如果一个 BT 下载的整体下载速度低于此选项设置的值, aria2 会临时提高连接数以提高下载速度. 在某些情况下, 设置期望下载速度可以提高您的下载速度. 您可以增加数值的单位 K 或 M (1K = 1024, 1M = 1024K).
489
+ bt-save-metadata.name=保存种子文件
490
+ bt-save-metadata.description=保存种子文件为 ".torrent" 文件. 此选项仅对磁链生效. 文件名为十六进制编码后的哈希值及 ".torrent"后缀. 保存的目录与下载文件的目录相同. 如果相同的文件已存在, 种子文件将不会保存.
491
+ bt-seed-unverified.name=不检查已经下载的文件
492
+ bt-seed-unverified.description=不检查之前下载文件中每个分片的哈希值.
493
+ bt-stop-timeout.name=无速度时自动停止时间
494
+ bt-stop-timeout.description=当 BT 任务下载速度持续为 0, 达到此选项设置的时间后停止下载. 如果设置为 0, 此功能将禁用.
495
+ bt-tracker.name=BT 服务器地址
496
+ bt-tracker.description=逗号分隔的 BT 服务器地址. 这些地址不受 --bt-exclude-tracker 选项的影响, 因为这些地址在 --bt-exclude-tracker 选项排除掉其他地址之后才会添加.
497
+ bt-tracker-connect-timeout.name=BT 服务器连接超时时间
498
+ bt-tracker-connect-timeout.description=设置 BT 服务器的连接超时时间 (秒). 当连接建立后, 此选项不再生效, 请使用 --bt-tracker-timeout 选项.
499
+ bt-tracker-interval.name=BT 服务器连接间隔时间
500
+ bt-tracker-interval.description=设置请求 BT 服务器的间隔时间 (秒). 此选项将完全覆盖服务器返回的最小间隔时间和间隔时间, aria2 仅使用此选项的值.如果设置为 0, aria2 将根据服务器的响应情况和下载进程决定时间间隔.
501
+ bt-tracker-timeout.name=BT 服务器超时时间
502
+ bt-tracker-timeout.description=
503
+ dht-file-path.name=DHT (IPv4) 文件
504
+ dht-file-path.description=修改 IPv4 DHT 路由表文件路径.
505
+ dht-file-path6.name=DHT (IPv6) 文件
506
+ dht-file-path6.description=修改 IPv6 DHT 路由表文件路径.
507
+ dht-listen-port.name=DHT 监听端口
508
+ dht-listen-port.description=设置 DHT (IPv4, IPv6) 和 UDP 服务器使用的 UCP 端口. 多个端口可以使用逗号 "," 分隔, 例如: 6881,6885. 您还可以使用短横线 "-" 表示范围: 6881-6999, 或可以一起使用: 6881-6889, 6999.
509
+ dht-message-timeout.name=DHT 消息超时时间
510
+ dht-message-timeout.description=
511
+ enable-dht.name=启用 DHT (IPv4)
512
+ enable-dht.description=启用 IPv4 DHT 功能. 此选项同时会启用 UDP 服务器支持. 如果种子设置为私有, 即使此选项设置为"是", aria2 也不会启用 DHT.
513
+ enable-dht6.name=启用 DHT (IPv6)
514
+ enable-dht6.description=启用 IPv6 DHT 功能. 如果种子设置为私有, 即使此选项设置为"是", aria2 也不会启用 DHT. 使用 --dht-listen-port 选项设置监听的端口.
515
+ enable-peer-exchange.name=启用节点交换
516
+ enable-peer-exchange.description=启用节点交换扩展. 如果种子设置为私有, 即使此选项设置为"是", aria2 也不会启用此功能.
517
+ follow-torrent.name=下载种子中的文件
518
+ follow-torrent.description=如果设置为"是"或"仅内存", 当后缀为 .torrent 或内容类型为 application/x-bittorrent 的文件下载完成时, aria2 将按种子文件读取并下载该文件中提到的文件. 如果设置为"仅内存", 该种子文件将不会写入到磁盘中, 而仅会存储在内存中. 如果设置为"否", 则 .torrent 文件会下载到磁盘中, 但不会按种子文件读取并且其中的文件不会进行下载.
519
+ listen-port.name=监听端口
520
+ listen-port.description=设置 BT 下载的 TCP 端口. 多个端口可以使用逗号 "," 分隔, 例如: 6881,6885. 您还可以使用短横线 "-" 表示范围: 6881-6999, 或可以一起使用: 6881-6889, 6999.
521
+ max-overall-upload-limit.name=全局最大上传速度
522
+ max-overall-upload-limit.description=设置全局最大上传速度 (字节/秒). 0 表示不限制. 您可以增加数值的单位 K 或 M (1K = 1024, 1M = 1024K).
523
+ max-upload-limit.name=最大上传速度
524
+ max-upload-limit.description=设置每个任务的最大上传速度 (字节/秒). 0 表示不限制. 您可以增加数值的单位 K 或 M (1K = 1024, 1M = 1024K).
525
+ peer-id-prefix.name=节点 ID 前缀
526
+ peer-id-prefix.description=指定节点 ID 的前缀. BT 中节点 ID 长度为 20 字节. 如果超过 20 字节, 将仅使用前 20 字节. 如果少于 20 字节, 将在其后不足随机的数据保证为 20 字节.
527
+ peer-agent.name=Peer Agent
528
+ peer-agent.description=指定 BT 扩展握手期间用于节点客户端版本的字符串.
529
+ seed-ratio.name=最小分享率
530
+ seed-ratio.description=指定分享率. 当分享率达到此选项设置的值时会完成做种. 强烈建议您将此选项设置为大于等于 1.0. 如果您想不限制分享比率, 可以设置为 0.0. 如果同时设置了 --seed-time 选项, 当任意一个条件满足时将停止做种.
531
+ seed-time.name=最小做种时间
532
+ seed-time.description=以 (小数形式的) 分钟指定做种时间. 此选项设置为 0 时, 将在 BT 任务下载完成后不进行做种.
533
+ follow-metalink.name=下载 Metalink 中的文件
534
+ follow-metalink.description=如果设置为"是"或"仅内存", 当后缀为 .meta4 或 .metalink 或内容类型为 application/metalink4+xml 或 application/metalink+xml 的文件下载完成时, aria2 将按 Metalink 文件读取并下载该文件中提到的文件. 如果设置为"仅内存", 该 Metalink 文件将不会写入到磁盘中, 而仅会存储在内存中. 如果设置为"否", 则 .metalink 文件会下载到磁盘中, 但不会按 Metalink 文件读取并且其中的文件不会进行下载.
535
+ metalink-base-uri.name=基础 URI
536
+ metalink-base-uri.description=指定基础 URI 以便解析本地磁盘中存储的 Metalink 文件里 metalink:url 和 metalink:metaurl 中的相对 URI 地址. 如果 URI 表示的为目录, 最后需要以 / 结尾.
537
+ metalink-language.name=语言
538
+ metalink-language.description=
539
+ metalink-location.name=首选服务器位置
540
+ metalink-location.description=首选服务器所在的位置. 可以使用逗号分隔的列表, 例如: jp,us.
541
+ metalink-os.name=操作系统
542
+ metalink-os.description=下载文件的操作系统.
543
+ metalink-version.name=版本号
544
+ metalink-version.description=下载文件的版本号.
545
+ metalink-preferred-protocol.name=首选使用协议
546
+ metalink-preferred-protocol.description=指定首选使用的协议. 可以设置为 http, https, ftp 或"无". 设置为"无"时禁用此选项.
547
+ metalink-enable-unique-protocol.name=仅使用唯一协议
548
+ metalink-enable-unique-protocol.description=如果一个 Metalink 文件可用多种协议, 并且此选项设置为"是", aria2 将只会使用其中一种. 使用 --metalink-preferred-protocol 参数指定首选的协议.
549
+ enable-rpc.name=启用 JSON-RPC/XML-RPC 服务器
550
+ enable-rpc.description=
551
+ pause-metadata.name=种子文件下载完后暂停
552
+ pause-metadata.description=当种子文件下载完成后暂停后续的下载. 在 aria2 中有 3 种种子文件的下载类型: (1) 下载 .torrent 文件. (2) 通过磁链下载的种子文件. (3) 下载 Metalink 文件. 这些种子文件下载完后会根据文件内容继续进行下载. 此选项会暂停这些后续的下载. 此选项仅当 --enable-rpc 选项启用时生效.
553
+ rpc-allow-origin-all.name=接受所有远程请求
554
+ rpc-allow-origin-all.description=在 RPC 响应头增加 Access-Control-Allow-Origin 字段, 值为 * .
555
+ rpc-listen-all.name=在所有网卡上监听
556
+ rpc-listen-all.description=在所有网络适配器上监听 JSON-RPC/XML-RPC 的请求, 如果设置为"否", 仅监听本地网络的请求.
557
+ rpc-listen-port.name=监听端口
558
+ rpc-listen-port.description=
559
+ rpc-max-request-size.name=最大请求大小
560
+ rpc-max-request-size.description=设置 JSON-RPC/XML-RPC 最大的请求大小. 如果 aria2 检测到请求超过设定的字节��, 会直接取消连接.
561
+ rpc-save-upload-metadata.name=保存上传的种子文件
562
+ rpc-save-upload-metadata.description=在 dir 选项设置的目录中保存上传的种子文件或 Metalink 文件. 文件名包括 SHA-1 哈希后的元数据和扩展名两部分. 对于种子文件, 扩展名为 '.torrent'. 对于 Metalink 为 '.meta4'. 如果此选项设置为"否", 通过 aria2.addTorrent() 或 aria2.addMetalink() 方法添加的下载将无法通过 --save-session 选项保存.
563
+ rpc-secure.name=启用 SSL/TLS
564
+ rpc-secure.description=RPC 将通过 SSL/TLS 加密传输. RPC 客户端需要使用 https 协议连接服务器. 对于 WebSocket 客户端, 使用 wss 协议. 使用 --rpc-certificate 和 --rpc-private-key 选项设置服务器的证书和私钥.
565
+ allow-overwrite.name=允许覆盖
566
+ allow-overwrite.description=如果相应的控制文件不存在时从头重新下载文件. 参见 --auto-file-renaming 选项.
567
+ allow-piece-length-change.name=允许分片大小变化
568
+ allow-piece-length-change.description=如果设置为"否", 当分片长度与控制文件中的不同时, aria2 将会中止下载. 如果设置为"是", 您可以继续, 但部分下载进度将会丢失.
569
+ always-resume.name=始终断点续传
570
+ always-resume.description=始终断点续传. 如果设置为"是", aria2 始终尝试断点续传, 如果无法恢复, 则中止下载. 如果设置为"否", 对于不支持断点续传的 URI 或 aria2 遇到 N 个不支持断点续传的 URI (N 为 --max-resume-failure-tries 选项设置的值), aria2 会从头下载文件. 参见 --max-resume-failure-tries 参数.
571
+ async-dns.name=异步 DNS
572
+ async-dns.description=
573
+ auto-file-renaming.name=文件自动重命名
574
+ auto-file-renaming.description=重新命名已经存在的文件. 此选项仅对 HTTP(S)/FTP 下载有效. 新的文件名后会在文件名后、扩展名 (如果有) 前追加句点和数字(1..9999).
575
+ auto-save-interval.name=自动保存间隔
576
+ auto-save-interval.description=每隔设置的秒数自动保存控制文件(*.aria2). 如果设置为 0, 下载期间控制文件不会自动保存. 不论设置的值为多少, aria2 会在任务结束时保存控制文件. 可以设置的值为 0 到 600.
577
+ conditional-get.name=条件下载
578
+ conditional-get.description=仅当本地文件比远程文件旧时才进行下载. 此功能仅适用于 HTTP(S) 下载. 如果在 Metalink 中文件大小已经被指定则功能无法生效. 同时此功能还将忽略 Content-Disposition 响应头. 如果存在控制文件, 此选项将被忽略. 此功能通过 If-Modified-Since 请求头获取较新的文件. 当获取到本地文件的修改时间时, 此功能将使用用户提供的文件名 (参见 --out 选项), 如果没有指定 --out 选项则使用 URI 中的文件名. 为了覆盖已经存在的文件, 需要使用 --allow-overwrite 参数.
579
+ conf-path.name=配置文件路径
580
+ conf-path.description=
581
+ console-log-level.name=控制台日志级别
582
+ console-log-level.description=
583
+ content-disposition-default-utf8.name=使用 UTF-8 处理 Content-Disposition
584
+ content-disposition-default-utf8.description=处理 "Content-Disposition" 头中的字符串时使用 UTF-8 字符集来代替 ISO-8859-1, 例如, 文件名参数, 但不是扩展版本的文件名.
585
+ daemon.name=启用后台进程
586
+ daemon.description=
587
+ deferred-input.name=延迟加载
588
+ deferred-input.description=如果设置为"是", aria2 在启动时不会读取 --input-file 选项设置的文件中的所有 URI 地址, 而是会在之后需要时按需读取. 如果输入文件中包含大量要下载的 URI, 此选项可以减少内存的使用. 如果设置为"否", aria2 会在启动时读取所有的 URI. 当 -save-session 使用时将会禁用 --deferred-input 选项.
589
+ disable-ipv6.name=禁用 IPv6
590
+ disable-ipv6.description=
591
+ disk-cache.name=磁盘缓存
592
+ disk-cache.description=启用磁盘缓存. 如果设置为 0, 将禁用磁盘缓存. 此功能将下载的数据缓存在内存中, 最多占用此选项设置的字节数. 缓存存储由 aria2 实例创建并对所有下载共享. 由于数据以较大的单位写入并按文件的偏移重新排序, 所以磁盘缓存的一个优点是减少磁盘的 I/O. 如果调用哈希检查时并且数据缓存在内存中时, 将不需要从磁盘中读取. 大小可以包含 K 或 M (1K = 1024, 1M = 1024K).
593
+ download-result.name=下载结果
594
+ download-result.description=此选项将修改下载结果的格式. 如果设置为"默认", 将打印 GID, 状态, 平均下载速度和路径/URI. 如果涉及多个文件, 仅打印第一个请求文件的路径/URI, 其余的将被忽略. 如果设置为"完整", 将打印 GID, 状态, 平均下载速度, 下载进度和路径/URI. 其中, 下载进度和路径/URI 将会每个文件打印一行. 如果设置为"隐藏", 下载结果将会隐藏.
595
+ dscp.name=DSCP
596
+ dscp.description=为 QoS 设置 BT 上行 IP 包的 DSCP 值. 此参数仅设置 IP 包中 TOS 字段的 DSCP 位, 而不是整个字段. 如果您从 /usr/include/netinet/ip.h 得到的值, 需要除以 4 (否则值将不正确, 例如您的 CS1 类将会转为 CS4). 如果您从 RFC, 网络供应商的文档, 维基百科或其他来源采取常用的值, 可以直接使用.
597
+ rlimit-nofile.name=最多打开的文件描述符
598
+ rlimit-nofile.description=设置打开的文件描述符的软限制 (soft limit). 此选项仅当满足如下条件时开放: a. 系统支持它 (posix). b. 限制没有超过硬限制 (hard limit). c. 指定的限制比当前的软限制高. 这相当于设置 ulimit, 除了其不能降低限制. 此选项仅当系统支持 rlimit API 时有效.
599
+ enable-color.name=终端输出使用颜色
600
+ enable-color.description=
601
+ enable-mmap.name=启用 MMap
602
+ enable-mmap.description=内存中存放映射文件. 当文件空间没有预先分配至, 此选项无效. 参见 --file-allocation.
603
+ event-poll.name=事件轮询方法
604
+ event-poll.description=设置事件轮询的方法. 可选的值包括 epoll, kqueue, port, poll 和 select. 对于 epoll, kqueue, port 和 poll, 只有系统支持时才可用. 最新的 Linux 支持 epoll. 各种 *BSD 系统包括 Mac OS X 支持 kqueue. Open Solaris 支持 port. 默认值根据您使用的操作系统不同而不同.
605
+ file-allocation.name=文件分配方法
606
+ file-allocation.description=指定文件分配方法. "无" 不会预先分配文件空间. "prealloc"会在下载开始前预先分配空间. 这将会根据文件的大小需要一定的时间. 如果您使用的是较新的文件系统, 例如 ext4 (带扩展支持), btrfs, xfs 或 NTFS (仅 MinGW 构建), "falloc" 是最好的选择. 其几乎可以瞬间分配大(数 GiB)文件. 不要在旧的文件系统, 例如 ext3 和 FAT32 上使用 falloc, 因为与 prealloc 花费的时间相同, 并且其会阻塞 aria2 知道分配完成. 当您的系统不支持 posix_fallocate(3) 函数时, falloc 可能无法使用. "trunc" 使用 ftruncate(2) 系统调用或平台特定的实现将文件截取到特定的长度. 在多文件的 BitTorrent 下载中, 若某文件与其相邻的文件共享相同的分片时, 则相邻的文件也会被分配.
607
+ force-save.name=强制保存
608
+ force-save.description=即使任务完成或删除时使用 --save-session 选项时也保存该任务. 此选项在这种情况下还会保存控制文件. 此选项可以保存被认为已经完成但正在做种的 BT 任务.
609
+ save-not-found.name=保存未找到的文件
610
+ save-not-found.description=当使用 --save-session 选项时, 即使当任务中的文件不存在时也保存该下载任务. 此选项同时会将这种情况保存到控制文件中.
611
+ hash-check-only.name=仅哈希检查
612
+ hash-check-only.description=如果设置为"是", 哈希检查完使用 --check-integrity 选项, 根据是否下载完成决定是否终止下载.
613
+ human-readable.name=控制台可读输出
614
+ human-readable.description=在控制台输出可读格式的大小和速度 (例如, 1.2Ki, 3.4Mi).
615
+ keep-unfinished-download-result.name=保留未完成的任务
616
+ keep-unfinished-download-result.description=保留所有未完成的下载结果, 即使超过了 --max-download-result 选项设置的数量. 这将有助于在会话文件中保存所有的未完成的下载 (参考 --save-session 选项). 需要注意的是, 未完成任务的数量没有上限. 如果不希望这样, 请关闭此选项.
617
+ max-download-result.name=最多下载结果
618
+ max-download-result.description=设置内存中存储最多的下载结果数量. 下载结果包括已完成/错误/已删除的下载. 下载结果存储在一个先进先出的队列中, 因此其可以存储最多指定的下载结果的数量. 当队列已满且有新的下载结果创建时, 最老的下载结果将从队列的最前部移除, 新的将放在最后. 此选项设置较大的值后如果经过几千次的下载将导致较高的内存消耗. 设置为 0 表示不存储下载结果. 注意, 未完成的下载将始终保存在内存中, 不考虑该选项的设置. 参考 --keep-unfinished-download-result 选项.
619
+ max-mmap-limit.name=MMap 最大限制
620
+ max-mmap-limit.description=设置启用 MMap (参见 --enable-mmap 选项) 最大的文件大小. 文件大小由一个下载任务中所有文件大小的和决定. 例如, 如果一个下载包含 5 个文件, 那么文件大小就是这些文件的总大小. 如果文件大小超过此选项设置的大小时, MMap 将会禁用.
621
+ max-resume-failure-tries.name=最大断点续传尝试次数
622
+ max-resume-failure-tries.description=当 --always-resume 选项设置为"否"时, 如果 aria2 检测到有 N 个 URI 不支持断点续传时, 将从头开始下载文件. 如果 N 设置为 0, 当所有 URI 都不支持断点续传时才会从头下载文件. 参见 --always-resume 选项.
623
+ min-tls-version.name=最低 TLS 版本
624
+ min-tls-version.description=指定启用的最低 SSL/TLS 版本.
625
+ log-level.name=日志级别
626
+ log-level.description=
627
+ optimize-concurrent-downloads.name=优化并发下载
628
+ optimize-concurrent-downloads.description=根据可用带宽优化并发下载的数量. aria2 使用之前统计的下载速度通过规则 N = A + B Log10 (速度单位为 Mbps) 得到并发下载的数���. 其中系数 A 和 B 可以在参数中以冒号分隔自定义. 默认值 (A=5, B=25) 可以在 1Mbps 网络上使用通常 5 个并发下载, 在 100Mbps 网络上为 50 个. 并发下载的数量保持在 --max-concurrent-downloads 参数定义的最大之下.
629
+ piece-length.name=文件分片大小
630
+ piece-length.description=设置 HTTP/FTP 下载的分配大小. aria2 根据这个边界分割文件. 所有的分割都是这个长度的倍数. 此选项不适用于 BitTorrent 下载. 如果 Metalink 文件中包含分片哈希的结果此选项也不适用.
631
+ show-console-readout.name=显示控制台输出
632
+ show-console-readout.description=
633
+ summary-interval.name=下载摘要输出间隔
634
+ summary-interval.description=设置下载进度摘要的输出间隔(秒). 设置为 0 禁止输出.
635
+ max-overall-download-limit.name=全局最大下载速度
636
+ max-overall-download-limit.description=设置全局最大下载速度 (字节/秒). 0 表示不限制. 您可以增加数值的单位 K 或 M (1K = 1024, 1M = 1024K).
637
+ max-download-limit.name=最大下载速度
638
+ max-download-limit.description=设置每个任务的最大下载速度 (字节/秒). 0 表示不限制. 您可以增加数值的单位 K 或 M (1K = 1024, 1M = 1024K).
639
+ no-conf.name=禁用配置文件
640
+ no-conf.description=
641
+ no-file-allocation-limit.name=文件分配限制
642
+ no-file-allocation-limit.description=不对比此参数设置大小小的分配文件. 您可以增加数值的单位 K 或 M (1K = 1024, 1M = 1024K).
643
+ parameterized-uri.name=启用参数化 URI 支持
644
+ parameterized-uri.description=启用参数化 URI 支持. 您可以指定部分的集合: http://{sv1,sv2,sv3}/foo.iso. 同时您也可以使用步进计数器指定数字化的序列: http://host/image[000-100:2].img. 步进计数器可以省略. 如果所有 URI 地址不指向同样的文件, 例如上述第二个示例, 需要使用 -Z 选项.
645
+ quiet.name=禁用控制台输出
646
+ quiet.description=
647
+ realtime-chunk-checksum.name=实时数据块验证
648
+ realtime-chunk-checksum.description=如果提供了数据块的校验和, 将在下载过程中通过校验和验证数据块.
649
+ remove-control-file.name=删除控制文件
650
+ remove-control-file.description=在下载前删除控制文件. 使用 --allow-overwrite=true 选项时, 总是从头开始下载文件. 此选项将有助于使用不支持断点续传代理服务器的用户.
651
+ save-session.name=状态保存文件
652
+ save-session.description=当退出时保存错误及未完成的任务到指定的文件中. 您可以在重启 aria2 时使用 --input-file 选项重新加载. 如果您希望输出的内容使用 GZip 压缩, 您可以在文件名后增加 .gz 扩展名. 请注意, 通过 aria2.addTorrent() 和 aria2.addMetalink() RPC 方法添加的下载, 其元数据没有保存到文件的将不会保存. 通过 aria2.remove() 和 aria2.forceRemove() 删除的下载将不会保存.
653
+ save-session-interval.name=保存状态间隔
654
+ save-session-interval.description=每隔此选项设置的时间(秒)后会保存错误或未完成的任务到 --save-session 选项指定的文件中. 如果设置为 0, 仅当 aria2 退出时才会保存.
655
+ socket-recv-buffer-size.name=Socket 接收缓冲区大小
656
+ socket-recv-buffer-size.description=设置 Socket 接收缓冲区最大的字节数. 指定为 0 时将禁用此选项. 当使用 SO_RCVBUF 选项调用 setsockopt() 时此选项的值将设置到 Socket 的文件描述符中.
657
+ stop.name=自动关闭时间
658
+ stop.description=在此选项设置的时间(秒)后关闭应用. 如果设置为 0, 此功能将禁用.
659
+ truncate-console-readout.name=缩短控制台输出内容
660
+ truncate-console-readout.description=缩短控制台输出的内容在一行中.
ccaa_dir/AriaNg/langs/zh_Hant.txt ADDED
@@ -0,0 +1,660 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [global]
2
+ AriaNg Version=AriaNg 版本
3
+ Operation Result=操作結果
4
+ Operation Succeeded=操作成功
5
+ is connected=已連線
6
+ Error=錯誤
7
+ OK=確定
8
+ Confirm=確認
9
+ Cancel=取消
10
+ Close=關閉
11
+ True=是
12
+ False=否
13
+ Connecting=連線中
14
+ Connected=已連線
15
+ Disconnected=未連線
16
+ Global=全域
17
+ New=新增
18
+ Start=開始工作
19
+ Pause=暫停工作
20
+ Retry=重試
21
+ Retry Selected Tasks=重試選中工作
22
+ Delete=刪除工作
23
+ Select All=全部選中
24
+ Select None=全部不選
25
+ Select Invert=反向選擇
26
+ Select All Failed Tasks=全選失敗工作
27
+ Select All Completed Tasks=全選已完成工作
28
+ Display Order=顯示順序
29
+ Copy Download Url=複製下載連結
30
+ Copy Magnet Link=複製磁力連結
31
+ Help=說明
32
+ Search=搜尋
33
+ Default=預設
34
+ Expand=展開
35
+ Collapse=摺疊
36
+ Expand All=全部展開
37
+ Collapse All=全部摺疊
38
+ Open=打開
39
+ Save=儲存
40
+ Import=匯入
41
+ Remove Task=刪除工作
42
+ Clear Stopped Tasks=清除已結束工作
43
+ Click to view task detail=點選檢視工作詳情
44
+ By File Name=依檔名
45
+ By File Size=依檔案大小
46
+ By Progress=依進度
47
+ By Selected Status=依選中狀態
48
+ By Remaining=依剩餘時間
49
+ By Download Speed=依下載速度
50
+ By Upload Speed=依上傳速度
51
+ By Peer Address=依節點位址
52
+ By Client Name=依客戶端名
53
+ Filters=篩選器
54
+ Download=下載
55
+ Upload=上傳
56
+ Downloading=正在下載
57
+ Pending Verification=等待驗證
58
+ Verifying=正在驗證
59
+ Seeding=正在做種
60
+ Waiting=正在等待
61
+ Paused=已暫停
62
+ Completed=已完成
63
+ Error Occurred=發生錯誤
64
+ Removed=已刪除
65
+ Finished / Stopped=已完成 / 已停止
66
+ Uncompleted=未完成
67
+ Click to pin=點選固定
68
+ Settings=系統設定
69
+ AriaNg Settings=AriaNg 設定
70
+ Aria2 Settings=Aria2 設定
71
+ Basic Settings=基本設定
72
+ HTTP/FTP/SFTP Settings=HTTP/FTP/SFTP 設定
73
+ HTTP Settings=HTTP 設定
74
+ FTP/SFTP Settings=FTP/SFTP 設定
75
+ BitTorrent Settings=BitTorrent 設定
76
+ Metalink Settings=Metalink 設定
77
+ RPC Settings=RPC 設定
78
+ Advanced Settings=進階設定
79
+ AriaNg Debug Console=AriaNg 偵錯控制台
80
+ Aria2 Status=Aria2 狀態
81
+ File Name=檔名
82
+ File Size=大小
83
+ Progress=進度
84
+ Share Ratio=分享率
85
+ Remaining=剩餘時間
86
+ Download Speed=下載速度
87
+ Upload Speed=上傳速度
88
+ Links=連結
89
+ Torrent File=種子檔案
90
+ Metalink File=Metalink 檔案
91
+ File Name:=檔名:
92
+ Options=選項
93
+ Overview=總覽
94
+ Pieces=區塊資訊
95
+ Files=檔案清單
96
+ Peers=連線狀態
97
+ Task Name=工作名稱
98
+ Task Size=工作大小
99
+ Task Status=工作狀態
100
+ Error Description=錯誤描述
101
+ Health Percentage=健康度
102
+ Info Hash=特徵值
103
+ Seeders=種子數
104
+ Connections=連線數
105
+ Seed Creation Time=種子建立時間
106
+ Download Url=下載位址
107
+ Download Dir=下載路徑
108
+ BT Tracker Servers=BT 伺服器
109
+ Copy=複製
110
+ (Choose Files)=(選擇檔案)
111
+ Videos=影片
112
+ Audios=音訊
113
+ Pictures=圖片
114
+ Documents=文件
115
+ Applications=應用程式
116
+ Archives=封存檔案
117
+ Other=其他
118
+ Custom=自訂
119
+ Custom Choose File=自訂選擇檔案
120
+ Address=位址
121
+ Client=客戶端
122
+ Status=狀態
123
+ Speed=速度
124
+ (local)=(本機)
125
+ No Data=無資料
126
+ No connected peers=沒有連線到其他節點
127
+ Failed to change some tasks state.=修改一些工作狀態時失敗.
128
+ Confirm Retry=確認重試
129
+ Are you sure you want to retry the selected task? AriaNg will create same task after clicking OK.=您是否要重試選中的工作? 點選 "確定" 後, AriaNg 將會建立相同的工作.
130
+ Failed to retry this task.=該工作重試失敗.
131
+ {{successCount}} tasks have been retried and {{failedCount}} tasks are failed.={{successCount}} 个工作重試成功以及 {{failedCount}} 个工作失敗.
132
+ Confirm Remove=確認刪除
133
+ Are you sure you want to remove the selected task?=您是否要刪除選中的工作?
134
+ Failed to remove some task(s).=刪除一些工作時失敗.
135
+ Confirm Clear=確認清除
136
+ Are you sure you want to clear stopped tasks?=您是否要清除已結束的工作?
137
+ Download Links:=下載連結:
138
+ Download Now=立即下載
139
+ Download Later=手動下載
140
+ Open Torrent File=打開種子檔案
141
+ Open Metalink File=打開 Metalink 檔案
142
+ Support multiple URLs, one URL per line.=支援多個 URL 位址, 每個位址佔一行.
143
+ Your browser does not support loading file!=您的瀏覽器不支援載入檔案!
144
+ The selected file type is invalid!=選擇的檔案類型無效!
145
+ Failed to load file!=載入檔案失敗!
146
+ Download Completed=下載完成
147
+ BT Download Completed=BT 下載完成
148
+ Download Error=下載出錯
149
+ Language=語言
150
+ Debug Mode=偵錯模式
151
+ Page Title=頁面標題
152
+ Preview=預覽
153
+ Tips: You can use the "noprefix" tag to ignore the prefix, "nosuffix" tag to ignore the suffix, and "scale\=n" tag to set the decimal precision.=小提示: 您可以使用 "noprefix" 標籤忽略前綴, "nosuffix" 標籤忽略副檔名, 以及 "scale\=n" 標籤設定小數的精度.
154
+ Example: ${downspeed:noprefix:nosuffix:scale\=1}=示例: ${downspeed:noprefix:nosuffix:scale\=1}
155
+ Updating Page Title Interval=頁面標題更新間隔
156
+ Enable Browser Notification=啟用瀏覽器通知
157
+ Aria2 RPC Alias=Aria2 RPC 別名
158
+ Aria2 RPC Address=Aria2 RPC 位址
159
+ Aria2 RPC Protocol=Aria2 RPC 協定
160
+ Aria2 RPC Http Request Method=Aria2 RPC Http 要求方法
161
+ POST method only supports aria2 v1.15.2 and above.=POST 方法僅支援 aria2 v1.15.2 及以上.
162
+ Aria2 RPC Secret Token=Aria2 RPC 金鑰
163
+ Activate=啟用
164
+ Reset Settings=重設設定
165
+ Confirm Reset=確認重設
166
+ Are you sure you want to reset all settings?=您是否要重設所有設定?
167
+ Clear Settings History=清除設定歷史
168
+ Are you sure you want to clear all settings history?=您是否要清除所有設定的歷史紀錄?
169
+ Delete RPC Setting=刪除 RPC 設定
170
+ Add New RPC Setting=加入新 RPC 設定
171
+ Are you sure you want to remove rpc setting "{{rpcName}}"?=您是否要刪除 RPC 設定 "{{rpcName}}"?
172
+ Updating Global Stat Interval=全域狀態更新間隔
173
+ Updating Task Information Interval=工作資訊更新間隔
174
+ Action After Creating New Tasks=建立新工作後執行操作
175
+ Navigate to Task List Page=轉到工作清單頁面
176
+ Navigate to Task Detail Page=轉到工作詳情頁面
177
+ Action After Retrying Task=重試工作後執行操作
178
+ Navigate to Downloading Tasks Page=轉到正在下載工作頁面
179
+ Stay on Current Page=留在目前頁面
180
+ Remove Old Tasks After Retrying=重試工作後刪除原工作
181
+ Confirm Task Removal=工作刪除前確認
182
+ RPC List Display Order=RPC 清單顯示順序
183
+ Recently Used=最近使用
184
+ RPC Alias=RPC 別名
185
+ Import / Export AriaNg Settings=匯入 / 匯出 AriaNg 設定
186
+ Import Settings=匯入設定
187
+ Export Settings=匯出設定
188
+ AriaNg settings data=AriaNg 設定資料
189
+ Confirm Import=確認匯入
190
+ Are you sure you want to import all settings?=您是否要匯入所有設定?
191
+ Invalid settings data format!=無效的設定資料格式!
192
+ Data has been copied to clipboard.=資料已經複製到剪貼簿中.
193
+ Supported Placeholder=支援的預留位置
194
+ AriaNg Title=AriaNg 標題
195
+ Downloading Count=正在下載數量
196
+ Current RPC Alias=目前 RPC 別名
197
+ Waiting Count=正在等待數量
198
+ Stopped Count=已停止數量
199
+ You have disabled notification in your browser. You should change your browser's settings before you enable this function.=您已經在瀏覽器中停用通知功能. 如需使用此功能, 請修改您瀏覽器的設定.
200
+ Application cache has been updated, please reload the page for the changes to take effect.=應用快取已經更新, 請重新載入頁面使其生效.
201
+ Language resource has been updated, please reload the page for the changes to take effect.=語言資源已經更新, 請重新載入頁面使其生效.
202
+ Configuration has been modified, please reload the page for the changes to take effect.=配置已經修改, 請重新載入頁面使其生效.
203
+ Reload AriaNg=重新載入 AriaNg
204
+ Show Secret=顯示金鑰
205
+ Hide Secret=隱藏金鑰
206
+ Aria2 Version=Aria2 版本
207
+ Enabled Features=已啟用的功能
208
+ Operations=操作
209
+ Save Session=儲存會話
210
+ Shutdown Aria2=關閉 Aria2
211
+ Confirm Shutdown=確認關閉
212
+ Are you sure you want to shutdown aria2?=您是否要關閉 aria2?
213
+ Session has been saved successfully.=會話已經成功儲存.
214
+ Aria2 has been shutdown successfully.=Aria2 已經成功關閉.
215
+ Toggle Navigation=切換導航
216
+ Shortcut=捷徑
217
+ Global Rate Limit=全域速度限制
218
+ Loading=正在載入...
219
+ More Than One Day=超過1天
220
+ Unknown=不詳
221
+ Bytes=位元組
222
+ Hours=小時
223
+ Minutes=分
224
+ Seconds=秒
225
+ Milliseconds=毫秒
226
+ Http=Http
227
+ Http (Disabled)=Http (已停用)
228
+ Https=Https
229
+ WebSocket=WebSocket
230
+ WebSocket (Disabled)=WebSocket (已停用)
231
+ WebSocket (Security)=WebSocket (安全)
232
+ Http and WebSocket would be disabled when accessing AriaNg via Https.=使用 Https 訪問 AriaNg 時,Http 和 WebSocket 將被停用.
233
+ POST=POST
234
+ GET=GET
235
+ Enabled=啟用
236
+ Disabled=停用
237
+ BitTorrent=BitTorrent
238
+ Changes to the settings take effect after refreshing page.=設定將在頁面重新整理後生效.
239
+ Show Detail=顯示詳情
240
+ Log Detail=記錄詳情
241
+ Type is illegal!=類型錯誤!
242
+ Parameter is invalid!=要求參數無效!
243
+ Option value cannot be empty!=參數內容不能為空!
244
+ Input number is invalid!=輸入的數字無效!
245
+ Input number is below min value!=輸入的數字小於最小值 {{value}} !
246
+ Input number is above max value!=輸入的數字大於最大值 {{value}} !
247
+ Input value is invalid!=輸入的內容無效!
248
+ Protocol is invalid!=協定無效!
249
+ RPC host cannot be empty!=RPC 主機不能為空!
250
+ RPC secret is not base64 encoded!=RPC 金鑰不是 Base64 編碼後的字串!
251
+ URL is not base64 encoded!=指定 URL 不是 Base64 編碼後的字串!
252
+ Tap to configure and get started with AriaNg.=您還沒有進行過設定, 點選這裡進行設定.
253
+ Cannot initialize WebSocket!=無法初始化 WebSocket!
254
+ Access Denied!=拒絕訪問!
255
+ You cannot use AriaNg because this browser does not meet the minimum requirements for data storage.=您無法使用 AriaNg, 因為此瀏覽器不滿足資料儲存的最低要求.
256
+
257
+ [error]
258
+ unknown=不詳錯誤.
259
+ operation.timeout=操作超時.
260
+ resource.notfound=無法找到指定資源.
261
+ error.resource.notfound.max-file-not-found=無法找到指定資源. 參見 --max-file-not-found option 參數.
262
+ error.download.aborted.lowest-speed-limit=由���下載速度過慢, 下載已經終止. 參見 --lowest-speed-limit option 參數.
263
+ error.network.problem=網路問題.
264
+ resume.notsupported=伺服器不支援斷點續傳.
265
+ space.notenough=可用磁碟空間不足.
266
+ piece.length.different=分段大小與 .aria2 控制檔案中的不同. 參見 --allow-piece-length-change 參數.
267
+ download.sametime=aria2 已經下載了另一個相同檔案.
268
+ download.torrent.sametime=aria2 已經下載了另一個相同雜湊的種子檔案.
269
+ file.exists=檔案已經存在. 參見 --allow-overwrite 參數.
270
+ file.rename.failed=檔案重命名失敗. 參見 --auto-file-renaming 參數.
271
+ file.open.failed=檔案打開失敗.
272
+ file.create.failed=檔案建立或刪除已有檔案失敗.
273
+ io.error=檔案系統出錯.
274
+ directory.create.failed=無法建立指定目錄.
275
+ name.resolution.failed=域名解析失敗.
276
+ metalink.file.parse.failed=解析 Metalink 檔案失敗.
277
+ ftp.command.failed=FTP 命令執行失敗.
278
+ http.response.header.bad=HTTP 返回頭無效或無法識別.
279
+ redirects.toomany=指定位址重新導向過多.
280
+ http.authorization.failed=HTTP 認證失敗.
281
+ bencoded.file.parse.failed=解析種子檔案失敗.
282
+ torrent.file.corrupted=指定 ".torrent" 種子檔案已經損壞或缺少 aria2 需要的資訊.
283
+ magnet.uri.bad=指定磁力連結位址無效.
284
+ option.bad=設定錯誤.
285
+ server.overload=遠端伺服器繁忙, 無法處理目前要求.
286
+ rpc.request.parse.failed=處理 RPC 要求失敗.
287
+ checksum.failed=檔案校驗失敗.
288
+
289
+ [languages]
290
+ English=英語
291
+ Simplified Chinese=簡體中文
292
+ Traditional Chinese=繁體中文
293
+
294
+ [format]
295
+ longdate=YYYY年MM月DD日 HH:mm:ss
296
+ time.millisecond={{value}} 毫秒
297
+ time.milliseconds={{value}} 毫秒
298
+ time.second={{value}} 秒
299
+ time.seconds={{value}} 秒
300
+ time.minute={{value}} 分鐘
301
+ time.minutes={{value}} 分鐘
302
+ time.hour={{value}} 小時
303
+ time.hours={{value}} 小時
304
+ requires.aria2-version=需要 aria2 v{{version}} 或更高版本
305
+ task.new.download-links=下載連結 ({{count}} 个連結):
306
+ task.pieceinfo=已完成: {{completed}}, 共計: {{total}} 塊
307
+ task.error-occurred=發生錯誤 ({{errorcode}})
308
+ task.verifying-percent=正在驗證 ({{verifiedPercent}}%)
309
+ settings.file-count=({{count}} 個檔案)
310
+ settings.total-count=(共計: {{count}}個)
311
+ debug.latest-logs=最近 {{count}} 條記錄
312
+
313
+ [rpc.error]
314
+ unauthorized=認證失敗!
315
+
316
+ [option]
317
+ true=是
318
+ false=否
319
+ default=預設
320
+ none=無
321
+ hide=隱藏
322
+ full=完整
323
+ http=Http
324
+ https=Https
325
+ ftp=Ftp
326
+ mem=僅記憶體
327
+ plain=明文
328
+ arc4=ARC4
329
+ binary=二進位
330
+ ascii=ASCII
331
+ debug=偵錯 (Debug)
332
+ info=普通 (Info)
333
+ notice=一般 (Notice)
334
+ warn=警告 (Warn)
335
+ error=錯誤 (Error)
336
+ adaptive=自適應
337
+ feedback=反饋
338
+ geom=幾何
339
+ inorder=順序
340
+ random=隨機
341
+
342
+ [options]
343
+ dir.name=下載路徑
344
+ dir.description=
345
+ log.name=記錄檔案
346
+ log.description=記錄檔案的路徑. 如果設定為 "-", 記錄則寫入到 stdout. 如果設定為空字串(""), 記錄將不會記錄到磁碟上.
347
+ max-concurrent-downloads.name=最大同時下載數
348
+ max-concurrent-downloads.description=
349
+ check-integrity.name=檢查完整性
350
+ check-integrity.description=通過對檔案的每個分塊或整個檔案進行雜湊驗證來檢查檔案的完整性. 此選項僅對BT、Metalink及設定了 --checksum 選項的 HTTP(S)/FTP 鏈接生效.
351
+ continue.name=斷點續傳
352
+ continue.description=繼續下載部分完成的檔案. 啟用此選項可以繼續下載從瀏覽器或其他程式依順序下載的檔案. 此選項目前只支援 HTTP(S)/FTP 下載的檔案.
353
+ all-proxy.name=代理伺服器
354
+ all-proxy.description=設定所有協定的代理伺服器位址. 如果覆蓋之前設定的代理伺服器, 使用 "" 即可. 您還可以針對特定的協定覆蓋此選項, 即使用 --http-proxy, --https-proxy 和 --ftp-proxy 選項. 此設定將會影響所有下載. 代理伺服器位址的格式為 [http://][USER:PASSWORD@]HOST[:PORT].
355
+ all-proxy-user.name=代理伺服器使用者名稱
356
+ all-proxy-user.description=
357
+ all-proxy-passwd.name=代理伺服器密碼
358
+ all-proxy-passwd.description=
359
+ connect-timeout.name=連線超時時間
360
+ connect-timeout.description=設定建立 HTTP/FTP/代理伺服器 連線的超時時間(秒). 當連線建立後, 此選項不再生效, 請使用 --timeout 選項.
361
+ dry-run.name=模擬運行
362
+ dry-run.description=如果設定為"是", aria2 將僅檢查遠端檔案是否存在而不會下載檔案內容. 此選項僅對 HTTP/FTP 下載生效. 如果設定為 true, BT 下載將會直接取消.
363
+ lowest-speed-limit.name=最小速度限制
364
+ lowest-speed-limit.description=當下載速度低於此選項設定的值(B/s) 時將會關閉連線. 0 表示不設定最小速度限制. 您可以增加數值的單位 K 或 M (1K = 1024, 1M = 1024K). 此選項不會影響 BT 下載.
365
+ max-connection-per-server.name=單伺服器最大連線數
366
+ max-connection-per-server.description=
367
+ max-file-not-found.name=檔案未找到重試次數
368
+ max-file-not-found.description=如果 aria2 從遠端 HTTP/FTP 伺服器收到 "檔案未找到" 的狀態超過此選項設定的次數後下載將會失敗. 設定為 0 將會停用此選項. 此選項僅影響 HTTP/FTP 伺服器. 重試時同時會記錄重試次數, 所以也需要設定 --max-tries 這個選項.
369
+ max-tries.name=最大嘗試次數
370
+ max-tries.description=設定最大嘗試次數. 0 表示不限制.
371
+ min-split-size.name=最小檔案分段大小
372
+ min-split-size.description=aria2 不會分割小於 2*SIZE 位元組的檔案. 例如, 檔案大小為 20MB, 如果 SIZE 為 10M, aria2 會把檔案分成 2 段 [0-10MB) 和 [10MB-20MB), 並且使用 2 個源進行下載 (如果 --split >= 2). 如果 SIZE 為 15M, 由於 2*15M > 20MB, 因此 aria2 不會分割檔案並使用 1 個源進行下載. 您可以增加數值的單位 K 或 M (1K = 1024, 1M = 1024K). 可以設定的值為: 1M-1024M.
373
+ netrc-path.name=.netrc 檔案路徑
374
+ netrc-path.description=
375
+ no-netrc.name=停用 netrc
376
+ no-netrc.description=
377
+ no-proxy.name=不使用代理伺服器清單
378
+ out.name=檔名
379
+ out.description=下載檔案的檔名. 其總是相對於 --dir 選項中設定的路徑. 當使用 --force-sequential 參數時此選項無效.
380
+ no-proxy.description=設定不使用代理伺服器的主機名, 域名, 包含或不包含子網掩碼的網路位址, 多個使用逗號分隔.
381
+ proxy-method.name=代理伺服器要求方法
382
+ proxy-method.description=設定用來要求代理伺服器的方法. 方法可設定為 GET 或 TUNNEL. HTTPS 下載將忽略此選項並總是使用 TUNNEL.
383
+ remote-time.name=獲取伺服器檔案時間
384
+ remote-time.description=從 HTTP/FTP 服務獲取遠端檔案的時間戳, 如果可用將設定到本機檔案
385
+ reuse-uri.name=URI 復用
386
+ reuse-uri.description=當所有給定的 URI 位址都已使用, 繼續使用已經使用過的 URI 位址.
387
+ retry-wait.name=重試等待時間
388
+ retry-wait.description=設定重試間隔時間(秒). 當此選項的值大於 0 時, aria2 在 HTTP 伺服器返回 503 響應時將會重試.
389
+ server-stat-of.name=伺服器狀態儲存檔案
390
+ server-stat-of.description=指定用來儲存伺服器狀態的檔名. 您可以使用 --server-stat-if 參數讀取儲存的資料.
391
+ server-stat-timeout.name=伺服器狀態超時
392
+ server-stat-timeout.description=指定伺服器狀態的過期時間 (單位為秒).
393
+ split.name=單工作連線數
394
+ split.description=下載時使用 N 個連線. 如果提供超過 N 個 URI 位址, 則使用前 N 個位址, 剩餘的位址將作為備用. 如果提供的 URI 位址不足 N 個, 這些位址多次使用以保證同時建立 N 個連線. 同一伺服器的連線數會被 --max-connection-per-server 選項限制.
395
+ stream-piece-selector.name=分段選擇演算法
396
+ stream-piece-selector.description=指定 HTTP/FTP 下載使用的分段選擇演算法. 分段表示的是並行下載時固定長度的分隔段. 如果設定為"預設", aria2 將會依減少建立連線數選擇分段. 由於建立連線操作的成本較高, 因此這是合理的預設行為. 如果設定為"順序", aria2 將選擇索引最小的分段. 索引為 0 時表示為檔案的第一個分段. 這將有助於視頻的邊下邊播. --enable-http-pipelining 選項有助於減少重連線的開銷. 請注意, aria2 依賴於 --min-split-size 選項, 所以有必要對 --min-split-size 選項設定一個合理的值. 如果設定為"隨機", aria2 將隨機選擇一個分段. 就像"順序"一樣, 依賴於 --min-split-size 選項. 如果設定為"幾何", aria2 會先選擇索引最小的分段, 然後會為之前選擇的分段保留指數增長的空間. 這將減少建立連線的次數, 同時檔案開始部分將會先行下載. 這也有助於視頻的邊下邊播.
397
+ timeout.name=超時時間
398
+ timeout.description=
399
+ uri-selector.name=URI 選擇演算法
400
+ uri-selector.description=指定 URI 選擇的演算法. 可選的值包括 "依順序", "反饋" 和 "自適應". 如果設定為"依順序", URI 將依清單中出現的順序使用. 如果設定為"反饋", aria2 將根據之前的下載速度選擇 URI 清單中下載速度最快的伺服器. 同時也將有效跳過無效鏡像. 之前統計的下載速度將作為伺服器狀態檔案的一部分, 參見 --server-stat-of 和 --server-stat-if 選項. 如果設定為"自適應", 將從最好的鏡像和保留的連線裡選擇一項. 補充說明, 其返回的鏡像沒有被測試過, 同時如果每個鏡像都已經被測試過時, 返回的鏡像還會被重新測試. 否則, 其將不會選擇其他鏡像. 例如"反饋", 其使用伺服器狀態檔案.
401
+ check-certificate.name=檢查證書
402
+ check-certificate.description=
403
+ http-accept-gzip.name=支援 GZip
404
+ http-accept-gzip.description=如果遠端伺服器的響應頭中包含 Content-Encoding: gzip 或 Content-Encoding: deflate , 將發送包含 Accept: deflate, gzip 的要求標頭並解壓縮響應.
405
+ http-auth-challenge.name=認證質詢
406
+ http-auth-challenge.description=僅當伺服器需要時才發送 HTTP 認證要求標頭. 如果設定為"否", 每次都會發送認證要求標頭. 例外: 如果使用者名稱和密碼包含在 URI 中, 將忽略此選項並且每次都會發送認證要求標頭.
407
+ http-no-cache.name=停用快取
408
+ http-no-cache.description=發送的要求標頭中將包含 Cache-Control: no-cache 和 Pragma: no-cache header 以避免內容被快取. 如果設定為"否", 上述要求標頭將不會發送, 同時您也可以使用 --header 選項將 Cache-Control 要求標頭加入進去.
409
+ http-user.name=HTTP 預設使用者名稱
410
+ http-user.description=
411
+ http-passwd.name=HTTP 預設密碼
412
+ http-passwd.description=
413
+ http-proxy.name=HTTP 代理伺服器
414
+ http-proxy.description=
415
+ http-proxy-user.name=HTTP 代理伺服器使用者名稱
416
+ http-proxy-user.description=
417
+ http-proxy-passwd.name=HTTP 代理伺服器密碼
418
+ http-proxy-passwd.description=
419
+ https-proxy.name=HTTPS 代理伺服器
420
+ https-proxy.description=
421
+ https-proxy-user.name=HTTPS 代理伺服器使用者名稱
422
+ https-proxy-user.description=
423
+ https-proxy-passwd.name=HTTPS 代理伺服器密碼
424
+ https-proxy-passwd.description=
425
+ referer.name=要求來源
426
+ referer.description=設定 HTTP 要求來源 (Referer). 此選項將影響所有 HTTP/HTTPS 下載. 如果設定為 *, 要求來源將設定為下載連結. 此選項可以配合 --parameterized-uri 選項使用.
427
+ enable-http-keep-alive.name=啟用持久連線
428
+ enable-http-keep-alive.description=啟用 HTTP/1.1 持久連線.
429
+ enable-http-pipelining.name=啟用 HTTP 管線化
430
+ enable-http-pipelining.description=啟用 HTTP/1.1 管線化.
431
+ header.name=自訂要求標頭
432
+ header.description=增加 HTTP 要求標頭內容. 每行放置一項, 每項包含 "標頭名: 標頭值".
433
+ save-cookies.name=Cookies 儲存路徑
434
+ save-cookies.description=以 Mozilla/Firefox(1.x/2.x)/Netscape 格式將 Cookies 儲存到檔案中. 如果檔案已經存在, 將被覆蓋. 會話過期的 Cookies 也將會儲存, 其過期時間將會設定為 0.
435
+ use-head.name=啟用 HEAD 方法
436
+ use-head.description=第一次要求 HTTP 伺服器時使用 HEAD 方法.
437
+ user-agent.name=自訂 User Agent
438
+ user-agent.description=
439
+ ftp-user.name=FTP 預設使用者名稱
440
+ ftp-user.description=
441
+ ftp-passwd.name=FTP 預設密碼
442
+ ftp-passwd.description=如果 URI 中包含使用者名稱單不包含密碼, aria2 首先會從 .netrc 檔案中獲取密碼. 如果在 .netrc 檔案中找到密碼, 則使用該密碼. 否則, 使用此選項設定的密碼.
443
+ ftp-pasv.name=被動模式
444
+ ftp-pasv.description=在 FTP 中使用被動模式. 如果設定為"否", 則使用主動模式. 此選項不適用於 SFTP 傳輸.
445
+ ftp-proxy.name=FTP 代理伺服器
446
+ ftp-proxy.description=
447
+ ftp-proxy-user.name=FTP 代理伺服器使用者名稱
448
+ ftp-proxy-user.description=
449
+ ftp-proxy-passwd.name=FTP 代理伺服器密碼
450
+ ftp-proxy-passwd.description=
451
+ ftp-type.name=傳輸類型
452
+ ftp-type.description=
453
+ ftp-reuse-connection.name=連線復用
454
+ ftp-reuse-connection.description=
455
+ ssh-host-key-md.name=SSH 公鑰總和檢查碼
456
+ ssh-host-key-md.description=設定 SSH 主機公鑰的總和檢查碼. TYPE 為雜湊類型. 支援的雜湊類型為 sha-1 和 md5. DIGEST 是十六進位摘要. 例如: sha-1=b030503d4de4539dc7885e6f0f5e256704edf4c3. 此選項可以在使用 SFTP 時用來驗證伺服器的公鑰. 如果此選項不設定, 即保留預設, 不會進行任何驗證。
457
+ bt-detach-seed-only.name=分離僅做種工作
458
+ bt-detach-seed-only.description=統計目前活動下載工作(參見 -j 選項) 時排除僅做種的工作. 這意味著, 如果參數設定為 -j3, 此選項打開並且目前有 3 個正在活動的工作, 並且其中有 1 個進入做種模式, 那麼其會從正在下載的數量中排除(即數量會變為 2), 在隊列中等待的下一個工作將會開始執行. 但要知道, 在 RPC 方法中, 做種的工作仍然被認為是活動的下載工作.
459
+ bt-enable-hook-after-hash-check.name=啟用雜湊檢查完成事件
460
+ bt-enable-hook-after-hash-check.description=允許 BT 下載雜湊檢查(參見 -V 選項) 完成後調用命令. 預設情況下, 當雜湊檢查成功後, 通過 --on-bt-download-complete 設定的命令將會被執行. 如果要停用此行為, 請設定為"否".
461
+ bt-enable-lpd.name=啟用本機節點發現 (LPD)
462
+ bt-enable-lpd.description=
463
+ bt-exclude-tracker.name=BT 排除伺服器位址
464
+ bt-exclude-tracker.description=逗號分隔的 BT 排除伺服器位址. 您可以使用 * 匹配所有位址, 因此將排除所有伺服器位址. 當在 shell 命令行使用 * 時, 需要使用跳脫字元或引號.
465
+ bt-external-ip.name=外部 IP 位址
466
+ bt-external-ip.description=指定用在 BitTorrent 下載和 DHT 中的外部 IP 位址. 它可能被發送到 BitTorrent 伺服器. 對於 DHT, 此選項將會報告本機節點正在下載特定的種子. 這對於在私有網路中使用 DHT 非常關鍵. 雖然這個方法叫外部, 但其可以接受各種類型的 IP 位址.
467
+ bt-force-encryption.name=強制加密
468
+ bt-force-encryption.description=BT 消息中的內容需要使用 arc4 加密. 此選項是設定 --bt-require-crypto --bt-min-crypto-level=arc4 這兩個選項的快捷方式. 此選項不會修改上述兩個選項的內容. 如果設定為"是", 將拒絕以前的 BT 握手, 並僅使用模糊握手及加密消息.
469
+ bt-hash-check-seed.name=做種前檢查檔案雜湊
470
+ bt-hash-check-seed.description=如果設定為"是", 當使用 --check-integrity 選項完成雜湊檢查及檔案完成後才繼續做種. 如果您希望僅當檔案損壞或未完成時檢查檔案, 請設定為"否". 此選項僅對 BT 下載有效
471
+ bt-load-saved-metadata.name=載入已儲存的中繼資料檔案
472
+ bt-load-saved-metadata.description=當使用磁力連結下載時, 在從 DHT 獲取種子中繼資料之前, 首先嘗試載入使用 --bt-save-metadata 選項儲存的檔案. 如果檔案載入成功, 則不會從 DHT 下載中繼資料.
473
+ bt-max-open-files.name=最多打開檔案數
474
+ bt-max-open-files.description=設定 BT/Metalink 下載全域打開的最大檔案數.
475
+ bt-max-peers.name=最大連線節點數
476
+ bt-max-peers.description=設定每個 BT 下載的最大連線節點數. 0 表示不限制.
477
+ bt-metadata-only.name=僅下載種子檔案
478
+ bt-metadata-only.description=僅下載種子檔案. 種子檔案中描述的檔案將不會下載. 此選項僅對磁力連結生效.
479
+ bt-min-crypto-level.name=最低加密層級
480
+ bt-min-crypto-level.description=設定加密方法的最小層級. 如果節點提供多種加密方法, aria2 將選擇滿足給定層級的最低層級.
481
+ bt-prioritize-piece.name=優先下載
482
+ bt-prioritize-piece.description=嘗試先下載每個檔案開頭或結尾的分段. 此選項有助於預覽檔案. 參數可以包括兩個關鍵詞: head 和 tail. 如果包含兩個關鍵詞, 需要使用逗號分隔. 每個關鍵詞可以包含一個參數, SIZE. 例如, 如果指定 head=SIZE, 每個檔案的最前 SIZE 資料將會獲得更高的優先順序. tail=SIZE 表示每個檔案的最後 SIZE 資料. SIZE 可以包含 K 或 M (1K = 1024, 1M = 1024K).
483
+ bt-remove-unselected-file.name=刪除未選擇的檔案
484
+ bt-remove-unselected-file.description=當 BT 工作完成後刪除未選擇的檔案. 要選擇需要下載的檔案, 請使用 --select-file 選項. 如果沒有選擇, 則所有檔案都預設為需要下載. 此選項會從磁碟上直接刪除檔案, 請謹慎使用此選項.
485
+ bt-require-crypto.name=需要加密
486
+ bt-require-crypto.description=如果設定為"是", aria 將不會接受以前的 BitTorrent 握手協定(\19BitTorrent 協定)並建立連線. 因此 aria2 總是模糊握手.
487
+ bt-request-peer-speed-limit.name=期望下載速度
488
+ bt-request-peer-speed-limit.description=如果一個 BT 下載的整體下載速度低於此選項設定的值, aria2 會臨時提高連線數以提高下載速度. 在某些情況下, 設定期望下載速度可以提高您的下載速度. 您可以增加數值的單位 K 或 M (1K = 1024, 1M = 1024K).
489
+ bt-save-metadata.name=儲存種子檔案
490
+ bt-save-metadata.description=儲存種子檔案為 ".torrent" 檔案. 此選項僅對磁力連結生效. 檔名為十六進位編碼後的雜湊值及 ".torrent"副檔名. 儲存的目錄與下載檔案的目錄相同. 如果相同的檔案已存在, 種子檔案將不會儲存.
491
+ bt-seed-unverified.name=不檢查已經下載的檔案
492
+ bt-seed-unverified.description=不檢查之前下載檔案中每個分段的雜湊值.
493
+ bt-stop-timeout.name=無速度時自動停止時間
494
+ bt-stop-timeout.description=當 BT 工作下載速度持續為 0, 達到此選項設定的時間後停止下載. 如果設定為 0, 此功能將停用.
495
+ bt-tracker.name=BT 伺服器位址
496
+ bt-tracker.description=逗號分隔的 BT 伺服器位址. 這些位址不受 --bt-exclude-tracker 選項的影響, 因為這些位址在 --bt-exclude-tracker 選項排除掉其他位址之後才會加入.
497
+ bt-tracker-connect-timeout.name=BT 伺服器連線超時時間
498
+ bt-tracker-connect-timeout.description=設定 BT 伺服器的連線超時時間 (秒). 當連線建立後, 此選項不再生效, 請使用 --bt-tracker-timeout 選項.
499
+ bt-tracker-interval.name=BT 伺服器連線間隔時間
500
+ bt-tracker-interval.description=設定要求 BT 伺服器的間隔時間 (秒). 此選項將完全覆蓋伺服器返回的最小間隔時間和間隔時間, aria2 僅使用此選項的值.如果設定為 0, aria2 將根據伺服器的響應情況和下載處理程序決定時間間隔.
501
+ bt-tracker-timeout.name=BT 伺服器超時時間
502
+ bt-tracker-timeout.description=
503
+ dht-file-path.name=DHT (IPv4) 檔案
504
+ dht-file-path.description=修改 IPv4 DHT 路由表檔案路徑.
505
+ dht-file-path6.name=DHT (IPv6) 檔案
506
+ dht-file-path6.description=修改 IPv6 DHT 路由表檔案路徑.
507
+ dht-listen-port.name=DHT 監聽埠
508
+ dht-listen-port.description=設定 DHT (IPv4, IPv6) 和 UDP 伺服器使用的 UCP 埠. 多個埠可以使用逗號 "," 分隔, 例如: 6881,6885. 您還可以使用短橫線 "-" 表示範圍: 6881-6999, 或可以一起使用: 6881-6889, 6999.
509
+ dht-message-timeout.name=DHT 消息超時時間
510
+ dht-message-timeout.description=
511
+ enable-dht.name=啟用 DHT (IPv4)
512
+ enable-dht.description=啟用 IPv4 DHT 功能. 此選項同時會啟用 UDP 伺服器支援. 如果種子設定為私有, 即使此選項設定為"是", aria2 也不會啟用 DHT.
513
+ enable-dht6.name=啟用 DHT (IPv6)
514
+ enable-dht6.description=啟用 IPv6 DHT 功能. 如��種子設定為私有, 即使此選項設定為"是", aria2 也不會啟用 DHT. 使用 --dht-listen-port 選項設定監聽的埠.
515
+ enable-peer-exchange.name=啟用節點交換
516
+ enable-peer-exchange.description=啟用節點交換擴充. 如果種子設定為私有, 即使此選項設定為"是", aria2 也不會啟用此功能.
517
+ follow-torrent.name=下載種子中的檔案
518
+ follow-torrent.description=如果設定為"是"或"僅記憶體", 當副檔名為 .torrent 或內容類型為 application/x-bittorrent 的檔案下載完成時, aria2 將依種子檔案讀取並下載該檔案中提到的檔案. 如果設定為"僅記憶體", 該種子檔案將不會寫入到磁碟中, 而僅會儲存在記憶體中. 如果設定為"否", 則 .torrent 檔案會下載到磁碟中, 但不會依種子檔案讀取並且其中的檔案不會進行下載.
519
+ listen-port.name=監聽埠
520
+ listen-port.description=設定 BT 下載的 TCP 埠. 多個埠可以使用逗號 "," 分隔, 例如: 6881,6885. 您還可以使用短橫線 "-" 表示範圍: 6881-6999, 或可以一起使用: 6881-6889, 6999.
521
+ max-overall-upload-limit.name=全域最大上傳速度
522
+ max-overall-upload-limit.description=設定全域最大上傳速度 (位元組/秒). 0 表示不限制. 您可以增加數值的單位 K 或 M (1K = 1024, 1M = 1024K).
523
+ max-upload-limit.name=最大上傳速度
524
+ max-upload-limit.description=設定每個工作的最大上傳速度 (位元組/秒). 0 表示不限制. 您可以增加數值的單位 K 或 M (1K = 1024, 1M = 1024K).
525
+ peer-id-prefix.name=節點 ID 前綴
526
+ peer-id-prefix.description=指定節點 ID 的前綴. BT 中節點 ID 長度為 20 位元組. 如果超過 20 位元組, 將僅使用前 20 位元組. 如果少於 20 位元組, 將在其後不足隨機的資料保證為 20 位元組.
527
+ peer-agent.name=Peer Agent
528
+ peer-agent.description=指定 BT 擴充握手期間用於節點客戶端版本的字串.
529
+ seed-ratio.name=最小分享率
530
+ seed-ratio.description=指定分享率. 當分享率達到此選項設定的值時會完成做種. 強烈建議您將此選項設定為大於等於 1.0. 如果您想不限制分享比率, 可以設定為 0.0. 如果同時設定了 --seed-time 選項, 當任意一個條件滿足時將停止做種.
531
+ seed-time.name=最小做種時間
532
+ seed-time.description=以 (小數形式的) 分鐘指定做種時間. 此選項設置爲 0 時, 將在 BT 任務下載完成後不進行做種.
533
+ follow-metalink.name=下載 Metalink 中的檔案
534
+ follow-metalink.description=如果設定為"是"或"僅記憶體", 當副檔名為 .meta4 或 .metalink 或內容類型為 application/metalink4+xml 或 application/metalink+xml 的檔案下載完成時, aria2 將依 Metalink 檔案讀取並下載該檔案中提到的檔案. 如果設定為"僅記憶體", 該 Metalink 檔案將不會寫入到磁碟中, 而僅會儲存在記憶體中. 如果設定為"否", 則 .metalink 檔案會下載到磁碟中, 但不會依 Metalink 檔案讀取並且其中的檔案不會進行下載.
535
+ metalink-base-uri.name=基礎 URI
536
+ metalink-base-uri.description=指定基礎 URI 以便解析本機磁碟中儲存的 Metalink 檔案裡 metalink:url 和 metalink:metaurl 中的相對 URI 位址. 如果 URI 表示的為目錄, 最後需要以 / 結尾.
537
+ metalink-language.name=語言
538
+ metalink-language.description=
539
+ metalink-location.name=首選伺服器位置
540
+ metalink-location.description=首選伺服器所在的位置. 可以使用逗號分隔的清單, 例如: jp,us.
541
+ metalink-os.name=操作系統
542
+ metalink-os.description=下載檔案的操作系統.
543
+ metalink-version.name=版本號
544
+ metalink-version.description=下載檔案的版本號.
545
+ metalink-preferred-protocol.name=首選使用協定
546
+ metalink-preferred-protocol.description=指定首選使用的協定. 可以設定為 http, https, ftp 或"無". 設定為"無"時停用此選項.
547
+ metalink-enable-unique-protocol.name=僅使用唯一協定
548
+ metalink-enable-unique-protocol.description=如果一個 Metalink 檔案可用多種協定, 並且此選項設定為"是", aria2 將只會使用其中一種. 使用 --metalink-preferred-protocol 參數指定首選的協定.
549
+ enable-rpc.name=啟用 JSON-RPC/XML-RPC 伺服器
550
+ enable-rpc.description=
551
+ pause-metadata.name=種子檔案下載完後暫停
552
+ pause-metadata.description=當種子檔案下載完成後暫停後續的下載. 在 aria2 中有 3 種種子檔案的下載類型: (1) 下載 .torrent 檔案. (2) 通過磁力連結下載的種子檔案. (3) 下載 Metalink 檔案. 這些種子檔案下載完後會根據檔案內容繼續進行下載. 此選項會暫停這些後續的下載. 此選項僅當 --enable-rpc 選項啟用時生效.
553
+ rpc-allow-origin-all.name=接受所有遠端要求
554
+ rpc-allow-origin-all.description=在 RPC 響應頭增加 Access-Control-Allow-Origin 欄位, 值為 * .
555
+ rpc-listen-all.name=在所有網卡上監聽
556
+ rpc-listen-all.description=在所有網路適配器上監聽 JSON-RPC/XML-RPC 的要求, 如果設定為"否", 僅監聽本機網路的要求.
557
+ rpc-listen-port.name=監聽埠
558
+ rpc-listen-port.description=
559
+ rpc-max-request-size.name=最大要求大���
560
+ rpc-max-request-size.description=設定 JSON-RPC/XML-RPC 最大的要求大小. 如果 aria2 檢測到要求超過設定的位元組數, 會直接取消連線.
561
+ rpc-save-upload-metadata.name=儲存上傳的種子檔案
562
+ rpc-save-upload-metadata.description=在 dir 選項設定的目錄中儲存上傳的種子檔案或 Metalink 檔案. 檔名包括 SHA-1 雜湊後的中繼資料和副檔名兩部分. 對於種子檔案, 副檔名為 '.torrent'. 對於 Metalink 為 '.meta4'. 如果此選項設定為"否", 通過 aria2.addTorrent() 或 aria2.addMetalink() 方法加入的下載將無法通過 --save-session 選項儲存.
563
+ rpc-secure.name=啟用 SSL/TLS
564
+ rpc-secure.description=RPC 將通過 SSL/TLS 加密傳輸. RPC 客戶端需要使用 https 協定連線伺服器. 對於 WebSocket 客戶端, 使用 wss 協定. 使用 --rpc-certificate 和 --rpc-private-key 選項設定伺服器的證書和私鑰.
565
+ allow-overwrite.name=允許覆蓋
566
+ allow-overwrite.description=如果相應的控制檔案不存在時從頭重新下載檔案. 參見 --auto-file-renaming 選項.
567
+ allow-piece-length-change.name=允許分段大小變化
568
+ allow-piece-length-change.description=如果設定為"否", 當分段長度與控制檔案中的不同時, aria2 將會中止下載. 如果設定為"是", 您可以繼續, 但部分下載進度將會丟失.
569
+ always-resume.name=始終斷點續傳
570
+ always-resume.description=始終斷點續傳. 如果設定為"是", aria2 始終嘗試斷點續傳, 如果無法恢復, 則中止下載. 如果設定為"否", 對於不支援斷點續傳的 URI 或 aria2 遇到 N 個不支援斷點續傳的 URI (N 為 --max-resume-failure-tries 選項設定的值), aria2 會從頭下載檔案. 參見 --max-resume-failure-tries 參數.
571
+ async-dns.name=非同步 DNS
572
+ async-dns.description=
573
+ auto-file-renaming.name=檔案自動重命名
574
+ auto-file-renaming.description=重新命名已經存在的檔案. 此選項僅對 HTTP(S)/FTP 下載有效. 新的檔名後會在檔名後、副檔名 (如果有) 前追加句點和數字(1..9999).
575
+ auto-save-interval.name=自動儲存間隔
576
+ auto-save-interval.description=每隔設定的秒數自動儲存控制檔案(*.aria2). 如果設定為 0, 下載期間控制檔案不會自動儲存. 不論設定的值為多少, aria2 會在工作結束時儲存控制檔案. 可以設定的值為 0 到 600.
577
+ conditional-get.name=條件下載
578
+ conditional-get.description=僅當本機檔案比遠端檔案舊時才進行下載. 此功能僅適用於 HTTP(S) 下載. 如果在 Metalink 中檔案大小已經被指定則功能無法生效. 同時此功能還將忽略 Content-Disposition 響應頭. 如果存在控制檔案, 此選項將被忽略. 此功能通過 If-Modified-Since 要求標頭獲取較新的檔案. 當獲取到本機檔案的修改時間時, 此功能將使用使用者提供的檔名 (參見 --out 選項), 如果沒有指定 --out 選項則使用 URI 中的檔名. 為了覆蓋已經存在的檔案, 需要使用 --allow-overwrite 參數.
579
+ conf-path.name=設定檔案路徑
580
+ conf-path.description=
581
+ console-log-level.name=控制台記錄層級
582
+ console-log-level.description=
583
+ content-disposition-default-utf8.name=使用 UTF-8 處理 Content-Disposition
584
+ content-disposition-default-utf8.description=處理 "Content-Disposition" 頭中的字串時使用 UTF-8 字集來代替 ISO-8859-1, 例如, 檔名參數, 但不是擴充版本的檔名.
585
+ daemon.name=啟用背景處理程序
586
+ daemon.description=
587
+ deferred-input.name=延遲載入
588
+ deferred-input.description=如果設定為"是", aria2 在啟動時不會讀取 --input-file 選項設定的檔案中的所有 URI 位址, 而是會在之後需要時依需讀取. 如果輸入檔案中包含大量要下載的 URI, 此選項可以減少記憶體的使用. 如果設定為"否", aria2 會在啟動時讀取所有的 URI. 當 -save-session 使用時將會停用 --deferred-input 選項.
589
+ disable-ipv6.name=停用 IPv6
590
+ disable-ipv6.description=
591
+ disk-cache.name=磁碟快取
592
+ disk-cache.description=啟用磁碟快取. 如果設定為 0, 將停用磁碟快取. 此功能將下載的資料快取在記憶體中, 最多佔用此選項設定的位元組數. 快取儲存由 aria2 實例建立並對所有下載共享. 由於資料以較大的單位寫入並依檔案的偏移重新排序, 所以磁碟快取的一個優點是減少磁碟的 I/O. 如果調用雜湊檢查時並且資料快取在記憶體中時, 將不需要從磁碟中讀取. 大小可以包含 K 或 M (1K = 1024, 1M = 1024K).
593
+ download-result.name=下載結果
594
+ download-result.description=此選項將修改下載結果的格式. 如果設定為"預設", 將列印 GID, 狀態, 平均下載速度和路徑/URI. 如果涉及多個檔案, 僅列印第一個要求檔案的路徑/URI, 其餘的將被忽略. 如果設定為"完整", 將列印 GID, 狀態, 平均下載速度, 下載進度和路徑/URI. 其中, 下載進度和路徑/URI 將會每個檔案列印一行. 如果設定為"隱藏", 下載結果將會隱藏.
595
+ dscp.name=DSCP
596
+ dscp.description=為 QoS 設定 BT 上行 IP 包的 DSCP 值. 此參數僅設定 IP 包中 TOS 欄位的 DSCP 位, 而不是整個欄位. 如果您從 /usr/include/netinet/ip.h 得到的值, 需要除以 4 (否則值將不正確, 例如您的 CS1 類將會轉為 CS4). 如果您從 RFC, 網路供應商的文件, 維基百科或其他來源採取常用的值, 可以直接使用.
597
+ rlimit-nofile.name=最多打開的檔案描述項
598
+ rlimit-nofile.description=設定打開的檔案描述項的軟限制 (soft limit). 此選項僅當滿足如下條件時開放: a. 系統支援它 (posix). b. 限制沒有超過硬限制 (hard limit). c. 指定的限制比目前的軟限制高. 這相當於設定 ulimit, 除了其不能降低限制. 此選項僅當系統支援 rlimit API 時有效.
599
+ enable-color.name=終端輸出使用顏色
600
+ enable-color.description=
601
+ enable-mmap.name=啟用 MMap
602
+ enable-mmap.description=記憶體中存放映射檔案. 當檔案空間沒有預先分配至, 此選項無效. 參見 --file-allocation.
603
+ event-poll.name=事件輪詢方法
604
+ event-poll.description=設定事件輪詢的方法. 可選的值包括 epoll, kqueue, port, poll 和 select. 對於 epoll, kqueue, port 和 poll, 只有系統支援時才可用. 最新的 Linux 支援 epoll. 各種 *BSD 系統包括 Mac OS X 支援 kqueue. Open Solaris 支援 port. 預設值根據您使用的操作系統不同而不同.
605
+ file-allocation.name=檔案分配方法
606
+ file-allocation.description=指定檔案分配方法. "無" 不會預先分配檔案空間. "prealloc"會在下載開始前預先分配空間. 這將會根據檔案的大小需要一定的時間. 如果您使用的是較新的檔案系統, 例如 ext4 (帶擴充支援), btrfs, xfs 或 NTFS (僅 MinGW 組建), "falloc" 是最好的選擇. 其幾乎可以瞬間分配大(數 GiB)檔案. 不要在舊的檔案系統, 例如 ext3 和 FAT32 上使用 falloc, 因為與 prealloc 花費的時間相同, 並且其會阻塞 aria2 知道分配完成. 當您的系統不支援 posix_fallocate(3) 函數時, falloc 可能無法使用. "trunc" 使用 ftruncate(2) 系統調用或平台特定的實現將檔案截取到特定的長度. 在多檔案的 BitTorrent 下載中, 若某檔案與其相鄰的檔案共享相同的分段時, 則相鄰的檔案也會被分配.
607
+ force-save.name=強制儲存
608
+ force-save.description=即使工作完成或刪除時使用 --save-session 選項時也儲存該工作. 此選項在這種情況下還會儲存控制檔案. 此選項可以儲存被認為已經完成但正在做種的 BT 工作.
609
+ save-not-found.name=儲存未找到的檔案
610
+ save-not-found.description=當使用 --save-session 選項時, 即使當工作中的檔案不存在時也儲存該下載工作. 此選項同時會將這種情況儲存到控制檔案中.
611
+ hash-check-only.name=僅雜湊檢查
612
+ hash-check-only.description=如果設定為"是", 雜湊檢查完使用 --check-integrity 選項, 根據是否下載完成決定是否終止下載.
613
+ human-readable.name=控制台可讀輸出
614
+ human-readable.description=在控制台輸出可讀格式的大小和速度 (例如, 1.2Ki, 3.4Mi).
615
+ keep-unfinished-download-result.name=保留未完成的工作
616
+ keep-unfinished-download-result.description=保留所有未完成的下載結果, 即使超過了 --max-download-result 選項設定的數量. 這將有助於在會話檔案中儲存所有的未完成的下載 (參考 --save-session 選項). 需要注意的是, 未完成工作的數量沒有上限. 如果不希望這樣, 請關閉此選項.
617
+ max-download-result.name=最多下載結果
618
+ max-download-result.description=設定記憶體中儲存最多的下載結果數量. 下載結果包括已完成/錯誤/已刪除的下載. 下載結果儲存在一個先進先出的隊列中, 因此其可以儲存最多指定的下載結果的數量. 當隊列已滿且有新的下載結果建立時, 最老的下載結果將從隊列的最前部移除, 新的將放在最後. 此選項設定較大的值後如果經過幾千次的下載將導致較高的記憶體消耗. 設定為 0 表示不儲存下載結果. 注意, 未完成的下載將始終儲存在記憶體中, 不考慮該選項的設定. 參考 --keep-unfinished-download-result 選項.
619
+ max-mmap-limit.name=MMap 最大限制
620
+ max-mmap-limit.description=設定啟用 MMap (參見 --enable-mmap 選項) 最大的檔案大小. 檔案大小由一個下載工作中所有檔案大小的和決定. 例如, 如果一個下載包含 5 個檔案, 那麼檔案大小就是這些檔案的總大小. 如果檔案大小超過此選項設定的大小時, MMap 將會停用.
621
+ max-resume-failure-tries.name=最大斷點續傳嘗試次數
622
+ max-resume-failure-tries.description=當 --always-resume 選項設定為"否"時, 如果 aria2 檢測到有 N 個 URI 不支援斷點續傳時, 將從頭開始下載檔案. 如果 N 設定為 0, 當所有 URI 都不支援斷點續傳時才會從頭下載檔案. 參見 --always-resume 選項.
623
+ min-tls-version.name=最低 TLS 版本
624
+ min-tls-version.description=指定啟用的最低 SSL/TLS 版本.
625
+ log-level.name=記錄層級
626
+ log-level.description=
627
+ optimize-concurrent-downloads.name=最佳化同時下載
628
+ optimize-concurrent-downloads.description=根據���用頻寬最佳化同時下載的數量. aria2 使用之前統計的下載速度通過規則 N = A + B Log10 (速度單位為 Mbps) 得到同時下載的數量. 其中係數 A 和 B 可以在參數中以冒號分隔自訂. 預設值 (A=5, B=25) 可以在 1Mbps 網路上使用通常 5 個同時下載, 在 100Mbps 網路上為 50 個. 同時下載的數量保持在 --max-concurrent-downloads 參數定義的最大之下.
629
+ piece-length.name=檔案分段大小
630
+ piece-length.description=設定 HTTP/FTP 下載的分配大小. aria2 根據這個邊界分割檔案. 所有的分割都是這個長度的倍數. 此選項不適用於 BitTorrent 下載. 如果 Metalink 檔案中包含分段雜湊的結果此選項也不適用.
631
+ show-console-readout.name=顯示控制台輸出
632
+ show-console-readout.description=
633
+ summary-interval.name=下載摘要輸出間隔
634
+ summary-interval.description=設定下載進度摘要的輸出間隔(秒). 設定為 0 禁止輸出.
635
+ max-overall-download-limit.name=全域最大下載速度
636
+ max-overall-download-limit.description=設定全域最大下載速度 (位元組/秒). 0 表示不限制. 您可以增加數值的單位 K 或 M (1K = 1024, 1M = 1024K).
637
+ max-download-limit.name=最大下載速度
638
+ max-download-limit.description=設定每個工作的最大下載速度 (位元組/秒). 0 表示不限制. 您可以增加數值的單位 K 或 M (1K = 1024, 1M = 1024K).
639
+ no-conf.name=停用設定檔案
640
+ no-conf.description=
641
+ no-file-allocation-limit.name=檔案分配限制
642
+ no-file-allocation-limit.description=不對比此參數設定大小小的分配檔案. 您可以增加數值的單位 K 或 M (1K = 1024, 1M = 1024K).
643
+ parameterized-uri.name=啟用參數化 URI 支援
644
+ parameterized-uri.description=啟用參數化 URI 支援. 您可以指定部分的集合: http://{sv1,sv2,sv3}/foo.iso. 同時您也可以使用步進計數器指定數字化的序列: http://host/image[000-100:2].img. 步進計數器可以省略. 如果所有 URI 位址不指向同樣的檔案, 例如上述第二個示例, 需要使用 -Z 選項.
645
+ quiet.name=停用控制台輸出
646
+ quiet.description=
647
+ realtime-chunk-checksum.name=即時資料區塊驗證
648
+ realtime-chunk-checksum.description=如果提供了資料區塊的總和檢查碼, 將在下載過程中通過總和檢查碼驗證資料區塊.
649
+ remove-control-file.name=刪除控制檔案
650
+ remove-control-file.description=在下載前刪除控制檔案. 使用 --allow-overwrite=true 選項時, 總是從頭開始下載檔案. 此選項將有助於使用不支援斷點續傳代理伺服器的使用者.
651
+ save-session.name=狀態儲存檔案
652
+ save-session.description=當離開時儲存錯誤及未完成的工作到指定的檔案中. 您可以在重啟 aria2 時使用 --input-file 選項重新載入. 如果您希望輸出的內容使用 GZip 壓縮, 您可以在檔名後增加 .gz 副檔名. 請注意, 通過 aria2.addTorrent() 和 aria2.addMetalink() RPC 方法加入的下載, 其中繼資料沒有儲存到檔案的將不會儲存. 通過 aria2.remove() 和 aria2.forceRemove() 刪除的下載將不會儲存.
653
+ save-session-interval.name=儲存狀態間隔
654
+ save-session-interval.description=每隔此選項設定的時間(秒)後會儲存錯誤或未完成的工作到 --save-session 選項指定的檔案中. 如果設定為 0, 僅當 aria2 離開時才會儲存.
655
+ socket-recv-buffer-size.name=Socket 接收緩衝區大小
656
+ socket-recv-buffer-size.description=設定 Socket 接收緩衝區最大的位元組數. 指定為 0 時將停用此選項. 當使用 SO_RCVBUF 選項調用 setsockopt() 時此選項的值將設定到 Socket 的檔案描述項中.
657
+ stop.name=自動關閉時間
658
+ stop.description=在此選項設定的時間(秒)後關閉應用程式. 如果設定為 0, 此功能將停用.
659
+ truncate-console-readout.name=縮短控制台輸出內容
660
+ truncate-console-readout.description=縮短控制台輸出的內容在一行中.
ccaa_dir/AriaNg/robots.txt ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ # AriaNg
2
+
3
+ User-agent: *
4
+ Disallow: /
ccaa_dir/AriaNg/tileicon.png ADDED
ccaa_dir/AriaNg/touchicon.png ADDED
ccaa_dir/aria2.conf ADDED
@@ -0,0 +1,103 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # 文件的保存路径(可使用绝对路径或相对路径), 默认: 当前启动位置
2
+ dir=
3
+ # 启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16M
4
+ #disk-cache=32M
5
+ # 文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc
6
+ # 预分配所需时间: none < falloc ? trunc < prealloc
7
+ # falloc和trunc则需要文件系统和内核支持
8
+ # NTFS建议使用falloc, EXT3/4建议trunc, MAC 下需要注释此项
9
+ file-allocation=trunc
10
+ # 断点续传
11
+ continue=true
12
+
13
+ #https
14
+ #rpc-secure=true
15
+ #rpc-certificate=
16
+ #rpc-private-key=
17
+
18
+ ## 下载连接相关 ##
19
+
20
+ # 最大同时下载任务数, 运行时可修改, 默认:5
21
+ max-concurrent-downloads=5
22
+ # 同一服务器连接数, 添加时可指定, 默认:1
23
+ max-connection-per-server=8
24
+ # 最小文件分片大小, 添加时可指定, 取值范围1M -1024M, 默认:20M
25
+ # 假定size=10M, 文件为20MiB 则使用两个来源下载; 文件为15MiB 则使用一个来源下载
26
+ min-split-size=10M
27
+ # 单个任务最大线程数, 添加时可指定, 默认:5
28
+ split=16
29
+ # 整体下载速度限制, 运行时可修改, 默认:0
30
+ #max-overall-download-limit=0
31
+ # 单个任务下载速度限制, 默认:0
32
+ #max-download-limit=0
33
+ # 整体上传速度限制, 运行时可修改, 默认:0
34
+ max-overall-upload-limit=1024K
35
+ # 单个任务上传速度限制, 默认:0
36
+ max-upload-limit=100K
37
+ # 禁用IPv6, 默认:false
38
+ disable-ipv6=true
39
+
40
+ ## 进度保存相关 ##
41
+
42
+ # 从会话文件中读取下载任务
43
+ input-file=/etc/ccaa/aria2.session
44
+ # 在Aria2退出时保存`错误/未完成`的下载任务到会话文件
45
+ save-session=/etc/ccaa/aria2.session
46
+ # 定时保存会话, 0为退出时才保存, 需1.16.1以上版本, 默认:0
47
+ save-session-interval=60
48
+
49
+ ## RPC相关设置 ##
50
+
51
+ # 启用RPC, 默认:false
52
+ enable-rpc=true
53
+ # 允许所有来源, 默认:false
54
+ rpc-allow-origin-all=true
55
+ # 允许非外部访问, 默认:false
56
+ rpc-listen-all=true
57
+ # 事件轮询方式, 取值:[epoll, kqueue, port, poll, select], 不同系统默认值不同
58
+ #event-poll=select
59
+ # RPC监听端口, 端口被占用时可以修改, 默认:6800
60
+ #rpc-listen-port=6800
61
+ # 设置的RPC授权令牌, v1.18.4新增功能, 取代 --rpc-user 和 --rpc-passwd 选项
62
+ rpc-secret=
63
+ # 设置的RPC访问用户名, 此选项新版已废弃, 建议改用 --rpc-secret 选项
64
+ #rpc-user=
65
+ # 设置的RPC访问密码, 此选项新版已废弃, 建议改用 --rpc-secret 选项
66
+ #rpc-passwd=
67
+
68
+ ## BT/PT下载相关 ##
69
+
70
+ # 当下载的是一个种子(以.torrent结尾)时, 自动开始BT任务, 默认:true
71
+ #follow-torrent=true
72
+ # BT监听端口, 当端口被屏蔽时使用, 默认:6881-6999
73
+ listen-port=51413
74
+ # 单个种子最大连接数, 默认:55
75
+ #bt-max-peers=55
76
+ # 打开DHT功能, PT需要禁用, 默认:true
77
+ enable-dht=true
78
+ # 打开IPv6 DHT功能, PT需要禁用
79
+ #enable-dht6=false
80
+ # DHT网络监听端口, 默认:6881-6999
81
+ #dht-listen-port=6881-6999
82
+ # 本地节点查找, PT需要禁用, 默认:false
83
+ #bt-enable-lpd=false
84
+ # 种子交换, PT需要禁用, 默认:true
85
+ enable-peer-exchange=false
86
+ # 每个种子限速, 对少种的PT很有用, 默认:50K
87
+ #bt-request-peer-speed-limit=50K
88
+ # 客户端伪装, PT需要
89
+ peer-id-prefix=-TR2770-
90
+ user-agent=Transmission/2.77
91
+ # 当种子的分享率达到这个数时, 自动停止做种, 0为一直做种, 默认:1.0
92
+ seed-ratio=0
93
+ # 强制保存会话, 即使任务已经完成, 默认:false
94
+ # 较新的版本开启后会在任务完成后依然保留.aria2文件
95
+ #force-save=true
96
+ # BT校验相关, 默认:true
97
+ #bt-hash-check-seed=true
98
+ # 继续之前的BT任务时, 无需再次校验, 默认:false
99
+ bt-seed-unverified=true
100
+ # 保存磁力链接元数据为种子文件(.torrent文件), 默认:false
101
+ bt-save-metadata=true
102
+
103
+ bt-tracker=udp://tracker.coppersurfer.tk:6969/announce,udp://tracker.open-internet.nl:6969/announce,udp://exodus.desync.com:6969/announce,udp://tracker.opentrackr.org:1337/announce,udp://tracker.internetwarriors.net:1337/announce,udp://9.rarbg.to:2710/announce,udp://public.popcorn-tracker.org:6969/announce,udp://tracker.vanitycore.co:6969/announce,udp://tracker.mg64.net:6969/announce,udp://mgtracker.org:6969/announce,udp://tracker.tiny-vps.com:6969/announce,udp://tracker.cypherpunks.ru:6969/announce,udp://bt.xxx-tracker.com:2710/announce,udp://tracker.torrent.eu.org:451/announce,udp://thetracker.org:80/announce,udp://retracker.lanta-net.ru:2710/announce,udp://open.stealth.si:80/announce,udp://torr.ws:2710/announce,http://retracker.telecom.by:80/announce,http://tracker.city9x.com:2710/announce
ccaa_dir/aria2.session ADDED
File without changes
ccaa_dir/config.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "address":"0.0.0.0",
3
+ "database":"/etc/ccaa/filebrowser.db",
4
+ "log":"/var/log/filebrowser.log",
5
+ "port":6081,
6
+ "root":"ccaaDown",
7
+ "username":"ccaa"
8
+ }
ccaa_dir/index.html ADDED
The diff for this file is too large to render. See raw diff
 
ccaa_dir/services/aria2.service ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ [Unit]
2
+ Description=aria2
3
+ After=network.target
4
+
5
+ [Service]
6
+ ExecStart=/usr/bin/sudo -u ccaa /usr/bin/aria2c --conf-path=/etc/ccaa/aria2.conf
7
+
8
+ [Install]
9
+ WantedBy=multi-user.target
ccaa_dir/services/ccaa_web.service ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ [Unit]
2
+ Description=ccaa_web
3
+ After=network.target
4
+
5
+ [Service]
6
+ ExecStart=/usr/bin/sudo -u ccaa /usr/sbin/ccaa_web
7
+
8
+ [Install]
9
+ WantedBy=multi-user.target
ccaa_dir/services/filebrowser.service ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
 
1
+ [Unit]
2
+ Description=Filebrowser
3
+ After=network.target
4
+
5
+ [Service]
6
+ ExecStart=/usr/bin/sudo -u ccaa /usr/sbin/filebrowser -c /etc/ccaa/config.json
7
+
8
+ [Install]
9
+ WantedBy=multi-user.target
ccaa_dir/upbt.sh ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/bash
2
+ ##### 一键安装Caddy + Aria2 + AriaNg #####
3
+ ##### 作者:xiaoz.me #####
4
+ ##### 更新时间:2018-09-28 #####
5
+
6
+ #导入环境变量
7
+ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/bin:/sbin
8
+ export PATH
9
+
10
+ function up_tracker(){
11
+ #下载最新的bt-tracker
12
+ wget -O /tmp/trackers_best.txt https://api.xiaoz.org/trackerslist/
13
+ tracker=$(cat /tmp/trackers_best.txt)
14
+ #替换处理bt-tracker
15
+ tracker="bt-tracker="${tracker}
16
+ #更新aria2配置
17
+ sed -i '/bt-tracker.*/'d /etc/ccaa/aria2.conf
18
+ echo ${tracker} >> /etc/ccaa/aria2.conf
19
+ echo '-------------------------------------'
20
+ echo 'bt-tracker update completed.'
21
+ echo '-------------------------------------'
22
+ }
23
+
24
+ up_tracker
25
+
26
+ #重启服务
27
+ /usr/sbin/ccaa restart
ccaa_dir/version.txt ADDED
@@ -0,0 +1 @@
 
 
1
+ 2.1
ccaa_web ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5a962b3fafb4d9960ae626f6801b45517a33fc6d7fd3392df1d6669968dd6bc9
3
+ size 2076828
ccaa_web.go ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ //Golang实现一个简单的WebServer
2
+ package main
3
+
4
+ import (
5
+ "os"
6
+ "net/http"
7
+ //"fmt"
8
+ )
9
+
10
+ func main() {
11
+ //声明2个变量
12
+ var dir,port string
13
+ //判断参数的长度
14
+ if len(os.Args) == 3 {
15
+ dir = os.Args[1]
16
+ port = os.Args[2]
17
+ } else{
18
+ //如果没有参数,则使用默认
19
+ dir = "/etc/ccaa/AriaNg"
20
+ port = "6080"
21
+ }
22
+
23
+ panic(http.ListenAndServe(":" + port, http.FileServer(http.Dir(dir))))
24
+ }
dccaa ADDED
@@ -0,0 +1,64 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/sh
2
+ ##### CCAA管理脚本 #####
3
+ ##### Author:xiaoz.me #####
4
+ ##### Update:2020-04-30 #####
5
+
6
+ #导入环境变量
7
+ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/bin:/sbin
8
+ export PATH
9
+
10
+ aria2pid=$(pgrep 'aria2c')
11
+ ccaa_web_pid=$(pgrep 'ccaa_web')
12
+ filebrowser_pid=$(pgrep 'filebrowser')
13
+
14
+ #设置aria2密码
15
+ function pass(){
16
+ sed -ir "s/rpc-secret=.*/rpc-secret=$PASS/g" /etc/ccaa/aria2.conf
17
+ }
18
+
19
+ #启动ccaa
20
+ function ccaa_start(){
21
+ nohup aria2c --conf-path=/etc/ccaa/aria2.conf > /var/log/aria2.log 2>&1 &
22
+ nohup /usr/sbin/ccaa_web > /var/log/ccaa_web.log 2>&1 &
23
+ nohup filebrowser -c /etc/ccaa/config.json > /var/log/fbrun.log 2>&1 &
24
+ sleep 3600d
25
+ }
26
+
27
+ case $1 in
28
+ 'start')
29
+ ccaa_start
30
+ ;;
31
+ 'stop')
32
+ kill -9 ${aria2pid}
33
+ kill -9 ${ccaa_web_pid}
34
+ kill -9 ${filebrowser_pid}
35
+ ;;
36
+ 'restart')
37
+ kill -9 ${aria2pid}
38
+ kill -9 ${ccaa_web_pid}
39
+ kill -9 ${filebrowser_pid}
40
+ ccaa_start
41
+ ;;
42
+ 'status')
43
+ if [ "$aria2pid" == "" ]
44
+ then
45
+ echo "Not running!"
46
+ else
47
+ echo '-----------------------------------------------'
48
+ echo "Aria2 is running,pid is ${aria2pid}."
49
+ echo "AriaNg is running,pid is ${ccaa_web_pid}."
50
+ echo "Filebrowser is running,pid is ${filebrowser_pid}."
51
+ echo '-----------------------------------------------'
52
+ fi
53
+ ;;
54
+ '-v')
55
+ cat /etc/ccaa/version.txt && echo ''
56
+ ;;
57
+ 'pass')
58
+ pass $2
59
+ ;;
60
+ *)
61
+ echo '参数错误!'
62
+ exit
63
+ ;;
64
+ esac
docker-ccaa.sh ADDED
@@ -0,0 +1,168 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/sh
2
+ ##### 一键安装File Browser + Aria2 + AriaNg #####
3
+ ##### 作者:xiaoz.me #####
4
+ ##### 更新时间:2020-02-27 #####
5
+
6
+ #导入环境变量
7
+ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/bin:/sbin
8
+ export PATH
9
+
10
+ #各种路径设置
11
+ aria2_url='https://github.com/q3aql/aria2-static-builds/releases/download/v1.35.0/aria2-1.35.0-linux-gnu-64bit-build1.tar.bz2'
12
+ filebrowser_url='https://github.com/filebrowser/filebrowser/releases/download/v2.0.16/linux-amd64-filebrowser.tar.gz'
13
+ master_url='https://github.com/helloxz/ccaa/archive/master.zip'
14
+ ccaa_web_url='http://soft.xiaoz.org/linux/ccaa_web'
15
+
16
+ #安装前的检查
17
+ function check(){
18
+ echo '-------------------------------------------------------------'
19
+ if [ -e "/etc/ccaa" ]
20
+ then
21
+ echo 'CCAA已经安装,若需要重新安装,请先卸载再安装!'
22
+ echo '-------------------------------------------------------------'
23
+ exit
24
+ else
25
+ echo '检测通过,即将开始安装。'
26
+ echo '-------------------------------------------------------------'
27
+ fi
28
+ }
29
+
30
+ #安装之前的准备
31
+ function setout(){
32
+ #安装需要的软件
33
+ apk add curl wget zip tar make bzip2 unzip
34
+ #创建临时目录
35
+ cd
36
+ mkdir ./ccaa_tmp
37
+ #创建用户和用户组
38
+ }
39
+ #安装Aria2
40
+ function install_aria2(){
41
+ #进入临时目录
42
+ cd ./ccaa_tmp
43
+ #yum -y update
44
+ #安装aria2静态编译版本,来源于https://github.com/q3aql/aria2-static-builds/
45
+ wget -c ${aria2_url}
46
+ tar jxvf aria2-1.35.0-linux-gnu-64bit-build1.tar.bz2
47
+ cd aria2-1.35.0-linux-gnu-64bit-build1
48
+ make install
49
+ cd
50
+ }
51
+
52
+ #安装File Browser文件管理器
53
+ function install_file_browser(){
54
+ cd ./ccaa_tmp
55
+ #下载File Browser
56
+ wget ${filebrowser_url}
57
+ #解压
58
+ tar -zxvf linux-amd64-filebrowser.tar.gz
59
+ #移动位置
60
+ mv filebrowser /usr/sbin
61
+ cd
62
+ }
63
+ #处理配置文件
64
+ function dealconf(){
65
+ cd ./ccaa_tmp
66
+ #下载CCAA项目
67
+ wget ${master_url}
68
+ #解压
69
+ unzip master.zip
70
+ #复制CCAA核心目录
71
+ mv ccaa-master/ccaa_dir /etc/ccaa
72
+ #创建aria2日志文件
73
+ touch /var/log/aria2.log
74
+ #upbt增加执行权限
75
+ chmod +x /etc/ccaa/upbt.sh
76
+ chmod +x ccaa-master/ccaa
77
+ cp ccaa-master/dccaa /usr/sbin
78
+ chmod +x /usr/sbin/dccaa
79
+ cd
80
+ }
81
+
82
+ #设置账号密码
83
+ function setting(){
84
+ cd
85
+ cd ./ccaa_tmp
86
+ echo '-------------------------------------------------------------'
87
+
88
+ #获取ip
89
+ osip=$(curl ipv4.ip.sb)
90
+
91
+ #执行替换操作
92
+ downpath='/data/ccaaDown'
93
+ mkdir -p ${downpath}
94
+ sed -i "s%dir=%dir=${downpath}%g" /etc/ccaa/aria2.conf
95
+ sed -ir "s/rpc-secret=.*/rpc-secret=$PASS/g" /etc/ccaa/aria2.conf
96
+ #替换filebrowser读取路径
97
+ sed -i "s%ccaaDown%${downpath}%g" /etc/ccaa/config.json
98
+ #替换AriaNg服务器链接
99
+ #sed -i "s/server_ip/${osip}/g" /etc/ccaa/AriaNg/index.html
100
+ rm -rf /etc/ccaa/AriaNg/index.html
101
+ mv /etc/ccaa/AriaNg/dindex.html /etc/ccaa/AriaNg/index.html
102
+ #更新tracker
103
+ sh /etc/ccaa/upbt.sh
104
+
105
+ #安装AriaNg
106
+ wget ${ccaa_web_url}
107
+ #tar -zxvf ccaa_web.tar.gz
108
+ cp ccaa_web /usr/sbin/
109
+ chmod +x /usr/sbin/ccaa_web
110
+
111
+ #启动服务
112
+ #nohup aria2c --conf-path=/etc/ccaa/aria2.conf > /var/log/aria2.log 2>&1 &
113
+ #nohup caddy -conf="/etc/ccaa/caddy.conf" > /etc/ccaa/caddy.log 2>&1 &
114
+ #nohup /usr/sbin/ccaa_web > /var/log/ccaa_web.log 2>&1 &
115
+ #运行filebrowser
116
+ #nohup filebrowser -c /etc/ccaa/config.json > /var/log/fbrun.log 2>&1 &
117
+
118
+ echo '-------------------------------------------------------------'
119
+ echo "大功告成,请访问: http://${osip}:6080/"
120
+ echo 'File Browser 用户名:ccaa'
121
+ echo 'File Browser 密码:admin'
122
+ echo 'Aria2 RPC 密钥:' $PASS
123
+ echo '帮助文档: https://dwz.ovh/ccaa (必看)'
124
+ echo '-------------------------------------------------------------'
125
+ }
126
+ #清理工作
127
+ function cleanup(){
128
+ cd
129
+ rm -rf ccaa_tmp
130
+ #rm -rf *.conf
131
+ #rm -rf init
132
+ }
133
+
134
+ #卸载
135
+ function uninstall(){
136
+ wget -O ccaa-uninstall.sh https://raw.githubusercontent.com/helloxz/ccaa/master/uninstall.sh
137
+ sh ccaa-uninstall.sh
138
+ }
139
+
140
+ #选择安装方式
141
+ echo "------------------------------------------------"
142
+ echo "Linux + File Browser + Aria2 + AriaNg一键安装脚本(CCAA)"
143
+ echo "1) 安装CCAA"
144
+ echo "2) 卸载CCAA"
145
+ echo "3) 更新bt-tracker"
146
+ echo "q) 退出!"
147
+ #read -p ":" istype
148
+ case $1 in
149
+ 'install')
150
+ check
151
+ setout
152
+ install_aria2 && \
153
+ install_file_browser && \
154
+ dealconf && \
155
+ setting && \
156
+ cleanup
157
+ ;;
158
+ 'uninstall')
159
+ uninstall
160
+ ;;
161
+ 'upbt')
162
+ sh /etc/ccaa/upbt.sh
163
+ ;;
164
+ 'q')
165
+ exit
166
+ ;;
167
+ *) echo '参数错误!'
168
+ esac
uninstall.sh ADDED
@@ -0,0 +1,82 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/bin/bash
2
+ ##### 一键卸载CCAA #####
3
+ ##### 作者:xiaoz.me #####
4
+ ##### 更新时间:2020-02-28 #####
5
+
6
+ #导入环境变量
7
+ PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/bin:/sbin
8
+ export PATH
9
+
10
+ #删除端口函数
11
+ function del_post() {
12
+ if [ -e "/etc/sysconfig/iptables" ]
13
+ then
14
+ sed -i '/^.*6080.*/'d /etc/sysconfig/iptables
15
+ sed -i '/^.*6081.*/'d /etc/sysconfig/iptables
16
+ sed -i '/^.*6800.*/'d /etc/sysconfig/iptables
17
+ sed -i '/^.*6998.*/'d /etc/sysconfig/iptables
18
+ sed -i '/^.*51413.*/'d /etc/sysconfig/iptables
19
+ service iptables save
20
+ service iptables restart
21
+ elif [ -e "/etc/firewalld/zones/public.xml" ]
22
+ then
23
+ firewall-cmd --zone=public --remove-port=6080/tcp --permanent
24
+ firewall-cmd --zone=public --remove-port=6081/tcp --permanent
25
+ firewall-cmd --zone=public --remove-port=6800/tcp --permanent
26
+ firewall-cmd --zone=public --remove-port=6998/tcp --permanent
27
+ firewall-cmd --zone=public --remove-port=51413/tcp --permanent
28
+ firewall-cmd --reload
29
+ elif [ -e "/etc/ufw/before.rules" ]
30
+ then
31
+ sudo ufw delete 6080/tcp
32
+ sudo ufw delete 6081/tcp
33
+ sudo ufw delete 6800/tcp
34
+ sudo ufw delete 6998/tcp
35
+ sudo ufw delete 51413/tcp
36
+ fi
37
+ }
38
+
39
+ #停止所有服务
40
+ kill -9 $(pgrep 'aria2c')
41
+ kill -9 $(pgrep 'ccaa_web')
42
+ kill -9 $(pgrep 'filebrowser')
43
+ kill -9 $(pgrep 'caddy')
44
+ systemctl disable aria2
45
+ systemctl disable ccaa_web
46
+ systemctl disable filebrowser
47
+
48
+ #删除文件
49
+ rm -rf /etc/ccaa
50
+ rm -rf /usr/sbin/ccaa_web
51
+ rm -rf /usr/sbin/ccaa
52
+ rm -rf /usr/sbin/ccaa
53
+ rm -rf /usr/bin/aria2c
54
+ rm -rf aria2-1.*
55
+ rm -rf AriaNg*
56
+ rm -rf /usr/share/man/man1/aria2c.1
57
+ rm -rf /etc/ssl/certs/ca-certificates.crt
58
+ rm -rf /etc/systemd/system/aria2.service
59
+ rm -rf /etc/systemd/system/ccaa_web.service
60
+ rm -rf /etc/systemd/system/filebrowser.service
61
+
62
+ #删除filebrowser
63
+ rm -rf /usr/sbin/filebrowser
64
+
65
+ #删除日志
66
+ rm -rf /var/log/aria2.log
67
+ rm -rf /var/log/ccaa_web.log
68
+ rm -rf /var/log/fbrun.log
69
+ rm -rf /var/log/filebrowser.log
70
+
71
+ #删除用户和用户组
72
+ userdel ccaa
73
+ groupdel ccaa
74
+
75
+ #删除端口
76
+ del_post
77
+ echo "------------------------------------------------"
78
+ echo '卸载完成!'
79
+ echo "------------------------------------------------"
80
+
81
+ #删除自身
82
+ rm -rf ccaa-uninstall.sh