]> git.ipfire.org Git - people/teissler/ipfire-2.x.git/commitdiff
Merge remote-tracking branch 'jiweigert/XHTML_1.0' into core68
authorMichael Tremer <michael.tremer@ipfire.org>
Fri, 8 Mar 2013 15:47:43 +0000 (16:47 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Fri, 8 Mar 2013 15:47:43 +0000 (16:47 +0100)
209 files changed:
config/avahi/avahi [new file with mode: 0755]
config/avahi/smb.service [new file with mode: 0644]
config/backup/includes/avahi [new file with mode: 0644]
config/backup/includes/nginx [new file with mode: 0644]
config/cfgroot/general-functions.pl
config/cfgroot/header.pl
config/nginx/nginx [new file with mode: 0755]
config/rootfiles/common/IO-Socket-SSL [new file with mode: 0644]
config/rootfiles/common/armv5tel/rpi-firmware
config/rootfiles/common/compat-drivers [moved from config/rootfiles/common/compat-wireless with 100% similarity]
config/rootfiles/core/67/exclude [new file with mode: 0644]
config/rootfiles/core/67/filelists/IO-Socket-SSL [new symlink]
config/rootfiles/core/67/filelists/armv5tel/compat-drivers-modules-kirkwood [new file with mode: 0644]
config/rootfiles/core/67/filelists/armv5tel/compat-drivers-modules-omap [new file with mode: 0644]
config/rootfiles/core/67/filelists/armv5tel/compat-drivers-modules-rpi [new file with mode: 0644]
config/rootfiles/core/67/filelists/armv5tel/rpi-firmware [moved from config/rootfiles/core/66/filelists/armv5tel/rpi-firmware with 100% similarity]
config/rootfiles/core/67/filelists/compat-drivers [new symlink]
config/rootfiles/core/67/filelists/files [new file with mode: 0644]
config/rootfiles/core/67/filelists/fireinfo [new symlink]
config/rootfiles/core/67/filelists/i586/compat-drivers-modules [new file with mode: 0644]
config/rootfiles/core/67/filelists/i586/compat-drivers-modules-pae [new file with mode: 0644]
config/rootfiles/core/67/filelists/i586/compat-drivers-modules-pae-xen [new file with mode: 0644]
config/rootfiles/core/67/filelists/squid [moved from config/rootfiles/core/66/filelists/squid with 100% similarity]
config/rootfiles/core/67/meta [moved from config/rootfiles/core/66/meta with 100% similarity]
config/rootfiles/core/67/update.sh [new file with mode: 0644]
config/rootfiles/core/68/exclude [new file with mode: 0644]
config/rootfiles/core/68/filelists/files [new file with mode: 0644]
config/rootfiles/core/68/meta [new file with mode: 0644]
config/rootfiles/core/68/update.sh [new file with mode: 0644]
config/rootfiles/installer/network-modules
config/rootfiles/oldcore/66/exclude [moved from config/rootfiles/core/66/exclude with 100% similarity]
config/rootfiles/oldcore/66/filelists/GeoIP [moved from config/rootfiles/core/66/filelists/GeoIP with 100% similarity]
config/rootfiles/oldcore/66/filelists/armv5tel/binutils [moved from config/rootfiles/core/66/filelists/armv5tel/binutils with 100% similarity]
config/rootfiles/oldcore/66/filelists/armv5tel/dracut [moved from config/rootfiles/core/66/filelists/armv5tel/dracut with 100% similarity]
config/rootfiles/oldcore/66/filelists/armv5tel/gcc [moved from config/rootfiles/core/66/filelists/armv5tel/gcc with 100% similarity]
config/rootfiles/oldcore/66/filelists/armv5tel/glibc [moved from config/rootfiles/core/66/filelists/armv5tel/glibc with 100% similarity]
config/rootfiles/oldcore/66/filelists/armv5tel/linux-kirkwood [moved from config/rootfiles/core/66/filelists/armv5tel/linux-kirkwood with 100% similarity]
config/rootfiles/oldcore/66/filelists/armv5tel/linux-omap [moved from config/rootfiles/core/66/filelists/armv5tel/linux-omap with 100% similarity]
config/rootfiles/oldcore/66/filelists/armv5tel/linux-rpi [moved from config/rootfiles/core/66/filelists/armv5tel/linux-rpi with 100% similarity]
config/rootfiles/oldcore/66/filelists/armv5tel/rpi-firmware [new symlink]
config/rootfiles/oldcore/66/filelists/armv5tel/u-boot [moved from config/rootfiles/core/66/filelists/armv5tel/u-boot with 100% similarity]
config/rootfiles/oldcore/66/filelists/armv5tel/util-linux [moved from config/rootfiles/core/66/filelists/armv5tel/util-linux with 100% similarity]
config/rootfiles/oldcore/66/filelists/autoconf [moved from config/rootfiles/core/66/filelists/autoconf with 100% similarity]
config/rootfiles/oldcore/66/filelists/automake [moved from config/rootfiles/core/66/filelists/automake with 100% similarity]
config/rootfiles/oldcore/66/filelists/bash [moved from config/rootfiles/core/66/filelists/bash with 100% similarity]
config/rootfiles/oldcore/66/filelists/bind [moved from config/rootfiles/core/66/filelists/bind with 100% similarity]
config/rootfiles/oldcore/66/filelists/bridge-utils [moved from config/rootfiles/core/66/filelists/bridge-utils with 100% similarity]
config/rootfiles/oldcore/66/filelists/cairo [moved from config/rootfiles/core/66/filelists/cairo with 100% similarity]
config/rootfiles/oldcore/66/filelists/capi4k-utils [moved from config/rootfiles/core/66/filelists/capi4k-utils with 100% similarity]
config/rootfiles/oldcore/66/filelists/cmake [moved from config/rootfiles/core/66/filelists/cmake with 100% similarity]
config/rootfiles/oldcore/66/filelists/collectd [moved from config/rootfiles/core/66/filelists/collectd with 100% similarity]
config/rootfiles/oldcore/66/filelists/compat-wireless [moved from config/rootfiles/core/66/filelists/compat-wireless with 100% similarity]
config/rootfiles/oldcore/66/filelists/conntrack-tools [moved from config/rootfiles/core/66/filelists/conntrack-tools with 100% similarity]
config/rootfiles/oldcore/66/filelists/coreutils [moved from config/rootfiles/core/66/filelists/coreutils with 100% similarity]
config/rootfiles/oldcore/66/filelists/curl [moved from config/rootfiles/core/66/filelists/curl with 100% similarity]
config/rootfiles/oldcore/66/filelists/cyrus-sasl [moved from config/rootfiles/core/66/filelists/cyrus-sasl with 100% similarity]
config/rootfiles/oldcore/66/filelists/daq [moved from config/rootfiles/core/66/filelists/daq with 100% similarity]
config/rootfiles/oldcore/66/filelists/dejavu-fonts-ttf [moved from config/rootfiles/core/66/filelists/dejavu-fonts-ttf with 100% similarity]
config/rootfiles/oldcore/66/filelists/dhcp [moved from config/rootfiles/core/66/filelists/dhcp with 100% similarity]
config/rootfiles/oldcore/66/filelists/dvb-firmwares [moved from config/rootfiles/core/66/filelists/dvb-firmwares with 100% similarity]
config/rootfiles/oldcore/66/filelists/e2fsprogs [moved from config/rootfiles/core/66/filelists/e2fsprogs with 100% similarity]
config/rootfiles/oldcore/66/filelists/file [moved from config/rootfiles/core/66/filelists/file with 100% similarity]
config/rootfiles/oldcore/66/filelists/files [moved from config/rootfiles/core/66/filelists/files with 100% similarity]
config/rootfiles/oldcore/66/filelists/fontconfig [moved from config/rootfiles/core/66/filelists/fontconfig with 100% similarity]
config/rootfiles/oldcore/66/filelists/fstrim [moved from config/rootfiles/core/66/filelists/fstrim with 100% similarity]
config/rootfiles/oldcore/66/filelists/gawk [moved from config/rootfiles/core/66/filelists/gawk with 100% similarity]
config/rootfiles/oldcore/66/filelists/gettext [moved from config/rootfiles/core/66/filelists/gettext with 100% similarity]
config/rootfiles/oldcore/66/filelists/glib [moved from config/rootfiles/core/66/filelists/glib with 100% similarity]
config/rootfiles/oldcore/66/filelists/gmp [moved from config/rootfiles/core/66/filelists/gmp with 100% similarity]
config/rootfiles/oldcore/66/filelists/gmp-compat [moved from config/rootfiles/core/66/filelists/gmp-compat with 100% similarity]
config/rootfiles/oldcore/66/filelists/gnupg [moved from config/rootfiles/core/66/filelists/gnupg with 100% similarity]
config/rootfiles/oldcore/66/filelists/grep [moved from config/rootfiles/core/66/filelists/grep with 100% similarity]
config/rootfiles/oldcore/66/filelists/hdparm [moved from config/rootfiles/core/66/filelists/hdparm with 100% similarity]
config/rootfiles/oldcore/66/filelists/i586/acpi-init [moved from config/rootfiles/core/66/filelists/i586/acpi-init with 100% similarity]
config/rootfiles/oldcore/66/filelists/i586/acpid [moved from config/rootfiles/core/66/filelists/i586/acpid with 100% similarity]
config/rootfiles/oldcore/66/filelists/i586/binutils [moved from config/rootfiles/core/66/filelists/i586/binutils with 100% similarity]
config/rootfiles/oldcore/66/filelists/i586/dracut [moved from config/rootfiles/core/66/filelists/i586/dracut with 100% similarity]
config/rootfiles/oldcore/66/filelists/i586/gcc [moved from config/rootfiles/core/66/filelists/i586/gcc with 100% similarity]
config/rootfiles/oldcore/66/filelists/i586/glibc [moved from config/rootfiles/core/66/filelists/i586/glibc with 100% similarity]
config/rootfiles/oldcore/66/filelists/i586/grub [moved from config/rootfiles/core/66/filelists/i586/grub with 100% similarity]
config/rootfiles/oldcore/66/filelists/i586/linux [moved from config/rootfiles/core/66/filelists/i586/linux with 100% similarity]
config/rootfiles/oldcore/66/filelists/i586/strongswan-padlock [moved from config/rootfiles/core/66/filelists/i586/strongswan-padlock with 100% similarity]
config/rootfiles/oldcore/66/filelists/i586/util-linux [moved from config/rootfiles/core/66/filelists/i586/util-linux with 100% similarity]
config/rootfiles/oldcore/66/filelists/inetutils [moved from config/rootfiles/core/66/filelists/inetutils with 100% similarity]
config/rootfiles/oldcore/66/filelists/iproute2 [moved from config/rootfiles/core/66/filelists/iproute2 with 100% similarity]
config/rootfiles/oldcore/66/filelists/iptables [moved from config/rootfiles/core/66/filelists/iptables with 100% similarity]
config/rootfiles/oldcore/66/filelists/kbd [moved from config/rootfiles/core/66/filelists/kbd with 100% similarity]
config/rootfiles/oldcore/66/filelists/less [moved from config/rootfiles/core/66/filelists/less with 100% similarity]
config/rootfiles/oldcore/66/filelists/libffi [moved from config/rootfiles/core/66/filelists/libffi with 100% similarity]
config/rootfiles/oldcore/66/filelists/libmnl [moved from config/rootfiles/core/66/filelists/libmnl with 100% similarity]
config/rootfiles/oldcore/66/filelists/libnl [moved from config/rootfiles/core/66/filelists/libnl with 100% similarity]
config/rootfiles/oldcore/66/filelists/libsigc++ [moved from config/rootfiles/core/66/filelists/libsigc++ with 100% similarity]
config/rootfiles/oldcore/66/filelists/libtool [moved from config/rootfiles/core/66/filelists/libtool with 100% similarity]
config/rootfiles/oldcore/66/filelists/libupnp [moved from config/rootfiles/core/66/filelists/libupnp with 100% similarity]
config/rootfiles/oldcore/66/filelists/linux-atm [moved from config/rootfiles/core/66/filelists/linux-atm with 100% similarity]
config/rootfiles/oldcore/66/filelists/linux-firmware [moved from config/rootfiles/core/66/filelists/linux-firmware with 100% similarity]
config/rootfiles/oldcore/66/filelists/m4 [moved from config/rootfiles/core/66/filelists/m4 with 100% similarity]
config/rootfiles/oldcore/66/filelists/mISDNuser [moved from config/rootfiles/core/66/filelists/mISDNuser with 100% similarity]
config/rootfiles/oldcore/66/filelists/man [moved from config/rootfiles/core/66/filelists/man with 100% similarity]
config/rootfiles/oldcore/66/filelists/misc-progs [moved from config/rootfiles/core/66/filelists/misc-progs with 100% similarity]
config/rootfiles/oldcore/66/filelists/mpfr [moved from config/rootfiles/core/66/filelists/mpfr with 100% similarity]
config/rootfiles/oldcore/66/filelists/ncurses [moved from config/rootfiles/core/66/filelists/ncurses with 100% similarity]
config/rootfiles/oldcore/66/filelists/newt [moved from config/rootfiles/core/66/filelists/newt with 100% similarity]
config/rootfiles/oldcore/66/filelists/openldap [moved from config/rootfiles/core/66/filelists/openldap with 100% similarity]
config/rootfiles/oldcore/66/filelists/openssh [moved from config/rootfiles/core/66/filelists/openssh with 100% similarity]
config/rootfiles/oldcore/66/filelists/openssl [moved from config/rootfiles/core/66/filelists/openssl with 100% similarity]
config/rootfiles/oldcore/66/filelists/pam [moved from config/rootfiles/core/66/filelists/pam with 100% similarity]
config/rootfiles/oldcore/66/filelists/pango [moved from config/rootfiles/core/66/filelists/pango with 100% similarity]
config/rootfiles/oldcore/66/filelists/pciutils [moved from config/rootfiles/core/66/filelists/pciutils with 100% similarity]
config/rootfiles/oldcore/66/filelists/pcmciautils [moved from config/rootfiles/core/66/filelists/pcmciautils with 100% similarity]
config/rootfiles/oldcore/66/filelists/pcre [moved from config/rootfiles/core/66/filelists/pcre with 100% similarity]
config/rootfiles/oldcore/66/filelists/pcre-compat [moved from config/rootfiles/core/66/filelists/pcre-compat with 100% similarity]
config/rootfiles/oldcore/66/filelists/pixman [moved from config/rootfiles/core/66/filelists/pixman with 100% similarity]
config/rootfiles/oldcore/66/filelists/popt [moved from config/rootfiles/core/66/filelists/popt with 100% similarity]
config/rootfiles/oldcore/66/filelists/pptp [moved from config/rootfiles/core/66/filelists/pptp with 100% similarity]
config/rootfiles/oldcore/66/filelists/readline [moved from config/rootfiles/core/66/filelists/readline with 100% similarity]
config/rootfiles/oldcore/66/filelists/readline-compat [moved from config/rootfiles/core/66/filelists/readline-compat with 100% similarity]
config/rootfiles/oldcore/66/filelists/reiserfsprogs [moved from config/rootfiles/core/66/filelists/reiserfsprogs with 100% similarity]
config/rootfiles/oldcore/66/filelists/rrdtool [moved from config/rootfiles/core/66/filelists/rrdtool with 100% similarity]
config/rootfiles/oldcore/66/filelists/screen [moved from config/rootfiles/core/66/filelists/screen with 100% similarity]
config/rootfiles/oldcore/66/filelists/sdparm [moved from config/rootfiles/core/66/filelists/sdparm with 100% similarity]
config/rootfiles/oldcore/66/filelists/sed [moved from config/rootfiles/core/66/filelists/sed with 100% similarity]
config/rootfiles/oldcore/66/filelists/setup [moved from config/rootfiles/core/66/filelists/setup with 100% similarity]
config/rootfiles/oldcore/66/filelists/shadow [moved from config/rootfiles/core/66/filelists/shadow with 100% similarity]
config/rootfiles/oldcore/66/filelists/slang [moved from config/rootfiles/core/66/filelists/slang with 100% similarity]
config/rootfiles/oldcore/66/filelists/smartmontools [moved from config/rootfiles/core/66/filelists/smartmontools with 100% similarity]
config/rootfiles/oldcore/66/filelists/snort [moved from config/rootfiles/core/66/filelists/snort with 100% similarity]
config/rootfiles/oldcore/66/filelists/squid [new symlink]
config/rootfiles/oldcore/66/filelists/stage2-partial [moved from config/rootfiles/core/66/filelists/stage2-partial with 100% similarity]
config/rootfiles/oldcore/66/filelists/strongswan [moved from config/rootfiles/core/66/filelists/strongswan with 100% similarity]
config/rootfiles/oldcore/66/filelists/sysfsutils [moved from config/rootfiles/core/66/filelists/sysfsutils with 100% similarity]
config/rootfiles/oldcore/66/filelists/sysvinit [moved from config/rootfiles/core/66/filelists/sysvinit with 100% similarity]
config/rootfiles/oldcore/66/filelists/texinfo [moved from config/rootfiles/core/66/filelists/texinfo with 100% similarity]
config/rootfiles/oldcore/66/filelists/tzdata [moved from config/rootfiles/core/66/filelists/tzdata with 100% similarity]
config/rootfiles/oldcore/66/filelists/udev [moved from config/rootfiles/core/66/filelists/udev with 100% similarity]
config/rootfiles/oldcore/66/filelists/usbutils [moved from config/rootfiles/core/66/filelists/usbutils with 100% similarity]
config/rootfiles/oldcore/66/filelists/vim [moved from config/rootfiles/core/66/filelists/vim with 100% similarity]
config/rootfiles/oldcore/66/filelists/wget [moved from config/rootfiles/core/66/filelists/wget with 100% similarity]
config/rootfiles/oldcore/66/filelists/wpa_supplicant [moved from config/rootfiles/core/66/filelists/wpa_supplicant with 100% similarity]
config/rootfiles/oldcore/66/filelists/xz [moved from config/rootfiles/core/66/filelists/xz with 100% similarity]
config/rootfiles/oldcore/66/filelists/zlib [moved from config/rootfiles/core/66/filelists/zlib with 100% similarity]
config/rootfiles/oldcore/66/meta [new file with mode: 0644]
config/rootfiles/oldcore/66/update.sh [moved from config/rootfiles/core/66/update.sh with 100% similarity]
config/rootfiles/packages/avahi [new file with mode: 0644]
config/rootfiles/packages/check_mk_agent [new file with mode: 0644]
config/rootfiles/packages/libdaemon [new file with mode: 0644]
config/rootfiles/packages/nfs
config/rootfiles/packages/nginx [new file with mode: 0644]
config/rootfiles/packages/pakfire3
config/rootfiles/packages/sendEmail [new file with mode: 0644]
config/updxlrator/updxlrator
doc/language_issues.es
doc/language_issues.fr
doc/language_issues.nl
doc/language_issues.pl
doc/language_issues.ru
doc/language_missings
html/cgi-bin/index.cgi
html/cgi-bin/ovpnmain.cgi
html/cgi-bin/proxy.cgi
html/cgi-bin/samba.cgi
html/cgi-bin/updatexlrator.cgi
html/cgi-bin/wlanap.cgi
html/html/images/updbooster/updxl-src-microsoft.gif [new file with mode: 0644]
html/html/images/updbooster/updxl-src-windows.gif
html/html/include/jquery-1.2.6.min.js [deleted file]
html/html/include/jquery-1.9.1.min.js [new file with mode: 0644]
html/html/themes/ipfire/include/functions.pl
html/html/themes/ipfire/include/style.css
html/html/themes/maniac/include/functions.pl
html/html/themes/maniac/include/style.css
langs/de/cgi-bin/de.pl
langs/en/cgi-bin/en.pl
langs/es/cgi-bin/es.pl
langs/nl/cgi-bin/nl.pl
langs/pl/cgi-bin/pl.pl
langs/ru/cgi-bin/ru.pl
lfs/IO-Socket-SSL [new file with mode: 0644]
lfs/avahi [new file with mode: 0644]
lfs/check_mk_agent [new file with mode: 0644]
lfs/compat-drivers [moved from lfs/compat-wireless with 85% similarity]
lfs/fireinfo
lfs/hostapd
lfs/libdaemon [new file with mode: 0644]
lfs/mISDN
lfs/nfs
lfs/nginx [new file with mode: 0644]
lfs/pakfire3
lfs/rpi-firmware
lfs/sendEmail [new file with mode: 0644]
lfs/squid
make.sh
src/initscripts/init.d/firewall
src/install+setup/install/mountdest.sh
src/paks/avahi/install.sh [new file with mode: 0644]
src/paks/avahi/uninstall.sh [new file with mode: 0644]
src/paks/avahi/update.sh [new file with mode: 0644]
src/paks/check_mk_agent/install.sh [new file with mode: 0644]
src/paks/check_mk_agent/uninstall.sh [new file with mode: 0644]
src/paks/check_mk_agent/update.sh [new file with mode: 0644]
src/paks/libdaemon/install.sh [new file with mode: 0644]
src/paks/libdaemon/uninstall.sh [new file with mode: 0644]
src/paks/libdaemon/update.sh [new file with mode: 0644]
src/paks/nginx/install.sh [new file with mode: 0644]
src/paks/nginx/uninstall.sh [new file with mode: 0644]
src/paks/nginx/update.sh [new file with mode: 0644]
src/patches/compat-drivers-3.8-arm_missing_vmalloc.patch [new file with mode: 0644]
src/patches/compat-wireless-3.6.8-remove_3.1_cpufreq_backport.patch [deleted file]
src/patches/pakfire-database-Add-inst_size-column-when-creating-new-data.patch [new file with mode: 0644]

diff --git a/config/avahi/avahi b/config/avahi/avahi
new file mode 100755 (executable)
index 0000000..206146a
--- /dev/null
@@ -0,0 +1,45 @@
+#!/bin/sh
+# Begin $rc_base/init.d/avahi
+
+# Based on sysklogd script from LFS-3.1 and earlier.
+# Rewritten by Gerard Beekmans  - gerard@linuxfromscratch.org
+
+#$LastChangedBy: bdubbs $
+#$Date: 2005-08-01 14:29:19 -0500 (Mon, 01 Aug 2005) $
+
+. /etc/sysconfig/rc
+. $rc_functions
+
+case "$1" in
+       start)
+               boot_mesg "Starting avahi..."
+               loadproc /usr/sbin/avahi-daemon -f /etc/avahi/avahi-daemon.conf -D
+               ;;
+
+       stop)
+               boot_mesg "Stopping avahi..."
+               killproc /usr/sbin/avahi-daemon -k
+               ;;
+
+       reload)
+               boot_mesg "Reloading avahi..."
+               reloadproc /usr/sbin/avahi-daemon -f /etc/avahi/avahi-daemon.conf -D
+               ;;
+
+       restart)
+               $0 stop
+               sleep 1
+               $0 start
+               ;;
+
+       status)
+               statusproc /usr/sbin/avahi-daemon -c
+               ;;
+
+       *)
+               echo "Usage: $0 {start|stop|reload|restart|status}"
+               exit 1
+               ;;
+esac
+
+# End $rc_base/init.d/avahi
diff --git a/config/avahi/smb.service b/config/avahi/smb.service
new file mode 100644 (file)
index 0000000..d895354
--- /dev/null
@@ -0,0 +1,9 @@
+<?xml version="1.0" standalone='no'?>
+<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
+<service-group>
+   <name replace-wildcards="yes">Samba Shares on %h</name>
+   <service>
+       <type>_smb._tcp</type>
+       <port>139</port>
+   </service>
+</service-group>
diff --git a/config/backup/includes/avahi b/config/backup/includes/avahi
new file mode 100644 (file)
index 0000000..7f32af6
--- /dev/null
@@ -0,0 +1 @@
+/etc/avahi/avahi-daemon.conf
diff --git a/config/backup/includes/nginx b/config/backup/includes/nginx
new file mode 100644 (file)
index 0000000..db8e6ed
--- /dev/null
@@ -0,0 +1 @@
+/etc/nginx/nginx.conf
index f94cdbf16c49b31054125ff12c6fea9119b2cfbd..a70f2673e6b4751cadb1530b6bd80c3aab5573e9 100644 (file)
@@ -144,6 +144,10 @@ sub age
        my ($dev, $ino, $mode, $nlink, $uid, $gid, $rdev, $size,
                $atime, $mtime, $ctime, $blksize, $blocks) = stat $_[0];
        my $now = time;
+       my $timestring = '';
+       my $dset = 0;           # Day is set, when > 0
+       my $hset = 0;           # Hour is set, when > 0
+       my $mset = 0;           # Minute is set, when > 0
 
        my $totalsecs = $now - $mtime;
        my $days = int($totalsecs / 86400);
@@ -153,7 +157,50 @@ sub age
        my $mins = $totalmins % 60;
        my $secs = $totalsecs % 60;
 
-       return "${days}d ${hours}h ${mins}m ${secs}s";
+       if      ($days > 1) { 
+               ${timestring} .= ${days}.' '.$Lang::tr{'days'}.', ';
+               $dset = 1; 
+       }
+       elsif   ($days == 1) { 
+               ${timestring} .= ${days}.' '.$Lang::tr{'day'}.', ';
+               $dset = 1; 
+       }
+
+       if      (($hours > 1) && !($dset)) { 
+               ${timestring} .= ${hours}.' '.$Lang::tr{'hours'}.', ';
+               $hset = 1;
+       }
+       elsif   (($hours == 1) && !($dset)) { 
+               ${timestring} .= ${hours}.' '.$Lang::tr{'hour'}.', ';
+               $hset = 1;
+       }
+       elsif ($dset) {
+               ${timestring} .= ${hours}.' '.$Lang::tr{'age shour'}.', ';
+               $hset = 1;
+       }
+
+       if      ((($mins > 1) || ($mins == 0)) && !($dset || $hset)) { 
+               ${timestring} .= ${mins}.' '.$Lang::tr{'minutes'}.', ';
+               $mset = 1;
+       }
+       elsif   (($mins == 1) && !($dset || $hset)) { 
+               ${timestring} .= ${mins}.' '.$Lang::tr{'minute'}.', ';
+               $mset = 1;
+       }
+       else {
+               ${timestring} .= ${mins}.' '.$Lang::tr{'age sminute'}.', '; 
+               $mset = 1;
+       }
+
+       if      ((($secs > 1) || ($secs == 0)) && !($dset || $hset || $mset)) { 
+               ${timestring} .= ${secs}.' '.$Lang::tr{'age seconds'};
+       }
+       elsif   (($secs == 1) && !($dset || $hset || $mset)) { 
+               ${timestring} .= $secs.' '.$Lang::tr{'age second'};
+       }
+       else    { ${timestring} .= $secs.' '.$Lang::tr{'age ssecond'}; }
+
+       return ${timestring};
 }
 
 sub validip
index 7c3682021a24cc7bfc7f3443f69078727e2be177..0f10bf9f863b843cd70128a0a275cde218cb0101 100644 (file)
@@ -161,8 +161,7 @@ sub genmenu {
 
 sub showhttpheaders
 {
-       print "Pragma: no-cache\n";
-       print "Cache-control: no-cache\n";
+       print "Cache-control: private\n";
        print "Connection: close\n";
        print "Content-type: text/html; charset=UTF-8\n\n";
 }
diff --git a/config/nginx/nginx b/config/nginx/nginx
new file mode 100755 (executable)
index 0000000..67f757d
--- /dev/null
@@ -0,0 +1,45 @@
+#!/bin/sh
+# Begin $rc_base/init.d/nginx
+
+# Based on sysklogd script from LFS-3.1 and earlier.
+# Rewritten by Gerard Beekmans  - gerard@linuxfromscratch.org
+
+#$LastChangedBy: bdubbs $
+#$Date: 2005-08-01 14:29:19 -0500 (Mon, 01 Aug 2005) $
+
+. /etc/sysconfig/rc
+. $rc_functions
+
+case "$1" in
+       start)
+               boot_mesg "Starting nginx Server..."
+               loadproc /usr/sbin/nginx
+               ;;
+
+       stop)
+               boot_mesg "Stopping nginx Server..."
+               killproc /usr/sbin/nginx
+               ;;
+
+       reload)
+               boot_mesg "Reloading nginx Server..."
+               reloadproc /usr/sbin/nginx
+               ;;
+
+       restart)
+               $0 stop
+               sleep 1
+               $0 start
+               ;;
+
+       status)
+               statusproc /usr/sbin/nginx
+               ;;
+
+       *)
+               echo "Usage: $0 {start|stop|reload|restart|status}"
+               exit 1
+               ;;
+esac
+
+# End $rc_base/init.d/nginx
diff --git a/config/rootfiles/common/IO-Socket-SSL b/config/rootfiles/common/IO-Socket-SSL
new file mode 100644 (file)
index 0000000..94c4768
--- /dev/null
@@ -0,0 +1,6 @@
+usr/lib/perl5/site_perl/5.12.3/IO/Socket
+usr/lib/perl5/site_perl/5.12.3/IO/Socket/SSL.pm
+usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/IO/Socket
+#usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/IO/Socket/SSL
+#usr/lib/perl5/site_perl/5.12.3/MACHINE-linux-thread-multi/auto/IO/Socket/SSL/.packlist
+#usr/share/man/man3/IO::Socket::SSL.3
index 3024548c1f169fd1363d4e729d028cf2119ee7e7..073639920980a2274066eaa1a5b301d554a8142d 100644 (file)
@@ -5,5 +5,7 @@ boot/config.txt
 #boot/first32k.bin
 boot/start.elf
 boot/start_cd.elf
+boot/start_x.elf
 boot/fixup.dat
 boot/fixup_cd.dat
+boot/fixup_x.dat
diff --git a/config/rootfiles/core/67/exclude b/config/rootfiles/core/67/exclude
new file mode 100644 (file)
index 0000000..321a931
--- /dev/null
@@ -0,0 +1,17 @@
+srv/web/ipfire/html/proxy.pac
+boot/config.txt
+etc/udev/rules.d/30-persistent-network.rules
+etc/collectd.custom
+etc/shadow
+etc/ipsec.conf
+etc/ipsec.secrets
+etc/ipsec.user.conf
+etc/ipsec.user.secrets
+var/log/cache
+var/updatecache
+etc/localtime
+var/ipfire/ovpn
+etc/ssh/ssh_config
+etc/ssh/sshd_config
+etc/ssl/openssl.cnf
+var/state/dhcp/dhcpd.leases
diff --git a/config/rootfiles/core/67/filelists/IO-Socket-SSL b/config/rootfiles/core/67/filelists/IO-Socket-SSL
new file mode 120000 (symlink)
index 0000000..d244923
--- /dev/null
@@ -0,0 +1 @@
+../../../common/IO-Socket-SSL
\ No newline at end of file
diff --git a/config/rootfiles/core/67/filelists/armv5tel/compat-drivers-modules-kirkwood b/config/rootfiles/core/67/filelists/armv5tel/compat-drivers-modules-kirkwood
new file mode 100644 (file)
index 0000000..e25dfb8
--- /dev/null
@@ -0,0 +1,141 @@
+lib/modules/KVER-ipfire-kirkwood/kernel/compat/compat.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/compat/sch_codel.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/compat/sch_fq_codel.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/bcma/bcma.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/bluetooth/ath3k.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/bluetooth/bcm203x.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/bluetooth/bfusb.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/bluetooth/bluecard_cs.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/bluetooth/bpa10x.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/bluetooth/bt3c_cs.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/bluetooth/btmrvl.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/bluetooth/btmrvl_sdio.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/bluetooth/btsdio.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/bluetooth/btuart_cs.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/bluetooth/btusb.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/bluetooth/btwilink.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/bluetooth/dtl1_cs.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/bluetooth/hci_uart.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/bluetooth/hci_vhci.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/misc/eeprom/eeprom_93cx6.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/ethernet/atheros/alx/alx.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/ethernet/atheros/atl1c/atl1c.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/ethernet/atheros/atl1e/atl1e.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/ethernet/atheros/atlx/atl1.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/ethernet/atheros/atlx/atl2.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/ethernet/broadcom/b44.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/usb/asix.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/usb/catc.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/usb/cdc_eem.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/usb/cdc_ether.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/usb/cdc_ncm.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/usb/cdc_subset.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/usb/cx82310_eth.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/usb/dm9601.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/usb/gl620a.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/usb/hso.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/usb/int51x1.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/usb/kalmia.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/usb/kaweth.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/usb/lg-vl600.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/usb/mcs7830.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/usb/net1080.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/usb/pegasus.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/usb/plusb.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/usb/rndis_host.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/usb/rtl8150.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/usb/sierra_net.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/usb/smsc75xx.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/usb/smsc95xx.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/usb/usbnet.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/usb/zaurus.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/adm8211.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/at76c50x-usb.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/ath/ar5523/ar5523.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/ath/ath.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/ath/ath5k/ath5k.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/ath/ath6kl/ath6kl_core.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/ath/ath6kl/ath6kl_sdio.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/ath/ath6kl/ath6kl_usb.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/ath/ath9k/ath9k.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/ath/ath9k/ath9k_common.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/ath/ath9k/ath9k_htc.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/ath/ath9k/ath9k_hw.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/ath/carl9170/carl9170.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/ath/wil6210/wil6210.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/b43/b43.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/b43legacy/b43legacy.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/brcm80211/brcmfmac/brcmfmac.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/brcm80211/brcmsmac/brcmsmac.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/brcm80211/brcmutil/brcmutil.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/ipw2x00/ipw2100.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/ipw2x00/ipw2200.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/ipw2x00/libipw.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/iwlegacy/iwl3945.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/iwlegacy/iwl4965.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/iwlegacy/iwlegacy.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/iwlwifi/dvm/iwldvm.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/iwlwifi/iwlwifi.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/libertas/libertas.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/libertas/libertas_cs.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/libertas/libertas_sdio.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/libertas/usb8xxx.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/libertas_tf/libertas_tf.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/libertas_tf/libertas_tf_usb.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/libertas_uap/uap8xxx.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/mac80211_hwsim.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/mwifiex/mwifiex.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/mwifiex/mwifiex_pcie.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/mwifiex/mwifiex_sdio.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/mwifiex/mwifiex_usb.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/mwl8k.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/orinoco/orinoco.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/orinoco/orinoco_cs.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/orinoco/orinoco_nortel.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/orinoco/orinoco_pci.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/orinoco/orinoco_plx.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/orinoco/orinoco_tmd.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/orinoco/orinoco_usb.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/orinoco/spectrum_cs.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/p54/p54common.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/p54/p54pci.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/p54/p54usb.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/rndis_wlan.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/rt2x00/rt2400pci.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/rt2x00/rt2500pci.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/rt2x00/rt2500usb.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/rt2x00/rt2800lib.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/rt2x00/rt2800pci.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/rt2x00/rt2800usb.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/rt2x00/rt2x00lib.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/rt2x00/rt2x00pci.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/rt2x00/rt2x00usb.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/rt2x00/rt61pci.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/rt2x00/rt73usb.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/rtl818x/rtl8180/rtl8180.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/rtl818x/rtl8187/rtl8187.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/rtlwifi/rtl8192ce/rtl8192ce.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/rtlwifi/rtl8192cu/rtl8192cu.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/rtlwifi/rtl8192de/rtl8192de.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/rtlwifi/rtl8192se/rtl8192se.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/rtlwifi/rtl8723ae/rtl8723ae.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/rtlwifi/rtlwifi.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/ti/wl1251/wl1251.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/ti/wl12xx/wl12xx.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/ti/wl18xx/wl18xx.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/ti/wlcore/wlcore.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/drivers/ssb/ssb.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/net/bluetooth/bluetooth.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/net/bluetooth/bnep/bnep.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/net/bluetooth/cmtp/cmtp.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/net/bluetooth/hidp/hidp.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/net/bluetooth/rfcomm/rfcomm.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/net/mac80211/mac80211.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/net/rfkill/rfkill-regulator.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/net/wireless/cfg80211.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/net/wireless/lib80211.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/net/wireless/lib80211_crypt_ccmp.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/net/wireless/lib80211_crypt_tkip.ko
+lib/modules/KVER-ipfire-kirkwood/kernel/net/wireless/lib80211_crypt_wep.ko
diff --git a/config/rootfiles/core/67/filelists/armv5tel/compat-drivers-modules-omap b/config/rootfiles/core/67/filelists/armv5tel/compat-drivers-modules-omap
new file mode 100644 (file)
index 0000000..b83dd2a
--- /dev/null
@@ -0,0 +1,96 @@
+lib/modules/KVER-ipfire-omap/kernel/compat/compat.ko
+lib/modules/KVER-ipfire-omap/kernel/compat/sch_codel.ko
+lib/modules/KVER-ipfire-omap/kernel/compat/sch_fq_codel.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/bcma/bcma.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/bluetooth/ath3k.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/bluetooth/bcm203x.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/bluetooth/bfusb.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/bluetooth/bpa10x.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/bluetooth/btmrvl.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/bluetooth/btmrvl_sdio.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/bluetooth/btsdio.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/bluetooth/btusb.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/bluetooth/btwilink.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/bluetooth/hci_uart.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/bluetooth/hci_vhci.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/misc/eeprom/eeprom_93cx6.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/ethernet/broadcom/b44.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/usb/asix.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/usb/catc.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/usb/cdc_eem.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/usb/cdc_ether.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/usb/cdc_ncm.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/usb/cdc_subset.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/usb/cx82310_eth.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/usb/dm9601.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/usb/gl620a.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/usb/hso.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/usb/int51x1.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/usb/kalmia.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/usb/kaweth.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/usb/lg-vl600.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/usb/mcs7830.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/usb/net1080.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/usb/pegasus.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/usb/plusb.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/usb/rndis_host.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/usb/rtl8150.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/usb/sierra_net.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/usb/smsc75xx.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/usb/smsc95xx.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/usb/usbnet.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/usb/zaurus.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/at76c50x-usb.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/ath/ar5523/ar5523.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/ath/ath.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/ath/ath6kl/ath6kl_core.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/ath/ath6kl/ath6kl_sdio.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/ath/ath6kl/ath6kl_usb.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/ath/ath9k/ath9k.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/ath/ath9k/ath9k_common.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/ath/ath9k/ath9k_htc.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/ath/ath9k/ath9k_hw.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/ath/carl9170/carl9170.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/brcm80211/brcmfmac/brcmfmac.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/brcm80211/brcmutil/brcmutil.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/libertas/libertas.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/libertas/libertas_sdio.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/libertas/usb8xxx.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/libertas_tf/libertas_tf.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/libertas_tf/libertas_tf_usb.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/libertas_uap/uap8xxx.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/mac80211_hwsim.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/mwifiex/mwifiex.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/mwifiex/mwifiex_sdio.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/mwifiex/mwifiex_usb.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/p54/p54common.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/p54/p54usb.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/rndis_wlan.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/rt2x00/rt2500usb.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/rt2x00/rt2800lib.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/rt2x00/rt2800usb.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/rt2x00/rt2x00lib.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/rt2x00/rt2x00usb.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/rt2x00/rt73usb.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/rtl818x/rtl8187/rtl8187.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/rtlwifi/rtl8192cu/rtl8192cu.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/rtlwifi/rtlwifi.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/ti/wl1251/wl1251.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/ti/wl12xx/wl12xx.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/ti/wl18xx/wl18xx.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/ti/wlcore/wlcore.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko
+lib/modules/KVER-ipfire-omap/kernel/drivers/ssb/ssb.ko
+lib/modules/KVER-ipfire-omap/kernel/net/bluetooth/bluetooth.ko
+lib/modules/KVER-ipfire-omap/kernel/net/bluetooth/bnep/bnep.ko
+lib/modules/KVER-ipfire-omap/kernel/net/bluetooth/cmtp/cmtp.ko
+lib/modules/KVER-ipfire-omap/kernel/net/bluetooth/hidp/hidp.ko
+lib/modules/KVER-ipfire-omap/kernel/net/bluetooth/rfcomm/rfcomm.ko
+lib/modules/KVER-ipfire-omap/kernel/net/mac80211/mac80211.ko
+lib/modules/KVER-ipfire-omap/kernel/net/rfkill/rfkill-regulator.ko
+lib/modules/KVER-ipfire-omap/kernel/net/wireless/cfg80211.ko
+lib/modules/KVER-ipfire-omap/kernel/net/wireless/lib80211.ko
+lib/modules/KVER-ipfire-omap/kernel/net/wireless/lib80211_crypt_ccmp.ko
+lib/modules/KVER-ipfire-omap/kernel/net/wireless/lib80211_crypt_tkip.ko
+lib/modules/KVER-ipfire-omap/kernel/net/wireless/lib80211_crypt_wep.ko
diff --git a/config/rootfiles/core/67/filelists/armv5tel/compat-drivers-modules-rpi b/config/rootfiles/core/67/filelists/armv5tel/compat-drivers-modules-rpi
new file mode 100644 (file)
index 0000000..bc19d4f
--- /dev/null
@@ -0,0 +1,95 @@
+lib/modules/KVER-ipfire-rpi/kernel/compat/compat.ko
+lib/modules/KVER-ipfire-rpi/kernel/compat/sch_codel.ko
+lib/modules/KVER-ipfire-rpi/kernel/compat/sch_fq_codel.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/bcma/bcma.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/bluetooth/ath3k.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/bluetooth/bcm203x.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/bluetooth/bfusb.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/bluetooth/bpa10x.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/bluetooth/btmrvl.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/bluetooth/btmrvl_sdio.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/bluetooth/btsdio.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/bluetooth/btusb.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/bluetooth/btwilink.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/bluetooth/hci_uart.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/bluetooth/hci_vhci.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/misc/eeprom/eeprom_93cx6.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/ethernet/broadcom/b44.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/usb/asix.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/usb/catc.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/usb/cdc_eem.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/usb/cdc_ether.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/usb/cdc_ncm.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/usb/cdc_subset.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/usb/cx82310_eth.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/usb/dm9601.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/usb/gl620a.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/usb/hso.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/usb/int51x1.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/usb/kalmia.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/usb/kaweth.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/usb/lg-vl600.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/usb/mcs7830.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/usb/net1080.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/usb/pegasus.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/usb/plusb.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/usb/rndis_host.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/usb/rtl8150.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/usb/sierra_net.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/usb/smsc75xx.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/usb/smsc95xx.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/usb/usbnet.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/usb/zaurus.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/at76c50x-usb.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/ath/ar5523/ar5523.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/ath/ath.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/ath/ath6kl/ath6kl_core.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/ath/ath6kl/ath6kl_sdio.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/ath/ath6kl/ath6kl_usb.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/ath/ath9k/ath9k.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/ath/ath9k/ath9k_common.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/ath/ath9k/ath9k_htc.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/ath/ath9k/ath9k_hw.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/ath/carl9170/carl9170.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/brcm80211/brcmfmac/brcmfmac.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/brcm80211/brcmutil/brcmutil.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/libertas/libertas.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/libertas/libertas_sdio.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/libertas/usb8xxx.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/libertas_tf/libertas_tf.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/libertas_tf/libertas_tf_usb.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/libertas_uap/uap8xxx.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/mac80211_hwsim.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/mwifiex/mwifiex.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/mwifiex/mwifiex_usb.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/p54/p54common.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/p54/p54usb.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/rndis_wlan.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/rt2x00/rt2500usb.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/rt2x00/rt2800lib.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/rt2x00/rt2800usb.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/rt2x00/rt2x00lib.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/rt2x00/rt2x00usb.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/rt2x00/rt73usb.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/rtl818x/rtl8187/rtl8187.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/rtlwifi/rtl8192cu/rtl8192cu.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/rtlwifi/rtlwifi.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/ti/wl1251/wl1251.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/ti/wl12xx/wl12xx.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/ti/wl18xx/wl18xx.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/ti/wlcore/wlcore.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko
+lib/modules/KVER-ipfire-rpi/kernel/drivers/ssb/ssb.ko
+lib/modules/KVER-ipfire-rpi/kernel/net/bluetooth/bluetooth.ko
+lib/modules/KVER-ipfire-rpi/kernel/net/bluetooth/bnep/bnep.ko
+lib/modules/KVER-ipfire-rpi/kernel/net/bluetooth/cmtp/cmtp.ko
+lib/modules/KVER-ipfire-rpi/kernel/net/bluetooth/hidp/hidp.ko
+lib/modules/KVER-ipfire-rpi/kernel/net/bluetooth/rfcomm/rfcomm.ko
+lib/modules/KVER-ipfire-rpi/kernel/net/mac80211/mac80211.ko
+lib/modules/KVER-ipfire-rpi/kernel/net/rfkill/rfkill-regulator.ko
+lib/modules/KVER-ipfire-rpi/kernel/net/wireless/cfg80211.ko
+lib/modules/KVER-ipfire-rpi/kernel/net/wireless/lib80211.ko
+lib/modules/KVER-ipfire-rpi/kernel/net/wireless/lib80211_crypt_ccmp.ko
+lib/modules/KVER-ipfire-rpi/kernel/net/wireless/lib80211_crypt_tkip.ko
+lib/modules/KVER-ipfire-rpi/kernel/net/wireless/lib80211_crypt_wep.ko
diff --git a/config/rootfiles/core/67/filelists/compat-drivers b/config/rootfiles/core/67/filelists/compat-drivers
new file mode 120000 (symlink)
index 0000000..0d2a611
--- /dev/null
@@ -0,0 +1 @@
+../../../common/compat-drivers
\ No newline at end of file
diff --git a/config/rootfiles/core/67/filelists/files b/config/rootfiles/core/67/filelists/files
new file mode 100644 (file)
index 0000000..4a3c2e3
--- /dev/null
@@ -0,0 +1,11 @@
+etc/system-release
+etc/issue
+etc/rc.d/init.d/firewall
+srv/web/ipfire/cgi-bin/index.cgi
+srv/web/ipfire/cgi-bin/ovpnmain.cgi
+srv/web/ipfire/cgi-bin/proxy.cgi
+srv/web/ipfire/cgi-bin/updatexlrator.cgi
+srv/web/ipfire/html/images/updbooster/updxl-src-microsoft.gif
+srv/web/ipfire/html/images/updbooster/updxl-src-windows.gif
+usr/sbin/updxlrator
+var/ipfire/langs
diff --git a/config/rootfiles/core/67/filelists/fireinfo b/config/rootfiles/core/67/filelists/fireinfo
new file mode 120000 (symlink)
index 0000000..c461155
--- /dev/null
@@ -0,0 +1 @@
+../../../common/fireinfo
\ No newline at end of file
diff --git a/config/rootfiles/core/67/filelists/i586/compat-drivers-modules b/config/rootfiles/core/67/filelists/i586/compat-drivers-modules
new file mode 100644 (file)
index 0000000..967056c
--- /dev/null
@@ -0,0 +1,146 @@
+lib/modules/KVER-ipfire/kernel/compat/compat.ko
+lib/modules/KVER-ipfire/kernel/compat/sch_codel.ko
+lib/modules/KVER-ipfire/kernel/compat/sch_fq_codel.ko
+lib/modules/KVER-ipfire/kernel/drivers/bcma/bcma.ko
+lib/modules/KVER-ipfire/kernel/drivers/bluetooth/ath3k.ko
+lib/modules/KVER-ipfire/kernel/drivers/bluetooth/bcm203x.ko
+lib/modules/KVER-ipfire/kernel/drivers/bluetooth/bfusb.ko
+lib/modules/KVER-ipfire/kernel/drivers/bluetooth/bluecard_cs.ko
+lib/modules/KVER-ipfire/kernel/drivers/bluetooth/bpa10x.ko
+lib/modules/KVER-ipfire/kernel/drivers/bluetooth/bt3c_cs.ko
+lib/modules/KVER-ipfire/kernel/drivers/bluetooth/btmrvl.ko
+lib/modules/KVER-ipfire/kernel/drivers/bluetooth/btmrvl_sdio.ko
+lib/modules/KVER-ipfire/kernel/drivers/bluetooth/btsdio.ko
+lib/modules/KVER-ipfire/kernel/drivers/bluetooth/btuart_cs.ko
+lib/modules/KVER-ipfire/kernel/drivers/bluetooth/btusb.ko
+lib/modules/KVER-ipfire/kernel/drivers/bluetooth/btwilink.ko
+lib/modules/KVER-ipfire/kernel/drivers/bluetooth/dtl1_cs.ko
+lib/modules/KVER-ipfire/kernel/drivers/bluetooth/hci_uart.ko
+lib/modules/KVER-ipfire/kernel/drivers/bluetooth/hci_vhci.ko
+lib/modules/KVER-ipfire/kernel/drivers/gpu/drm/drm.ko
+lib/modules/KVER-ipfire/kernel/drivers/gpu/drm/drm_kms_helper.ko
+lib/modules/KVER-ipfire/kernel/drivers/gpu/drm/i915/i915.ko
+lib/modules/KVER-ipfire/kernel/drivers/gpu/drm/radeon/radeon.ko
+lib/modules/KVER-ipfire/kernel/drivers/gpu/drm/ttm/ttm.ko
+lib/modules/KVER-ipfire/kernel/drivers/misc/eeprom/eeprom_93cx6.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/ethernet/atheros/alx/alx.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/ethernet/atheros/atl1c/atl1c.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/ethernet/atheros/atl1e/atl1e.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/ethernet/atheros/atlx/atl1.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/ethernet/atheros/atlx/atl2.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/ethernet/broadcom/b44.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/usb/asix.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/usb/catc.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/usb/cdc_eem.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/usb/cdc_ether.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/usb/cdc_ncm.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/usb/cdc_subset.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/usb/cx82310_eth.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/usb/dm9601.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/usb/gl620a.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/usb/hso.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/usb/int51x1.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/usb/kalmia.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/usb/kaweth.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/usb/lg-vl600.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/usb/mcs7830.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/usb/net1080.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/usb/pegasus.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/usb/plusb.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/usb/rndis_host.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/usb/rtl8150.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/usb/sierra_net.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/usb/smsc75xx.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/usb/smsc95xx.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/usb/usbnet.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/usb/zaurus.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/adm8211.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/at76c50x-usb.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/ath/ar5523/ar5523.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/ath/ath.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/ath/ath5k/ath5k.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/ath/ath6kl/ath6kl_core.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/ath/ath6kl/ath6kl_sdio.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/ath/ath6kl/ath6kl_usb.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/ath/ath9k/ath9k.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/ath/ath9k/ath9k_common.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/ath/ath9k/ath9k_htc.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/ath/ath9k/ath9k_hw.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/ath/carl9170/carl9170.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/ath/wil6210/wil6210.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/b43/b43.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/b43legacy/b43legacy.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/brcm80211/brcmfmac/brcmfmac.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/brcm80211/brcmsmac/brcmsmac.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/brcm80211/brcmutil/brcmutil.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/ipw2x00/ipw2100.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/ipw2x00/ipw2200.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/ipw2x00/libipw.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/iwlegacy/iwl3945.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/iwlegacy/iwl4965.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/iwlegacy/iwlegacy.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/iwlwifi/dvm/iwldvm.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/iwlwifi/iwlwifi.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/libertas/libertas.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/libertas/libertas_cs.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/libertas/libertas_sdio.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/libertas/usb8xxx.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/libertas_tf/libertas_tf.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/libertas_tf/libertas_tf_usb.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/libertas_uap/uap8xxx.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/mac80211_hwsim.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/mwifiex/mwifiex.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/mwifiex/mwifiex_pcie.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/mwifiex/mwifiex_sdio.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/mwifiex/mwifiex_usb.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/mwl8k.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/orinoco/orinoco.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/orinoco/orinoco_cs.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/orinoco/orinoco_nortel.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/orinoco/orinoco_pci.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/orinoco/orinoco_plx.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/orinoco/orinoco_tmd.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/orinoco/orinoco_usb.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/orinoco/spectrum_cs.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/p54/p54common.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/p54/p54pci.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/p54/p54usb.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/rndis_wlan.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/rt2x00/rt2400pci.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/rt2x00/rt2500pci.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/rt2x00/rt2500usb.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/rt2x00/rt2800lib.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/rt2x00/rt2800pci.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/rt2x00/rt2800usb.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/rt2x00/rt2x00lib.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/rt2x00/rt2x00pci.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/rt2x00/rt2x00usb.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/rt2x00/rt61pci.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/rt2x00/rt73usb.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/rtl818x/rtl8180/rtl8180.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/rtl818x/rtl8187/rtl8187.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/rtlwifi/rtl8192ce/rtl8192ce.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/rtlwifi/rtl8192cu/rtl8192cu.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/rtlwifi/rtl8192de/rtl8192de.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/rtlwifi/rtl8192se/rtl8192se.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/rtlwifi/rtl8723ae/rtl8723ae.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/rtlwifi/rtlwifi.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/ti/wl1251/wl1251.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/ti/wl12xx/wl12xx.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/ti/wl18xx/wl18xx.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/ti/wlcore/wlcore.ko
+lib/modules/KVER-ipfire/kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko
+lib/modules/KVER-ipfire/kernel/drivers/ssb/ssb.ko
+lib/modules/KVER-ipfire/kernel/net/bluetooth/bluetooth.ko
+lib/modules/KVER-ipfire/kernel/net/bluetooth/bnep/bnep.ko
+lib/modules/KVER-ipfire/kernel/net/bluetooth/cmtp/cmtp.ko
+lib/modules/KVER-ipfire/kernel/net/bluetooth/hidp/hidp.ko
+lib/modules/KVER-ipfire/kernel/net/bluetooth/rfcomm/rfcomm.ko
+lib/modules/KVER-ipfire/kernel/net/mac80211/mac80211.ko
+lib/modules/KVER-ipfire/kernel/net/rfkill/rfkill-regulator.ko
+lib/modules/KVER-ipfire/kernel/net/wireless/cfg80211.ko
+lib/modules/KVER-ipfire/kernel/net/wireless/lib80211.ko
+lib/modules/KVER-ipfire/kernel/net/wireless/lib80211_crypt_ccmp.ko
+lib/modules/KVER-ipfire/kernel/net/wireless/lib80211_crypt_tkip.ko
+lib/modules/KVER-ipfire/kernel/net/wireless/lib80211_crypt_wep.ko
diff --git a/config/rootfiles/core/67/filelists/i586/compat-drivers-modules-pae b/config/rootfiles/core/67/filelists/i586/compat-drivers-modules-pae
new file mode 100644 (file)
index 0000000..ca544a2
--- /dev/null
@@ -0,0 +1,146 @@
+lib/modules/KVER-ipfire-pae/kernel/compat/compat.ko
+lib/modules/KVER-ipfire-pae/kernel/compat/sch_codel.ko
+lib/modules/KVER-ipfire-pae/kernel/compat/sch_fq_codel.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/bcma/bcma.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/bluetooth/ath3k.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/bluetooth/bcm203x.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/bluetooth/bfusb.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/bluetooth/bluecard_cs.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/bluetooth/bpa10x.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/bluetooth/bt3c_cs.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/bluetooth/btmrvl.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/bluetooth/btmrvl_sdio.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/bluetooth/btsdio.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/bluetooth/btuart_cs.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/bluetooth/btusb.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/bluetooth/btwilink.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/bluetooth/dtl1_cs.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/bluetooth/hci_uart.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/bluetooth/hci_vhci.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/gpu/drm/drm.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/gpu/drm/drm_kms_helper.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/gpu/drm/i915/i915.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/gpu/drm/radeon/radeon.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/gpu/drm/ttm/ttm.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/misc/eeprom/eeprom_93cx6.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/ethernet/atheros/alx/alx.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/ethernet/atheros/atl1c/atl1c.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/ethernet/atheros/atl1e/atl1e.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/ethernet/atheros/atlx/atl1.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/ethernet/atheros/atlx/atl2.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/ethernet/broadcom/b44.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/usb/asix.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/usb/catc.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/usb/cdc_eem.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/usb/cdc_ether.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/usb/cdc_ncm.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/usb/cdc_subset.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/usb/cx82310_eth.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/usb/dm9601.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/usb/gl620a.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/usb/hso.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/usb/int51x1.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/usb/kalmia.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/usb/kaweth.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/usb/lg-vl600.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/usb/mcs7830.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/usb/net1080.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/usb/pegasus.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/usb/plusb.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/usb/rndis_host.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/usb/rtl8150.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/usb/sierra_net.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/usb/smsc75xx.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/usb/smsc95xx.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/usb/usbnet.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/usb/zaurus.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/adm8211.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/at76c50x-usb.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/ath/ar5523/ar5523.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/ath/ath.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/ath/ath5k/ath5k.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/ath/ath6kl/ath6kl_core.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/ath/ath6kl/ath6kl_sdio.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/ath/ath6kl/ath6kl_usb.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/ath/ath9k/ath9k.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/ath/ath9k/ath9k_common.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/ath/ath9k/ath9k_htc.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/ath/ath9k/ath9k_hw.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/ath/carl9170/carl9170.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/ath/wil6210/wil6210.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/b43/b43.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/b43legacy/b43legacy.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/brcm80211/brcmfmac/brcmfmac.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/brcm80211/brcmsmac/brcmsmac.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/brcm80211/brcmutil/brcmutil.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/ipw2x00/ipw2100.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/ipw2x00/ipw2200.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/ipw2x00/libipw.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/iwlegacy/iwl3945.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/iwlegacy/iwl4965.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/iwlegacy/iwlegacy.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/iwlwifi/dvm/iwldvm.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/iwlwifi/iwlwifi.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/libertas/libertas.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/libertas/libertas_cs.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/libertas/libertas_sdio.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/libertas/usb8xxx.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/libertas_tf/libertas_tf.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/libertas_tf/libertas_tf_usb.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/libertas_uap/uap8xxx.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/mac80211_hwsim.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/mwifiex/mwifiex.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/mwifiex/mwifiex_pcie.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/mwifiex/mwifiex_sdio.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/mwifiex/mwifiex_usb.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/mwl8k.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/orinoco/orinoco.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/orinoco/orinoco_cs.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/orinoco/orinoco_nortel.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/orinoco/orinoco_pci.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/orinoco/orinoco_plx.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/orinoco/orinoco_tmd.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/orinoco/orinoco_usb.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/orinoco/spectrum_cs.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/p54/p54common.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/p54/p54pci.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/p54/p54usb.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/rndis_wlan.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/rt2x00/rt2400pci.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/rt2x00/rt2500pci.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/rt2x00/rt2500usb.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/rt2x00/rt2800lib.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/rt2x00/rt2800pci.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/rt2x00/rt2800usb.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/rt2x00/rt2x00lib.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/rt2x00/rt2x00pci.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/rt2x00/rt2x00usb.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/rt2x00/rt61pci.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/rt2x00/rt73usb.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/rtl818x/rtl8180/rtl8180.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/rtl818x/rtl8187/rtl8187.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/rtlwifi/rtl8192ce/rtl8192ce.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/rtlwifi/rtl8192cu/rtl8192cu.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/rtlwifi/rtl8192de/rtl8192de.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/rtlwifi/rtl8192se/rtl8192se.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/rtlwifi/rtl8723ae/rtl8723ae.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/rtlwifi/rtlwifi.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/ti/wl1251/wl1251.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/ti/wl12xx/wl12xx.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/ti/wl18xx/wl18xx.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/ti/wlcore/wlcore.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko
+lib/modules/KVER-ipfire-pae/kernel/drivers/ssb/ssb.ko
+lib/modules/KVER-ipfire-pae/kernel/net/bluetooth/bluetooth.ko
+lib/modules/KVER-ipfire-pae/kernel/net/bluetooth/bnep/bnep.ko
+lib/modules/KVER-ipfire-pae/kernel/net/bluetooth/cmtp/cmtp.ko
+lib/modules/KVER-ipfire-pae/kernel/net/bluetooth/hidp/hidp.ko
+lib/modules/KVER-ipfire-pae/kernel/net/bluetooth/rfcomm/rfcomm.ko
+lib/modules/KVER-ipfire-pae/kernel/net/mac80211/mac80211.ko
+lib/modules/KVER-ipfire-pae/kernel/net/rfkill/rfkill-regulator.ko
+lib/modules/KVER-ipfire-pae/kernel/net/wireless/cfg80211.ko
+lib/modules/KVER-ipfire-pae/kernel/net/wireless/lib80211.ko
+lib/modules/KVER-ipfire-pae/kernel/net/wireless/lib80211_crypt_ccmp.ko
+lib/modules/KVER-ipfire-pae/kernel/net/wireless/lib80211_crypt_tkip.ko
+lib/modules/KVER-ipfire-pae/kernel/net/wireless/lib80211_crypt_wep.ko
diff --git a/config/rootfiles/core/67/filelists/i586/compat-drivers-modules-pae-xen b/config/rootfiles/core/67/filelists/i586/compat-drivers-modules-pae-xen
new file mode 100644 (file)
index 0000000..a93b06e
--- /dev/null
@@ -0,0 +1,137 @@
+lib/modules/2.6.32.60-ipfire-xen/kernel/compat/compat.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/compat/sch_codel.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/compat/sch_fq_codel.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/bcma/bcma.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/bluetooth/ath3k.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/bluetooth/bcm203x.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/bluetooth/bfusb.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/bluetooth/bluecard_cs.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/bluetooth/bpa10x.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/bluetooth/bt3c_cs.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/bluetooth/btmrvl.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/bluetooth/btmrvl_sdio.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/bluetooth/btsdio.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/bluetooth/btuart_cs.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/bluetooth/btusb.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/bluetooth/dtl1_cs.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/bluetooth/hci_uart.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/bluetooth/hci_vhci.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/gpu/drm/drm.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/gpu/drm/drm_kms_helper.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/gpu/drm/i915/i915.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/gpu/drm/radeon/radeon.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/gpu/drm/ttm/ttm.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/misc/eeprom/eeprom_93cx6.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/ethernet/atheros/alx/alx.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/ethernet/atheros/atl1c/atl1c.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/ethernet/atheros/atl1e/atl1e.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/ethernet/atheros/atlx/atl1.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/ethernet/atheros/atlx/atl2.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/ethernet/broadcom/b44.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/usb/asix.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/usb/catc.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/usb/cdc_eem.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/usb/cdc_ether.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/usb/cdc_subset.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/usb/dm9601.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/usb/gl620a.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/usb/hso.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/usb/int51x1.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/usb/kaweth.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/usb/mcs7830.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/usb/net1080.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/usb/pegasus.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/usb/plusb.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/usb/rndis_host.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/usb/rtl8150.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/usb/smsc95xx.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/usb/usbnet.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/usb/zaurus.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/adm8211.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/at76c50x-usb.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/ath/ar5523/ar5523.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/ath/ath.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/ath/ath5k/ath5k.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/ath/ath6kl/ath6kl_core.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/ath/ath6kl/ath6kl_sdio.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/ath/ath6kl/ath6kl_usb.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/ath/ath9k/ath9k.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/ath/ath9k/ath9k_common.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/ath/ath9k/ath9k_htc.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/ath/ath9k/ath9k_hw.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/ath/carl9170/carl9170.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/ath/wil6210/wil6210.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/b43/b43.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/b43legacy/b43legacy.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/brcm80211/brcmfmac/brcmfmac.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/brcm80211/brcmsmac/brcmsmac.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/brcm80211/brcmutil/brcmutil.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/ipw2x00/ipw2100.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/ipw2x00/ipw2200.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/ipw2x00/libipw.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/iwlegacy/iwl3945.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/iwlegacy/iwl4965.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/iwlegacy/iwlegacy.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/iwlwifi/dvm/iwldvm.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/iwlwifi/iwlwifi.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/libertas/libertas.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/libertas/libertas_cs.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/libertas/libertas_sdio.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/libertas/usb8xxx.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/libertas_tf/libertas_tf.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/libertas_tf/libertas_tf_usb.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/mac80211_hwsim.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/mwifiex/mwifiex.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/mwifiex/mwifiex_pcie.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/mwifiex/mwifiex_sdio.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/mwifiex/mwifiex_usb.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/mwl8k.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/orinoco/orinoco.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/orinoco/orinoco_cs.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/orinoco/orinoco_nortel.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/orinoco/orinoco_pci.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/orinoco/orinoco_plx.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/orinoco/orinoco_tmd.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/orinoco/orinoco_usb.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/orinoco/spectrum_cs.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/p54/p54common.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/p54/p54pci.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/p54/p54usb.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/rndis_wlan.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/rt2x00/rt2400pci.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/rt2x00/rt2500pci.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/rt2x00/rt2500usb.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/rt2x00/rt2800lib.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/rt2x00/rt2800pci.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/rt2x00/rt2800usb.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/rt2x00/rt2x00lib.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/rt2x00/rt2x00pci.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/rt2x00/rt2x00usb.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/rt2x00/rt61pci.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/rt2x00/rt73usb.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/rtl818x/rtl8180/rtl8180.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/rtl818x/rtl8187/rtl8187.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/rtlwifi/rtl8192c/rtl8192c-common.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/rtlwifi/rtl8192ce/rtl8192ce.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/rtlwifi/rtl8192cu/rtl8192cu.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/rtlwifi/rtl8192de/rtl8192de.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/rtlwifi/rtl8192se/rtl8192se.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/rtlwifi/rtl8723ae/rtl8723ae.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/rtlwifi/rtlwifi.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/ti/wl1251/wl1251.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/ti/wl12xx/wl12xx.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/ti/wl18xx/wl18xx.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/ti/wlcore/wlcore.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/net/wireless/zd1211rw/zd1211rw.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/drivers/ssb/ssb.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/net/bluetooth/bluetooth.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/net/bluetooth/bnep/bnep.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/net/bluetooth/cmtp/cmtp.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/net/bluetooth/hidp/hidp.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/net/bluetooth/rfcomm/rfcomm.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/net/mac80211/mac80211.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/net/wireless/cfg80211.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/net/wireless/lib80211.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/net/wireless/lib80211_crypt_ccmp.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/net/wireless/lib80211_crypt_tkip.ko
+lib/modules/2.6.32.60-ipfire-xen/kernel/net/wireless/lib80211_crypt_wep.ko
diff --git a/config/rootfiles/core/67/update.sh b/config/rootfiles/core/67/update.sh
new file mode 100644 (file)
index 0000000..caaf3c9
--- /dev/null
@@ -0,0 +1,91 @@
+#!/bin/bash
+############################################################################
+#                                                                          #
+# This file is part of the IPFire Firewall.                                #
+#                                                                          #
+# IPFire is free software; you can redistribute it and/or modify           #
+# it under the terms of the GNU General Public License as published by     #
+# the Free Software Foundation; either version 3 of the License, or        #
+# (at your option) any later version.                                      #
+#                                                                          #
+# IPFire is distributed in the hope that it will be useful,                #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of           #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            #
+# GNU General Public License for more details.                             #
+#                                                                          #
+# You should have received a copy of the GNU General Public License        #
+# along with IPFire; if not, write to the Free Software                    #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
+#                                                                          #
+# Copyright (C) 2013 IPFire-Team <info@ipfire.org>.                        #
+#                                                                          #
+############################################################################
+#
+. /opt/pakfire/lib/functions.sh
+/usr/local/bin/backupctrl exclude >/dev/null 2>&1
+
+#
+# Remove old core updates from pakfire cache to save space...
+core=67
+for (( i=1; i<=$core; i++ ))
+do
+       rm -f /var/cache/pakfire/core-upgrade-*-$i.ipfire
+done
+
+#
+#Stop services
+/etc/init.d/squid stop
+
+#
+#Extract files
+extract_files
+
+#
+#Start services
+/etc/init.d/squid start
+
+#
+#Update Language cache
+perl -e "require '/var/ipfire/lang.pl'; &Lang::BuildCacheLang"
+
+#remove wrong mISDN modules
+rm -rf /lib/modules/*-ipfire*/kernel/drivers/isdn/mISDN
+rm -rf /lib/modules/*-ipfire*/kernel/drivers/isdn/hardware/mISDN
+
+#remove pae kernel from pakfire cache to force reload if it should reinstalled
+rm -rf /var/cache/pakfire/linux-pae*.ipfire
+
+#Rebuild module dep's
+arch=`uname -m`
+if [ ${arch::3} == "arm" ]; then
+       depmod -a 3.2.38-ipfire-kirkwood >/dev/null 2>&1
+       depmod -a 3.2.38-ipfire-omap >/dev/null 2>&1
+       depmod -a 3.2.38-ipfire-rpi >/dev/null 2>&1
+else
+       depmod -a 3.2.38-ipfire     >/dev/null 2>&1
+       depmod -a 3.2.38-ipfire-pae >/dev/null 2>&1
+       depmod -a 2.6.32.60-ipfire-xen >/dev/null 2>&1
+fi
+
+#Rebuild initrd's
+#if [ -e /boot/ipfirerd-3.2.38.img ]; then
+#/sbin/dracut --force --verbose /boot/ipfirerd-3.2.38.img 3.2.38-ipfire
+#fi
+#if [ -e /boot/ipfirerd-3.2.38-pae.img ]; then
+#/sbin/dracut --force --verbose /boot/ipfirerd-3.2.38-pae.img 3.2.38-ipfire-pae
+#fi
+#if [ -e /boot/ipfirerd-2.6.32.60-xen.img ]; then
+#/sbin/dracut --force --verbose /boot/ipfirerd-2.6.32.60-xen.img 2.6.32.60-ipfire-xen
+#fi
+
+sync
+
+# This update need a reboot...
+touch /var/run/need_reboot
+
+#
+#Finish
+/etc/init.d/fireinfo start
+sendprofile
+#Don't report the exitcode last command
+exit 0
diff --git a/config/rootfiles/core/68/exclude b/config/rootfiles/core/68/exclude
new file mode 100644 (file)
index 0000000..321a931
--- /dev/null
@@ -0,0 +1,17 @@
+srv/web/ipfire/html/proxy.pac
+boot/config.txt
+etc/udev/rules.d/30-persistent-network.rules
+etc/collectd.custom
+etc/shadow
+etc/ipsec.conf
+etc/ipsec.secrets
+etc/ipsec.user.conf
+etc/ipsec.user.secrets
+var/log/cache
+var/updatecache
+etc/localtime
+var/ipfire/ovpn
+etc/ssh/ssh_config
+etc/ssh/sshd_config
+etc/ssl/openssl.cnf
+var/state/dhcp/dhcpd.leases
diff --git a/config/rootfiles/core/68/filelists/files b/config/rootfiles/core/68/filelists/files
new file mode 100644 (file)
index 0000000..5e1f1e0
--- /dev/null
@@ -0,0 +1,9 @@
+etc/system-release
+etc/issue
+srv/web/ipfire/html/themes/ipfire/include/style.css
+srv/web/ipfire/html/themes/ipfire/include/functions.pl
+srv/web/ipfire/html/themes/maniac/include/style.css
+srv/web/ipfire/html/include/jquery-1.9.1.min.js
+var/ipfire/header.pl
+var/ipfire/general-functions.pl
+var/ipfire/langs
diff --git a/config/rootfiles/core/68/meta b/config/rootfiles/core/68/meta
new file mode 100644 (file)
index 0000000..d547fa8
--- /dev/null
@@ -0,0 +1 @@
+DEPS=""
diff --git a/config/rootfiles/core/68/update.sh b/config/rootfiles/core/68/update.sh
new file mode 100644 (file)
index 0000000..1a7b1a7
--- /dev/null
@@ -0,0 +1,59 @@
+#!/bin/bash
+############################################################################
+#                                                                          #
+# This file is part of the IPFire Firewall.                                #
+#                                                                          #
+# IPFire is free software; you can redistribute it and/or modify           #
+# it under the terms of the GNU General Public License as published by     #
+# the Free Software Foundation; either version 3 of the License, or        #
+# (at your option) any later version.                                      #
+#                                                                          #
+# IPFire is distributed in the hope that it will be useful,                #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of           #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            #
+# GNU General Public License for more details.                             #
+#                                                                          #
+# You should have received a copy of the GNU General Public License        #
+# along with IPFire; if not, write to the Free Software                    #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
+#                                                                          #
+# Copyright (C) 2013 IPFire-Team <info@ipfire.org>.                        #
+#                                                                          #
+############################################################################
+#
+. /opt/pakfire/lib/functions.sh
+/usr/local/bin/backupctrl exclude >/dev/null 2>&1
+
+#
+# Remove old core updates from pakfire cache to save space...
+core=68
+for (( i=1; i<=$core; i++ ))
+do
+       rm -f /var/cache/pakfire/core-upgrade-*-$i.ipfire
+done
+
+#
+#Stop services
+
+#
+#Extract files
+extract_files
+
+#
+#Start services
+
+#
+#Update Language cache
+perl -e "require '/var/ipfire/lang.pl'; &Lang::BuildCacheLang"
+
+sync
+
+# This update need a reboot...
+#touch /var/run/need_reboot
+
+#
+#Finish
+/etc/init.d/fireinfo start
+sendprofile
+#Don't report the exitcode last command
+exit 0
index 50c2179c2ad055c2f7b51023a8dfc035daf8ea7d..6dabddfeb47664a7760f83ce27ba219e9fa6b5ac 100644 (file)
@@ -1,176 +1 @@
-lib/modules/KVER-ipfire/kernel/drivers/net/3c501.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/3c503.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/3c505.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/3c507.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/3c509.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/3c515.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/3c523.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/3c527.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/3c59x.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/8139cp.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/8139too.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/82596.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/8390.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/8390p.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/ac3200.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/acenic.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/amd8111e.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/at1700.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/atl1c/atl1c.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/atl1e/atl1e.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/atlx/atl1.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/atlx/atl2.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/atp.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/b44.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/benet/be2net.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/bnx2.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/bnx2x.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/bsd_comp.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/cassini.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/chelsio/cxgb.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/cnic.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/cs89x0.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/cxgb3/cxgb3.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/de600.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/de620.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/depca.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/dl2k.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/dnet.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/dummy.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/e100.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/e1000/e1000.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/e1000e/e1000e.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/e2100.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/eepro.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/eexpress.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/enic/enic.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/epic100.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/eql.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/es3210.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/eth16i.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/ethoc.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/ewrk3.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/fealnx.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/forcedeth.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/hamachi.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/hp-plus.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/hp.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/hp100.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/ibmlana.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/ifb.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/igb/igb.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/igbvf/igbvf.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/imq.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/ipg.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/ixgb/ixgb.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/ixgbe/ixgbe.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/jme.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/ks8842.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/ks8851_mll.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/lance.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/lne390.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/lp486e.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/macvlan.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/mdio.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/mii.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/mlx4/mlx4_core.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/mlx4/mlx4_en.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/myri10ge/myri10ge.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/natsemi.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/ne.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/ne2.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/ne2k-pci.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/ne3210.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/netxen/netxen_nic.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/ni52.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/ni65.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/niu.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/ns83820.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/pcmcia/3c574_cs.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/pcmcia/3c589_cs.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/pcmcia/axnet_cs.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/pcmcia/fmvj18x_cs.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/pcmcia/nmclan_cs.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/pcmcia/pcnet_cs.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/pcmcia/smc91c92_cs.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/pcmcia/xirc2ps_cs.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/pcnet32.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/phy/broadcom.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/phy/cicada.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/phy/davicom.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/phy/et1011c.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/phy/icplus.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/phy/lxt.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/phy/marvell.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/phy/mdio-bitbang.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/phy/national.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/phy/qsemi.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/phy/realtek.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/phy/smsc.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/phy/ste10Xp.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/phy/vitesse.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/qla3xxx.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/qlge/qlge.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/r6040.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/r8169.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/s2io.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/sb1000.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/sc92031.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/seeq8005.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/sfc/sfc.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/sis190.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/sis900.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/skge.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/sky2.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/slhc.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/smc-mca.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/smc-ultra.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/smc-ultra32.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/smc9194.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/smsc9420.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/starfire.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/sundance.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/sungem.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/sungem_phy.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/sunhme.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/tehuti.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/tg3.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/tlan.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/tulip/de2104x.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/tulip/de4x5.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/tulip/dmfe.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/tulip/tulip.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/tulip/uli526x.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/tulip/winbond-840.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/tulip/xircom_cb.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/typhoon.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/usb/asix.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/usb/catc.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/usb/cdc-phonet.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/usb/cdc_eem.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/usb/cdc_ether.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/usb/cdc_subset.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/usb/dm9601.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/usb/gl620a.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/usb/hso.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/usb/int51x1.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/usb/kaweth.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/usb/mcs7830.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/usb/net1080.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/usb/pegasus.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/usb/plusb.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/usb/rndis_host.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/usb/rtl8150.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/usb/smsc95xx.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/usb/usbnet.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/usb/zaurus.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/veth.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/via-rhine.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/via-velocity.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/virtio_net.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/vmxnet3/vmxnet3.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/vxge/vxge.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/wd.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/yellowfin.ko
-lib/modules/KVER-ipfire/kernel/drivers/net/znet.ko
-lib/modules/KVER-ipfire/kernel/drivers/staging/et131x/et131x.ko
+lib/modules/KVER-ipfire/kernel/drivers/net
diff --git a/config/rootfiles/oldcore/66/filelists/armv5tel/rpi-firmware b/config/rootfiles/oldcore/66/filelists/armv5tel/rpi-firmware
new file mode 120000 (symlink)
index 0000000..428fdf8
--- /dev/null
@@ -0,0 +1 @@
+../../../../common/armv5tel/rpi-firmware
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/66/filelists/squid b/config/rootfiles/oldcore/66/filelists/squid
new file mode 120000 (symlink)
index 0000000..2dc8372
--- /dev/null
@@ -0,0 +1 @@
+../../../common/squid
\ No newline at end of file
diff --git a/config/rootfiles/oldcore/66/meta b/config/rootfiles/oldcore/66/meta
new file mode 100644 (file)
index 0000000..d547fa8
--- /dev/null
@@ -0,0 +1 @@
+DEPS=""
diff --git a/config/rootfiles/packages/avahi b/config/rootfiles/packages/avahi
new file mode 100644 (file)
index 0000000..dc2c56d
--- /dev/null
@@ -0,0 +1,164 @@
+etc/avahi
+etc/avahi/avahi-autoipd.action
+etc/avahi/avahi-daemon.conf
+etc/avahi/avahi-dnsconfd.action
+etc/avahi/hosts
+etc/avahi/services
+etc/avahi/services/sftp-ssh.service
+etc/avahi/services/smb.service
+etc/avahi/services/ssh.service
+#etc/dbus-1/system.d/avahi-dbus.conf
+etc/rc.d/init.d/avahi
+usr/bin/avahi-browse
+usr/bin/avahi-browse-domains
+usr/bin/avahi-publish
+usr/bin/avahi-publish-address
+usr/bin/avahi-publish-service
+usr/bin/avahi-resolve
+usr/bin/avahi-resolve-address
+usr/bin/avahi-resolve-host-name
+usr/bin/avahi-set-host-name
+#usr/include/avahi-client
+#usr/include/avahi-client/client.h
+#usr/include/avahi-client/lookup.h
+#usr/include/avahi-client/publish.h
+#usr/include/avahi-common
+#usr/include/avahi-common/address.h
+#usr/include/avahi-common/alternative.h
+#usr/include/avahi-common/cdecl.h
+#usr/include/avahi-common/defs.h
+#usr/include/avahi-common/domain.h
+#usr/include/avahi-common/error.h
+#usr/include/avahi-common/gccmacro.h
+#usr/include/avahi-common/llist.h
+#usr/include/avahi-common/malloc.h
+#usr/include/avahi-common/rlist.h
+#usr/include/avahi-common/simple-watch.h
+#usr/include/avahi-common/strlst.h
+#usr/include/avahi-common/thread-watch.h
+#usr/include/avahi-common/timeval.h
+#usr/include/avahi-common/watch.h
+#usr/include/avahi-core
+#usr/include/avahi-core/core.h
+#usr/include/avahi-core/log.h
+#usr/include/avahi-core/lookup.h
+#usr/include/avahi-core/publish.h
+#usr/include/avahi-core/rr.h
+#usr/include/avahi-glib
+#usr/include/avahi-glib/glib-malloc.h
+#usr/include/avahi-glib/glib-watch.h
+#usr/include/avahi-gobject
+#usr/include/avahi-gobject/ga-client.h
+#usr/include/avahi-gobject/ga-entry-group.h
+#usr/include/avahi-gobject/ga-enums.h
+#usr/include/avahi-gobject/ga-error.h
+#usr/include/avahi-gobject/ga-record-browser.h
+#usr/include/avahi-gobject/ga-service-browser.h
+#usr/include/avahi-gobject/ga-service-resolver.h
+#usr/lib/avahi
+usr/lib/avahi/service-types.db
+#usr/lib/libavahi-client.a
+#usr/lib/libavahi-client.la
+#usr/lib/libavahi-client.so
+usr/lib/libavahi-client.so.3
+usr/lib/libavahi-client.so.3.2.9
+#usr/lib/libavahi-common.a
+#usr/lib/libavahi-common.la
+#usr/lib/libavahi-common.so
+usr/lib/libavahi-common.so.3
+usr/lib/libavahi-common.so.3.5.3
+#usr/lib/libavahi-core.a
+#usr/lib/libavahi-core.la
+#usr/lib/libavahi-core.so
+usr/lib/libavahi-core.so.7
+usr/lib/libavahi-core.so.7.0.2
+#usr/lib/libavahi-glib.a
+#usr/lib/libavahi-glib.la
+#usr/lib/libavahi-glib.so
+usr/lib/libavahi-glib.so.1
+usr/lib/libavahi-glib.so.1.0.2
+#usr/lib/libavahi-gobject.a
+#usr/lib/libavahi-gobject.la
+#usr/lib/libavahi-gobject.so
+usr/lib/libavahi-gobject.so.0
+usr/lib/libavahi-gobject.so.0.0.4
+#usr/lib/pkgconfig/avahi-client.pc
+#usr/lib/pkgconfig/avahi-core.pc
+#usr/lib/pkgconfig/avahi-glib.pc
+#usr/lib/pkgconfig/avahi-gobject.pc
+usr/lib/python2.7/site-packages/avahi
+usr/lib/python2.7/site-packages/avahi/ServiceTypeDatabase.py
+usr/sbin/avahi-autoipd
+usr/sbin/avahi-daemon
+usr/sbin/avahi-dnsconfd
+usr/share/avahi
+usr/share/avahi/avahi-service.dtd
+usr/share/avahi/service-types
+#usr/share/dbus-1/interfaces
+#usr/share/dbus-1/interfaces/org.freedesktop.Avahi.AddressResolver.xml
+#usr/share/dbus-1/interfaces/org.freedesktop.Avahi.DomainBrowser.xml
+#usr/share/dbus-1/interfaces/org.freedesktop.Avahi.EntryGroup.xml
+#usr/share/dbus-1/interfaces/org.freedesktop.Avahi.HostNameResolver.xml
+#usr/share/dbus-1/interfaces/org.freedesktop.Avahi.RecordBrowser.xml
+#usr/share/dbus-1/interfaces/org.freedesktop.Avahi.Server.xml
+#usr/share/dbus-1/interfaces/org.freedesktop.Avahi.ServiceBrowser.xml
+#usr/share/dbus-1/interfaces/org.freedesktop.Avahi.ServiceResolver.xml
+#usr/share/dbus-1/interfaces/org.freedesktop.Avahi.ServiceTypeBrowser.xml
+#usr/share/dbus-1/system-services
+#usr/share/locale/bg/LC_MESSAGES/avahi.mo
+#usr/share/locale/ca/LC_MESSAGES/avahi.mo
+#usr/share/locale/cs/LC_MESSAGES/avahi.mo
+#usr/share/locale/da/LC_MESSAGES/avahi.mo
+#usr/share/locale/de/LC_MESSAGES/avahi.mo
+#usr/share/locale/el/LC_MESSAGES/avahi.mo
+#usr/share/locale/en_AU/LC_MESSAGES/avahi.mo
+#usr/share/locale/en_CA/LC_MESSAGES/avahi.mo
+#usr/share/locale/en_GB/LC_MESSAGES/avahi.mo
+#usr/share/locale/en_NZ
+#usr/share/locale/en_NZ/LC_MESSAGES
+#usr/share/locale/en_NZ/LC_MESSAGES/avahi.mo
+#usr/share/locale/es/LC_MESSAGES/avahi.mo
+#usr/share/locale/fi/LC_MESSAGES/avahi.mo
+#usr/share/locale/fo
+#usr/share/locale/fo/LC_MESSAGES
+#usr/share/locale/fo/LC_MESSAGES/avahi.mo
+#usr/share/locale/fr/LC_MESSAGES/avahi.mo
+#usr/share/locale/gl/LC_MESSAGES/avahi.mo
+#usr/share/locale/he/LC_MESSAGES/avahi.mo
+#usr/share/locale/hu/LC_MESSAGES/avahi.mo
+#usr/share/locale/id/LC_MESSAGES/avahi.mo
+#usr/share/locale/it/LC_MESSAGES/avahi.mo
+#usr/share/locale/ja/LC_MESSAGES/avahi.mo
+#usr/share/locale/ms/LC_MESSAGES/avahi.mo
+#usr/share/locale/nl/LC_MESSAGES/avahi.mo
+#usr/share/locale/pl/LC_MESSAGES/avahi.mo
+#usr/share/locale/pt_BR/LC_MESSAGES/avahi.mo
+#usr/share/locale/ro/LC_MESSAGES/avahi.mo
+#usr/share/locale/ru/LC_MESSAGES/avahi.mo
+#usr/share/locale/sl/LC_MESSAGES/avahi.mo
+#usr/share/locale/sr/LC_MESSAGES/avahi.mo
+#usr/share/locale/sr@latin/LC_MESSAGES/avahi.mo
+#usr/share/locale/sv/LC_MESSAGES/avahi.mo
+#usr/share/locale/uk/LC_MESSAGES/avahi.mo
+#usr/share/locale/zh_CN/LC_MESSAGES/avahi.mo
+#usr/share/locale/zh_TW/LC_MESSAGES/avahi.mo
+#usr/share/man/man1/avahi-bookmarks.1
+#usr/share/man/man1/avahi-browse-domains.1
+#usr/share/man/man1/avahi-browse.1
+#usr/share/man/man1/avahi-publish-address.1
+#usr/share/man/man1/avahi-publish-service.1
+#usr/share/man/man1/avahi-publish.1
+#usr/share/man/man1/avahi-resolve-address.1
+#usr/share/man/man1/avahi-resolve-host-name.1
+#usr/share/man/man1/avahi-resolve.1
+#usr/share/man/man1/avahi-set-host-name.1
+#usr/share/man/man5/avahi-daemon.conf.5
+#usr/share/man/man5/avahi.hosts.5
+#usr/share/man/man5/avahi.service.5
+#usr/share/man/man8/avahi-autoipd.8
+#usr/share/man/man8/avahi-autoipd.action.8
+#usr/share/man/man8/avahi-daemon.8
+#usr/share/man/man8/avahi-dnsconfd.8
+#usr/share/man/man8/avahi-dnsconfd.action.8
+#usr/var/run
+etc/rc.d/init.d/avahi
diff --git a/config/rootfiles/packages/check_mk_agent b/config/rootfiles/packages/check_mk_agent
new file mode 100644 (file)
index 0000000..073b483
--- /dev/null
@@ -0,0 +1,2 @@
+usr/bin/check_mk_agent
+usr/bin/waitmax
diff --git a/config/rootfiles/packages/libdaemon b/config/rootfiles/packages/libdaemon
new file mode 100644 (file)
index 0000000..d22e694
--- /dev/null
@@ -0,0 +1,17 @@
+#usr/include/libdaemon
+#usr/include/libdaemon/daemon.h
+#usr/include/libdaemon/dexec.h
+#usr/include/libdaemon/dfork.h
+#usr/include/libdaemon/dlog.h
+#usr/include/libdaemon/dnonblock.h
+#usr/include/libdaemon/dpid.h
+#usr/include/libdaemon/dsignal.h
+#usr/lib/libdaemon.a
+#usr/lib/libdaemon.la
+#usr/lib/libdaemon.so
+usr/lib/libdaemon.so.0
+usr/lib/libdaemon.so.0.5.0
+#usr/lib/pkgconfig/libdaemon.pc
+#usr/share/doc/libdaemon
+#usr/share/doc/libdaemon/README.html
+#usr/share/doc/libdaemon/style.css
index 7585380ee62af0510ff5246ae9fb1e2e665df1f6..6fa115a2ef1e5593debd2ee970f0167e317f2b2f 100644 (file)
@@ -1,5 +1,7 @@
+etc/rc.d/init.d/nfs-server
 sbin/mount.nfs
 sbin/mount.nfs4
+sbin/osd_login
 sbin/umount.nfs
 sbin/umount.nfs4
 #usr/include/nfsidmap.h
@@ -20,6 +22,9 @@ usr/lib/libnfsidmap/static.so
 usr/lib/libnfsidmap/umich_ldap.so
 #usr/lib/pkgconfig/libnfsidmap.pc
 usr/sbin/exportfs
+usr/sbin/mountstats
+usr/sbin/nfsdcltrack
+usr/sbin/nfsiostat
 usr/sbin/nfsstat
 usr/sbin/rpc.idmapd
 usr/sbin/rpc.mountd
@@ -37,7 +42,10 @@ usr/sbin/start-statd
 #usr/share/man/man8/idmapd.8
 #usr/share/man/man8/mount.nfs.8
 #usr/share/man/man8/mountd.8
+#usr/share/man/man8/mountstats.8
 #usr/share/man/man8/nfsd.8
+#usr/share/man/man8/nfsdcltrack.8
+#usr/share/man/man8/nfsiostat.8
 #usr/share/man/man8/nfsstat.8
 #usr/share/man/man8/rpc.idmapd.8
 #usr/share/man/man8/rpc.mountd.8
@@ -56,5 +64,4 @@ var/lib/nfs/sm
 #var/lib/nfs/sm.bak
 var/lib/nfs/state
 var/lib/nfs/xtab
-etc/rc.d/init.d/nfs-server
 var/ipfire/nfs/nfs-server
diff --git a/config/rootfiles/packages/nginx b/config/rootfiles/packages/nginx
new file mode 100644 (file)
index 0000000..5ecb241
--- /dev/null
@@ -0,0 +1,24 @@
+etc/nginx
+etc/nginx/fastcgi.conf
+etc/nginx/fastcgi.conf.default
+etc/nginx/fastcgi_params
+etc/nginx/fastcgi_params.default
+etc/nginx/koi-utf
+etc/nginx/koi-win
+etc/nginx/mime.types
+etc/nginx/mime.types.default
+etc/nginx/nginx.conf
+etc/nginx/nginx.conf.default
+etc/nginx/scgi_params
+etc/nginx/scgi_params.default
+etc/nginx/uwsgi_params
+etc/nginx/uwsgi_params.default
+etc/nginx/win-utf
+etc/rc.d/init.d/nginx
+usr/sbin/nginx
+usr/share/nginx
+usr/share/nginx/html
+usr/share/nginx/html/50x.html
+usr/share/nginx/html/index.html
+var/log/nginx
+var/spool/nginx
index effabc805b8d08e85210b8e2f8102418a39096cc..da902d5c0108235553aec1d90c372c9ce2e6a11a 100644 (file)
@@ -34,6 +34,8 @@ usr/lib/pakfire/macros/build.macro
 usr/lib/pakfire/macros/cflags.macro
 usr/lib/pakfire/macros/constants.macro
 usr/lib/pakfire/macros/package-default.macro
+usr/lib/pakfire/macros/perl.macro
+usr/lib/pakfire/macros/python.macro
 usr/lib/pakfire/macros/quality-agent.macro
 usr/lib/pakfire/macros/systemd.macro
 usr/lib/pakfire/macros/templates.macro
@@ -50,21 +52,15 @@ usr/lib/python2.7/site-packages/pakfire/__version__.py
 usr/lib/python2.7/site-packages/pakfire/_lzma.so
 usr/lib/python2.7/site-packages/pakfire/_pakfire.so
 usr/lib/python2.7/site-packages/pakfire/actions.py
-usr/lib/python2.7/site-packages/pakfire/api.py
 usr/lib/python2.7/site-packages/pakfire/base.py
 usr/lib/python2.7/site-packages/pakfire/builder.py
 usr/lib/python2.7/site-packages/pakfire/cgroup.py
-usr/lib/python2.7/site-packages/pakfire/chroot.py
 usr/lib/python2.7/site-packages/pakfire/cli.py
-usr/lib/python2.7/site-packages/pakfire/client
-usr/lib/python2.7/site-packages/pakfire/client/__init__.py
-usr/lib/python2.7/site-packages/pakfire/client/base.py
-usr/lib/python2.7/site-packages/pakfire/client/builder.py
-usr/lib/python2.7/site-packages/pakfire/client/test.py
-usr/lib/python2.7/site-packages/pakfire/client/transport.py
+usr/lib/python2.7/site-packages/pakfire/client.py
 usr/lib/python2.7/site-packages/pakfire/compress.py
 usr/lib/python2.7/site-packages/pakfire/config.py
 usr/lib/python2.7/site-packages/pakfire/constants.py
+usr/lib/python2.7/site-packages/pakfire/daemon.py
 usr/lib/python2.7/site-packages/pakfire/distro.py
 usr/lib/python2.7/site-packages/pakfire/downloader.py
 usr/lib/python2.7/site-packages/pakfire/errors.py
@@ -82,6 +78,7 @@ usr/lib/python2.7/site-packages/pakfire/packages/lexer.py
 usr/lib/python2.7/site-packages/pakfire/packages/make.py
 usr/lib/python2.7/site-packages/pakfire/packages/packager.py
 usr/lib/python2.7/site-packages/pakfire/packages/solv.py
+usr/lib/python2.7/site-packages/pakfire/packages/tar.py
 usr/lib/python2.7/site-packages/pakfire/repository
 usr/lib/python2.7/site-packages/pakfire/repository/__init__.py
 usr/lib/python2.7/site-packages/pakfire/repository/base.py
@@ -94,8 +91,10 @@ usr/lib/python2.7/site-packages/pakfire/repository/remote.py
 usr/lib/python2.7/site-packages/pakfire/repository/system.py
 usr/lib/python2.7/site-packages/pakfire/satsolver.py
 usr/lib/python2.7/site-packages/pakfire/server.py
+usr/lib/python2.7/site-packages/pakfire/shell.py
 usr/lib/python2.7/site-packages/pakfire/system.py
 usr/lib/python2.7/site-packages/pakfire/transaction.py
+usr/lib/python2.7/site-packages/pakfire/transport.py
 usr/lib/python2.7/site-packages/pakfire/util.py
 usr/lib/quality-agent
 usr/lib/quality-agent/001-include-files
@@ -112,7 +111,6 @@ usr/lib/quality-agent/050-libs-x86_64
 usr/lib/quality-agent/050-nx
 usr/lib/quality-agent/050-relro
 usr/lib/quality-agent/050-rpaths
-usr/lib/quality-agent/090-python-hardlinks
 usr/lib/quality-agent/095-directory-layout
 usr/lib/quality-agent/qa-include
 var/ipfire/backup/addons/includes/pakfire3
diff --git a/config/rootfiles/packages/sendEmail b/config/rootfiles/packages/sendEmail
new file mode 100644 (file)
index 0000000..ee206e2
--- /dev/null
@@ -0,0 +1 @@
+usr/local/bin/sendEmail
index 4aaa38938c5473a40ce481822e9c46229a1c3cd7..cdfce26d8aa16813e99196c2de431aa42fc94381 100644 (file)
@@ -8,6 +8,11 @@
 #
 # $Id: updxlrator,v 2.1 2009/01/10 00:00:00 marco.s Exp $
 #
+# ChangeLog:
+#
+# 2012-10-26: nightshift - move curly bracket to capture AVG download source.
+#                       - Adding BIG HINT for new update source#
+#
 
 use strict;
 use HTTP::Date;
@@ -75,8 +80,8 @@ while (<>) {
        # -----------------------------------------------------------
 
        if (
-           (($source_url =~ m@^http://[^/]*\.microsoft\.com/.*\.(exe|psf|msi|msp|cab)$@i) ||
-            ($source_url =~ m@^http://[^/]*\.windowsupdate\.com/.*\.(exe|psf|msi|msp|cab)$@i))
+           (($source_url =~ m@^http://[^/]*\.microsoft\.com/.*\.(exe|psf|msi|msp|msu|cab)$@i) ||
+            ($source_url =~ m@^http://[^/]*\.windowsupdate\.com/.*\.(exe|psf|msi|msp|msu|cab)$@i))
        &&   ($source_url !~ m@^http://[^/]*\.microsoft\.com/.*(/autoupd|selfupdate/).*\.cab@i)
        &&   ($source_url !~ m@\&@)
           )
@@ -88,6 +93,7 @@ while (<>) {
        #  Section: Adobe Downloads
        # -----------------------------------------------------------
 
+
        if (
            ($source_url =~ m@^http://(ar)?download\.adobe\.com/.*\.(exe|msi|bin|dmg|idx|gz)$@i) ||
            ($source_url =~ m@^http://swupdl\.adobe\.com/updates/.*\.(exe|msi|bin|dmg|idx|gz|[a-z][a-z]_[A-Z][A-Z])$@i) ||
@@ -149,13 +155,29 @@ while (<>) {
        #  Section: Avast Downloads
        # -----------------------------------------------------------
 
-       if ($source_url =~ m@^http://download[\d]+\.avast\.com/.*\.(exe|vpu)$@i)
+       if ($source_url =~ m@^http://(ion|download)[\d]+\.avast\.com/.*\.(exe|vpu|vpx)$@i)
        {
                $xlrator_url = &check_cache($source_url,$hostaddr,$username,"Avast",$mirror);
        }
 
+        # -----------------------------------------------------------
+        #  Section: Mozilla Downloads
+        # -----------------------------------------------------------
+
+       if ($source_url=~ m@^http://.*\.mozilla\.net/.*\.((complete|partial)\.mar|exe)$@i)
+       { 
+               $xlrator_url = &check_cache($source_url,$hostaddr,$username,"Mozilla",$unique);
+       }
+
+       # -----------------------------------------------------------
+       #  Section: Mcafee
        # -----------------------------------------------------------
        
+       if ($source_url =~ m@^http://update\.nai\.com/.*\.(mcs|z|gem|dat|zip)$@i)
+       {
+               $xlrator_url = &check_cache($source_url,$hostaddr,$username,"mcafee",$mirror);
+       }
+       
        # -----------------------------------------------------------
        # Section: Avira Downloads
        # -----------------------------------------------------------
@@ -178,8 +200,6 @@ while (<>) {
                $xlrator_url = &check_cache($source_url,$hostaddr,$username,"IPFire",$mirror);
        }
 
-       }
-       
        # -----------------------------------------------------------
        # Section: AVG Downloads
        # -----------------------------------------------------------
@@ -189,6 +209,9 @@ while (<>) {
 #              $xlrator_url = &check_cache($source_url,$hostaddr,$username,"AVG",$mirror);
 #      }
 
+# ----------- ADD NEW SOURCES BEFORE THIS LINE !!! ------------------
+       }
+
        $request="$xlrator_url $hostaddr $username $method\n";
 
        print $request;
index 78a02226687c86282549937b48c619b2a2498e6f..2468981ea950cce53f5e82f42b82e0a6b8051ffb 100644 (file)
@@ -506,6 +506,7 @@ WARNING: translation string unused: yearly firewallhits
 WARNING: untranslated string: Async logging enabled
 WARNING: untranslated string: Scan for Songs
 WARNING: untranslated string: Set time on boot
+WARNING: untranslated string: advproxy cache-digest
 WARNING: untranslated string: advproxy errmsg cache
 WARNING: untranslated string: advproxy errmsg invalid upstream proxy
 WARNING: untranslated string: attention
index 4c185286ccc7097dcf377be00d61f8dde30bb782..70dbdc1e4dbe0aff5aaad06cedc2b3e645ea8c08 100644 (file)
@@ -505,6 +505,7 @@ WARNING: translation string unused: xtaccess bad transfert
 WARNING: translation string unused: year-graph
 WARNING: translation string unused: yearly firewallhits
 WARNING: untranslated string: Scan for Songs
+WARNING: untranslated string: advproxy cache-digest
 WARNING: untranslated string: advproxy errmsg cache
 WARNING: untranslated string: advproxy errmsg invalid upstream proxy
 WARNING: untranslated string: attention
index 5a23c69c6ab1d68bc024a8737ecb0a05d5acf875..f17d07d758ca0b8349465ff203c6c88decc329ed 100644 (file)
@@ -507,6 +507,7 @@ WARNING: translation string unused: xtaccess bad transfert
 WARNING: translation string unused: year-graph
 WARNING: translation string unused: yearly firewallhits
 WARNING: untranslated string: Scan for Songs
+WARNING: untranslated string: advproxy cache-digest
 WARNING: untranslated string: bytes
 WARNING: untranslated string: ccd iroute2
 WARNING: untranslated string: new
index 78a02226687c86282549937b48c619b2a2498e6f..2468981ea950cce53f5e82f42b82e0a6b8051ffb 100644 (file)
@@ -506,6 +506,7 @@ WARNING: translation string unused: yearly firewallhits
 WARNING: untranslated string: Async logging enabled
 WARNING: untranslated string: Scan for Songs
 WARNING: untranslated string: Set time on boot
+WARNING: untranslated string: advproxy cache-digest
 WARNING: untranslated string: advproxy errmsg cache
 WARNING: untranslated string: advproxy errmsg invalid upstream proxy
 WARNING: untranslated string: attention
index 0196084cb458b3af22b610698ebee5e04f1fc772..d59f4f6dc4aec2acc0ca84e425503ccc4196c5f7 100644 (file)
@@ -497,6 +497,7 @@ WARNING: translation string unused: yearly firewallhits
 WARNING: untranslated string: Add a route
 WARNING: untranslated string: Edit an existing route
 WARNING: untranslated string: Scan for Songs
+WARNING: untranslated string: advproxy cache-digest
 WARNING: untranslated string: advproxy errmsg cache
 WARNING: untranslated string: advproxy errmsg invalid upstream proxy
 WARNING: untranslated string: attention
index a4eebcd70a296ca791ea7e868c04c6abe6b49bf0..ac650b3305f408cad645143bf5f71a74dc746260 100644 (file)
@@ -11,6 +11,7 @@
 ############################################################################
 # Checking cgi-bin translations for language: fr                           #
 ############################################################################
+< advproxy cache-digest
 < advproxy errmsg cache
 < advproxy errmsg invalid upstream proxy
 < attention
 ############################################################################
 # Checking cgi-bin translations for language: es                           #
 ############################################################################
+< advproxy cache-digest
 < advproxy errmsg cache
 < advproxy errmsg invalid upstream proxy
 < Async logging enabled
 ############################################################################
 # Checking cgi-bin translations for language: pl                           #
 ############################################################################
+< advproxy cache-digest
 < advproxy errmsg cache
 < advproxy errmsg invalid upstream proxy
 < attention
 # Checking cgi-bin translations for language: ru                           #
 ############################################################################
 < Add a route
+< advproxy cache-digest
 < advproxy errmsg cache
 < advproxy errmsg invalid upstream proxy
 < attention
index 6919c8cf5d3dd882afa076236f79abcf3ff1a8ee..ea19e26f5904cfae7feb21b11ae948091e643bc7 100644 (file)
@@ -383,62 +383,79 @@ END
                        print "<td align='center'>$active</td>";
                }
        }
-       if ( `cat /var/ipfire/ovpn/settings | grep ^ENABLED=on` || 
-            `cat /var/ipfire/ovpn/settings | grep ^ENABLED_BLUE=on` || 
-            `cat /var/ipfire/ovpn/settings | grep ^ENABLED_ORANGE=on`) { 
-               my $ovpnip = `cat /var/ipfire/ovpn/settings | grep ^DOVPN_SUBNET= | cut -c 14- | sed -e 's\/\\/255.255.255.0\/\/'`;
+
+###
+# Check if there is any OpenVPN connection configured.
+###
+
+if ( -s "${General::swroot}/ovpn/ovpnconfig")
+       {
+       print <<END;
+       
+       <tr>
+               <td align='center' bgcolor='$Header::colourovpn' width='25%'>
+                       <a href="/cgi-bin/ovpnmain.cgi"><font size='2' color='white'><b>OpenVPN</b></font></a><br>
+               </td>
+END
+       # Check if the OpenVPN server for Road Warrior Connections is running and display status information.
+       my %confighash=();
+
+       &General::readhash("${General::swroot}/ovpn/settings", \%confighash);
+
+       if (($confighash{'ENABLED'} eq "on") ||
+           ($confighash{'ENABLED_BLUE'} eq "on") ||
+           ($confighash{'ENABLED_ORANGE'} eq "on")) {
+
+               my $ovpnip = $confighash{'DOVPN_SUBNET'};
                print <<END;
-               <tr><td align='center' bgcolor='$Header::colourovpn' width='25%'><a href="/cgi-bin/ovpnmain.cgi"><font size='2' color='white'><b>OpenVPN</b></font></a><br>
                <td width='30%' align='center'>$ovpnip
-               <td width='45%' align='center'><font color=$Header::colourgreen>Online</font>
-       
+               <td width='45%' align='center'><font color=$Header::colourgreen>Online</font>   
 END
 
        }
 
-###
-# Print the OpenVPN N2N connection status.
-###
-if ( -d "${General::swroot}/ovpn/n2nconf") {
-       my %confighash=();
-
-       &General::readhasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash);
-       foreach my $dkey (keys %confighash) {
-               if (($confighash{$dkey}[3] eq 'net') && (-e "/var/run/$confighash{$dkey}[1]n2n.pid")) {
-                       my $tport = $confighash{$dkey}[22];
-                       next if ($tport eq '');
-
-                       my $tnet = new Net::Telnet ( Timeout=>5, Errmode=>'return', Port=>$tport); 
-                       $tnet->open('127.0.0.1');
-                       my @output = $tnet->cmd(String => 'state', Prompt => '/(END.*\n|ERROR:.*\n)/');
-                       my @tustate = split(/\,/, $output[1]);
-
-                       my $display;
-                       my $display_colour = $Header::colourred;
-                       if ( $tustate[1] eq 'CONNECTED') {
-                               $display_colour = $Header::colourgreen;
-                               $display = $Lang::tr{'capsopen'};
-                       } else {
-                               $display = $tustate[1];
-                       }
+       # Print the OpenVPN N2N connection status.
+       if ( -d "${General::swroot}/ovpn/n2nconf") {
+               my %confighash=();
+
+               &General::readhasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash);
+               foreach my $dkey (keys %confighash) {
+                       if (($confighash{$dkey}[3] eq 'net') && (-e "/var/run/$confighash{$dkey}[1]n2n.pid")) {
+                               my $tport = $confighash{$dkey}[22];
+                               next if ($tport eq '');
+
+                               my $tnet = new Net::Telnet ( Timeout=>5, Errmode=>'return', Port=>$tport); 
+                               $tnet->open('127.0.0.1');
+                               my @output = $tnet->cmd(String => 'state', Prompt => '/(END.*\n|ERROR:.*\n)/');
+                               my @tustate = split(/\,/, $output[1]);
+
+                               my $display;
+                               my $display_colour = $Header::colourred;
+                               if ( $tustate[1] eq 'CONNECTED') {
+                                       $display_colour = $Header::colourgreen;
+                                       $display = $Lang::tr{'capsopen'};
+                               } else {
+                                       $display = $tustate[1];
+                               }
  
-                       print <<END;
-                       <tr>
-                               <td align='left' nowrap='nowrap' bgcolor='$color{'color22'}'>
-                                       $confighash{$dkey}[1]
-                               </td>
-                               <td align='center'>
-                                       $confighash{$dkey}[11]
-                               </td>
-                               <td align='center' bgcolor='$display_colour'>
-                                       <b>
-                                               <font color='#FFFFFF'>
-                                                       $display
-                                               </font>
-                                       </b>
-                               </td>
-                       </tr>
+                               print <<END;
+                               <tr>
+                                       <td align='left' nowrap='nowrap' bgcolor='$color{'color22'}'>
+                                               $confighash{$dkey}[1]
+                                       </td>
+                                       <td align='center'>
+                                               $confighash{$dkey}[11]
+                                       </td>
+                                       <td align='center' bgcolor='$display_colour'>
+                                               <b>
+                                                       <font color='#FFFFFF'>
+                                                               $display
+                                                       </font>
+                                               </b>
+                                       </td>
+                               </tr>
 END
+                       }
                }
        }
 }
index 58ebdf2faea0d22e0a92e9daad768381a8c2d390..cbaecd9aabcec3e7e6414d513eae93caccb1ffcd 100644 (file)
@@ -863,7 +863,7 @@ if ($cgiparams{'ACTION'} eq $Lang::tr{'save-adv-options'}) {
     }
                
     if ($cgiparams{'DHCP_DOMAIN'} ne ''){
-       unless (&General::validfqdn($cgiparams{'DHCP_DOMAIN'}) || &General::validip($cgiparams{'DHCP_DOMAIN'})) {
+       unless (&General::validdomainname($cgiparams{'DHCP_DOMAIN'}) || &General::validip($cgiparams{'DHCP_DOMAIN'})) {
                $errormessage = $Lang::tr{'invalid input for dhcp domain'};
        goto ADV_ERROR;
        }
@@ -4969,19 +4969,13 @@ END
 }
 
 
-       my $disable_clientdl = "disabled='disabled'";
-       if (( $cgiparams{'ENABLED'} eq 'on') || 
-           ( $cgiparams{'ENABLED_BLUE'} eq 'on') ||
-           ( $cgiparams{'ENABLED_ORANGE'} eq 'on')){
-           $disable_clientdl = "";
-       }
        print <<END
        <td align='center'>$active</td>
                
        <form method='post' name='frm${key}a'><td align='center'>
-           <input type='image'  name='$Lang::tr{'dl client arch'}' $disable_clientdl src='/images/openvpn.png' alt='$Lang::tr{'dl client arch'}' title='$Lang::tr{'dl client arch'}' border='0' />
-           <input type='hidden' name='ACTION' value='$Lang::tr{'dl client arch'}' $disable_clientdl />
-           <input type='hidden' name='KEY' value='$key' $disable_clientdl />
+           <input type='image'  name='$Lang::tr{'dl client arch'}' src='/images/openvpn.png' alt='$Lang::tr{'dl client arch'}' title='$Lang::tr{'dl client arch'}' border='0' />
+           <input type='hidden' name='ACTION' value='$Lang::tr{'dl client arch'}' />
+           <input type='hidden' name='KEY' value='$key' />
        </td></form>
 END
        ;
index cc7416a9439ba86fb54bc8d41f3fa8e4e2dfb738..901ed7250466d84a2aa6a0c043a3b3745d5e6098 100644 (file)
@@ -221,6 +221,7 @@ $proxysettings{'MEM_POLICY'} = 'LRU';
 $proxysettings{'CACHE_POLICY'} = 'LRU';
 $proxysettings{'L1_DIRS'} = '16';
 $proxysettings{'OFFLINE_MODE'} = 'off';
+$proxysettings{'CACHE_DIGESTS'} = 'off';
 $proxysettings{'CLASSROOM_EXT'} = 'off';
 $proxysettings{'SUPERVISOR_PASSWORD'} = '';
 $proxysettings{'NO_PROXY_LOCAL'} = 'off';
@@ -737,6 +738,9 @@ $selected{'L1_DIRS'}{$proxysettings{'L1_DIRS'}} = "selected='selected'";
 $checked{'OFFLINE_MODE'}{'off'} = '';
 $checked{'OFFLINE_MODE'}{'on'} = '';
 $checked{'OFFLINE_MODE'}{$proxysettings{'OFFLINE_MODE'}} = "checked='checked'";
+$checked{'CACHE_DIGESTS'}{'off'} = '';
+$checked{'CACHE_DIGESTS'}{'on'} = '';
+$checked{'CACHE_DIGESTS'}{$proxysettings{'CACHE_DIGESTS'}} = "checked='checked'";
 
 $checked{'LOGGING'}{'off'} = '';
 $checked{'LOGGING'}{'on'} = '';
@@ -1170,6 +1174,10 @@ print <<END
        <td class='base'>$Lang::tr{'advproxy offline mode'}:</td>
        <td><input type='checkbox' name='OFFLINE_MODE' $checked{'OFFLINE_MODE'}{'on'} /></td>
 </tr>
+<tr>
+       <td class='base'>$Lang::tr{'advproxy cache-digest'}:</td>
+        <td><input type='checkbox' name='CACHE_DIGESTS' $checked{'CACHE_DIGESTS'}{'on'} /></td>
+</tr>
 </table>
 <hr size='1'>
 <table width='100%'>
@@ -3097,7 +3105,8 @@ END
        print FILE "error_directory $errordir/$proxysettings{'ERR_LANGUAGE'}\n\n";
 
        if ($proxysettings{'OFFLINE_MODE'} eq 'on') {  print FILE "offline_mode on\n\n"; }
-
+       if ($proxysettings{'CACHE_DIGESTS'} eq 'on') {  print FILE "digest_generation on\n\n"; } else {  print FILE "digest_generation off\n\n"; }
+       
        if ((!($proxysettings{'MEM_POLICY'} eq 'LRU')) || (!($proxysettings{'CACHE_POLICY'} eq 'LRU')))
        {
                if (!($proxysettings{'MEM_POLICY'} eq 'LRU'))
index 27856cab9ba00f6d14c886e9104c35ec82d0c018..b3da32c3c2e2c70f12f76186c79903013c5122a2 100644 (file)
@@ -2,7 +2,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2005-2012  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2005-2013  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -92,7 +92,7 @@ $sambasettings{'REMOTESYNC'} = '';
 $sambasettings{'PASSWORDSYNC'} = 'off';
 $sambasettings{'OTHERINTERFACES'} = '127.0.0.1';
 $sambasettings{'GUESTACCOUNT'} = 'samba';
-$sambasettings{'MAPTOGUEST'} = 'Never';
+$sambasettings{'MAPTOGUEST'} = 'Bad User';
 $sambasettings{'LOGLEVEL'} = '3 passdb:5 auth:5 winbind:2';
 $sambasettings{'SYSLOGLEVEL'} = '1';
 $sambasettings{'SYSLOGONLY'} = 'on';
@@ -164,7 +164,7 @@ if ($sambasettings{'ACTION'} eq 'globalresetyes')
        $sambasettings{'PASSWORDSYNC'} = 'off';
        $sambasettings{'OTHERINTERFACES'} = '127.0.0.1';
        $sambasettings{'GUESTACCOUNT'} = 'samba';
-       $sambasettings{'MAPTOGUEST'} = 'Never';
+       $sambasettings{'MAPTOGUEST'} = 'Bad User';
        $sambasettings{'LOGLEVEL'} = '3 passdb:5 auth:5 winbind:2';
        $sambasettings{'SYSLOGLEVEL'} = '1';
        $sambasettings{'SYSLOGONLY'} = 'on';
@@ -427,6 +427,9 @@ $checked{'VPN'}{'off'} = '';
 $checked{'VPN'}{'on'} = '';
 $checked{'VPN'}{$sambasettings{'VPN'}} = "checked='checked'";
 
+if ( $sambasettings{'MAPTOGUEST'} eq "Never" ) {
+       $sambasettings{'MAPTOGUEST'}="Bad User";
+}
 $selected{'MAPTOGUEST'}{$sambasettings{'MAPTOGUEST'}} = "selected='selected'";
 $selected{'SECURITY'}{$sambasettings{'SECURITY'}} = "selected='selected'";
 
@@ -530,7 +533,6 @@ print <<END
                                                                                                                                                                <option value='server' $selected{'SECURITY'}{'server'}>Server</option>
                                                                                                                                                                </select></td></tr>
 <tr><td align='left' width='40%'>$Lang::tr{'map to guest'}</td><td align='left'><select name='MAPTOGUEST' style="width: 165px">
-                                                                                                                                                                               <option value='Never' $selected{'MAPTOGUEST'}{'Never'}>Never</option>
                                                                                                                                                                                <option value='Bad User' $selected{'MAPTOGUEST'}{'Bad User'}>Bad User</option>
                                                                                                                                                                                <option value='Bad Password' $selected{'MAPTOGUEST'}{'Bad Password'}>Bad Password</option>
                                                                                                                                                                                </select></td></tr>
index e3e633cc4fdf81ff21d35f04875c3894b2cb975e..df77a86afdb2e690464d0b3d23b96821a7631bca 100644 (file)
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
 #                                                                             #
 ###############################################################################
+#
+# Changelog:
+# 2012-10-27: nightshift - Bugfix regarding showing wrong vendor icon while Download of new Updates
+# 2012-10-27: nightshift - Optimizing logic of check for vendor icons
+#
 
 use strict;
 
@@ -75,6 +80,7 @@ my @vendors=();
 my %vendorstats=();
 
 my $repository = "/var/updatecache/";
+my $webhome = "/srv/web/ipfire/html"; 
 my $hintcolour = '#FFFFCC';
 my $colourgray = '#808080';
 
@@ -549,46 +555,23 @@ END
                        print "<img src='/images/updbooster/updxl-led-gray.gif' alt='$Lang::tr{'updxlrtr condition suspended'}' />&nbsp;</td>\n";
                }
 
-                       print "\t\t<td align='center' nowrap='nowrap'>&nbsp;";
-                       if ($vendorid =~ /^Adobe$/i)
-                       {
-                               print "<img src='/images/updbooster/updxl-src-adobe.gif' alt='Adobe'}' />&nbsp;</td>\n";
-                       } elsif ($vendorid =~ /^Microsoft$/i)
-                       {
-                               print "<img src='/images/updbooster/updxl-src-windows.gif' alt='Microsoft'}' />&nbsp;</td>\n";
-                       } elsif ($vendorid =~ /^Symantec$/i)
-                       {
-                               print "<img src='/images/updbooster/updxl-src-symantec.gif' alt='Symantec'}' />&nbsp;</td>\n";
-                       } elsif ($vendorid =~ /^Linux$/i)
-                       {
-                               print "<img src='/images/updbooster/updxl-src-linux.gif' alt='Linux'}' />&nbsp;</td>\n";
-                       } elsif ($vendorid =~ /^TrendMicro$/i)
-                       {
-                               print "<img src='/images/updbooster/updxl-src-trendmicro.gif' alt='Trend Micro'}' />&nbsp;</td>\n";
-                       } elsif ($vendorid =~ /^Apple$/i)
-                       {
-                               print "<img src='/images/updbooster/updxl-src-apple.gif' alt='Apple'}' />&nbsp;</td>\n";
-                       } elsif ($vendorid =~ /^Avast$/i)
-                       {
-                               print "<img src='/images/updbooster/updxl-src-avast.gif' alt='Avast'}' />&nbsp;</td>\n";
-                       } else
-                       {
-                               if (-e "/home/httpd/html/images/updbooster/updxl-src-" . $vendorid . ".gif")
-                               {
-                                       print "<img src='/images/updbooster/updxl-src-" . $vendorid . ".gif' alt='" . ucfirst $vendorid . "' />&nbsp;</td>\n";
-                               } else {
-                                       print "<img src='/images/updbooster/updxl-src-unknown.gif' alt='" . ucfirst $vendorid . "' />&nbsp;</td>\n";
-                               }
-                       }
+               print "\t\t<td align='center' nowrap='nowrap'>&nbsp;";
 
-                       $shortname = substr($updatefile,rindex($updatefile,"/")+1);
-                       $shortname =~ s/(.*)_[\da-f]*(\.(exe|cab|psf)$)/$1_*$2/i;
+               if (($vendorid ne '') && (-e "$webhome/images/updbooster/updxl-src-$vendorid.gif"))
+               {
+                       print "<img src='/images/updbooster/updxl-src-" . $vendorid . ".gif' alt='" . ucfirst $vendorid . "' />&nbsp;</td>\n";
+               } else {
+                       print "<img src='/images/updbooster/updxl-src-unknown.gif' alt='" . ucfirst $vendorid . "' />&nbsp;</td>\n";
+               }
 
-                       $filesize = $dlinfo{'REMOTESIZE'};
-                       1 while $filesize =~ s/^(-?\d+)(\d{3})/$1.$2/;
-                       $dlinfo{'VENDORID'}=ucfirst $vendorid;
+               $shortname = substr($updatefile,rindex($updatefile,"/")+1);
+               $shortname =~ s/(.*)_[\da-f]*(\.(exe|cab|psf)$)/$1_*$2/i;
 
-                       print <<END
+               $filesize = $dlinfo{'REMOTESIZE'};
+               1 while $filesize =~ s/^(-?\d+)(\d{3})/$1.$2/;
+               $dlinfo{'VENDORID'} = ucfirst $vendorid;
+
+               print <<END
                <td class='base' align='center'>&nbsp;$dlinfo{'VENDORID'}&nbsp;</td>
                <td class='base' align='left' title='cache:/$updatefile'>$shortname</td>
                <td class='base' align='right'  nowrap='nowrap'>&nbsp;$filesize&nbsp;</td>
index 83d65dbdb478efb5f2c3baf6774ae701fc3c8b79..58c6376feac996a2bdb018370bdc0e63ce9cf48e 100644 (file)
@@ -2,7 +2,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2005-2012  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2005-2013  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -124,11 +124,16 @@ if ( $wlanapsettings{'ACTION'} eq "$Lang::tr{'wlanap del interface'}" ){
 }
 
 if ( $wlanapsettings{'ACTION'} eq "$Lang::tr{'save'}" ){
-       # verify WPA Passphrase, must be 8 .. 63 characters - only wiht enabled enc
+       # verify WPA Passphrase - only with enabled enc
        if (($wlanapsettings{'ENC'} eq "wpa1") || ($wlanapsettings{'ENC'} eq "wpa2") || ($wlanapsettings{'ENC'} eq "wpa1+2")){
+               # must be 8 .. 63 characters
                if ( (length($wlanapsettings{'PWD'}) < 8) || (length($wlanapsettings{'PWD'}) > 63)){
                        $errormessage .= "$Lang::tr{'wlanap invalid wpa'}<br />";
                }
+               # only ASCII alowed
+               if ( !($wlanapsettings{'PWD'} !~ /[^\x00-\x7f]/) ){
+                       $errormessage .= "$Lang::tr{'wlanap invalid wpa'}<br />";
+               }
        }
 
        if ( $errormessage eq '' ){
@@ -251,7 +256,7 @@ $selected{'HW_MODE'}{$wlanapsettings{'HW_MODE'}} = "selected='selected'";
 $selected{'MACMODE'}{$wlanapsettings{'MACMODE'}} = "selected='selected'";
 
 my $monwlaninterface = $wlanapsettings{'INTERFACE'};
-if ( $wlanapsettings{'DRIVER'} eq 'NL80211' ){
+if ( -d '/sys/class/net/mon.'.$wlanapsettings{'INTERFACE'} ) {
        $monwlaninterface =  'mon.'.$wlanapsettings{'INTERFACE'};
 }
 
@@ -391,16 +396,29 @@ print <<END
                <option value='wpa1+2' $selected{'ENC'}{'wpa1+2'}>WPA1+2</option>
        </select>
 </td></tr>
+END
+;
+
+if ( scalar @channellist > 0 ){
+       print <<END
 <tr><td width='25%' class='base'>$Lang::tr{'wlanap channel'}:&nbsp;</td><td class='base' colspan='3'>
        <select name='CHANNEL'>
 END
 ;
-foreach $channel (@channellist){
-       print "<option $selected{'CHANNEL'}{$channel}>$channel</option>";
+       foreach $channel (@channellist){
+               print "<option $selected{'CHANNEL'}{$channel}>$channel</option>";
+       }
+       print "</select></td></tr>"
+} else {
+       print <<END
+<tr><td width='25%' class='base'>$Lang::tr{'wlanap channel'}:&nbsp;</td><td class='base' colspan='3'>
+<input type='text' name='CHANNEL' size='10' value='$wlanapsettings{'CHANNEL'}' />
+</td></tr>
+END
+;
 }
 
 print <<END
-</select></td></tr>
 <tr><td width='25%' class='base'>$Lang::tr{'wlanap country'}:&nbsp;</td><td class='base' colspan='3'>
        <select name='COUNTRY'>
 END
@@ -511,10 +529,12 @@ sub WriteConfig_hostapd{
 
        open (CONFIGFILE, ">/var/ipfire/wlanap/hostapd.conf");
        print CONFIGFILE <<END
+driver=$wlanapsettings{'DRIVER_HOSTAPD'}
 ######################### basic hostapd configuration ##########################
 #
 interface=$wlanapsettings{'INTERFACE'}
-driver=$wlanapsettings{'DRIVER_HOSTAPD'}
+country_code=$wlanapsettings{'COUNTRY'}
+ieee80211d=1
 channel=$wlanapsettings{'CHANNEL'}
 END
 ;
diff --git a/html/html/images/updbooster/updxl-src-microsoft.gif b/html/html/images/updbooster/updxl-src-microsoft.gif
new file mode 100644 (file)
index 0000000..14f3c42
Binary files /dev/null and b/html/html/images/updbooster/updxl-src-microsoft.gif differ
index 3b34016e7039d00d688d4e2151cdca42a241a29c..14f3c42cef555d53fbdafc8069b1c3bb02193f6a 100644 (file)
Binary files a/html/html/images/updbooster/updxl-src-windows.gif and b/html/html/images/updbooster/updxl-src-windows.gif differ
diff --git a/html/html/include/jquery-1.2.6.min.js b/html/html/include/jquery-1.2.6.min.js
deleted file mode 100644 (file)
index 82b98e1..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * jQuery 1.2.6 - New Wave Javascript
- *
- * Copyright (c) 2008 John Resig (jquery.com)
- * Dual licensed under the MIT (MIT-LICENSE.txt)
- * and GPL (GPL-LICENSE.txt) licenses.
- *
- * $Date: 2008-05-24 14:22:17 -0400 (Sat, 24 May 2008) $
- * $Rev: 5685 $
- */
-(function(){var _jQuery=window.jQuery,_$=window.$;var jQuery=window.jQuery=window.$=function(selector,context){return new jQuery.fn.init(selector,context);};var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/,isSimple=/^.[^:#\[\.]*$/,undefined;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;return this;}if(typeof selector=="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem){if(elem.id!=match[3])return jQuery().find(selector);return jQuery(elem);}selector=[];}}else
-return jQuery(context).find(selector);}else if(jQuery.isFunction(selector))return jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return this.setArray(jQuery.makeArray(selector));},jquery:"1.2.6",size:function(){return this.length;},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems){var ret=jQuery(elems);ret.prevObject=this;return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){var ret=-1;return jQuery.inArray(elem&&elem.jquery?elem[0]:elem,this);},attr:function(name,value,type){var options=name;if(name.constructor==String)if(value===undefined)return this[0]&&jQuery[type||"attr"](this[0],name);else{options={};options[name]=value;}return this.each(function(i){for(name in options)jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){if((key=='width'||key=='height')&&parseFloat(value)<0)value=undefined;return this.attr(key,value,"curCSS");},text:function(text){if(typeof text!="object"&&text!=null)return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));var ret="";jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(this.nodeType!=8)ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this]);});});return ret;},wrapAll:function(html){if(this[0])jQuery(html,this[0].ownerDocument).clone().insertBefore(this[0]).map(function(){var elem=this;while(elem.firstChild)elem=elem.firstChild;return elem;}).append(this);return this;},wrapInner:function(html){return this.each(function(){jQuery(this).contents().wrapAll(html);});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},append:function(){return this.domManip(arguments,true,false,function(elem){if(this.nodeType==1)this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,true,function(elem){if(this.nodeType==1)this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,true,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},find:function(selector){var elems=jQuery.map(this,function(elem){return jQuery.find(selector,elem);});return this.pushStack(/[^+>] [^+>]/.test(selector)||selector.indexOf("..")>-1?jQuery.unique(elems):elems);},clone:function(events){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else
-return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined)this[expando]=null;});if(events===true)this.find("*").andSelf().each(function(i){if(this.nodeType==3)return;var events=jQuery.data(this,"events");for(var type in events)for(var handler in events[type])jQuery.event.add(clone[i],type,events[type][handler],events[type][handler].data);});return ret;},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i);})||jQuery.multiFilter(selector,this));},not:function(selector){if(selector.constructor==String)if(isSimple.test(selector))return this.pushStack(jQuery.multiFilter(selector,this,true));else
-selector=jQuery.multiFilter(selector,this);var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType;return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector;});},add:function(selector){return this.pushStack(jQuery.unique(jQuery.merge(this.get(),typeof selector=='string'?jQuery(selector):jQuery.makeArray(selector))));},is:function(selector){return!!selector&&jQuery.multiFilter(selector,this).length>0;},hasClass:function(selector){return this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var elem=this[0];if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)return null;for(var i=one?index:0,max=one?index+1:options.length;i<max;i++){var option=options[i];if(option.selected){value=jQuery.browser.msie&&!option.attributes.value.specified?option.text:option.value;if(one)return value;values.push(value);}}return values;}else
-return(this[0].value||"").replace(/\r/g,"");}return undefined;}if(value.constructor==Number)value+='';return this.each(function(){if(this.nodeType!=1)return;if(value.constructor==Array&&/radio|checkbox/.test(this.type))this.checked=(jQuery.inArray(this.value,value)>=0||jQuery.inArray(this.name,value)>=0);else if(jQuery.nodeName(this,"select")){var values=jQuery.makeArray(value);jQuery("option",this).each(function(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,values)>=0);});if(!values.length)this.selectedIndex=-1;}else
-this.value=value;});},html:function(value){return value==undefined?(this[0]?this[0].innerHTML:null):this.empty().append(value);},replaceWith:function(value){return this.after(value).remove();},eq:function(i){return this.slice(i,i+1);},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},andSelf:function(){return this.add(this.prevObject);},data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value===undefined){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data===undefined&&this.length)data=jQuery.data(this[0],key);return data===undefined&&parts[1]?this.data(parts[0]):data;}else
-return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(this,key,value);});},removeData:function(key){return this.each(function(){jQuery.removeData(this,key);});},domManip:function(args,table,reverse,callback){var clone=this.length>1,elems;return this.each(function(){if(!elems){elems=jQuery.clean(args,this.ownerDocument);if(reverse)elems.reverse();}var obj=this;if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(elems[0],"tr"))obj=this.getElementsByTagName("tbody")[0]||this.appendChild(this.ownerDocument.createElement("tbody"));var scripts=jQuery([]);jQuery.each(elems,function(){var elem=clone?jQuery(this).clone(true)[0]:this;if(jQuery.nodeName(elem,"script"))scripts=scripts.add(elem);else{if(elem.nodeType==1)scripts=scripts.add(jQuery("script",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQuery.fn.init.prototype=jQuery.fn;function evalScript(i,elem){if(elem.src)jQuery.ajax({url:elem.src,async:false,dataType:"script"});else
-jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");if(elem.parentNode)elem.parentNode.removeChild(elem);}function now(){return+new Date;}jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean){deep=target;target=arguments[1]||{};i=2;}if(typeof target!="object"&&typeof target!="function")target={};if(length==i){target=this;--i;}for(;i<length;i++)if((options=arguments[i])!=null)for(var name in options){var src=target[name],copy=options[name];if(target===copy)continue;if(deep&&copy&&typeof copy=="object"&&!copy.nodeType)target[name]=jQuery.extend(deep,src||(copy.length!=null?[]:{}),copy);else if(copy!==undefined)target[name]=copy;}return target;};var expando="jQuery"+now(),uuid=0,windowData={},exclude=/z-?index|font-?weight|opacity|zoom|line-?height/i,defaultView=document.defaultView||{};jQuery.extend({noConflict:function(deep){window.$=_$;if(deep)window.jQuery=_jQuery;return jQuery;},isFunction:function(fn){return!!fn&&typeof fn!="string"&&!fn.nodeName&&fn.constructor!=Array&&/^[\s[]?function/.test(fn+"");},isXMLDoc:function(elem){return elem.documentElement&&!elem.body||elem.tagName&&elem.ownerDocument&&!elem.ownerDocument.body;},globalEval:function(data){data=jQuery.trim(data);if(data){var head=document.getElementsByTagName("head")[0]||document.documentElement,script=document.createElement("script");script.type="text/javascript";if(jQuery.browser.msie)script.text=data;else
-script.appendChild(document.createTextNode(data));head.insertBefore(script,head.firstChild);head.removeChild(script);}},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toUpperCase()==name.toUpperCase();},cache:{},data:function(elem,name,data){elem=elem==window?windowData:elem;var id=elem[expando];if(!id)id=elem[expando]=++uuid;if(name&&!jQuery.cache[id])jQuery.cache[id]={};if(data!==undefined)jQuery.cache[id][name]=data;return name?jQuery.cache[id][name]:id;},removeData:function(elem,name){elem=elem==window?windowData:elem;var id=elem[expando];if(name){if(jQuery.cache[id]){delete jQuery.cache[id][name];name="";for(name in jQuery.cache[id])break;if(!name)jQuery.removeData(elem);}}else{try{delete elem[expando];}catch(e){if(elem.removeAttribute)elem.removeAttribute(expando);}delete jQuery.cache[id];}},each:function(object,callback,args){var name,i=0,length=object.length;if(args){if(length==undefined){for(name in object)if(callback.apply(object[name],args)===false)break;}else
-for(;i<length;)if(callback.apply(object[i++],args)===false)break;}else{if(length==undefined){for(name in object)if(callback.call(object[name],name,object[name])===false)break;}else
-for(var value=object[0];i<length&&callback.call(value,i,value)!==false;value=object[++i]){}}return object;},prop:function(elem,value,type,i,name){if(jQuery.isFunction(value))value=value.call(elem,i);return value&&value.constructor==Number&&type=="curCSS"&&!exclude.test(name)?value+"px":value;},className:{add:function(elem,classNames){jQuery.each((classNames||"").split(/\s+/),function(i,className){if(elem.nodeType==1&&!jQuery.className.has(elem.className,className))elem.className+=(elem.className?" ":"")+className;});},remove:function(elem,classNames){if(elem.nodeType==1)elem.className=classNames!=undefined?jQuery.grep(elem.className.split(/\s+/),function(className){return!jQuery.className.has(classNames,className);}).join(" "):"";},has:function(elem,className){return jQuery.inArray(className,(elem.className||elem).toString().split(/\s+/))>-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}callback.call(elem);for(var name in options)elem.style[name]=old[name];},css:function(elem,name,force){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;var padding=0,border=0;jQuery.each(which,function(){padding+=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;border+=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});val-=Math.round(padding+border);}if(jQuery(elem).is(":visible"))getWH();else
-jQuery.swap(elem,props,getWH);return Math.max(0,val);}return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret,style=elem.style;function color(elem){if(!jQuery.browser.safari)return false;var ret=defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue("color")=="";}if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(style,"opacity");return ret==""?"1":ret;}if(jQuery.browser.opera&&name=="display"){var save=style.outline;style.outline="0 solid black";style.outline=save;}if(name.match(/float/i))name=styleFloat;if(!force&&style&&style[name])ret=style[name];else if(defaultView.getComputedStyle){if(name.match(/float/i))name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var computedStyle=defaultView.getComputedStyle(elem,null);if(computedStyle&&!color(elem))ret=computedStyle.getPropertyValue(name);else{var swap=[],stack=[],a=elem,i=0;for(;a&&color(a);a=a.parentNode)stack.unshift(a);for(;i<stack.length;i++)if(color(stack[i])){swap[i]=stack[i].style.display;stack[i].style.display="block";}ret=name=="display"&&swap[stack.length-1]!=null?"none":(computedStyle&&computedStyle.getPropertyValue(name))||"";for(i=0;i<swap.length;i++)if(swap[i]!=null)stack[i].style.display=swap[i];}if(name=="opacity"&&ret=="")ret="1";}else if(elem.currentStyle){var camelCase=name.replace(/\-(\w)/g,function(all,letter){return letter.toUpperCase();});ret=elem.currentStyle[name]||elem.currentStyle[camelCase];if(!/^\d+(px)?$/i.test(ret)&&/^\d/.test(ret)){var left=style.left,rsLeft=elem.runtimeStyle.left;elem.runtimeStyle.left=elem.currentStyle.left;style.left=ret||0;ret=style.pixelLeft+"px";style.left=left;elem.runtimeStyle.left=rsLeft;}}return ret;},clean:function(elems,context){var ret=[];context=context||document;if(typeof context.createElement=='undefined')context=context.ownerDocument||context[0]&&context[0].ownerDocument||document;jQuery.each(elems,function(i,elem){if(!elem)return;if(elem.constructor==Number)elem+='';if(typeof elem=="string"){elem=elem.replace(/(<(\w+)[^>]*?)\/>/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+"></"+tag+">";});var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var wrap=!tags.indexOf("<opt")&&[1,"<select multiple='multiple'>","</select>"]||!tags.indexOf("<leg")&&[1,"<fieldset>","</fieldset>"]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"<table>","</table>"]||!tags.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!tags.indexOf("<td")||!tags.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||!tags.indexOf("<col")&&[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"]||jQuery.browser.msie&&[1,"div<div>","</div>"]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)div=div.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf("<table")&&tags.indexOf("<tbody")<0?div.firstChild&&div.firstChild.childNodes:wrap[1]=="<table>"&&tags.indexOf("<tbody")<0?div.childNodes:[];for(var j=tbody.length-1;j>=0;--j)if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length)tbody[j].parentNode.removeChild(tbody[j]);if(/^\s/.test(elem))div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);}elem=jQuery.makeArray(div.childNodes);}if(elem.length===0&&(!jQuery.nodeName(elem,"form")&&!jQuery.nodeName(elem,"select")))return;if(elem[0]==undefined||jQuery.nodeName(elem,"form")||elem.options)ret.push(elem);else
-ret=jQuery.merge(ret,elem);});return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)return undefined;var notxml=!jQuery.isXMLDoc(elem),set=value!==undefined,msie=jQuery.browser.msie;name=notxml&&jQuery.props[name]||name;if(elem.tagName){var special=/href|src|style/.test(name);if(name=="selected"&&jQuery.browser.safari)elem.parentNode.selectedIndex;if(name in elem&&notxml&&!special){if(set){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)throw"type property can't be changed";elem[name]=value;}if(jQuery.nodeName(elem,"form")&&elem.getAttributeNode(name))return elem.getAttributeNode(name).nodeValue;return elem[name];}if(msie&&notxml&&name=="style")return jQuery.attr(elem.style,"cssText",value);if(set)elem.setAttribute(name,""+value);var attr=msie&&notxml&&special?elem.getAttribute(name,2):elem.getAttribute(name);return attr===null?undefined:attr;}if(msie&&name=="opacity"){if(set){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+(parseInt(value)+''=="NaN"?"":"alpha(opacity="+value*100+")");}return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100)+'':"";}name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(set)elem[name]=value;return elem[name];},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(array!=null){var i=array.length;if(i==null||array.split||array.setInterval||array.call)ret[0]=array;else
-while(i)ret[--i]=array[i];}return ret;},inArray:function(elem,array){for(var i=0,length=array.length;i<length;i++)if(array[i]===elem)return i;return-1;},merge:function(first,second){var i=0,elem,pos=first.length;if(jQuery.browser.msie){while(elem=second[i++])if(elem.nodeType!=8)first[pos++]=elem;}else
-while(elem=second[i++])first[pos++]=elem;return first;},unique:function(array){var ret=[],done={};try{for(var i=0,length=array.length;i<length;i++){var id=jQuery.data(array[i]);if(!done[id]){done[id]=true;ret.push(array[i]);}}}catch(e){ret=array;}return ret;},grep:function(elems,callback,inv){var ret=[];for(var i=0,length=elems.length;i<length;i++)if(!inv!=!callback(elems[i],i))ret.push(elems[i]);return ret;},map:function(elems,callback){var ret=[];for(var i=0,length=elems.length;i<length;i++){var value=callback(elems[i],i);if(value!=null)ret[ret.length]=value;}return ret.concat.apply([],ret);}});var userAgent=navigator.userAgent.toLowerCase();jQuery.browser={version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)};var styleFloat=jQuery.browser.msie?"styleFloat":"cssFloat";jQuery.extend({boxModel:!jQuery.browser.msie||document.compatMode=="CSS1Compat",props:{"for":"htmlFor","class":"className","float":styleFloat,cssFloat:styleFloat,styleFloat:styleFloat,readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing"}});jQuery.each({parent:function(elem){return elem.parentNode;},parents:function(elem){return jQuery.dir(elem,"parentNode");},next:function(elem){return jQuery.nth(elem,2,"nextSibling");},prev:function(elem){return jQuery.nth(elem,2,"previousSibling");},nextAll:function(elem){return jQuery.dir(elem,"nextSibling");},prevAll:function(elem){return jQuery.dir(elem,"previousSibling");},siblings:function(elem){return jQuery.sibling(elem.parentNode.firstChild,elem);},children:function(elem){return jQuery.sibling(elem.firstChild);},contents:function(elem){return jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.document:jQuery.makeArray(elem.childNodes);}},function(name,fn){jQuery.fn[name]=function(selector){var ret=jQuery.map(this,fn);if(selector&&typeof selector=="string")ret=jQuery.multiFilter(selector,ret);return this.pushStack(jQuery.unique(ret));};});jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(){var args=arguments;return this.each(function(){for(var i=0,length=args.length;i<length;i++)jQuery(args[i])[original](this);});};});jQuery.each({removeAttr:function(name){jQuery.attr(this,name,"");if(this.nodeType==1)this.removeAttribute(name);},addClass:function(classNames){jQuery.className.add(this,classNames);},removeClass:function(classNames){jQuery.className.remove(this,classNames);},toggleClass:function(classNames){jQuery.className[jQuery.className.has(this,classNames)?"remove":"add"](this,classNames);},remove:function(selector){if(!selector||jQuery.filter(selector,[this]).r.length){jQuery("*",this).add(this).each(function(){jQuery.event.remove(this);jQuery.removeData(this);});if(this.parentNode)this.parentNode.removeChild(this);}},empty:function(){jQuery(">*",this).remove();while(this.firstChild)this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};});function num(elem,prop){return elem[0]&&parseInt(jQuery.curCSS(elem[0],prop,true),10)||0;}var chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417?"(?:[\\w*_-]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild=new RegExp("^>\\s*("+chars+"+)"),quickID=new RegExp("^("+chars+"+)(#)("+chars+"+)"),quickClass=new RegExp("^([#.]?)("+chars+"*)");jQuery.extend({expr:{"":function(a,i,m){return m[2]=="*"||jQuery.nodeName(a,m[2]);},"#":function(a,i,m){return a.getAttribute("id")==m[2];},":":{lt:function(a,i,m){return i<m[3]-0;},gt:function(a,i,m){return i>m[3]-0;},nth:function(a,i,m){return m[3]-0==i;},eq:function(a,i,m){return m[3]-0==i;},first:function(a,i){return i==0;},last:function(a,i,m,r){return i==r.length-1;},even:function(a,i){return i%2==0;},odd:function(a,i){return i%2;},"first-child":function(a){return a.parentNode.getElementsByTagName("*")[0]==a;},"last-child":function(a){return jQuery.nth(a.parentNode.lastChild,1,"previousSibling")==a;},"only-child":function(a){return!jQuery.nth(a.parentNode.lastChild,2,"previousSibling");},parent:function(a){return a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0;},visible:function(a){return"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden";},hidden:function(a){return"hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden";},enabled:function(a){return!a.disabled;},disabled:function(a){return a.disabled;},checked:function(a){return a.checked;},selected:function(a){return a.selected||jQuery.attr(a,"selected");},text:function(a){return"text"==a.type;},radio:function(a){return"radio"==a.type;},checkbox:function(a){return"checkbox"==a.type;},file:function(a){return"file"==a.type;},password:function(a){return"password"==a.type;},submit:function(a){return"submit"==a.type;},image:function(a){return"image"==a.type;},reset:function(a){return"reset"==a.type;},button:function(a){return"button"==a.type||jQuery.nodeName(a,"button");},input:function(a){return/input|select|textarea|button/i.test(a.nodeName);},has:function(a,i,m){return jQuery.find(m[3],a).length;},header:function(a){return/h\d/i.test(a.nodeName);},animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,new RegExp("^([:.#]*)("+chars+"+)")],multiFilter:function(expr,elems,not){var old,cur=[];while(expr&&expr!=old){old=expr;var f=jQuery.filter(expr,elems,not);expr=f.t.replace(/^\s*,\s*/,"");cur=not?elems=f.r:jQuery.merge(cur,f.r);}return cur;},find:function(t,context){if(typeof t!="string")return[t];if(context&&context.nodeType!=1&&context.nodeType!=9)return[];context=context||document;var ret=[context],done=[],last,nodeName;while(t&&last!=t){var r=[];last=t;t=jQuery.trim(t);var foundToken=false,re=quickChild,m=re.exec(t);if(m){nodeName=m[1].toUpperCase();for(var i=0;ret[i];i++)for(var c=ret[i].firstChild;c;c=c.nextSibling)if(c.nodeType==1&&(nodeName=="*"||c.nodeName.toUpperCase()==nodeName))r.push(c);ret=r;t=t.replace(re,"");if(t.indexOf(" ")==0)continue;foundToken=true;}else{re=/^([>+~])\s*(\w*)/i;if((m=re.exec(t))!=null){r=[];var merge={};nodeName=m[2].toUpperCase();m=m[1];for(var j=0,rl=ret.length;j<rl;j++){var n=m=="~"||m=="+"?ret[j].nextSibling:ret[j].firstChild;for(;n;n=n.nextSibling)if(n.nodeType==1){var id=jQuery.data(n);if(m=="~"&&merge[id])break;if(!nodeName||n.nodeName.toUpperCase()==nodeName){if(m=="~")merge[id]=true;r.push(n);}if(m=="+")break;}}ret=r;t=jQuery.trim(t.replace(re,""));foundToken=true;}}if(t&&!foundToken){if(!t.indexOf(",")){if(context==ret[0])ret.shift();done=jQuery.merge(done,ret);r=ret=[context];t=" "+t.substr(1,t.length);}else{var re2=quickID;var m=re2.exec(t);if(m){m=[0,m[2],m[3],m[1]];}else{re2=quickClass;m=re2.exec(t);}m[2]=m[2].replace(/\\/g,"");var elem=ret[ret.length-1];if(m[1]=="#"&&elem&&elem.getElementById&&!jQuery.isXMLDoc(elem)){var oid=elem.getElementById(m[2]);if((jQuery.browser.msie||jQuery.browser.opera)&&oid&&typeof oid.id=="string"&&oid.id!=m[2])oid=jQuery('[@id="'+m[2]+'"]',elem)[0];ret=r=oid&&(!m[3]||jQuery.nodeName(oid,m[3]))?[oid]:[];}else{for(var i=0;ret[i];i++){var tag=m[1]=="#"&&m[3]?m[3]:m[1]!=""||m[0]==""?"*":m[2];if(tag=="*"&&ret[i].nodeName.toLowerCase()=="object")tag="param";r=jQuery.merge(r,ret[i].getElementsByTagName(tag));}if(m[1]==".")r=jQuery.classFilter(r,m[2]);if(m[1]=="#"){var tmp=[];for(var i=0;r[i];i++)if(r[i].getAttribute("id")==m[2]){tmp=[r[i]];break;}r=tmp;}ret=r;}t=t.replace(re2,"");}}if(t){var val=jQuery.filter(t,r);ret=r=val.r;t=jQuery.trim(val.t);}}if(t)ret=[];if(ret&&context==ret[0])ret.shift();done=jQuery.merge(done,ret);return done;},classFilter:function(r,m,not){m=" "+m+" ";var tmp=[];for(var i=0;r[i];i++){var pass=(" "+r[i].className+" ").indexOf(m)>=0;if(!not&&pass||not&&!pass)tmp.push(r[i]);}return tmp;},filter:function(t,r,not){var last;while(t&&t!=last){last=t;var p=jQuery.parse,m;for(var i=0;p[i];i++){m=p[i].exec(t);if(m){t=t.substring(m[0].length);m[2]=m[2].replace(/\\/g,"");break;}}if(!m)break;if(m[1]==":"&&m[2]=="not")r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]);else if(m[1]==".")r=jQuery.classFilter(r,m[2],not);else if(m[1]=="["){var tmp=[],type=m[3];for(var i=0,rl=r.length;i<rl;i++){var a=r[i],z=a[jQuery.props[m[2]]||m[2]];if(z==null||/href|src|selected/.test(m[2]))z=jQuery.attr(a,m[2])||'';if((type==""&&!!z||type=="="&&z==m[5]||type=="!="&&z!=m[5]||type=="^="&&z&&!z.indexOf(m[5])||type=="$="&&z.substr(z.length-m[5].length)==m[5]||(type=="*="||type=="~=")&&z.indexOf(m[5])>=0)^not)tmp.push(a);}r=tmp;}else if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;for(var i=0,rl=r.length;i<rl;i++){var node=r[i],parentNode=node.parentNode,id=jQuery.data(parentNode);if(!merge[id]){var c=1;for(var n=parentNode.firstChild;n;n=n.nextSibling)if(n.nodeType==1)n.nodeIndex=c++;merge[id]=true;}var add=false;if(first==0){if(node.nodeIndex==last)add=true;}else if((node.nodeIndex-last)%first==0&&(node.nodeIndex-last)/first>=0)add=true;if(add^not)tmp.push(node);}r=tmp;}else{var fn=jQuery.expr[m[1]];if(typeof fn=="object")fn=fn[m[2]];if(typeof fn=="string")fn=eval("false||function(a,i){return "+fn+";}");r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r);},not);}}return{r:r,t:t};},dir:function(elem,dir){var matched=[],cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)matched.push(cur);cur=cur[dir];}return matched;},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir])if(cur.nodeType==1&&++num==result)break;return cur;},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&n!=elem)r.push(n);}return r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)return;if(jQuery.browser.msie&&elem.setInterval)elem=window;if(!handler.guid)handler.guid=this.guid++;if(data!=undefined){var fn=handler;handler=this.proxy(fn,function(){return fn.apply(this,arguments);});handler.data=data;}var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){if(typeof jQuery!="undefined"&&!jQuery.event.triggered)return jQuery.event.handle.apply(arguments.callee.elem,arguments);});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];handler.type=parts[1];var handlers=events[type];if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener)elem.addEventListener(type,handle,false);else if(elem.attachEvent)elem.attachEvent("on"+type,handle);}}handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types==undefined||(typeof types=="string"&&types.charAt(0)=="."))for(var type in events)this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];if(events[type]){if(handler)delete events[type][handler.guid];else
-for(handler in events[type])if(!parts[1]||events[type][handler].type==parts[1])delete events[type][handler];for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem)===false){if(elem.removeEventListener)elem.removeEventListener(type,jQuery.data(elem,"handle"),false);else if(elem.detachEvent)elem.detachEvent("on"+type,jQuery.data(elem,"handle"));}ret=null;delete events[type];}}});}for(ret in events)break;if(!ret){var handle=jQuery.data(elem,"handle");if(handle)handle.elem=null;jQuery.removeData(elem,"events");jQuery.removeData(elem,"handle");}}},trigger:function(type,data,elem,donative,extra){data=jQuery.makeArray(data);if(type.indexOf("!")>=0){type=type.slice(0,-1);var exclusive=true;}if(!elem){if(this.global[type])jQuery("*").add([window,document]).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)return undefined;var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;if(event){data.unshift({type:type,target:elem,preventDefault:function(){},stopPropagation:function(){},timeStamp:now()});data[0][expando]=true;}data[0].type=type;if(exclusive)data[0].exclusive=true;var handle=jQuery.data(elem,"handle");if(handle)val=handle.apply(elem,data);if((!fn||(jQuery.nodeName(elem,'a')&&type=="click"))&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)val=false;if(event)data.shift();if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!==undefined)val=ret;}if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}this.triggered=false;}return val;},handle:function(event){var val,ret,namespace,all,handlers;event=arguments[0]=jQuery.event.fix(event||window.event);namespace=event.type.split(".");event.type=namespace[0];namespace=namespace[1];all=!namespace&&!event.exclusive;handlers=(jQuery.data(this,"events")||{})[event.type];for(var j in handlers){var handler=handlers[j];if(all||handler.type==namespace){event.handler=handler;event.data=handler.data;ret=handler.apply(this,arguments);if(val!==false)val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}return val;},fix:function(event){if(event[expando]==true)return event;var originalEvent=event;event={originalEvent:originalEvent};var props="altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode metaKey newValue originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target timeStamp toElement type view wheelDelta which".split(" ");for(var i=props.length;i;i--)event[props[i]]=originalEvent[props[i]];event[expando]=true;event.preventDefault=function(){if(originalEvent.preventDefault)originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)originalEvent.stopPropagation();originalEvent.cancelBubble=true;};event.timeStamp=event.timeStamp||now();if(!event.target)event.target=event.srcElement||document;if(event.target.nodeType==3)event.target=event.target.parentNode;if(!event.relatedTarget&&event.fromElement)event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0);}if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)event.metaKey=event.ctrlKey;if(!event.which&&event.button)event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},proxy:function(fn,proxy){proxy.guid=fn.guid=fn.guid||proxy.guid||this.guid++;return proxy;},special:{ready:{setup:function(){bindReady();return;},teardown:function(){return;}},mouseenter:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseover",jQuery.event.special.mouseenter.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseover",jQuery.event.special.mouseenter.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseenter";return jQuery.event.handle.apply(this,arguments);}},mouseleave:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseout",jQuery.event.special.mouseleave.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseout",jQuery.event.special.mouseleave.handler);return true;},handler:function(event){if(withinElement(event,this))return true;event.type="mouseleave";return jQuery.event.handle.apply(this,arguments);}}}};jQuery.fn.extend({bind:function(type,data,fn){return type=="unload"?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,type,fn||data,fn&&data);});},one:function(type,data,fn){var one=jQuery.event.proxy(fn||data,function(event){jQuery(this).unbind(event,one);return(fn||data).apply(this,arguments);});return this.each(function(){jQuery.event.add(this,type,one,fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data,fn){return this.each(function(){jQuery.event.trigger(type,data,this,true,fn);});},triggerHandler:function(type,data,fn){return this[0]&&jQuery.event.trigger(type,data,this[0],false,fn);},toggle:function(fn){var args=arguments,i=1;while(i<args.length)jQuery.event.proxy(fn,args[i++]);return this.click(jQuery.event.proxy(fn,function(event){this.lastToggle=(this.lastToggle||0)%i;event.preventDefault();return args[this.lastToggle++].apply(this,arguments)||false;}));},hover:function(fnOver,fnOut){return this.bind('mouseenter',fnOver).bind('mouseleave',fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)fn.call(document,jQuery);else
-jQuery.readyList.push(function(){return fn.call(this,jQuery);});return this;}});jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.call(document);});jQuery.readyList=null;}jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener&&!jQuery.browser.opera)document.addEventListener("DOMContentLoaded",jQuery.ready,false);if(jQuery.browser.msie&&window==top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}jQuery.ready();})();if(jQuery.browser.opera)document.addEventListener("DOMContentLoaded",function(){if(jQuery.isReady)return;for(var i=0;i<document.styleSheets.length;i++)if(document.styleSheets[i].disabled){setTimeout(arguments.callee,0);return;}jQuery.ready();},false);if(jQuery.browser.safari){var numStyles;(function(){if(jQuery.isReady)return;if(document.readyState!="loaded"&&document.readyState!="complete"){setTimeout(arguments.callee,0);return;}if(numStyles===undefined)numStyles=jQuery("style, link[rel=stylesheet]").length;if(document.styleSheets.length!=numStyles){setTimeout(arguments.callee,0);return;}jQuery.ready();})();}jQuery.event.add(window,"load",jQuery.ready);}jQuery.each(("blur,focus,load,resize,scroll,unload,click,dblclick,"+"mousedown,mouseup,mousemove,mouseover,mouseout,change,select,"+"submit,keydown,keypress,keyup,error").split(","),function(i,name){jQuery.fn[name]=function(fn){return fn?this.bind(name,fn):this.trigger(name);};});var withinElement=function(event,elem){var parent=event.relatedTarget;while(parent&&parent!=elem)try{parent=parent.parentNode;}catch(error){parent=elem;}return parent==elem;};jQuery(window).bind("unload",function(){jQuery("*").add(document).unbind();});jQuery.fn.extend({_load:jQuery.fn.load,load:function(url,params,callback){if(typeof url!='string')return this._load(url);var off=url.indexOf(" ");if(off>=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}callback=callback||function(){};var type="GET";if(params)if(jQuery.isFunction(params)){callback=params;params=null;}else{params=jQuery.param(params);type="POST";}var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")self.html(selector?jQuery("<div/>").append(res.responseText.replace(/<script(.|\s)*?\/script>/g,"")).find(selector):res.responseText);self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return jQuery.nodeName(this,"form")?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:val.constructor==Array?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=now();jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data=null;}return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type});},getScript:function(url,callback){return jQuery.get(url,null,callback,"script");},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data={};}return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type});},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings);},ajaxSettings:{url:location.href,global:true,type:"GET",timeout:0,contentType:"application/x-www-form-urlencoded",processData:true,async:true,data:null,username:null,password:null,accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));var jsonp,jsre=/=\?(&|$)/g,status,data,type=s.type.toUpperCase();if(s.data&&s.processData&&typeof s.data!="string")s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(type=="GET"){if(!s.url.match(jsre))s.url+=(s.url.match(/\?/)?"&":"?")+(s.jsonp||"callback")+"=?";}else if(!s.data||!s.data.match(jsre))s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";s.dataType="json";}if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();window[jsonp]=undefined;try{delete window[jsonp];}catch(e){}if(head)head.removeChild(script);};}if(s.dataType=="script"&&s.cache==null)s.cache=false;if(s.cache===false&&type=="GET"){var ts=now();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}if(s.data&&type=="GET"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}if(s.global&&!jQuery.active++)jQuery.event.trigger("ajaxStart");var remote=/^(?:\w+:)?\/\/([^\/?#]+)/;if(s.dataType=="script"&&type=="GET"&&remote.test(s.url)&&remote.exec(s.url)[1]!=location.host){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();head.removeChild(script);}};}head.appendChild(script);return undefined;}var requestDone=false;var xhr=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();if(s.username)xhr.open(type,s.url,s.async,s.username,s.password);else
-xhr.open(type,s.url,s.async);try{if(s.data)xhr.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)xhr.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xhr.setRequestHeader("X-Requested-With","XMLHttpRequest");xhr.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}if(s.beforeSend&&s.beforeSend(xhr,s)===false){s.global&&jQuery.active--;xhr.abort();return false;}if(s.global)jQuery.event.trigger("ajaxSend",[xhr,s]);var onreadystatechange=function(isTimeout){if(!requestDone&&xhr&&(xhr.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xhr)&&"error"||s.ifModified&&jQuery.httpNotModified(xhr,s.url)&&"notmodified"||"success";if(status=="success"){try{data=jQuery.httpData(xhr,s.dataType,s.dataFilter);}catch(e){status="parsererror";}}if(status=="success"){var modRes;try{modRes=xhr.getResponseHeader("Last-Modified");}catch(e){}if(s.ifModified&&modRes)jQuery.lastModified[s.url]=modRes;if(!jsonp)success();}else
-jQuery.handleError(s,xhr,status);complete();if(s.async)xhr=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)setTimeout(function(){if(xhr){xhr.abort();if(!requestDone)onreadystatechange("timeout");}},s.timeout);}try{xhr.send(s.data);}catch(e){jQuery.handleError(s,xhr,null,e);}if(!s.async)onreadystatechange();function success(){if(s.success)s.success(data,status);if(s.global)jQuery.event.trigger("ajaxSuccess",[xhr,s]);}function complete(){if(s.complete)s.complete(xhr,status);if(s.global)jQuery.event.trigger("ajaxComplete",[xhr,s]);if(s.global&&!--jQuery.active)jQuery.event.trigger("ajaxStop");}return xhr;},handleError:function(s,xhr,status,e){if(s.error)s.error(xhr,status,e);if(s.global)jQuery.event.trigger("ajaxError",[xhr,s,e]);},active:0,httpSuccess:function(xhr){try{return!xhr.status&&location.protocol=="file:"||(xhr.status>=200&&xhr.status<300)||xhr.status==304||xhr.status==1223||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}return false;},httpNotModified:function(xhr,url){try{var xhrRes=xhr.getResponseHeader("Last-Modified");return xhr.status==304||xhrRes==jQuery.lastModified[url]||jQuery.browser.safari&&xhr.status==undefined;}catch(e){}return false;},httpData:function(xhr,type,filter){var ct=xhr.getResponseHeader("content-type"),xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0,data=xml?xhr.responseXML:xhr.responseText;if(xml&&data.documentElement.tagName=="parsererror")throw"parsererror";if(filter)data=filter(data,type);if(type=="script")jQuery.globalEval(data);if(type=="json")data=eval("("+data+")");return data;},param:function(a){var s=[];if(a.constructor==Array||a.jquery)jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value));});else
-for(var j in a)if(a[j]&&a[j].constructor==Array)jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this));});else
-s.push(encodeURIComponent(j)+"="+encodeURIComponent(jQuery.isFunction(a[j])?a[j]():a[j]));return s.join("&").replace(/%20/g,"+");}});jQuery.fn.extend({show:function(speed,callback){return speed?this.animate({height:"show",width:"show",opacity:"show"},speed,callback):this.filter(":hidden").each(function(){this.style.display=this.oldblock||"";if(jQuery.css(this,"display")=="none"){var elem=jQuery("<"+this.tagName+" />").appendTo("body");this.style.display=elem.css("display");if(this.style.display=="none")this.style.display="block";elem.remove();}}).end();},hide:function(speed,callback){return speed?this.animate({height:"hide",width:"hide",opacity:"hide"},speed,callback):this.filter(":visible").each(function(){this.oldblock=this.oldblock||jQuery.css(this,"display");this.style.display="none";}).end();},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle.apply(this,arguments):fn?this.animate({height:"toggle",width:"toggle",opacity:"toggle"},fn,fn2):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]();});},slideDown:function(speed,callback){return this.animate({height:"show"},speed,callback);},slideUp:function(speed,callback){return this.animate({height:"hide"},speed,callback);},slideToggle:function(speed,callback){return this.animate({height:"toggle"},speed,callback);},fadeIn:function(speed,callback){return this.animate({opacity:"show"},speed,callback);},fadeOut:function(speed,callback){return this.animate({opacity:"hide"},speed,callback);},fadeTo:function(speed,to,callback){return this.animate({opacity:to},speed,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);return this[optall.queue===false?"each":"queue"](function(){if(this.nodeType!=1)return false;var opt=jQuery.extend({},optall),p,hidden=jQuery(this).is(":hidden"),self=this;for(p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)return opt.complete.call(this);if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display");opt.overflow=this.style.overflow;}}if(opt.overflow!=null)this.style.overflow="hidden";opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val))e[val=="toggle"?hidden?"show":"hide":val](prop);else{var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}if(parts[1])end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else
-e.custom(start,val,"");}});return true;});},queue:function(type,fn){if(jQuery.isFunction(type)||(type&&type.constructor==Array)){fn=type;type="fx";}if(!type||(typeof type=="string"&&!fn))return queue(this[0],type);return this.each(function(){if(fn.constructor==Array)queue(this,type,fn);else{queue(this,type).push(fn);if(queue(this,type).length==1)fn.call(this);}});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)if(timers[i].elem==this){if(gotoEnd)timers[i](true);timers.splice(i,1);}});if(!gotoEnd)this.dequeue();return this;}});var queue=function(elem,type,array){if(elem){type=type||"fx";var q=jQuery.data(elem,type+"queue");if(!q||array)q=jQuery.data(elem,type+"queue",jQuery.makeArray(array));}return q;};jQuery.fn.dequeue=function(type){type=type||"fx";return this.each(function(){var q=queue(this,type);q.shift();if(q.length)q[0].call(this);});};jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&speed.constructor==Object?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&easing.constructor!=Function&&easing};opt.duration=(opt.duration&&opt.duration.constructor==Number?opt.duration:jQuery.fx.speeds[opt.duration])||jQuery.fx.speeds.def;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)jQuery(this).dequeue();if(jQuery.isFunction(opt.old))opt.old.call(this);};return opt;},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],timerId:null,fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)this.options.step.call(this.elem,this.now,this);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=="height"||this.prop=="width")this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&this.elem.style[this.prop]==null)return this.elem[this.prop];var r=parseFloat(jQuery.css(this.elem,this.prop,force));return r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0;},custom:function(from,to,unit){this.startTime=now();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;this.update();var self=this;function t(gotoEnd){return self.step(gotoEnd);}t.elem=this.elem;jQuery.timers.push(t);if(jQuery.timerId==null){jQuery.timerId=setInterval(function(){var timers=jQuery.timers;for(var i=0;i<timers.length;i++)if(!timers[i]())timers.splice(i--,1);if(!timers.length){clearInterval(jQuery.timerId);jQuery.timerId=null;}},13);}},show:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.show=true;this.custom(0,this.cur());if(this.prop=="width"||this.prop=="height")this.elem.style[this.prop]="1px";jQuery(this.elem).show();},hide:function(){this.options.orig[this.prop]=jQuery.attr(this.elem.style,this.prop);this.options.hide=true;this.custom(this.cur(),0);},step:function(gotoEnd){var t=now();if(gotoEnd||t>this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var done=true;for(var i in this.options.curAnim)if(this.options.curAnim[i]!==true)done=false;if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")this.elem.style.display="block";}if(this.options.hide)this.elem.style.display="none";if(this.options.hide||this.options.show)for(var p in this.options.curAnim)jQuery.attr(this.elem.style,p,this.options.orig[p]);}if(done)this.options.complete.call(this.elem);return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update();}return true;}};jQuery.extend(jQuery.fx,{speeds:{slow:600,fast:200,def:400},step:{scrollLeft:function(fx){fx.elem.scrollLeft=fx.now;},scrollTop:function(fx){fx.elem.scrollTop=fx.now;},opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){fx.elem.style[fx.prop]=fx.now+fx.unit;}}});jQuery.fn.offset=function(){var left=0,top=0,elem=this[0],results;if(elem)with(jQuery.browser){var parent=elem.parentNode,offsetChild=elem,offsetParent=elem.offsetParent,doc=elem.ownerDocument,safari2=safari&&parseInt(version)<522&&!/adobeair/i.test(userAgent),css=jQuery.curCSS,fixed=css(elem,"position")=="fixed";if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);if(mozilla&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2)border(offsetParent);if(!fixed&&css(offsetParent,"position")=="fixed")fixed=true;offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;offsetParent=offsetParent.offsetParent;}while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(css(parent,"display")))add(-parent.scrollLeft,-parent.scrollTop);if(mozilla&&css(parent,"overflow")!="visible")border(parent);parent=parent.parentNode;}if((safari2&&(fixed||css(offsetChild,"position")=="absolute"))||(mozilla&&css(offsetChild,"position")!="absolute"))add(-doc.body.offsetLeft,-doc.body.offsetTop);if(fixed)add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));}results={top:top,left:left};}function border(elem){add(jQuery.curCSS(elem,"borderLeftWidth",true),jQuery.curCSS(elem,"borderTopWidth",true));}function add(l,t){left+=parseInt(l,10)||0;top+=parseInt(t,10)||0;}return results;};jQuery.fn.extend({position:function(){var left=0,top=0,results;if(this[0]){var offsetParent=this.offsetParent(),offset=this.offset(),parentOffset=/^body|html$/i.test(offsetParent[0].tagName)?{top:0,left:0}:offsetParent.offset();offset.top-=num(this,'marginTop');offset.left-=num(this,'marginLeft');parentOffset.top+=num(offsetParent,'borderTopWidth');parentOffset.left+=num(offsetParent,'borderLeftWidth');results={top:offset.top-parentOffset.top,left:offset.left-parentOffset.left};}return results;},offsetParent:function(){var offsetParent=this[0].offsetParent;while(offsetParent&&(!/^body|html$/i.test(offsetParent.tagName)&&jQuery.css(offsetParent,'position')=='static'))offsetParent=offsetParent.offsetParent;return jQuery(offsetParent);}});jQuery.each(['Left','Top'],function(i,name){var method='scroll'+name;jQuery.fn[method]=function(val){if(!this[0])return;return val!=undefined?this.each(function(){this==window||this==document?window.scrollTo(!i?val:jQuery(window).scrollLeft(),i?val:jQuery(window).scrollTop()):this[method]=val;}):this[0]==window||this[0]==document?self[i?'pageYOffset':'pageXOffset']||jQuery.boxModel&&document.documentElement[method]||document.body[method]:this[0][method];};});jQuery.each(["Height","Width"],function(i,name){var tl=i?"Left":"Top",br=i?"Right":"Bottom";jQuery.fn["inner"+name]=function(){return this[name.toLowerCase()]()+num(this,"padding"+tl)+num(this,"padding"+br);};jQuery.fn["outer"+name]=function(margin){return this["inner"+name]()+num(this,"border"+tl+"Width")+num(this,"border"+br+"Width")+(margin?num(this,"margin"+tl)+num(this,"margin"+br):0);};});})();
\ No newline at end of file
diff --git a/html/html/include/jquery-1.9.1.min.js b/html/html/include/jquery-1.9.1.min.js
new file mode 100644 (file)
index 0000000..006e953
--- /dev/null
@@ -0,0 +1,5 @@
+/*! jQuery v1.9.1 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license
+//@ sourceMappingURL=jquery.min.map
+*/(function(e,t){var n,r,i=typeof t,o=e.document,a=e.location,s=e.jQuery,u=e.$,l={},c=[],p="1.9.1",f=c.concat,d=c.push,h=c.slice,g=c.indexOf,m=l.toString,y=l.hasOwnProperty,v=p.trim,b=function(e,t){return new b.fn.init(e,t,r)},x=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,w=/\S+/g,T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,k=/^[\],:{}\s]*$/,E=/(?:^|:|,)(?:\s*\[)+/g,S=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,A=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,j=/^-ms-/,D=/-([\da-z])/gi,L=function(e,t){return t.toUpperCase()},H=function(e){(o.addEventListener||"load"===e.type||"complete"===o.readyState)&&(q(),b.ready())},q=function(){o.addEventListener?(o.removeEventListener("DOMContentLoaded",H,!1),e.removeEventListener("load",H,!1)):(o.detachEvent("onreadystatechange",H),e.detachEvent("onload",H))};b.fn=b.prototype={jquery:p,constructor:b,init:function(e,n,r){var i,a;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof b?n[0]:n,b.merge(this,b.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:o,!0)),C.test(i[1])&&b.isPlainObject(n))for(i in n)b.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(a=o.getElementById(i[2]),a&&a.parentNode){if(a.id!==i[2])return r.find(e);this.length=1,this[0]=a}return this.context=o,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):b.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),b.makeArray(e,this))},selector:"",length:0,size:function(){return this.length},toArray:function(){return h.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=b.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return b.each(this,e,t)},ready:function(e){return b.ready.promise().done(e),this},slice:function(){return this.pushStack(h.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(b.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:d,sort:[].sort,splice:[].splice},b.fn.init.prototype=b.fn,b.extend=b.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},u=1,l=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},u=2),"object"==typeof s||b.isFunction(s)||(s={}),l===u&&(s=this,--u);l>u;u++)if(null!=(o=arguments[u]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(b.isPlainObject(r)||(n=b.isArray(r)))?(n?(n=!1,a=e&&b.isArray(e)?e:[]):a=e&&b.isPlainObject(e)?e:{},s[i]=b.extend(c,a,r)):r!==t&&(s[i]=r));return s},b.extend({noConflict:function(t){return e.$===b&&(e.$=u),t&&e.jQuery===b&&(e.jQuery=s),b},isReady:!1,readyWait:1,holdReady:function(e){e?b.readyWait++:b.ready(!0)},ready:function(e){if(e===!0?!--b.readyWait:!b.isReady){if(!o.body)return setTimeout(b.ready);b.isReady=!0,e!==!0&&--b.readyWait>0||(n.resolveWith(o,[b]),b.fn.trigger&&b(o).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===b.type(e)},isArray:Array.isArray||function(e){return"array"===b.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[m.call(e)]||"object":typeof e},isPlainObject:function(e){if(!e||"object"!==b.type(e)||e.nodeType||b.isWindow(e))return!1;try{if(e.constructor&&!y.call(e,"constructor")&&!y.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||y.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||o;var r=C.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=b.buildFragment([e],t,i),i&&b(i).remove(),b.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=b.trim(n),n&&k.test(n.replace(S,"@").replace(A,"]").replace(E,"")))?Function("return "+n)():(b.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||b.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&b.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(j,"ms-").replace(D,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:v&&!v.call("\ufeff\u00a0")?function(e){return null==e?"":v.call(e)}:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?b.merge(n,"string"==typeof e?[e]:e):d.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(g)return g.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return f.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),b.isFunction(e)?(r=h.call(arguments,2),i=function(){return e.apply(n||this,r.concat(h.call(arguments)))},i.guid=e.guid=e.guid||b.guid++,i):t},access:function(e,n,r,i,o,a,s){var u=0,l=e.length,c=null==r;if("object"===b.type(r)){o=!0;for(u in r)b.access(e,n,u,r[u],!0,a,s)}else if(i!==t&&(o=!0,b.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(b(e),n)})),n))for(;l>u;u++)n(e[u],r,s?i:i.call(e[u],u,n(e[u],r)));return o?e:c?n.call(e):l?n(e[0],r):a},now:function(){return(new Date).getTime()}}),b.ready.promise=function(t){if(!n)if(n=b.Deferred(),"complete"===o.readyState)setTimeout(b.ready);else if(o.addEventListener)o.addEventListener("DOMContentLoaded",H,!1),e.addEventListener("load",H,!1);else{o.attachEvent("onreadystatechange",H),e.attachEvent("onload",H);var r=!1;try{r=null==e.frameElement&&o.documentElement}catch(i){}r&&r.doScroll&&function a(){if(!b.isReady){try{r.doScroll("left")}catch(e){return setTimeout(a,50)}q(),b.ready()}}()}return n.promise(t)},b.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=b.type(e);return b.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=b(o);var _={};function F(e){var t=_[e]={};return b.each(e.match(w)||[],function(e,n){t[n]=!0}),t}b.Callbacks=function(e){e="string"==typeof e?_[e]||F(e):b.extend({},e);var n,r,i,o,a,s,u=[],l=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=u.length,n=!0;u&&o>a;a++)if(u[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,u&&(l?l.length&&c(l.shift()):r?u=[]:p.disable())},p={add:function(){if(u){var t=u.length;(function i(t){b.each(t,function(t,n){var r=b.type(n);"function"===r?e.unique&&p.has(n)||u.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=u.length:r&&(s=t,c(r))}return this},remove:function(){return u&&b.each(arguments,function(e,t){var r;while((r=b.inArray(t,u,r))>-1)u.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?b.inArray(e,u)>-1:!(!u||!u.length)},empty:function(){return u=[],this},disable:function(){return u=l=r=t,this},disabled:function(){return!u},lock:function(){return l=t,r||p.disable(),this},locked:function(){return!l},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!u||i&&!l||(n?l.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},b.extend({Deferred:function(e){var t=[["resolve","done",b.Callbacks("once memory"),"resolved"],["reject","fail",b.Callbacks("once memory"),"rejected"],["notify","progress",b.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return b.Deferred(function(n){b.each(t,function(t,o){var a=o[0],s=b.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&b.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?b.extend(e,r):r}},i={};return r.pipe=r.then,b.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=h.call(arguments),r=n.length,i=1!==r||e&&b.isFunction(e.promise)?r:0,o=1===i?e:b.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?h.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,u,l;if(r>1)for(s=Array(r),u=Array(r),l=Array(r);r>t;t++)n[t]&&b.isFunction(n[t].promise)?n[t].promise().done(a(t,l,n)).fail(o.reject).progress(a(t,u,s)):--i;return i||o.resolveWith(l,n),o.promise()}}),b.support=function(){var t,n,r,a,s,u,l,c,p,f,d=o.createElement("div");if(d.setAttribute("className","t"),d.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=d.getElementsByTagName("*"),r=d.getElementsByTagName("a")[0],!n||!r||!n.length)return{};s=o.createElement("select"),l=s.appendChild(o.createElement("option")),a=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={getSetAttribute:"t"!==d.className,leadingWhitespace:3===d.firstChild.nodeType,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:"/a"===r.getAttribute("href"),opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:!!a.value,optSelected:l.selected,enctype:!!o.createElement("form").enctype,html5Clone:"<:nav></:nav>"!==o.createElement("nav").cloneNode(!0).outerHTML,boxModel:"CSS1Compat"===o.compatMode,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},a.checked=!0,t.noCloneChecked=a.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!l.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}a=o.createElement("input"),a.setAttribute("value",""),t.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),t.radioValue="t"===a.value,a.setAttribute("checked","t"),a.setAttribute("name","t"),u=o.createDocumentFragment(),u.appendChild(a),t.appendChecked=a.checked,t.checkClone=u.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;return d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip,b(function(){var n,r,a,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",u=o.getElementsByTagName("body")[0];u&&(n=o.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",u.appendChild(n).appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",a=d.getElementsByTagName("td"),a[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===a[0].offsetHeight,a[0].style.display="",a[1].style.display="none",t.reliableHiddenOffsets=p&&0===a[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=4===d.offsetWidth,t.doesNotIncludeMarginInBodyOffset=1!==u.offsetTop,e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(o.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="<div></div>",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(u.style.zoom=1)),u.removeChild(n),n=d=a=r=null)}),n=s=u=l=r=a=null,t}();var O=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,B=/([A-Z])/g;function P(e,n,r,i){if(b.acceptData(e)){var o,a,s=b.expando,u="string"==typeof n,l=e.nodeType,p=l?b.cache:e,f=l?e[s]:e[s]&&s;if(f&&p[f]&&(i||p[f].data)||!u||r!==t)return f||(l?e[s]=f=c.pop()||b.guid++:f=s),p[f]||(p[f]={},l||(p[f].toJSON=b.noop)),("object"==typeof n||"function"==typeof n)&&(i?p[f]=b.extend(p[f],n):p[f].data=b.extend(p[f].data,n)),o=p[f],i||(o.data||(o.data={}),o=o.data),r!==t&&(o[b.camelCase(n)]=r),u?(a=o[n],null==a&&(a=o[b.camelCase(n)])):a=o,a}}function R(e,t,n){if(b.acceptData(e)){var r,i,o,a=e.nodeType,s=a?b.cache:e,u=a?e[b.expando]:b.expando;if(s[u]){if(t&&(o=n?s[u]:s[u].data)){b.isArray(t)?t=t.concat(b.map(t,b.camelCase)):t in o?t=[t]:(t=b.camelCase(t),t=t in o?[t]:t.split(" "));for(r=0,i=t.length;i>r;r++)delete o[t[r]];if(!(n?$:b.isEmptyObject)(o))return}(n||(delete s[u].data,$(s[u])))&&(a?b.cleanData([e],!0):b.support.deleteExpando||s!=s.window?delete s[u]:s[u]=null)}}}b.extend({cache:{},expando:"jQuery"+(p+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?b.cache[e[b.expando]]:e[b.expando],!!e&&!$(e)},data:function(e,t,n){return P(e,t,n)},removeData:function(e,t){return R(e,t)},_data:function(e,t,n){return P(e,t,n,!0)},_removeData:function(e,t){return R(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&b.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),b.fn.extend({data:function(e,n){var r,i,o=this[0],a=0,s=null;if(e===t){if(this.length&&(s=b.data(o),1===o.nodeType&&!b._data(o,"parsedAttrs"))){for(r=o.attributes;r.length>a;a++)i=r[a].name,i.indexOf("data-")||(i=b.camelCase(i.slice(5)),W(o,i,s[i]));b._data(o,"parsedAttrs",!0)}return s}return"object"==typeof e?this.each(function(){b.data(this,e)}):b.access(this,function(n){return n===t?o?W(o,e,b.data(o,e)):null:(this.each(function(){b.data(this,e,n)}),t)},null,n,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){b.removeData(this,e)})}});function W(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(B,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:O.test(r)?b.parseJSON(r):r}catch(o){}b.data(e,n,r)}else r=t}return r}function $(e){var t;for(t in e)if(("data"!==t||!b.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}b.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=b._data(e,n),r&&(!i||b.isArray(r)?i=b._data(e,n,b.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=b.queue(e,t),r=n.length,i=n.shift(),o=b._queueHooks(e,t),a=function(){b.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),o.cur=i,i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return b._data(e,n)||b._data(e,n,{empty:b.Callbacks("once memory").add(function(){b._removeData(e,t+"queue"),b._removeData(e,n)})})}}),b.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?b.queue(this[0],e):n===t?this:this.each(function(){var t=b.queue(this,e,n);b._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&b.dequeue(this,e)})},dequeue:function(e){return this.each(function(){b.dequeue(this,e)})},delay:function(e,t){return e=b.fx?b.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=b.Deferred(),a=this,s=this.length,u=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=b._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(u));return u(),o.promise(n)}});var I,z,X=/[\t\r\n]/g,U=/\r/g,V=/^(?:input|select|textarea|button|object)$/i,Y=/^(?:a|area)$/i,J=/^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i,G=/^(?:checked|selected)$/i,Q=b.support.getSetAttribute,K=b.support.input;b.fn.extend({attr:function(e,t){return b.access(this,b.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){b.removeAttr(this,e)})},prop:function(e,t){return b.access(this,b.prop,e,t,arguments.length>1)},removeProp:function(e){return e=b.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,u="string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).addClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=b.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,u=0===arguments.length||"string"==typeof e&&e;if(b.isFunction(e))return this.each(function(t){b(this).removeClass(e.call(this,t,this.className))});if(u)for(t=(e||"").match(w)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(X," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?b.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return b.isFunction(e)?this.each(function(n){b(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var o,a=0,s=b(this),u=t,l=e.match(w)||[];while(o=l[a++])u=r?u:!s.hasClass(o),s[u?"addClass":"removeClass"](o)}else(n===i||"boolean"===n)&&(this.className&&b._data(this,"__className__",this.className),this.className=this.className||e===!1?"":b._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(X," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=b.isFunction(e),this.each(function(n){var o,a=b(this);1===this.nodeType&&(o=i?e.call(this,n,a.val()):e,null==o?o="":"number"==typeof o?o+="":b.isArray(o)&&(o=b.map(o,function(e){return null==e?"":e+""})),r=b.valHooks[this.type]||b.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=b.valHooks[o.type]||b.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(U,""):null==n?"":n)}}}),b.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,u=0>i?s:o?i:0;for(;s>u;u++)if(n=r[u],!(!n.selected&&u!==i||(b.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&b.nodeName(n.parentNode,"optgroup"))){if(t=b(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n=b.makeArray(t);return b(e).find("option").each(function(){this.selected=b.inArray(b(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attr:function(e,n,r){var o,a,s,u=e.nodeType;if(e&&3!==u&&8!==u&&2!==u)return typeof e.getAttribute===i?b.prop(e,n,r):(a=1!==u||!b.isXMLDoc(e),a&&(n=n.toLowerCase(),o=b.attrHooks[n]||(J.test(n)?z:I)),r===t?o&&a&&"get"in o&&null!==(s=o.get(e,n))?s:(typeof e.getAttribute!==i&&(s=e.getAttribute(n)),null==s?t:s):null!==r?o&&a&&"set"in o&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r):(b.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(w);if(o&&1===e.nodeType)while(n=o[i++])r=b.propFix[n]||n,J.test(n)?!Q&&G.test(n)?e[b.camelCase("default-"+n)]=e[r]=!1:e[r]=!1:b.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!b.support.radioValue&&"radio"===t&&b.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!b.isXMLDoc(e),a&&(n=b.propFix[n]||n,o=b.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):V.test(e.nodeName)||Y.test(e.nodeName)&&e.href?0:t}}}}),z={get:function(e,n){var r=b.prop(e,n),i="boolean"==typeof r&&e.getAttribute(n),o="boolean"==typeof r?K&&Q?null!=i:G.test(n)?e[b.camelCase("default-"+n)]:!!i:e.getAttributeNode(n);return o&&o.value!==!1?n.toLowerCase():t},set:function(e,t,n){return t===!1?b.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&b.propFix[n]||n,n):e[b.camelCase("default-"+n)]=e[n]=!0,n}},K&&Q||(b.attrHooks.value={get:function(e,n){var r=e.getAttributeNode(n);return b.nodeName(e,"input")?e.defaultValue:r&&r.specified?r.value:t},set:function(e,n,r){return b.nodeName(e,"input")?(e.defaultValue=n,t):I&&I.set(e,n,r)}}),Q||(I=b.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&("id"===n||"name"===n||"coords"===n?""!==r.value:r.specified)?r.value:t},set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},b.attrHooks.contenteditable={get:I.get,set:function(e,t,n){I.set(e,""===t?!1:t,n)}},b.each(["width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}})})),b.support.hrefNormalized||(b.each(["href","src","width","height"],function(e,n){b.attrHooks[n]=b.extend(b.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return null==r?t:r}})}),b.each(["href","src"],function(e,t){b.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}})),b.support.style||(b.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),b.support.optSelected||(b.propHooks.selected=b.extend(b.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),b.support.enctype||(b.propFix.enctype="encoding"),b.support.checkOn||b.each(["radio","checkbox"],function(){b.valHooks[this]={get:function(e){return null===e.getAttribute("value")?"on":e.value}}}),b.each(["radio","checkbox"],function(){b.valHooks[this]=b.extend(b.valHooks[this],{set:function(e,n){return b.isArray(n)?e.checked=b.inArray(b(e).val(),n)>=0:t}})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}b.event={global:{},add:function(e,n,r,o,a){var s,u,l,c,p,f,d,h,g,m,y,v=b._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=b.guid++),(u=v.events)||(u=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof b===i||e&&b.event.triggered===e.type?t:b.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(w)||[""],l=n.length;while(l--)s=rt.exec(n[l])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),p=b.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=b.event.special[g]||{},d=b.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&b.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=u[g])||(h=u[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),b.event.global[g]=!0;e=null}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,p,f,d,h,g,m=b.hasData(e)&&b._data(e);if(m&&(c=m.events)){t=(t||"").match(w)||[""],l=t.length;while(l--)if(s=rt.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=b.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),u=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));u&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||b.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)b.event.remove(e,d+t[l],n,r,!0);b.isEmptyObject(c)&&(delete m.handle,b._removeData(e,"events"))}},trigger:function(n,r,i,a){var s,u,l,c,p,f,d,h=[i||o],g=y.call(n,"type")?n.type:n,m=y.call(n,"namespace")?n.namespace.split("."):[];if(l=f=i=i||o,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+b.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),u=0>g.indexOf(":")&&"on"+g,n=n[b.expando]?n:new b.Event(g,"object"==typeof n&&n),n.isTrigger=!0,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:b.makeArray(r,[n]),p=b.event.special[g]||{},a||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!a&&!p.noBubble&&!b.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(l=l.parentNode);l;l=l.parentNode)h.push(l),f=l;f===(i.ownerDocument||o)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((l=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(b._data(l,"events")||{})[n.type]&&b._data(l,"handle"),s&&s.apply(l,r),s=u&&l[u],s&&b.acceptData(l)&&s.apply&&s.apply(l,r)===!1&&n.preventDefault();if(n.type=g,!(a||n.isDefaultPrevented()||p._default&&p._default.apply(i.ownerDocument,r)!==!1||"click"===g&&b.nodeName(i,"a")||!b.acceptData(i)||!u||!i[g]||b.isWindow(i))){f=i[u],f&&(i[u]=null),b.event.triggered=g;try{i[g]()}catch(v){}b.event.triggered=t,f&&(i[u]=f)}return n.result}},dispatch:function(e){e=b.event.fix(e);var n,r,i,o,a,s=[],u=h.call(arguments),l=(b._data(this,"events")||{})[e.type]||[],c=b.event.special[e.type]||{};if(u[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=b.event.handlers.call(this,e,l),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((b.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,u),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],u=n.delegateCount,l=e.target;if(u&&l.nodeType&&(!e.button||"click"!==e.type))for(;l!=this;l=l.parentNode||this)if(1===l.nodeType&&(l.disabled!==!0||"click"!==e.type)){for(o=[],a=0;u>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?b(r,this).index(l)>=0:b.find(r,this,null,[l]).length),o[r]&&o.push(i);o.length&&s.push({elem:l,handlers:o})}return n.length>u&&s.push({elem:this,handlers:n.slice(u)}),s},fix:function(e){if(e[b.expando])return e;var t,n,r,i=e.type,a=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new b.Event(a),t=r.length;while(t--)n=r[t],e[n]=a[n];return e.target||(e.target=a.srcElement||o),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,a):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,a,s=n.button,u=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||o,a=i.documentElement,r=i.body,e.pageX=n.clientX+(a&&a.scrollLeft||r&&r.scrollLeft||0)-(a&&a.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(a&&a.scrollTop||r&&r.scrollTop||0)-(a&&a.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&u&&(e.relatedTarget=u===e.target?n.toElement:u),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},click:{trigger:function(){return b.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t}},focus:{trigger:function(){if(this!==o.activeElement&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===o.activeElement&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=b.extend(new b.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?b.event.trigger(i,null,t):b.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},b.removeEvent=o.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},b.Event=function(e,n){return this instanceof b.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&b.extend(this,n),this.timeStamp=e&&e.timeStamp||b.now(),this[b.expando]=!0,t):new b.Event(e,n)},b.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},b.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){b.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;
+return(!i||i!==r&&!b.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),b.support.submitBubbles||(b.event.special.submit={setup:function(){return b.nodeName(this,"form")?!1:(b.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=b.nodeName(n,"input")||b.nodeName(n,"button")?n.form:t;r&&!b._data(r,"submitBubbles")&&(b.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),b._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&b.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return b.nodeName(this,"form")?!1:(b.event.remove(this,"._submit"),t)}}),b.support.changeBubbles||(b.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(b.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),b.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),b.event.simulate("change",this,e,!0)})),!1):(b.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!b._data(t,"changeBubbles")&&(b.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||b.event.simulate("change",this.parentNode,e,!0)}),b._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return b.event.remove(this,"._change"),!Z.test(this.nodeName)}}),b.support.focusinBubbles||b.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){b.event.simulate(t,e.target,b.event.fix(e),!0)};b.event.special[t]={setup:function(){0===n++&&o.addEventListener(e,r,!0)},teardown:function(){0===--n&&o.removeEventListener(e,r,!0)}}}),b.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return b().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=b.guid++)),this.each(function(){b.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,b(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){b.event.remove(this,e,r,n)})},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)},trigger:function(e,t){return this.each(function(){b.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?b.event.trigger(e,n,r,!0):t}}),function(e,t){var n,r,i,o,a,s,u,l,c,p,f,d,h,g,m,y,v,x="sizzle"+-new Date,w=e.document,T={},N=0,C=0,k=it(),E=it(),S=it(),A=typeof t,j=1<<31,D=[],L=D.pop,H=D.push,q=D.slice,M=D.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},_="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=F.replace("w","w#"),B="([*^$|!~]?=)",P="\\["+_+"*("+F+")"+_+"*(?:"+B+_+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+O+")|)|)"+_+"*\\]",R=":("+F+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+P.replace(3,8)+")*)|.*)\\)|)",W=RegExp("^"+_+"+|((?:^|[^\\\\])(?:\\\\.)*)"+_+"+$","g"),$=RegExp("^"+_+"*,"+_+"*"),I=RegExp("^"+_+"*([\\x20\\t\\r\\n\\f>+~])"+_+"*"),z=RegExp(R),X=RegExp("^"+O+"$"),U={ID:RegExp("^#("+F+")"),CLASS:RegExp("^\\.("+F+")"),NAME:RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:RegExp("^("+F.replace("w","w*")+")"),ATTR:RegExp("^"+P),PSEUDO:RegExp("^"+R),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+_+"*(even|odd|(([+-]|)(\\d*)n|)"+_+"*(?:([+-]|)"+_+"*(\\d+)|))"+_+"*\\)|)","i"),needsContext:RegExp("^"+_+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+_+"*((?:-\\d)?\\d*)"+_+"*\\)|)(?=[^-]|$)","i")},V=/[\x20\t\r\n\f]*[+~]/,Y=/^[^{]+\{\s*\[native code/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,G=/^(?:input|select|textarea|button)$/i,Q=/^h\d$/i,K=/'|\\/g,Z=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,et=/\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g,tt=function(e,t){var n="0x"+t-65536;return n!==n?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(55296|n>>10,56320|1023&n)};try{q.call(w.documentElement.childNodes,0)[0].nodeType}catch(nt){q=function(e){var t,n=[];while(t=this[e++])n.push(t);return n}}function rt(e){return Y.test(e+"")}function it(){var e,t=[];return e=function(n,r){return t.push(n+=" ")>i.cacheLength&&delete e[t.shift()],e[n]=r}}function ot(e){return e[x]=!0,e}function at(e){var t=p.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}}function st(e,t,n,r){var i,o,a,s,u,l,f,g,m,v;if((t?t.ownerDocument||t:w)!==p&&c(t),t=t||p,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(!d&&!r){if(i=J.exec(e))if(a=i[1]){if(9===s){if(o=t.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(a))&&y(t,o)&&o.id===a)return n.push(o),n}else{if(i[2])return H.apply(n,q.call(t.getElementsByTagName(e),0)),n;if((a=i[3])&&T.getByClassName&&t.getElementsByClassName)return H.apply(n,q.call(t.getElementsByClassName(a),0)),n}if(T.qsa&&!h.test(e)){if(f=!0,g=x,m=t,v=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){l=ft(e),(f=t.getAttribute("id"))?g=f.replace(K,"\\$&"):t.setAttribute("id",g),g="[id='"+g+"'] ",u=l.length;while(u--)l[u]=g+dt(l[u]);m=V.test(e)&&t.parentNode||t,v=l.join(",")}if(v)try{return H.apply(n,q.call(m.querySelectorAll(v),0)),n}catch(b){}finally{f||t.removeAttribute("id")}}}return wt(e.replace(W,"$1"),t,n,r)}a=st.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},c=st.setDocument=function(e){var n=e?e.ownerDocument||e:w;return n!==p&&9===n.nodeType&&n.documentElement?(p=n,f=n.documentElement,d=a(n),T.tagNameNoComments=at(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),T.attributes=at(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return"boolean"!==t&&"string"!==t}),T.getByClassName=at(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",e.getElementsByClassName&&e.getElementsByClassName("e").length?(e.lastChild.className="e",2===e.getElementsByClassName("e").length):!1}),T.getByName=at(function(e){e.id=x+0,e.innerHTML="<a name='"+x+"'></a><div name='"+x+"'></div>",f.insertBefore(e,f.firstChild);var t=n.getElementsByName&&n.getElementsByName(x).length===2+n.getElementsByName(x+0).length;return T.getIdNotName=!n.getElementById(x),f.removeChild(e),t}),i.attrHandle=at(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==A&&"#"===e.firstChild.getAttribute("href")})?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},T.getIdNotName?(i.find.ID=function(e,t){if(typeof t.getElementById!==A&&!d){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){return e.getAttribute("id")===t}}):(i.find.ID=function(e,n){if(typeof n.getElementById!==A&&!d){var r=n.getElementById(e);return r?r.id===e||typeof r.getAttributeNode!==A&&r.getAttributeNode("id").value===e?[r]:t:[]}},i.filter.ID=function(e){var t=e.replace(et,tt);return function(e){var n=typeof e.getAttributeNode!==A&&e.getAttributeNode("id");return n&&n.value===t}}),i.find.TAG=T.tagNameNoComments?function(e,n){return typeof n.getElementsByTagName!==A?n.getElementsByTagName(e):t}: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},i.find.NAME=T.getByName&&function(e,n){return typeof n.getElementsByName!==A?n.getElementsByName(name):t},i.find.CLASS=T.getByClassName&&function(e,n){return typeof n.getElementsByClassName===A||d?t:n.getElementsByClassName(e)},g=[],h=[":focus"],(T.qsa=rt(n.querySelectorAll))&&(at(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||h.push("\\["+_+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||h.push(":checked")}),at(function(e){e.innerHTML="<input type='hidden' i=''/>",e.querySelectorAll("[i^='']").length&&h.push("[*^$]="+_+"*(?:\"\"|'')"),e.querySelectorAll(":enabled").length||h.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),h.push(",.*:")})),(T.matchesSelector=rt(m=f.matchesSelector||f.mozMatchesSelector||f.webkitMatchesSelector||f.oMatchesSelector||f.msMatchesSelector))&&at(function(e){T.disconnectedMatch=m.call(e,"div"),m.call(e,"[s!='']:x"),g.push("!=",R)}),h=RegExp(h.join("|")),g=RegExp(g.join("|")),y=rt(f.contains)||f.compareDocumentPosition?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},v=f.compareDocumentPosition?function(e,t){var r;return e===t?(u=!0,0):(r=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t))?1&r||e.parentNode&&11===e.parentNode.nodeType?e===n||y(w,e)?-1:t===n||y(w,t)?1:0:4&r?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return u=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:0;if(o===a)return ut(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?ut(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},u=!1,[0,0].sort(v),T.detectDuplicates=u,p):p},st.matches=function(e,t){return st(e,null,null,t)},st.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&c(e),t=t.replace(Z,"='$1']"),!(!T.matchesSelector||d||g&&g.test(t)||h.test(t)))try{var n=m.call(e,t);if(n||T.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(r){}return st(t,p,null,[e]).length>0},st.contains=function(e,t){return(e.ownerDocument||e)!==p&&c(e),y(e,t)},st.attr=function(e,t){var n;return(e.ownerDocument||e)!==p&&c(e),d||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):d||T.attributes?e.getAttribute(t):((n=e.getAttributeNode(t))||e.getAttribute(t))&&e[t]===!0?t:n&&n.specified?n.value:null},st.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},st.uniqueSort=function(e){var t,n=[],r=1,i=0;if(u=!T.detectDuplicates,e.sort(v),u){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e};function ut(e,t){var n=t&&e,r=n&&(~t.sourceIndex||j)-(~e.sourceIndex||j);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function lt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function ct(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function pt(e){return ot(function(t){return t=+t,ot(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}o=st.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 for(;t=e[r];r++)n+=o(t);return n},i=st.selectors={cacheLength:50,createPseudo:ot,match:U,find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(et,tt),e[3]=(e[4]||e[5]||"").replace(et,tt),"~="===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]||st.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]&&st.error(e[0]),e},PSEUDO:function(e){var t,n=!e[5]&&e[2];return U.CHILD.test(e[0])?null:(e[4]?e[2]=e[4]:n&&z.test(n)&&(t=ft(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){return"*"===e?function(){return!0}:(e=e.replace(et,tt).toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[e+" "];return t||(t=RegExp("(^|"+_+")"+e+"("+_+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==A&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=st.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!u&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[x]||(m[x]={}),l=c[e]||[],d=l[0]===N&&l[1],f=l[0]===N&&l[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[N,d,f];break}}else if(v&&(l=(t[x]||(t[x]={}))[e])&&l[0]===N)f=l[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[x]||(p[x]={}))[e]=[N,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||st.error("unsupported pseudo: "+e);return r[x]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?ot(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=M.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:ot(function(e){var t=[],n=[],r=s(e.replace(W,"$1"));return r[x]?ot(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:ot(function(e){return function(t){return st(e,t).length>0}}),contains:ot(function(e){return function(t){return(t.textContent||t.innerText||o(t)).indexOf(e)>-1}}),lang:ot(function(e){return X.test(e||"")||st.error("unsupported lang: "+e),e=e.replace(et,tt).toLowerCase(),function(t){var n;do if(n=d?t.getAttribute("xml:lang")||t.getAttribute("lang"):t.lang)return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===f},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!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,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!i.pseudos.empty(e)},header:function(e){return Q.test(e.nodeName)},input:function(e){return G.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"))||t.toLowerCase()===e.type)},first:pt(function(){return[0]}),last:pt(function(e,t){return[t-1]}),eq:pt(function(e,t,n){return[0>n?n+t:n]}),even:pt(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:pt(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:pt(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:pt(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}};for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})i.pseudos[n]=lt(n);for(n in{submit:!0,reset:!0})i.pseudos[n]=ct(n);function ft(e,t){var n,r,o,a,s,u,l,c=E[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=i.preFilter;while(s){(!n||(r=$.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),u.push(o=[])),n=!1,(r=I.exec(s))&&(n=r.shift(),o.push({value:n,type:r[0].replace(W," ")}),s=s.slice(n.length));for(a in i.filter)!(r=U[a].exec(s))||l[a]&&!(r=l[a](r))||(n=r.shift(),o.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?st.error(e):E(e,u).slice(0)}function dt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function ht(e,t,n){var i=t.dir,o=n&&"parentNode"===i,a=C++;return t.first?function(t,n,r){while(t=t[i])if(1===t.nodeType||o)return e(t,n,r)}:function(t,n,s){var u,l,c,p=N+" "+a;if(s){while(t=t[i])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[i])if(1===t.nodeType||o)if(c=t[x]||(t[x]={}),(l=c[i])&&l[0]===p){if((u=l[1])===!0||u===r)return u===!0}else if(l=c[i]=[p],l[1]=e(t,n,s)||r,l[1]===!0)return!0}}function gt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function mt(e,t,n,r,i){var o,a=[],s=0,u=e.length,l=null!=t;for(;u>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),l&&t.push(s));return a}function yt(e,t,n,r,i,o){return r&&!r[x]&&(r=yt(r)),i&&!i[x]&&(i=yt(i,o)),ot(function(o,a,s,u){var l,c,p,f=[],d=[],h=a.length,g=o||xt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:mt(g,f,e,s,u),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,u),r){l=mt(y,d),r(l,[],s,u),c=l.length;while(c--)(p=l[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(p=y[c])&&l.push(m[c]=p);i(null,y=[],l,u)}c=y.length;while(c--)(p=y[c])&&(l=i?M.call(o,p):f[c])>-1&&(o[l]=!(a[l]=p))}}else y=mt(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):H.apply(a,y)})}function vt(e){var t,n,r,o=e.length,a=i.relative[e[0].type],s=a||i.relative[" "],u=a?1:0,c=ht(function(e){return e===t},s,!0),p=ht(function(e){return M.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;o>u;u++)if(n=i.relative[e[u].type])f=[ht(gt(f),n)];else{if(n=i.filter[e[u].type].apply(null,e[u].matches),n[x]){for(r=++u;o>r;r++)if(i.relative[e[r].type])break;return yt(u>1&&gt(f),u>1&&dt(e.slice(0,u-1)).replace(W,"$1"),n,r>u&&vt(e.slice(u,r)),o>r&&vt(e=e.slice(r)),o>r&&dt(e))}f.push(n)}return gt(f)}function bt(e,t){var n=0,o=t.length>0,a=e.length>0,s=function(s,u,c,f,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,T=l,C=s||a&&i.find.TAG("*",d&&u.parentNode||u),k=N+=null==T?1:Math.random()||.1;for(w&&(l=u!==p&&u,r=n);null!=(h=C[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,u,c)){f.push(h);break}w&&(N=k,r=++n)}o&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,o&&b!==v){g=0;while(m=t[g++])m(x,y,u,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=L.call(f));y=mt(y)}H.apply(f,y),w&&!s&&y.length>0&&v+t.length>1&&st.uniqueSort(f)}return w&&(N=k,l=T),x};return o?ot(s):s}s=st.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=ft(e)),n=t.length;while(n--)o=vt(t[n]),o[x]?r.push(o):i.push(o);o=S(e,bt(i,r))}return o};function xt(e,t,n){var r=0,i=t.length;for(;i>r;r++)st(e,t[r],n);return n}function wt(e,t,n,r){var o,a,u,l,c,p=ft(e);if(!r&&1===p.length){if(a=p[0]=p[0].slice(0),a.length>2&&"ID"===(u=a[0]).type&&9===t.nodeType&&!d&&i.relative[a[1].type]){if(t=i.find.ID(u.matches[0].replace(et,tt),t)[0],!t)return n;e=e.slice(a.shift().value.length)}o=U.needsContext.test(e)?0:a.length;while(o--){if(u=a[o],i.relative[l=u.type])break;if((c=i.find[l])&&(r=c(u.matches[0].replace(et,tt),V.test(a[0].type)&&t.parentNode||t))){if(a.splice(o,1),e=r.length&&dt(a),!e)return H.apply(n,q.call(r,0)),n;break}}}return s(e,p)(r,t,d,n,V.test(e)),n}i.pseudos.nth=i.pseudos.eq;function Tt(){}i.filters=Tt.prototype=i.pseudos,i.setFilters=new Tt,c(),st.attr=b.attr,b.find=st,b.expr=st.selectors,b.expr[":"]=b.expr.pseudos,b.unique=st.uniqueSort,b.text=st.getText,b.isXMLDoc=st.isXML,b.contains=st.contains}(e);var at=/Until$/,st=/^(?:parents|prev(?:Until|All))/,ut=/^.[^:#\[\.,]*$/,lt=b.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};b.fn.extend({find:function(e){var t,n,r,i=this.length;if("string"!=typeof e)return r=this,this.pushStack(b(e).filter(function(){for(t=0;i>t;t++)if(b.contains(r[t],this))return!0}));for(n=[],t=0;i>t;t++)b.find(e,this[t],n);return n=this.pushStack(i>1?b.unique(n):n),n.selector=(this.selector?this.selector+" ":"")+e,n},has:function(e){var t,n=b(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(b.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1))},filter:function(e){return this.pushStack(ft(this,e,!0))},is:function(e){return!!e&&("string"==typeof e?lt.test(e)?b(e,this.context).index(this[0])>=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,o=[],a=lt.test(e)||"string"!=typeof e?b(e,t||this.context):0;for(;i>r;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&11!==n.nodeType){if(a?a.index(n)>-1:b.find.matchesSelector(n,e)){o.push(n);break}n=n.parentNode}}return this.pushStack(o.length>1?b.unique(o):o)},index:function(e){return e?"string"==typeof e?b.inArray(this[0],b(e)):b.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?b(e,t):b.makeArray(e&&e.nodeType?[e]:e),r=b.merge(this.get(),n);return this.pushStack(b.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),b.fn.andSelf=b.fn.addBack;function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}b.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(e,t,n){return b.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(e,t,n){return b.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return b.dir(e,"previousSibling",n)},siblings:function(e){return b.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.merge([],e.childNodes)}},function(e,t){b.fn[e]=function(n,r){var i=b.map(this,t,n);return at.test(e)||(r=n),r&&"string"==typeof r&&(i=b.filter(r,i)),i=this.length>1&&!ct[e]?b.unique(i):i,this.length>1&&st.test(e)&&(i=i.reverse()),this.pushStack(i)}}),b.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),1===t.length?b.find.matchesSelector(t[0],e)?[t[0]]:[]:b.find.matches(e,t)},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!b(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(t=t||0,b.isFunction(t))return b.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return b.grep(e,function(e){return e===t===n});if("string"==typeof t){var r=b.grep(e,function(e){return 1===e.nodeType});if(ut.test(t))return b.filter(t,r,!n);t=b.filter(t,r)}return b.grep(e,function(e){return b.inArray(e,t)>=0===n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/<tbody/i,wt=/<|&#?\w+;/,Tt=/<(?:script|style|link)/i,Nt=/^(?:checkbox|radio)$/i,Ct=/checked\s*(?:[^=]|=\s*.checked.)/i,kt=/^$|\/(?:java|ecma)script/i,Et=/^true\/(.*)/,St=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,At={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:b.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},jt=dt(o),Dt=jt.appendChild(o.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,b.fn.extend({text:function(e){return b.access(this,function(e){return e===t?b.text(this):this.empty().append((this[0]&&this[0].ownerDocument||o).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(b.isFunction(e))return this.each(function(t){b(this).wrapAll(e.call(this,t))});if(this[0]){var t=b(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return b.isFunction(e)?this.each(function(t){b(this).wrapInner(e.call(this,t))}):this.each(function(){var t=b(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=b.isFunction(e);return this.each(function(n){b(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){b.nodeName(this,"body")||b(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&this.insertBefore(e,this.firstChild)})},before:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,!1,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=0;for(;null!=(n=this[r]);r++)(!e||b.filter(e,[n]).length>0)&&(t||1!==n.nodeType||b.cleanData(Ot(n)),n.parentNode&&(t&&b.contains(n.ownerDocument,n)&&Mt(Ot(n,"script")),n.parentNode.removeChild(n)));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&b.cleanData(Ot(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&b.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return b.clone(this,e,t)})},html:function(e){return b.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!b.support.htmlSerialize&&mt.test(e)||!b.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1></$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(b.cleanData(Ot(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){var t=b.isFunction(e);return t||"string"==typeof e||(e=b(e).not(this).detach()),this.domManip([e],!0,function(e){var t=this.nextSibling,n=this.parentNode;n&&(b(this).remove(),n.insertBefore(e,t))})},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=f.apply([],e);var i,o,a,s,u,l,c=0,p=this.length,d=this,h=p-1,g=e[0],m=b.isFunction(g);if(m||!(1>=p||"string"!=typeof g||b.support.checkClone)&&Ct.test(g))return this.each(function(i){var o=d.eq(i);m&&(e[0]=g.call(this,i,n?o.html():t)),o.domManip(e,n,r)});if(p&&(l=b.buildFragment(e,this[0].ownerDocument,!1,this),i=l.firstChild,1===l.childNodes.length&&(l=i),i)){for(n=n&&b.nodeName(i,"tr"),s=b.map(Ot(l,"script"),Ht),a=s.length;p>c;c++)o=l,c!==h&&(o=b.clone(o,!0,!0),a&&b.merge(s,Ot(o,"script"))),r.call(n&&b.nodeName(this[c],"table")?Lt(this[c],"tbody"):this[c],o,c);if(a)for(u=s[s.length-1].ownerDocument,b.map(s,qt),c=0;a>c;c++)o=s[c],kt.test(o.type||"")&&!b._data(o,"globalEval")&&b.contains(u,o)&&(o.src?b.ajax({url:o.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):b.globalEval((o.text||o.textContent||o.innerHTML||"").replace(St,"")));l=i=null}return this}});function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function Ht(e){var t=e.getAttributeNode("type");return e.type=(t&&t.specified)+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function Mt(e,t){var n,r=0;for(;null!=(n=e[r]);r++)b._data(n,"globalEval",!t||b._data(t[r],"globalEval"))}function _t(e,t){if(1===t.nodeType&&b.hasData(e)){var n,r,i,o=b._data(e),a=b._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)b.event.add(t,n,s[n][r])}a.data&&(a.data=b.extend({},a.data))}}function Ft(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!b.support.noCloneEvent&&t[b.expando]){i=b._data(t);for(r in i.events)b.removeEvent(t,r,i.handle);t.removeAttribute(b.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),b.support.html5Clone&&e.innerHTML&&!b.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Nt.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}b.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){b.fn[e]=function(e){var n,r=0,i=[],o=b(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),b(o[r])[t](n),d.apply(i,n.get());return this.pushStack(i)}});function Ot(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||b.nodeName(o,n)?s.push(o):b.merge(s,Ot(o,n));return n===t||n&&b.nodeName(e,n)?b.merge([e],s):s}function Bt(e){Nt.test(e.type)&&(e.defaultChecked=e.checked)}b.extend({clone:function(e,t,n){var r,i,o,a,s,u=b.contains(e.ownerDocument,e);if(b.support.html5Clone||b.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(b.support.noCloneEvent&&b.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||b.isXMLDoc(e)))for(r=Ot(o),s=Ot(e),a=0;null!=(i=s[a]);++a)r[a]&&Ft(i,r[a]);if(t)if(n)for(s=s||Ot(e),r=r||Ot(o),a=0;null!=(i=s[a]);a++)_t(i,r[a]);else _t(e,o);return r=Ot(o,"script"),r.length>0&&Mt(r,!u&&Ot(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,u,l,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===b.type(o))b.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),u=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[u]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1></$2>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!b.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!b.support.tbody){o="table"!==u||xt.test(o)?"<table>"!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)b.nodeName(l=o.childNodes[i],"tbody")&&!l.childNodes.length&&o.removeChild(l)
+}b.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),b.support.appendChecked||b.grep(Ot(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===b.inArray(o,r))&&(a=b.contains(o.ownerDocument,o),s=Ot(f.appendChild(o),"script"),a&&Mt(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,u=b.expando,l=b.cache,p=b.support.deleteExpando,f=b.event.special;for(;null!=(n=e[s]);s++)if((t||b.acceptData(n))&&(o=n[u],a=o&&l[o])){if(a.events)for(r in a.events)f[r]?b.event.remove(n,r):b.removeEvent(n,r,a.handle);l[o]&&(delete l[o],p?delete n[u]:typeof n.removeAttribute!==i?n.removeAttribute(u):n[u]=null,c.push(o))}}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+x+")(.*)$","i"),Yt=RegExp("^("+x+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+x+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===b.css(e,"display")||!b.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=b._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=b._data(r,"olddisplay",un(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&b._data(r,"olddisplay",i?n:b.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}b.fn.extend({css:function(e,n){return b.access(this,function(e,n,r){var i,o,a={},s=0;if(b.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=b.css(e,n[s],!1,o);return a}return r!==t?b.style(e,n,r):b.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:nn(this))?b(this).show():b(this).hide()})}}),b.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":b.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,u=b.camelCase(n),l=e.style;if(n=b.cssProps[u]||(b.cssProps[u]=tn(l,u)),s=b.cssHooks[n]||b.cssHooks[u],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:l[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(b.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||b.cssNumber[u]||(r+="px"),b.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(l[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{l[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,u=b.camelCase(n);return n=b.cssProps[u]||(b.cssProps[u]=tn(e.style,u)),s=b.cssHooks[n]||b.cssHooks[u],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||b.isNumeric(o)?o||0:a):a},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s.getPropertyValue(n)||s[n]:t,l=e.style;return s&&(""!==u||b.contains(e.ownerDocument,e)||(u=b.style(e,n)),Yt.test(u)&&Ut.test(n)&&(i=l.width,o=l.minWidth,a=l.maxWidth,l.minWidth=l.maxWidth=l.width=u,u=s.width,l.width=i,l.minWidth=o,l.maxWidth=a)),u}):o.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),u=s?s[n]:t,l=e.style;return null==u&&l&&l[n]&&(u=l[n]),Yt.test(u)&&!zt.test(n)&&(i=l.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),l.left="fontSize"===n?"1em":u,u=l.pixelLeft+"px",l.left=i,a&&(o.left=a)),""===u?"auto":u});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=b.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=b.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=b.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=b.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=b.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(b.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function un(e){var t=o,n=Gt[e];return n||(n=ln(e,t),"none"!==n&&n||(Pt=(Pt||b("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(Pt[0].contentWindow||Pt[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=ln(e,t),Pt.detach()),Gt[e]=n),n}function ln(e,t){var n=b(t.createElement(e)).appendTo(t.body),r=b.css(n[0],"display");return n.remove(),r}b.each(["height","width"],function(e,n){b.cssHooks[n]={get:function(e,r,i){return r?0===e.offsetWidth&&Xt.test(b.css(e,"display"))?b.swap(e,Qt,function(){return sn(e,n,i)}):sn(e,n,i):t},set:function(e,t,r){var i=r&&Rt(e);return on(e,t,r?an(e,n,r,b.support.boxSizing&&"border-box"===b.css(e,"boxSizing",!1,i),i):0)}}}),b.support.opacity||(b.cssHooks.opacity={get:function(e,t){return It.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=b.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===b.trim(o.replace($t,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=$t.test(o)?o.replace($t,i):o+" "+i)}}),b(function(){b.support.reliableMarginRight||(b.cssHooks.marginRight={get:function(e,n){return n?b.swap(e,{display:"inline-block"},Wt,[e,"marginRight"]):t}}),!b.support.pixelPosition&&b.fn.position&&b.each(["top","left"],function(e,n){b.cssHooks[n]={get:function(e,r){return r?(r=Wt(e,n),Yt.test(r)?b(e).position()[n]+"px":r):t}}})}),b.expr&&b.expr.filters&&(b.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight||!b.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||b.css(e,"display"))},b.expr.filters.visible=function(e){return!b.expr.filters.hidden(e)}),b.each({margin:"",padding:"",border:"Width"},function(e,t){b.cssHooks[e+t]={expand:function(n){var r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+Zt[r]+t]=o[r]||o[r-2]||o[0];return i}},Ut.test(e)||(b.cssHooks[e+t].set=on)});var cn=/%20/g,pn=/\[\]$/,fn=/\r?\n/g,dn=/^(?:submit|button|image|reset|file)$/i,hn=/^(?:input|select|textarea|keygen)/i;b.fn.extend({serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=b.prop(this,"elements");return e?b.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!b(this).is(":disabled")&&hn.test(this.nodeName)&&!dn.test(e)&&(this.checked||!Nt.test(e))}).map(function(e,t){var n=b(this).val();return null==n?null:b.isArray(n)?b.map(n,function(e){return{name:t.name,value:e.replace(fn,"\r\n")}}):{name:t.name,value:n.replace(fn,"\r\n")}}).get()}}),b.param=function(e,n){var r,i=[],o=function(e,t){t=b.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=b.ajaxSettings&&b.ajaxSettings.traditional),b.isArray(e)||e.jquery&&!b.isPlainObject(e))b.each(e,function(){o(this.name,this.value)});else for(r in e)gn(r,e[r],n,o);return i.join("&").replace(cn,"+")};function gn(e,t,n,r){var i;if(b.isArray(t))b.each(t,function(t,i){n||pn.test(e)?r(e,i):gn(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==b.type(t))r(e,t);else for(i in t)gn(e+"["+i+"]",t[i],n,r)}b.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){b.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),b.fn.hover=function(e,t){return this.mouseenter(e).mouseleave(t||e)};var mn,yn,vn=b.now(),bn=/\?/,xn=/#.*$/,wn=/([?&])_=[^&]*/,Tn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Nn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Cn=/^(?:GET|HEAD)$/,kn=/^\/\//,En=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Sn=b.fn.load,An={},jn={},Dn="*/".concat("*");try{yn=a.href}catch(Ln){yn=o.createElement("a"),yn.href="",yn=yn.href}mn=En.exec(yn.toLowerCase())||[];function Hn(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(w)||[];if(b.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function qn(e,n,r,i){var o={},a=e===jn;function s(u){var l;return o[u]=!0,b.each(e[u]||[],function(e,u){var c=u(n,r,i);return"string"!=typeof c||a||o[c]?a?!(l=c):t:(n.dataTypes.unshift(c),s(c),!1)}),l}return s(n.dataTypes[0])||!o["*"]&&s("*")}function Mn(e,n){var r,i,o=b.ajaxSettings.flatOptions||{};for(i in n)n[i]!==t&&((o[i]?e:r||(r={}))[i]=n[i]);return r&&b.extend(!0,e,r),e}b.fn.load=function(e,n,r){if("string"!=typeof e&&Sn)return Sn.apply(this,arguments);var i,o,a,s=this,u=e.indexOf(" ");return u>=0&&(i=e.slice(u,e.length),e=e.slice(0,u)),b.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(a="POST"),s.length>0&&b.ajax({url:e,type:a,dataType:"html",data:n}).done(function(e){o=arguments,s.html(i?b("<div>").append(b.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,o||[e.responseText,t,e])}),this},b.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){b.fn[t]=function(e){return this.on(t,e)}}),b.each(["get","post"],function(e,n){b[n]=function(e,r,i,o){return b.isFunction(r)&&(o=o||i,i=r,r=t),b.ajax({url:e,type:n,dataType:o,data:r,success:i})}}),b.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:yn,type:"GET",isLocal:Nn.test(mn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Dn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Mn(Mn(e,b.ajaxSettings),t):Mn(b.ajaxSettings,e)},ajaxPrefilter:Hn(An),ajaxTransport:Hn(jn),ajax:function(e,n){"object"==typeof e&&(n=e,e=t),n=n||{};var r,i,o,a,s,u,l,c,p=b.ajaxSetup({},n),f=p.context||p,d=p.context&&(f.nodeType||f.jquery)?b(f):b.event,h=b.Deferred(),g=b.Callbacks("once memory"),m=p.statusCode||{},y={},v={},x=0,T="canceled",N={readyState:0,getResponseHeader:function(e){var t;if(2===x){if(!c){c={};while(t=Tn.exec(a))c[t[1].toLowerCase()]=t[2]}t=c[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===x?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return x||(e=v[n]=v[n]||e,y[e]=t),this},overrideMimeType:function(e){return x||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>x)for(t in e)m[t]=[m[t],e[t]];else N.always(e[N.status]);return this},abort:function(e){var t=e||T;return l&&l.abort(t),k(0,t),this}};if(h.promise(N).complete=g.add,N.success=N.done,N.error=N.fail,p.url=((e||p.url||yn)+"").replace(xn,"").replace(kn,mn[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=b.trim(p.dataType||"*").toLowerCase().match(w)||[""],null==p.crossDomain&&(r=En.exec(p.url.toLowerCase()),p.crossDomain=!(!r||r[1]===mn[1]&&r[2]===mn[2]&&(r[3]||("http:"===r[1]?80:443))==(mn[3]||("http:"===mn[1]?80:443)))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=b.param(p.data,p.traditional)),qn(An,p,n,N),2===x)return N;u=p.global,u&&0===b.active++&&b.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Cn.test(p.type),o=p.url,p.hasContent||(p.data&&(o=p.url+=(bn.test(o)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=wn.test(o)?o.replace(wn,"$1_="+vn++):o+(bn.test(o)?"&":"?")+"_="+vn++)),p.ifModified&&(b.lastModified[o]&&N.setRequestHeader("If-Modified-Since",b.lastModified[o]),b.etag[o]&&N.setRequestHeader("If-None-Match",b.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&N.setRequestHeader("Content-Type",p.contentType),N.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Dn+"; q=0.01":""):p.accepts["*"]);for(i in p.headers)N.setRequestHeader(i,p.headers[i]);if(p.beforeSend&&(p.beforeSend.call(f,N,p)===!1||2===x))return N.abort();T="abort";for(i in{success:1,error:1,complete:1})N[i](p[i]);if(l=qn(jn,p,n,N)){N.readyState=1,u&&d.trigger("ajaxSend",[N,p]),p.async&&p.timeout>0&&(s=setTimeout(function(){N.abort("timeout")},p.timeout));try{x=1,l.send(y,k)}catch(C){if(!(2>x))throw C;k(-1,C)}}else k(-1,"No Transport");function k(e,n,r,i){var c,y,v,w,T,C=n;2!==x&&(x=2,s&&clearTimeout(s),l=t,a=i||"",N.readyState=e>0?4:0,r&&(w=_n(p,N,r)),e>=200&&300>e||304===e?(p.ifModified&&(T=N.getResponseHeader("Last-Modified"),T&&(b.lastModified[o]=T),T=N.getResponseHeader("etag"),T&&(b.etag[o]=T)),204===e?(c=!0,C="nocontent"):304===e?(c=!0,C="notmodified"):(c=Fn(p,w),C=c.state,y=c.data,v=c.error,c=!v)):(v=C,(e||!C)&&(C="error",0>e&&(e=0))),N.status=e,N.statusText=(n||C)+"",c?h.resolveWith(f,[y,C,N]):h.rejectWith(f,[N,C,v]),N.statusCode(m),m=t,u&&d.trigger(c?"ajaxSuccess":"ajaxError",[N,p,c?y:v]),g.fireWith(f,[N,C]),u&&(d.trigger("ajaxComplete",[N,p]),--b.active||b.event.trigger("ajaxStop")))}return N},getScript:function(e,n){return b.get(e,t,n,"script")},getJSON:function(e,t,n){return b.get(e,t,n,"json")}});function _n(e,n,r){var i,o,a,s,u=e.contents,l=e.dataTypes,c=e.responseFields;for(s in c)s in r&&(n[c[s]]=r[s]);while("*"===l[0])l.shift(),o===t&&(o=e.mimeType||n.getResponseHeader("Content-Type"));if(o)for(s in u)if(u[s]&&u[s].test(o)){l.unshift(s);break}if(l[0]in r)a=l[0];else{for(s in r){if(!l[0]||e.converters[s+" "+l[0]]){a=s;break}i||(i=s)}a=a||i}return a?(a!==l[0]&&l.unshift(a),r[a]):t}function Fn(e,t){var n,r,i,o,a={},s=0,u=e.dataTypes.slice(),l=u[0];if(e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u[1])for(i in e.converters)a[i.toLowerCase()]=e.converters[i];for(;r=u[++s];)if("*"!==r){if("*"!==l&&l!==r){if(i=a[l+" "+r]||a["* "+r],!i)for(n in a)if(o=n.split(" "),o[1]===r&&(i=a[l+" "+o[0]]||a["* "+o[0]])){i===!0?i=a[n]:a[n]!==!0&&(r=o[0],u.splice(s--,0,r));break}if(i!==!0)if(i&&e["throws"])t=i(t);else try{t=i(t)}catch(c){return{state:"parsererror",error:i?c:"No conversion from "+l+" to "+r}}}l=r}return{state:"success",data:t}}b.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return b.globalEval(e),e}}}),b.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),b.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=o.head||b("head")[0]||o.documentElement;return{send:function(t,i){n=o.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||i(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var On=[],Bn=/(=)\?(?=&|$)|\?\?/;b.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=On.pop()||b.expando+"_"+vn++;return this[e]=!0,e}}),b.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,u=n.jsonp!==!1&&(Bn.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Bn.test(n.data)&&"data");return u||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=b.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,u?n[u]=n[u].replace(Bn,"$1"+o):n.jsonp!==!1&&(n.url+=(bn.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||b.error(o+" was not called"),s[0]},n.dataTypes[0]="json",a=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,On.push(o)),s&&b.isFunction(a)&&a(s[0]),s=a=t}),"script"):t});var Pn,Rn,Wn=0,$n=e.ActiveXObject&&function(){var e;for(e in Pn)Pn[e](t,!0)};function In(){try{return new e.XMLHttpRequest}catch(t){}}function zn(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}b.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&In()||zn()}:In,Rn=b.ajaxSettings.xhr(),b.support.cors=!!Rn&&"withCredentials"in Rn,Rn=b.support.ajax=!!Rn,Rn&&b.ajaxTransport(function(n){if(!n.crossDomain||b.support.cors){var r;return{send:function(i,o){var a,s,u=n.xhr();if(n.username?u.open(n.type,n.url,n.async,n.username,n.password):u.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)u[s]=n.xhrFields[s];n.mimeType&&u.overrideMimeType&&u.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)u.setRequestHeader(s,i[s])}catch(l){}u.send(n.hasContent&&n.data||null),r=function(e,i){var s,l,c,p;try{if(r&&(i||4===u.readyState))if(r=t,a&&(u.onreadystatechange=b.noop,$n&&delete Pn[a]),i)4!==u.readyState&&u.abort();else{p={},s=u.status,l=u.getAllResponseHeaders(),"string"==typeof u.responseText&&(p.text=u.responseText);try{c=u.statusText}catch(f){c=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,c,p,l)},n.async?4===u.readyState?setTimeout(r):(a=++Wn,$n&&(Pn||(Pn={},b(e).unload($n)),Pn[a]=r),u.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Xn,Un,Vn=/^(?:toggle|show|hide)$/,Yn=RegExp("^(?:([+-])=|)("+x+")([a-z%]*)$","i"),Jn=/queueHooks$/,Gn=[nr],Qn={"*":[function(e,t){var n,r,i=this.createTween(e,t),o=Yn.exec(t),a=i.cur(),s=+a||0,u=1,l=20;if(o){if(n=+o[2],r=o[3]||(b.cssNumber[e]?"":"px"),"px"!==r&&s){s=b.css(i.elem,e,!0)||n||1;do u=u||".5",s/=u,b.style(i.elem,e,s+r);while(u!==(u=i.cur()/a)&&1!==u&&--l)}i.unit=r,i.start=s,i.end=o[1]?s+(o[1]+1)*n:n}return i}]};function Kn(){return setTimeout(function(){Xn=t}),Xn=b.now()}function Zn(e,t){b.each(t,function(t,n){var r=(Qn[t]||[]).concat(Qn["*"]),i=0,o=r.length;for(;o>i;i++)if(r[i].call(e,t,n))return})}function er(e,t,n){var r,i,o=0,a=Gn.length,s=b.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;var t=Xn||Kn(),n=Math.max(0,l.startTime+l.duration-t),r=n/l.duration||0,o=1-r,a=0,u=l.tweens.length;for(;u>a;a++)l.tweens[a].run(o);return s.notifyWith(e,[l,o,n]),1>o&&u?n:(s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:b.extend({},t),opts:b.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xn||Kn(),duration:n.duration,tweens:[],createTween:function(t,n){var r=b.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)l.tweens[n].run(1);return t?s.resolveWith(e,[l,t]):s.rejectWith(e,[l,t]),this}}),c=l.props;for(tr(c,l.opts.specialEasing);a>o;o++)if(r=Gn[o].call(l,e,c,l.opts))return r;return Zn(l,c),b.isFunction(l.opts.start)&&l.opts.start.call(e,l),b.fx.timer(b.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function tr(e,t){var n,r,i,o,a;for(i in e)if(r=b.camelCase(i),o=t[r],n=e[i],b.isArray(n)&&(o=n[1],n=e[i]=n[0]),i!==r&&(e[r]=n,delete e[i]),a=b.cssHooks[r],a&&"expand"in a){n=a.expand(n),delete e[r];for(i in n)i in e||(e[i]=n[i],t[i]=o)}else t[r]=o}b.Animation=b.extend(er,{tweener:function(e,t){b.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Qn[n]=Qn[n]||[],Qn[n].unshift(t)},prefilter:function(e,t){t?Gn.unshift(e):Gn.push(e)}});function nr(e,t,n){var r,i,o,a,s,u,l,c,p,f=this,d=e.style,h={},g=[],m=e.nodeType&&nn(e);n.queue||(c=b._queueHooks(e,"fx"),null==c.unqueued&&(c.unqueued=0,p=c.empty.fire,c.empty.fire=function(){c.unqueued||p()}),c.unqueued++,f.always(function(){f.always(function(){c.unqueued--,b.queue(e,"fx").length||c.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[d.overflow,d.overflowX,d.overflowY],"inline"===b.css(e,"display")&&"none"===b.css(e,"float")&&(b.support.inlineBlockNeedsLayout&&"inline"!==un(e.nodeName)?d.zoom=1:d.display="inline-block")),n.overflow&&(d.overflow="hidden",b.support.shrinkWrapBlocks||f.always(function(){d.overflow=n.overflow[0],d.overflowX=n.overflow[1],d.overflowY=n.overflow[2]}));for(i in t)if(a=t[i],Vn.exec(a)){if(delete t[i],u=u||"toggle"===a,a===(m?"hide":"show"))continue;g.push(i)}if(o=g.length){s=b._data(e,"fxshow")||b._data(e,"fxshow",{}),"hidden"in s&&(m=s.hidden),u&&(s.hidden=!m),m?b(e).show():f.done(function(){b(e).hide()}),f.done(function(){var t;b._removeData(e,"fxshow");for(t in h)b.style(e,t,h[t])});for(i=0;o>i;i++)r=g[i],l=f.createTween(r,m?s[r]:0),h[r]=s[r]||b.style(e,r),r in s||(s[r]=l.start,m&&(l.end=l.start,l.start="width"===r||"height"===r?1:0))}}function rr(e,t,n,r,i){return new rr.prototype.init(e,t,n,r,i)}b.Tween=rr,rr.prototype={constructor:rr,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(b.cssNumber[n]?"":"px")},cur:function(){var e=rr.propHooks[this.prop];return e&&e.get?e.get(this):rr.propHooks._default.get(this)},run:function(e){var t,n=rr.propHooks[this.prop];return this.pos=t=this.options.duration?b.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):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):rr.propHooks._default.set(this),this}},rr.prototype.init.prototype=rr.prototype,rr.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=b.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){b.fx.step[e.prop]?b.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[b.cssProps[e.prop]]||b.cssHooks[e.prop])?b.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},rr.propHooks.scrollTop=rr.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},b.each(["toggle","show","hide"],function(e,t){var n=b.fn[t];b.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ir(t,!0),e,r,i)}}),b.fn.extend({fadeTo:function(e,t,n,r){return this.filter(nn).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=b.isEmptyObject(e),o=b.speed(t,n,r),a=function(){var t=er(this,b.extend({},e),o);a.finish=function(){t.stop(!0)},(i||b._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=b.timers,a=b._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Jn.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&b.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=b._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=b.timers,a=r?r.length:0;for(n.finish=!0,b.queue(this,e,[]),i&&i.cur&&i.cur.finish&&i.cur.finish.call(this),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function ir(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=Zt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}b.each({slideDown:ir("show"),slideUp:ir("hide"),slideToggle:ir("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){b.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),b.speed=function(e,t,n){var r=e&&"object"==typeof e?b.extend({},e):{complete:n||!n&&t||b.isFunction(e)&&e,duration:e,easing:n&&t||t&&!b.isFunction(t)&&t};return r.duration=b.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in b.fx.speeds?b.fx.speeds[r.duration]:b.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){b.isFunction(r.old)&&r.old.call(this),r.queue&&b.dequeue(this,r.queue)},r},b.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},b.timers=[],b.fx=rr.prototype.init,b.fx.tick=function(){var e,n=b.timers,r=0;for(Xn=b.now();n.length>r;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||b.fx.stop(),Xn=t},b.fx.timer=function(e){e()&&b.timers.push(e)&&b.fx.start()},b.fx.interval=13,b.fx.start=function(){Un||(Un=setInterval(b.fx.tick,b.fx.interval))},b.fx.stop=function(){clearInterval(Un),Un=null},b.fx.speeds={slow:600,fast:200,_default:400},b.fx.step={},b.expr&&b.expr.filters&&(b.expr.filters.animated=function(e){return b.grep(b.timers,function(t){return e===t.elem}).length}),b.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){b.offset.setOffset(this,e,t)});var n,r,o={top:0,left:0},a=this[0],s=a&&a.ownerDocument;if(s)return n=s.documentElement,b.contains(n,a)?(typeof a.getBoundingClientRect!==i&&(o=a.getBoundingClientRect()),r=or(s),{top:o.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),left:o.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):o},b.offset={setOffset:function(e,t,n){var r=b.css(e,"position");"static"===r&&(e.style.position="relative");var i=b(e),o=i.offset(),a=b.css(e,"top"),s=b.css(e,"left"),u=("absolute"===r||"fixed"===r)&&b.inArray("auto",[a,s])>-1,l={},c={},p,f;u?(c=i.position(),p=c.top,f=c.left):(p=parseFloat(a)||0,f=parseFloat(s)||0),b.isFunction(t)&&(t=t.call(e,n,o)),null!=t.top&&(l.top=t.top-o.top+p),null!=t.left&&(l.left=t.left-o.left+f),"using"in t?t.using.call(e,l):i.css(l)}},b.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===b.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),b.nodeName(e[0],"html")||(n=e.offset()),n.top+=b.css(e[0],"borderTopWidth",!0),n.left+=b.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-b.css(r,"marginTop",!0),left:t.left-n.left-b.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||o.documentElement;while(e&&!b.nodeName(e,"html")&&"static"===b.css(e,"position"))e=e.offsetParent;return e||o.documentElement})}}),b.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);b.fn[e]=function(i){return b.access(this,function(e,i,o){var a=or(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:(a?a.scrollTo(r?b(a).scrollLeft():o,r?o:b(a).scrollTop()):e[i]=o,t)},e,i,arguments.length,null)}});function or(e){return b.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}b.each({Height:"height",Width:"width"},function(e,n){b.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){b.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return b.access(this,function(n,r,i){var o;return b.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?b.css(n,r,s):b.style(n,r,i,s)},n,a?i:t,a,null)}})}),e.jQuery=e.$=b,"function"==typeof define&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return b})})(window);
\ No newline at end of file
index 4d17594a47bfeb3f7d5913435b02fa9d65591b92..7bf2189a8be1f94ed0b46b1c258ad72ecba4e8c3 100644 (file)
@@ -177,7 +177,7 @@ END
 ;
 if ($settings{'SPEED'} ne 'off') {
 print <<END
-    <script type="text/javascript" src="/include/jquery-1.2.6.min.js"></script>
+    <script type="text/javascript" src="/include/jquery-1.9.1.min.js"></script>
     <script type="text/javascript">
         var t_current;
         var t_last;
@@ -331,9 +331,14 @@ END
 }
 
 sub closepage () {
-    my $status = &connectionstatus();
-    $uptime = `/usr/bin/uptime`;
-        
+       my $status = &connectionstatus();
+       my $uptime = `/usr/bin/uptime|cut -d \" \" -f 4-`;
+       $uptime =~ s/year(s|)/$Lang::tr{'year'}/;
+       $uptime =~ s/month(s|)/$Lang::tr{'month'}/;
+       $uptime =~ s/day(s|)/$Lang::tr{'day'}/;
+       $uptime =~ s/user(s|)/$Lang::tr{'user'}/;
+       $uptime =~ s/load average/$Lang::tr{'uptime load average'}/;     
+                               
     print <<END
                         </div>
                 </div>
index 7529a55bcf0a2fa2012c5bafa3ddc73bb7ca3ba9..2461a1499e1f6a8fd7e58aa401a0fbcff702802a 100644 (file)
@@ -249,7 +249,7 @@ position: relative;
 {
 position: relative;
 font-size: 1.7em;
-padding-bottom: 1.2em;
+padding-bottom: 0.4em;
 }
 
 #main_inner .post ul.post_info
@@ -433,3 +433,9 @@ max-width: 2.5em;
        position: relative;
        width: 100%;
        }
+
+/* FOOTER      COLORIZE BANDWIDTH */
+
+#rx_kbs { color: green; }
+
+#tx_kbs { color: red; }
index 3759bbb252bb78bc9cb94034f2a45f8e20681e2c..05c3b948bf1cfb797a8320be9bf9cad0cb9dd444 100644 (file)
@@ -177,66 +177,53 @@ END
 ;
 if ($settings{'SPEED'} ne 'off') {
 print <<END
-                <script type="text/javascript" language="javascript">
-                 
-                    var http_request = false;
-                 
-                    function LoadInetInfo(url) {
-                 
-                        http_request = false;
-                 
-                        if (window.XMLHttpRequest) { // Mozilla, Safari,...
-                            http_request = new XMLHttpRequest();
-                            if (http_request.overrideMimeType) {
-                                http_request.overrideMimeType('text/xml');
-                                // zu dieser Zeile siehe weiter unten
-                            }
-                        } else if (window.ActiveXObject) { // IE
-                            try {
-                                http_request = new ActiveXObject("Msxml2.XMLHTTP");
-                            } catch (e) {
-                                try {
-                                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
-                                } catch (e) {}
-                            }
-                        }
-                 
-                        if (!http_request) {
-                            alert('Ende :( Kann keine XMLHTTP-Instanz erzeugen');
-                            return false;
-                        }
-                        http_request.onreadystatechange = DisplayInetInfo;
-                        http_request.open('GET', url, true);
-                        http_request.send(null);
-                 
-                    }
-                 
-                    function DisplayInetInfo() {
-                        if (http_request.readyState == 4) {
-                             var xmldoc = http_request.responseXML;
-                             var root1_node = xmldoc.getElementsByTagName('rx_kbs').item(0);
-                             var root2_node = xmldoc.getElementsByTagName('tx_kbs').item(0);
-                             var root3_node = xmldoc.getElementsByTagName('rxb').item(0);
-                             var root4_node = xmldoc.getElementsByTagName('txb').item(0);
-                
-                             document.forms['speed'].txkb.value  = root1_node.firstChild.data;
-                             document.forms['speed'].rxkb.value  = root2_node.firstChild.data;
-                
-                                        // document.getElementsByTagName("input")[0].style.color = "#00FF00";
-                                        url    = "/cgi-bin/speed.cgi?rxb_last=" + root3_node.firstChild.data + "&txb_last=" + root4_node.firstChild.data;
-                
-                              window.setTimeout("LoadInetInfo(url)", 3000);
-                        }
-                 
-                    }
-                </script>
+    <script type="text/javascript" src="/include/jquery-1.9.1.min.js"></script>
+    <script type="text/javascript">
+        var t_current;
+        var t_last;
+        var rxb_current;
+        var rxb_last;
+        var txb_current;
+        var txb_last;
+                               function refreshInetInfo() {
+                                               \$.ajax({
+                                                               url: '/cgi-bin/speed.cgi',
+                                                                                       success: function(xml){
+                                                                                       t_current = new Date();
+                                                                                       var t_diff = t_current - t_last;
+                                                                                       t_last = t_current;
+                               
+                                                                                       rxb_current = \$("rxb",xml).text();
+                                                                                       var rxb_diff = rxb_current - rxb_last;
+                                                                                       rxb_last = rxb_current;
+                               
+                                                                                       var rx_kbs = rxb_diff/t_diff;
+                                                                                       rx_kbs = Math.round(rx_kbs*10)/10;
+                               
+                                                                                       txb_current = \$("txb",xml).text();
+                                                                                       var txb_diff = txb_current - txb_last;
+                                                                                       txb_last = txb_current;
+                               
+                                                                                       var tx_kbs = txb_diff/t_diff;
+                                                                                       tx_kbs = Math.round(tx_kbs*10)/10;
+                               
+                                                                                       \$("#rx_kbs").text(rx_kbs + ' kb/s');
+                                                                                       \$("#tx_kbs").text(tx_kbs + ' kb/s');
+                                                                                       }
+                                                               });
+                                                               window.setTimeout("refreshInetInfo()", 3000);
+                                               }
+                                               \$(document).ready(function(){
+                                               refreshInetInfo();
+                               });
+    </script>
   </head>
-  <body onLoad="LoadInetInfo('/cgi-bin/speed.cgi')">
+  <body>
 END
 ;
 }
 else {
-print "</head><body>";}
+print "</head>\n<body>";}
 print <<END
 <!-- IPFIRE HEADER -->
 
@@ -344,9 +331,14 @@ END
 }
 
 sub closepage () {
-    my $status = &connectionstatus();
-    $uptime = `/usr/bin/uptime`;
-       
+       my $status = &connectionstatus();
+       my $uptime = `/usr/bin/uptime|cut -d \" \" -f 4-`;
+       $uptime =~ s/year(s|)/$Lang::tr{'year'}/;
+       $uptime =~ s/month(s|)/$Lang::tr{'month'}/;
+       $uptime =~ s/day(s|)/$Lang::tr{'day'}/;
+       $uptime =~ s/user(s|)/$Lang::tr{'user'}/;
+       $uptime =~ s/load average/$Lang::tr{'uptime load average'}/;     
+                               
     print <<END
                        </div>
                </div>
@@ -371,10 +363,9 @@ END
 if ($settings{'SPEED'} ne 'off') {
 print <<END                        
                         <br />
-                        <form name='speed'>
-                                <b>$Lang::tr{'bandwidth usage'}:</b> $Lang::tr{'incoming'}:<input type="text" name="rxkb" size="5" value="0 kb/s" style="font-size: 12px; font-family: Arial, Helvetica;text-align: center;color:green; border: none; padding: 0; background-color: #000000; vertical-align: middle" />
-                                $Lang::tr{'outgoing'}: <input type="text" name="txkb" size="5" value="0 kb/s" style="font-size: 12px; font-family: Arial, Helvetica;text-align: center;color:red; border: none; padding: 0; background-color: #000000; vertical-align: middle"/>
-                        </form>
+                                <b>$Lang::tr{'bandwidth usage'}:</b>
+                               $Lang::tr{'incoming'}: <span id="rx_kbs"></span>&nbsp;$Lang::tr{'outgoing'}: <span id="tx_kbs"></span>
+
 END
 ;
 }
index 901f3f8e5a2cbf5828794644d57fdba2879e9907..eca34cb850349501cdc01f5dcfee927a117a5695 100644 (file)
@@ -227,13 +227,13 @@ padding-top: 3.5em;
 {
 border-bottom: dotted 1px #E1E1E1;
 position: relative;
+padding-bottom: 0.4em;
 }
 
 #main_inner h3
 {
 font-size: 2.1em;
 padding-bottom: 0.1em;
-margin-bottom: 0.8em;
 }
 
 #main_inner h4
@@ -253,7 +253,7 @@ position: relative;
 {
 position: relative;
 font-size: 1.7em;
-padding-bottom: 1.2em;
+padding-bottom: 0.4em;
 }
 
 #main_inner .post ul.post_info
@@ -462,3 +462,9 @@ max-width: 2.5em;
        position: relative;
        width: 100%;
        }
+
+/* FOOTER      COLORIZE BANDWIDTH */
+
+#rx_kbs { color: green; }
+
+#tx_kbs { color: red; }
index f9405d7be7a32e43ca475d125fc5f1f6b05ac1c7..aaf4d27eed483d967e847b5ee418bed39dab0a20 100644 (file)
@@ -6,6 +6,11 @@
 'Add Port Rule' => 'Port-Regel hinzufügen',
 'Add Rule' => 'Regel hinzufügen',
 'Add a route' => 'Eine Route hinzufügen',
+'age smin' => 'Min.',
+'age ssec' => 'Sek.',
+'age second' => 'Sekunde',
+'age seconds' => 'Sekunden',
+'age shour' => 'Std.',
 'Async logging enabled' => 'Aktiviere asynchrones Schreiben des Syslogs',
 'Choose Rule' => 'Wählen Sie <u>eine</u> der untenstehenden Regeln aus.',
 'Class' => 'Klasse',
 'advproxy banned mac clients' => 'Gesperrte MAC-Adressen (eine pro Zeile)',
 'advproxy cache management' => 'Cacheverwaltung',
 'advproxy cache replacement policy' => 'Cache Ersetzungsrichtlinie',
+'advproxy cache-digest' => 'Cache-Digest-Erstellung aktivieren',
 'advproxy chgwebpwd ERROR' => 'F E H L E R :',
 'advproxy chgwebpwd SUCCESS' => 'E R F O L G :',
 'advproxy chgwebpwd change password' => 'Passwort Ã¤ndern',
 'upstream password' => 'Proxy-Passwort:',
 'upstream proxy host:port' => 'Vorgelagerter Proxy (hostname:port)',
 'upstream username' => 'Proxy-Benutzername:',
+'uptime' => 'Betriebszeit',
+'uptime load average' => 'Ø Systemlast',
 'uptime and users' => 'Uptime und Benutzer:',
 'url filter' => 'URL-Filter',
 'urlfilter access' => 'Zugriff',
 'wlanap encryption' => 'Verschlüsselung',
 'wlanap informations' => 'Informationen',
 'wlanap interface' => 'Interface Ã¼bernehmen',
-'wlanap invalid wpa' => 'Ungültige Länge in WPA-Passphrase. Muss zwischen 8 und 63 Zeichen lang sein.',
+'wlanap invalid wpa' => 'Ungültige Länge in WPA-Passphrase. Muss zwischen 8 und 63 ASCII-Zeichen lang sein.',
 'wlanap link dhcp' => 'Wireless Lan DHCP-Einstellungen',
 'wlanap link wireless' => 'Wireless Lan Clients freischalten',
 'wlanap no interface' => 'Ausgewähltes Interface ist keine WLAN-Karte!',
index 46076fd6c264bfa11c07143aa8b7c8974a531441..729f309439fee6f9e88e5ecac42f90760bf1c981 100644 (file)
@@ -6,6 +6,11 @@
 'Add Port Rule' => 'Add port rule',
 'Add Rule' => 'Add rule',
 'Add a route' => 'Add a route',
+'age smin' => 'min',
+'age ssec' => 'sec',
+'age second' => 'second',
+'age seconds' => 'seconds',
+'age shour' => 'h',
 'Async logging enabled' => 'Enable asynchronous writing of the syslog file',
 'Choose Rule' => 'Choose <u>one</u> of the following rules.',
 'Class' => 'Class',
 'advproxy banned mac clients' => 'Banned MAC addresses (one per line)',
 'advproxy cache management' => 'Cache management',
 'advproxy cache replacement policy' => 'Cache replacement policy',
+'advproxy cache-digest' => 'Enable Cache-Digest Generation',
 'advproxy chgwebpwd ERROR' => 'E R R O R :',
 'advproxy chgwebpwd SUCCESS' => 'S U C C E S S :',
 'advproxy chgwebpwd change password' => 'Change password',
 'upstream password' => 'Upstream password:',
 'upstream proxy host:port' => 'Upstream proxy (host:port)',
 'upstream username' => 'Upstream username:',
+'uptime' => 'Uptime',
+'uptime load average' => 'Ø Load average',
 'uptime and users' => 'Uptime and users:',
 'url filter' => 'Content Filter',
 'urlfilter access' => 'Access',
 'wlanap encryption' => 'Encryption',
 'wlanap informations' => 'Informations',
 'wlanap interface' => 'Select interface',
-'wlanap invalid wpa' => 'Invalid length in WPA Passphrase. Must be between 8 and 63 characters.',
+'wlanap invalid wpa' => 'Invalid length in WPA Passphrase. Must be between 8 and 63 ascii characters.',
 'wlanap link dhcp' => 'Wireless lan DHCP configuration',
 'wlanap link wireless' => 'Activate wireless lan clients',
 'wlanap no interface' => 'Selected interface is not a wirless lan card!',
index 365630a6e4d47e111446a44d441b7000190d987d..1c43e33b17f4803e0c6472e3e94dd23732e4c7d3 100644 (file)
 'wlanap encryption' => 'Encriptación',
 'wlanap informations' => 'Información',
 'wlanap interface' => 'Seleccione la interface',
-'wlanap invalid wpa' => 'Longitud inválida en la frase WPA. Debe ser entre 8 y 63 caracteres.',
+'wlanap invalid wpa' => 'Longitud inválida en la frase WPA. Debe ser entre 8 y 63 ascii caracteres.',
 'wlanap link dhcp' => 'Configuración DHCP de la red inalámbrica.',
 'wlanap link wireless' => 'Activar clientes de red inalámbricos',
 'wlanap no interface' => '¡La interfaz seleccionada no es una tarjeta de red inalámbrica!',
index 462cdfa9ff2c3f27144a657a8d0c87a34add2cb8..0c45a0bfcb074142120d71efb0c189cac24e8ad8 100644 (file)
 'wlanap encryption' => 'Encryptie',
 'wlanap informations' => 'Informatie',
 'wlanap interface' => 'Selecteer interface',
-'wlanap invalid wpa' => 'Ongeldige lengte voor WPA wachtwoord. Moet tussen de 8 en 63 tekens zijn.',
+'wlanap invalid wpa' => 'Ongeldige lengte voor WPA wachtwoord. Moet tussen de 8 en 63 tekens ascii zijn.',
 'wlanap link dhcp' => 'Draadloze LAN DHCP configuratie',
 'wlanap link wireless' => 'Activeer draadloze LAN clients',
 'wlanap no interface' => 'Geselecteerde interface is geen draadloze LAN kaart!',
index 12439e4453581406710825c77940ab676bda9ba1..d85a90a0daed25ecd1c1d53ffabc568c80ff822e 100644 (file)
 'wlanap encryption' => 'Szyfrowanie',
 'wlanap informations' => 'Informacje',
 'wlanap interface' => 'Wybierz interfejs',
-'wlanap invalid wpa' => 'Niepoprawna dÅ‚ugość klucza WPA. Klucz musi zawierać od 8 do 63 znaków.',
+'wlanap invalid wpa' => 'Niepoprawna dÅ‚ugość klucza WPA. Klucz musi zawierać od 8 do 63 ascii znaków.',
 'wlanap link dhcp' => 'Konfiguracja DHCP dla sieci bezprzewodowej',
 'wlanap link wireless' => 'Aktywuj klientów sieci bezprzewodowej',
 'wlanap no interface' => 'Wybrany interfejs nie jest kartÄ… bezprzewodowÄ…!',
index 4619983a401f7df2d1e35d9d8301c97d40c817c8..0b22f697482fa20ca2f91e475537ae7236114b70 100644 (file)
 'wlanap encryption' => 'Encryption',
 'wlanap informations' => 'Informations',
 'wlanap interface' => 'Select interface',
-'wlanap invalid wpa' => 'Invalid length in WPA Passphrase. Must be between 8 and 63 characters.',
+'wlanap invalid wpa' => 'Invalid length in WPA Passphrase. Must be between 8 and 63 ascii characters.',
 'wlanap link dhcp' => 'Wireless lan DHCP configuration',
 'wlanap link wireless' => 'Activate wireless lan clients',
 'wlanap no interface' => 'Selected interface is not a wirless lan card!',
diff --git a/lfs/IO-Socket-SSL b/lfs/IO-Socket-SSL
new file mode 100644 (file)
index 0000000..fef8097
--- /dev/null
@@ -0,0 +1,62 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER        = 1.78
+
+THISAPP    = IO-Socket-SSL-$(VER)
+DL_FILE    = $(THISAPP).tar.gz
+DL_FROM    = http://cpan.noris.de/authors/id/S/SU/SULLR/
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET     = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = 172201f3ebc400dc3733a0577ac29095
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+       @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+       @$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+       @$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+       @$(PREBUILD)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && perl Makefile.PL
+       cd $(DIR_APP) && make
+       cd $(DIR_APP) && make install
+       @rm -rf $(DIR_APP)
+       @$(POSTBUILD)
\ No newline at end of file
diff --git a/lfs/avahi b/lfs/avahi
new file mode 100644 (file)
index 0000000..88263a1
--- /dev/null
+++ b/lfs/avahi
@@ -0,0 +1,89 @@
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER        = 0.6.31
+
+THISAPP    = avahi-$(VER)
+DL_FILE    = $(THISAPP).tar.gz
+DL_FROM    = $(URL_IPFIRE)
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET = $(DIR_INFO)/$(THISAPP)
+PROG       = avahi
+PAK_VER    = 3
+
+DEPS      = "libdaemon"
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = 2f22745b8f7368ad5a0a3fddac343f2d
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+dist: 
+       @$(PAK)
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+       @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+       @$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+       @$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+       @$(PREBUILD)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && ./configure --prefix=/usr --with-avahi-user=avahi \
+       --disable-qt3 --disable-qt4 --disable-gtk --disable-gtk3 \
+       --disable-pygtk --disable-python-dbus --disable-mono \
+       --disable-monodoc --with-distro=none --sysconfdir=/etc
+       cd $(DIR_APP) && make $(MAKETUNING)
+       cd $(DIR_APP) && make install
+       cp -avf $(DIR_SRC)/config/avahi/avahi /etc/init.d/
+       cp -avf $(DIR_SRC)/config/avahi/smb.service /etc/avahi/services/smb.service
+       @rm -rf $(DIR_APP)
+       @$(POSTBUILD)
diff --git a/lfs/check_mk_agent b/lfs/check_mk_agent
new file mode 100644 (file)
index 0000000..c0f70d1
--- /dev/null
@@ -0,0 +1,84 @@
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER        = 1.2.0p3
+
+THISAPP    = check_mk_agent-$(VER)
+DL_FILE    = check_mk-${VER}.tar.gz
+DL_FROM    = http://mathias-kettner.de/download
+DIR_APP    = $(DIR_SRC)/check_mk-${VER}
+TARGET     = $(DIR_INFO)/$(THISAPP)
+PROG       = check_mk_agent
+PAK_VER    = 2
+
+DEPS       = ""
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = 2c0f27fe8b6e3455557ecb30954d8a79
+
+install : $(TARGET)
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+dist :
+       $(PAK)
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+       @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+       @$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+       @$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+       @$(PREBUILD)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && tar xzf agents.tar.gz
+       cd $(DIR_APP) && install -v -m 755 check_mk_agent.linux /usr/bin/check_mk_agent
+       cd $(DIR_APP) && gcc $(CFLAGS) waitmax.c -o waitmax
+       cd $(DIR_APP) && install -v -m 755 waitmax /usr/bin/waitmax
+       @rm -rf $(DIR_APP)
+       @$(POSTBUILD)
similarity index 85%
rename from lfs/compat-wireless
rename to lfs/compat-drivers
index 9ce6f07593c81698f6ce1427e4eb34c5166e94cc..b950d454dddd510ddc9ea38ba9e39332b553f4fb 100644 (file)
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2012  IPFire Team <info@ipfire.org>                      #
+# Copyright (C) 2007-2013  IPFire Team <info@ipfire.org>                      #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -26,14 +26,14 @@ include Config
 
 VERSUFIX=ipfire$(KCFG)
 
-VER        = 3.6.8-1-snp
+VER        = 3.8-1-u
 
 ifeq "$(KCFG)" "-xen"
        KVER = 2.6.32.60
 endif
 
-THISAPP    = compat-wireless-$(VER)
-DL_FILE    = compat-wireless-$(VER).tar.bz2
+THISAPP    = compat-drivers-$(VER)
+DL_FILE    = compat-drivers-$(VER).tar.xz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)-kmod-$(KVER)-$(VERSUFIX)
@@ -42,13 +42,13 @@ TARGET     = $(DIR_INFO)/$(THISAPP)-kmod-$(KVER)-$(VERSUFIX)
 # Top-level Rules
 ###############################################################################
 
-objects = $(DL_FILE) asix-4.4.0.tar.xz
+objects = $(DL_FILE) asix-4.5.0a.tar.xz
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-asix-4.4.0.tar.xz = $(DL_FROM)/asix-4.4.0.tar.xz
+asix-4.5.0a.tar.xz = $(DL_FROM)/asix-4.5.0a.tar.xz
 
-$(DL_FILE)_MD5 = 4120bc9841d6a1b5b92af34103f16a06
-asix-4.4.0.tar.xz_MD5=633609e889de41554826e0e2cd7bffde
+$(DL_FILE)_MD5 = 557e3099c642455ec272d9ddf46de484
+asix-4.5.0a.tar.xz_MD5=4219ce7c0cae4fdb580f30ea50cad8e0
 
 install : $(TARGET)
 
@@ -77,7 +77,7 @@ $(subst %,%_MD5,$(objects)) :
 
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
-       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar xjf $(DIR_DL)/$(DL_FILE)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar xaf $(DIR_DL)/$(DL_FILE)
 
        # kfifo has no license info and taints kernel
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/compat-wireless-2.6.39_kfifo_module_info.patch
@@ -85,9 +85,6 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        # Codel patches
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/compat-wireless_codel-avoid-a-nul-rec_inv_sqrt.patch
 
-       # compat-3.1 include a bogus cpufreq_backort
-       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/compat-wireless-3.6.8-remove_3.1_cpufreq_backport.patch
-
        # Build ath5k only if target has pci
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/compat-wireless-3.5-build_ath5k_only_with_pci.patch
 
@@ -100,7 +97,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/compat-wireless-2.6.34-usbnet_compile.patch
 
        # Build Updated asix usb-lan driver
-       cd $(DIR_APP)/drivers/net/usb && tar xvJf $(DIR_DL)/asix-4.4.0.tar.xz
+       cd $(DIR_APP)/drivers/net/usb && tar xvJf $(DIR_DL)/asix-4.5.0a.tar.xz
 
        # Add libartas uAP driver
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/compat-wireless-3.5-libertas_uap.patch
@@ -110,6 +107,15 @@ ifneq "$(KCFG)" "-xen"
        cd $(DIR_APP) && echo export CONFIG_LIBERTAS_UAP=m >> config.mk
 endif
 
+ifeq "$(MACHINE_TYPE)" "arm"
+       # disable video because it not build on Arm
+       cd $(DIR_APP) && sed -i -e \
+               "s/export CONFIG_COMPAT_VIDEO_MODULES=y//g" config.mk
+
+       # Add a missing vmalloc ti atx
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/compat-drivers-3.8-arm_missing_vmalloc.patch
+endif
+
        # Erase some modules that are obsolete or moved to other path
        rm -rf /lib/modules/$(KVER)-$(VERSUFIX)/kernel/net/bluetooth
        rm -rf /lib/modules/$(KVER)-$(VERSUFIX)/kernel/drivers/net/wireless/wl12*
index c2e72389383c0b4d42f804b7cc28c243ae328db1..133111cdbd7466ea2617843085b6cdd3969a597d 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 2.1.6
+VER        = 2.1.7
 
 THISAPP    = fireinfo-v$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = ff8eb520af49c0bf00722aac167070cd
+$(DL_FILE)_MD5 = 97f6744c1ff61eb104a9278df12451c8
 
 install : $(TARGET)
 
index 2ce9c21868be06bf401587f5a25db52865615113..ff02a1991404dd901b3398d0aab80d2e4206757c 100644 (file)
@@ -32,7 +32,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = hostapd
-PAK_VER    = 24
+PAK_VER    = 26
 
 DEPS       = ""
 
diff --git a/lfs/libdaemon b/lfs/libdaemon
new file mode 100644 (file)
index 0000000..0804b45
--- /dev/null
@@ -0,0 +1,82 @@
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER        = 0.14
+
+THISAPP    = libdaemon-$(VER)
+DL_FILE    = $(THISAPP).tar.gz
+DL_FROM    = $(URL_IPFIRE)
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET = $(DIR_INFO)/$(THISAPP)
+PROG       = libdaemon
+PAK_VER    = 1
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = 509dc27107c21bcd9fbf2f95f5669563
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+dist: 
+       @$(PAK)
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+       @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+       @$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+       @$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+       @$(PREBUILD)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && ./configure --prefix=/usr
+       cd $(DIR_APP) && make $(MAKETUNING)
+       cd $(DIR_APP) && make install
+       @rm -rf $(DIR_APP)
+       @$(POSTBUILD)
index 0fe76ec3758e82480ff9a688ab678e54fe7f36e6..57db77fa1e0b12372b238b174e93ac50fb155828 100644 (file)
--- a/lfs/mISDN
+++ b/lfs/mISDN
@@ -111,5 +111,9 @@ ifneq "$(XEN)" "1"
        sed -i -e "s|.ko||g" /etc/modprobe.d/mISDN
 endif
 
+       # Remove mISDN modules that was shipped with the kernel
+       rm -rf /lib/modules/$(KVER)-$(VERSUFIX)/kernel/drivers/isdn/mISDN
+       rm -rf /lib/modules/$(KVER)-$(VERSUFIX)/kernel/drivers/isdn/hardware/mISDN
+
        @rm -rf $(DIR_SRC)/mISDN*
        @$(POSTBUILD)
diff --git a/lfs/nfs b/lfs/nfs
index d7d2166f1d03115359385fe688b428696fe66412..d18487baa8c3685f02db75f2a10894b0d8099428 100644 (file)
--- a/lfs/nfs
+++ b/lfs/nfs
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 1.2.2
+VER        = 1.2.7
 
 THISAPP    = nfs-utils-$(VER)
 DL_FILE    = $(THISAPP).tar.bz2
@@ -32,11 +32,11 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = nfs
-PAK_VER    = 4
+PAK_VER    = 5
 
 DEPS       = "portmap"
 
-LIBNFSIDMAP = 0.23
+LIBNFSIDMAP = 0.25
 
 ###############################################################################
 # Top-level Rules
@@ -48,8 +48,8 @@ objects = $(DL_FILE) \
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 libnfsidmap-$(LIBNFSIDMAP).tar.gz = $(DL_FROM)/libnfsidmap-$(LIBNFSIDMAP).tar.gz
 
-$(DL_FILE)_MD5 = dad92f64db3266c7757f71bb53ee8f35
-libnfsidmap-$(LIBNFSIDMAP).tar.gz_MD5 = 28f3ece648c1dc5d25e8d623d55f8bd6
+$(DL_FILE)_MD5 = 3b5ca797197765dc0c3a4122720c7716
+libnfsidmap-$(LIBNFSIDMAP).tar.gz_MD5 = 2ac4893c92716add1a1447ae01df77ab
 
 install : $(TARGET)
 
@@ -93,6 +93,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
                --sysconfdir=/etc  \
                --disable-gss \
                --disable-tirpc \
+               --disable-nfsv41 \
                --without-tcp-wrappers
 
        cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE)
diff --git a/lfs/nginx b/lfs/nginx
new file mode 100644 (file)
index 0000000..2b7e626
--- /dev/null
+++ b/lfs/nginx
@@ -0,0 +1,108 @@
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007  Michael Tremer & Christian Schmidt                      #
+#                                                                             #
+# This program is free software: you can redistribute it and/or modify        #
+# it under the terms of the GNU General Public License as published by        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# This program is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               #
+# GNU General Public License for more details.                                #
+#                                                                             #
+# You should have received a copy of the GNU General Public License           #
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER        = 1.3.11
+
+THISAPP    = nginx-$(VER)
+DL_FILE    = $(THISAPP).tar.gz
+DL_FROM    = $(URL_IPFIRE)
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET     = $(DIR_INFO)/$(THISAPP)
+PROG      = nginx
+PAK_VER           = 1
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = 4d299999bca4d2cecfbe48e51684a345
+
+objects += nginx_tcp_proxy_module.tar.bz2
+nginx_tcp_proxy_module.tar.bz2 = $(DL_FROM)/nginx_tcp_proxy_module.tar.bz2
+nginx_tcp_proxy_module.tar.bz2_MD5 = f07898b5b783ef65d416019b51cb1de8
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+dist:
+       $(PAK)
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+       @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+       @$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+       @$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+       @$(PREBUILD)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && tar xvf $(DIR_SRC)/cache/nginx_tcp_proxy_module.tar.bz2 -C $(DIR_APP)  
+       cd $(DIR_APP) && patch -p1 < nginx_tcp_proxy_module/tcp.patch
+       cd $(DIR_APP) && ./configure \
+               --prefix=/usr/share/nginx/ \
+               --conf-path=/etc/nginx/nginx.conf \
+               --sbin-path=/usr/sbin/nginx \
+               --pid-path=/var/run/nginx.pid \
+               --lock-path=/var/lock/nginx.lock \
+               --http-client-body-temp-path=/var/spool/nginx/client_body_temp \
+               --http-proxy-temp-path=/var/spool/nginx/proxy_temp \
+               --http-fastcgi-temp-path=/var/spool/nginx/fastcgi_temp \
+               --http-log-path=/var/log/nginx/access.log \
+               --error-log-path=/var/log/nginx/error.log \
+               --user=nobody \
+               --group=nobody \
+               --with-imap --with-imap_ssl_module --with-http_ssl_module \
+               --with-http_stub_status_module \
+               --with-http_dav_module \
+               --with-http_sub_module \
+               --add-module=nginx_tcp_proxy_module/
+       cd $(DIR_APP) && make $(MAKETUNING)
+       cd $(DIR_APP) && make install
+       mkdir -p /var/log/nginx /var/spool/nginx
+       cp /usr/src/config/nginx/nginx /etc/init.d/
+#      chown http:http /var/log/nginx
+#      @rm -rf $(DIR_APP)
+       @$(POSTBUILD)
index 61dd988b47c94a6e4defc9639b43bc53a1c15a4a..8fb810d88252d745ef7cc3ab4bbfcabd979a1509 100644 (file)
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 0.9.23
+VER        = 0.9.25
 
 THISAPP    = pakfire-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -32,7 +32,7 @@ DL_FROM    = http://source.ipfire.org/releases/pakfire/
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG      = pakfire3
-PAK_VER    = 2
+PAK_VER    = 4
 
 DEPS       = "libsolv pycurl pygpgme python-progressbar python-xattr sqlite urlgrabber"
 
@@ -44,7 +44,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 10e6dd51c917faa8bd2e7435495de211
+$(DL_FILE)_MD5 = 8932670f3ac7c7ab1892b719a078de31
 
 install : $(TARGET)
 
@@ -78,6 +78,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
        cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/pakfire3-changes-for-ipfire2.diff
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/pakfire-database-Add-inst_size-column-when-creating-new-data.patch
        cd $(DIR_APP) && make $(MAKETUNING)
        cd $(DIR_APP) && make install
        rm -vf /usr/bin/pakfire3
index c02d5cc5f9279da7e938fc56d009e7db2bb061d3..a50ced779f80912c5eafa5e3ffbedf6a1c975c2d 100644 (file)
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2012  IPFire Team  <info@ipfire.org>                          #
+# Copyright (C) 2007-2013  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -24,7 +24,7 @@
 
 include Config
 
-VER        = 855e997
+VER        = 98e5704
 THISAPP    = rpi-firmware-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
 DL_FROM    = $(URL_IPFIRE)
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = c73700a10d792517b2b87fd28a6c9800
+$(DL_FILE)_MD5 = 255bb0e5360d6625e31de3383f1cc528
 
 install : $(TARGET)
 
diff --git a/lfs/sendEmail b/lfs/sendEmail
new file mode 100644 (file)
index 0000000..8611929
--- /dev/null
@@ -0,0 +1,69 @@
+###############################################################################
+# IPFire.org    - An Open Source Firewall Solution                            #
+# Copyright (C) - IPFire Development Team <info@ipfire.org>                   #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER        = 1.56
+
+THISAPP    = sendEmail-v$(VER)
+DL_FILE    = $(THISAPP).tar.gz
+DL_FROM    = $(URL_IPFIRE)
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET     = $(DIR_INFO)/$(THISAPP)
+PROG       = sendEmail
+PAK_VER    = 1
+
+DEPS       = ""
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = 5b7bec4373268fa6446fa59416bb99fb
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+dist: 
+       @$(PAK)
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+       @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+       @$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+       @$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+       @$(PREBUILD)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+       cd $(DIR_APP) && cp -pvf sendEmail /usr/local/bin
+       chmod 755 /usr/local/bin/sendEmail
+       @rm -rf $(DIR_APP)
+       @$(POSTBUILD)
+
index d06aedeb519fe9a7693cda9d1597deb38d28c4e9..3ede976109819caa9d673c7cdeecc3c7e39027c8 100644 (file)
--- a/lfs/squid
+++ b/lfs/squid
@@ -99,7 +99,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
           --enable-epoll \
           --disable-kqueue \
           --enable-select \
-          --disable-cache-digests \
+          --enable-cache-digests \
           --enable-forw-via-db \
           --enable-htcp \
           --enable-ipf-transparent \
diff --git a/make.sh b/make.sh
index 05be85725dd272183df6e3f07bedaa1cbb893f84..359542143cc225d55702159a50637e027f47cd96 100755 (executable)
--- a/make.sh
+++ b/make.sh
@@ -25,8 +25,8 @@
 NAME="IPFire"                                                  # Software name
 SNAME="ipfire"                                                 # Short name
 VERSION="2.13"                                                 # Version number
-CORE="66"                                                      # Core Level (Filename)
-PAKFIRE_CORE="66"                                              # Core Level (PAKFIRE)
+CORE="68"                                                      # Core Level (Filename)
+PAKFIRE_CORE="67"                                              # Core Level (PAKFIRE)
 GIT_BRANCH=`git status | head -n1 | cut -d" " -f4`             # Git Branch
 SLOGAN="www.ipfire.org"                                                # Software slogan
 CONFIG_ROOT=/var/ipfire                                                # Configuration rootdir
@@ -384,7 +384,7 @@ buildipfire() {
     ipfiremake v4l-dvb                 KCFG="-xen"
     ipfiremake mISDN                   KCFG="-xen"
     ipfiremake cryptodev               KCFG="-xen"
-    ipfiremake compat-wireless         KCFG="-xen"
+    ipfiremake compat-drivers          KCFG="-xen"
     ipfiremake r8169                   KCFG="-xen"
     ipfiremake r8168                   KCFG="-xen"
     ipfiremake r8101                   KCFG="-xen"
@@ -398,7 +398,7 @@ buildipfire() {
     ipfiremake v4l-dvb                 KCFG="-pae"
     ipfiremake mISDN                   KCFG="-pae"
     ipfiremake cryptodev               KCFG="-pae"
-    ipfiremake compat-wireless         KCFG="-pae"
+    ipfiremake compat-drivers          KCFG="-pae"
     ipfiremake r8169                   KCFG="-pae"
     ipfiremake r8168                   KCFG="-pae"
     ipfiremake r8101                   KCFG="-pae"
@@ -411,7 +411,7 @@ buildipfire() {
     ipfiremake v4l-dvb                 KCFG=""
     ipfiremake mISDN                   KCFG=""
     ipfiremake cryptodev               KCFG=""
-    ipfiremake compat-wireless         KCFG=""
+    ipfiremake compat-drivers          KCFG=""
     ipfiremake r8169                   KCFG=""
     ipfiremake r8168                   KCFG=""
     ipfiremake r8101                   KCFG=""
@@ -424,21 +424,21 @@ buildipfire() {
     ipfiremake v4l-dvb                 KCFG="-rpi"
     ipfiremake mISDN                   KCFG="-rpi" NOPCI=1
     ipfiremake cryptodev               KCFG="-rpi"
-    ipfiremake compat-wireless         KCFG="-rpi"
+    ipfiremake compat-drivers          KCFG="-rpi"
 
     # arm-omap (Panda Board) kernel build
     ipfiremake linux                   KCFG="-omap"
     ipfiremake v4l-dvb                 KCFG="-omap"
     ipfiremake mISDN                   KCFG="-omap" NOPCI=1
     ipfiremake cryptodev               KCFG="-omap"
-    ipfiremake compat-wireless         KCFG="-omap"
+    ipfiremake compat-drivers          KCFG="-omap"
 
     # arm-kirkwood (Dreamplug, ICY-Box ...) kernel build
     ipfiremake linux                   KCFG="-kirkwood"
     ipfiremake v4l-dvb                 KCFG="-kirkwood"
     ipfiremake mISDN                   KCFG="-kirkwood"
     ipfiremake cryptodev               KCFG="-kirkwood"
-    ipfiremake compat-wireless         KCFG="-kirkwood"
+    ipfiremake compat-drivers          KCFG="-kirkwood"
     ipfiremake r8169                   KCFG="-kirkwood"
     ipfiremake r8168                   KCFG="-kirkwood"
     ipfiremake r8101                   KCFG="-kirkwood"
@@ -536,6 +536,7 @@ buildipfire() {
   ipfiremake Net-IPv4Addr
   ipfiremake Net_SSLeay
   ipfiremake IO-Stringy
+  ipfiremake IO-Socket-SSL
   ipfiremake Unix-Syslog
   ipfiremake Mail-Tools
   ipfiremake MIME-Tools
@@ -754,6 +755,11 @@ buildipfire() {
   ipfiremake libstatgrab
   ipfiremake sarg
   ipfiremake fstrim
+  ipfiremake check_mk_agent
+  ipfiremake libdaemon
+  ipfiremake avahi
+  ipfiremake nginx
+  ipfiremake sendEmail
   echo Build on $HOSTNAME > $BASEDIR/build/var/ipfire/firebuild
   cat /proc/version >> $BASEDIR/build/var/ipfire/firebuild
   echo >> $BASEDIR/build/var/ipfire/firebuild
index e54ecedc6b1dc7dc194954354c974805f54720e4..cc6b6190eb8ecb7c376934b1aa74968915c46c6c 100644 (file)
@@ -252,6 +252,7 @@ case "$1" in
        # upnp chain for our upnp daemon
        /sbin/iptables -t nat -N UPNPFW
        /sbin/iptables -t nat -A PREROUTING -j UPNPFW
+       /sbin/iptables -A FORWARD -m state --state NEW -j UPNPFW
        # This chain only contains dummy rules.
        /sbin/iptables -N UPNPFW
 
index e28a0689bd1c5a98e3bd8c81a1478bedb2fa17d0..16cf6ed4d3a6aa79fcc8a039dc4105a47dd73016 100644 (file)
@@ -111,11 +111,15 @@ for path in /sys/block/*; do
        echo "  OK, this is it..."
        echo -n "${device_}" > /tmp/dest_device
 
-       # Disk size to GiB.
-       device_size=$(( ${device_size} / 2097152 ))
-
-       # Build string with drive details
-       device_str="/dev/${device_} - ${device_size} GiB -"
+       if [ ${device_size} -gt 0 ]; then
+               # Disk size to GiB.
+               device_size=$(( ${device_size} / 2097152 ))
+
+               # Build string with drive details
+               device_str="/dev/${device_} - ${device_size} GiB -"
+       else
+               device_str="/dev/${device_} -"
+       fi
        device_str="${device_str} $(cat /sys/block/${device}/device/vendor)"
        device_str="${device_str} $(cat /sys/block/${device}/device/model)"
 
diff --git a/src/paks/avahi/install.sh b/src/paks/avahi/install.sh
new file mode 100644 (file)
index 0000000..bcbb631
--- /dev/null
@@ -0,0 +1,30 @@
+#!/bin/bash
+############################################################################
+#                                                                          #
+# This file is part of the IPFire Firewall.                                #
+#                                                                          #
+# IPFire is free software; you can redistribute it and/or modify           #
+# it under the terms of the GNU General Public License as published by     #
+# the Free Software Foundation; either version 2 of the License, or        #
+# (at your option) any later version.                                      #
+#                                                                          #
+# IPFire is distributed in the hope that it will be useful,                #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of           #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            #
+# GNU General Public License for more details.                             #
+#                                                                          #
+# You should have received a copy of the GNU General Public License        #
+# along with IPFire; if not, write to the Free Software                    #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
+#                                                                          #
+# Copyright (C) 2007 IPFire-Team <info@ipfire.org>.                        #
+#                                                                          #
+############################################################################
+#
+. /opt/pakfire/lib/functions.sh
+extract_files
+ln -svf  ../init.d/avahi /etc/rc.d/rc3.d/S65avahi
+ln -svf  ../init.d/avahi /etc/rc.d/rc0.d/K35avahi
+ln -svf  ../init.d/avahi /etc/rc.d/rc6.d/K35avahi
+restore_backup ${NAME}
+start_service --background ${NAME}
diff --git a/src/paks/avahi/uninstall.sh b/src/paks/avahi/uninstall.sh
new file mode 100644 (file)
index 0000000..1c8e67c
--- /dev/null
@@ -0,0 +1,28 @@
+#!/bin/bash
+############################################################################
+#                                                                          #
+# This file is part of the IPFire Firewall.                                #
+#                                                                          #
+# IPFire is free software; you can redistribute it and/or modify           #
+# it under the terms of the GNU General Public License as published by     #
+# the Free Software Foundation; either version 2 of the License, or        #
+# (at your option) any later version.                                      #
+#                                                                          #
+# IPFire is distributed in the hope that it will be useful,                #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of           #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            #
+# GNU General Public License for more details.                             #
+#                                                                          #
+# You should have received a copy of the GNU General Public License        #
+# along with IPFire; if not, write to the Free Software                    #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
+#                                                                          #
+# Copyright (C) 2007 IPFire-Team <info@ipfire.org>.                        #
+#                                                                          #
+############################################################################
+#
+. /opt/pakfire/lib/functions.sh
+stop_service ${NAME}
+make_backup ${NAME}
+remove_files
+rm -rf /etc/rc.d/rc*.d/*avahi
diff --git a/src/paks/avahi/update.sh b/src/paks/avahi/update.sh
new file mode 100644 (file)
index 0000000..89c40d0
--- /dev/null
@@ -0,0 +1,26 @@
+#!/bin/bash
+############################################################################
+#                                                                          #
+# This file is part of the IPFire Firewall.                                #
+#                                                                          #
+# IPFire is free software; you can redistribute it and/or modify           #
+# it under the terms of the GNU General Public License as published by     #
+# the Free Software Foundation; either version 2 of the License, or        #
+# (at your option) any later version.                                      #
+#                                                                          #
+# IPFire is distributed in the hope that it will be useful,                #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of           #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            #
+# GNU General Public License for more details.                             #
+#                                                                          #
+# You should have received a copy of the GNU General Public License        #
+# along with IPFire; if not, write to the Free Software                    #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
+#                                                                          #
+# Copyright (C) 2007 IPFire-Team <info@ipfire.org>.                        #
+#                                                                          #
+############################################################################
+#
+. /opt/pakfire/lib/functions.sh
+./uninstall.sh
+./install.sh
diff --git a/src/paks/check_mk_agent/install.sh b/src/paks/check_mk_agent/install.sh
new file mode 100644 (file)
index 0000000..682363b
--- /dev/null
@@ -0,0 +1,26 @@
+#!/bin/bash
+############################################################################
+#                                                                          #
+# This file is part of the IPFire Firewall.                                #
+#                                                                          #
+# IPFire is free software; you can redistribute it and/or modify           #
+# it under the terms of the GNU General Public License as published by     #
+# the Free Software Foundation; either version 2 of the License, or        #
+# (at your option) any later version.                                      #
+#                                                                          #
+# IPFire is distributed in the hope that it will be useful,                #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of           #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            #
+# GNU General Public License for more details.                             #
+#                                                                          #
+# You should have received a copy of the GNU General Public License        #
+# along with IPFire; if not, write to the Free Software                    #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
+#                                                                          #
+# Copyright (C) 2007 IPFire-Team <info@ipfire.org>.                        #
+#                                                                          #
+############################################################################
+#
+. /opt/pakfire/lib/functions.sh
+extract_files
+restore_backup ${NAME}
diff --git a/src/paks/check_mk_agent/uninstall.sh b/src/paks/check_mk_agent/uninstall.sh
new file mode 100644 (file)
index 0000000..66f4344
--- /dev/null
@@ -0,0 +1,26 @@
+#!/bin/bash
+############################################################################
+#                                                                          #
+# This file is part of the IPFire Firewall.                                #
+#                                                                          #
+# IPFire is free software; you can redistribute it and/or modify           #
+# it under the terms of the GNU General Public License as published by     #
+# the Free Software Foundation; either version 2 of the License, or        #
+# (at your option) any later version.                                      #
+#                                                                          #
+# IPFire is distributed in the hope that it will be useful,                #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of           #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            #
+# GNU General Public License for more details.                             #
+#                                                                          #
+# You should have received a copy of the GNU General Public License        #
+# along with IPFire; if not, write to the Free Software                    #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
+#                                                                          #
+# Copyright (C) 2007 IPFire-Team <info@ipfire.org>.                        #
+#                                                                          #
+############################################################################
+#
+. /opt/pakfire/lib/functions.sh
+make_backup ${NAME}
+remove_files
diff --git a/src/paks/check_mk_agent/update.sh b/src/paks/check_mk_agent/update.sh
new file mode 100644 (file)
index 0000000..89c40d0
--- /dev/null
@@ -0,0 +1,26 @@
+#!/bin/bash
+############################################################################
+#                                                                          #
+# This file is part of the IPFire Firewall.                                #
+#                                                                          #
+# IPFire is free software; you can redistribute it and/or modify           #
+# it under the terms of the GNU General Public License as published by     #
+# the Free Software Foundation; either version 2 of the License, or        #
+# (at your option) any later version.                                      #
+#                                                                          #
+# IPFire is distributed in the hope that it will be useful,                #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of           #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            #
+# GNU General Public License for more details.                             #
+#                                                                          #
+# You should have received a copy of the GNU General Public License        #
+# along with IPFire; if not, write to the Free Software                    #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
+#                                                                          #
+# Copyright (C) 2007 IPFire-Team <info@ipfire.org>.                        #
+#                                                                          #
+############################################################################
+#
+. /opt/pakfire/lib/functions.sh
+./uninstall.sh
+./install.sh
diff --git a/src/paks/libdaemon/install.sh b/src/paks/libdaemon/install.sh
new file mode 100644 (file)
index 0000000..2df1ecd
--- /dev/null
@@ -0,0 +1,25 @@
+#!/bin/bash
+############################################################################
+#                                                                          #
+# This file is part of the IPFire Firewall.                                #
+#                                                                          #
+# IPFire is free software; you can redistribute it and/or modify           #
+# it under the terms of the GNU General Public License as published by     #
+# the Free Software Foundation; either version 2 of the License, or        #
+# (at your option) any later version.                                      #
+#                                                                          #
+# IPFire is distributed in the hope that it will be useful,                #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of           #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            #
+# GNU General Public License for more details.                             #
+#                                                                          #
+# You should have received a copy of the GNU General Public License        #
+# along with IPFire; if not, write to the Free Software                    #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
+#                                                                          #
+# Copyright (C) 2007 IPFire-Team <info@ipfire.org>.                        #
+#                                                                          #
+############################################################################
+#
+. /opt/pakfire/lib/functions.sh
+extract_files
diff --git a/src/paks/libdaemon/uninstall.sh b/src/paks/libdaemon/uninstall.sh
new file mode 100644 (file)
index 0000000..66f4344
--- /dev/null
@@ -0,0 +1,26 @@
+#!/bin/bash
+############################################################################
+#                                                                          #
+# This file is part of the IPFire Firewall.                                #
+#                                                                          #
+# IPFire is free software; you can redistribute it and/or modify           #
+# it under the terms of the GNU General Public License as published by     #
+# the Free Software Foundation; either version 2 of the License, or        #
+# (at your option) any later version.                                      #
+#                                                                          #
+# IPFire is distributed in the hope that it will be useful,                #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of           #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            #
+# GNU General Public License for more details.                             #
+#                                                                          #
+# You should have received a copy of the GNU General Public License        #
+# along with IPFire; if not, write to the Free Software                    #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
+#                                                                          #
+# Copyright (C) 2007 IPFire-Team <info@ipfire.org>.                        #
+#                                                                          #
+############################################################################
+#
+. /opt/pakfire/lib/functions.sh
+make_backup ${NAME}
+remove_files
diff --git a/src/paks/libdaemon/update.sh b/src/paks/libdaemon/update.sh
new file mode 100644 (file)
index 0000000..89c40d0
--- /dev/null
@@ -0,0 +1,26 @@
+#!/bin/bash
+############################################################################
+#                                                                          #
+# This file is part of the IPFire Firewall.                                #
+#                                                                          #
+# IPFire is free software; you can redistribute it and/or modify           #
+# it under the terms of the GNU General Public License as published by     #
+# the Free Software Foundation; either version 2 of the License, or        #
+# (at your option) any later version.                                      #
+#                                                                          #
+# IPFire is distributed in the hope that it will be useful,                #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of           #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            #
+# GNU General Public License for more details.                             #
+#                                                                          #
+# You should have received a copy of the GNU General Public License        #
+# along with IPFire; if not, write to the Free Software                    #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
+#                                                                          #
+# Copyright (C) 2007 IPFire-Team <info@ipfire.org>.                        #
+#                                                                          #
+############################################################################
+#
+. /opt/pakfire/lib/functions.sh
+./uninstall.sh
+./install.sh
diff --git a/src/paks/nginx/install.sh b/src/paks/nginx/install.sh
new file mode 100644 (file)
index 0000000..d5cb155
--- /dev/null
@@ -0,0 +1,32 @@
+#!/bin/bash
+############################################################################
+#                                                                          #
+# This file is part of the IPFire Firewall.                                #
+#                                                                          #
+# IPFire is free software; you can redistribute it and/or modify           #
+# it under the terms of the GNU General Public License as published by     #
+# the Free Software Foundation; either version 2 of the License, or        #
+# (at your option) any later version.                                      #
+#                                                                          #
+# IPFire is distributed in the hope that it will be useful,                #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of           #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            #
+# GNU General Public License for more details.                             #
+#                                                                          #
+# You should have received a copy of the GNU General Public License        #
+# along with IPFire; if not, write to the Free Software                    #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
+#                                                                          #
+# Copyright (C) 2007 IPFire-Team <info@ipfire.org>.                        #
+#                                                                          #
+############################################################################
+#
+. /opt/pakfire/lib/functions.sh
+extract_files
+restore_backup ${NAME}
+
+ln -svf  ../init.d/nginx /etc/rc.d/rc0.d/K20nginx
+ln -svf  ../init.d/nginx /etc/rc.d/rc3.d/S40nginx
+ln -svf  ../init.d/nginx /etc/rc.d/rc6.d/K20nginx
+
+start_service --background ${NAME}
diff --git a/src/paks/nginx/uninstall.sh b/src/paks/nginx/uninstall.sh
new file mode 100644 (file)
index 0000000..ded53f0
--- /dev/null
@@ -0,0 +1,29 @@
+#!/bin/bash
+############################################################################
+#                                                                          #
+# This file is part of the IPFire Firewall.                                #
+#                                                                          #
+# IPFire is free software; you can redistribute it and/or modify           #
+# it under the terms of the GNU General Public License as published by     #
+# the Free Software Foundation; either version 2 of the License, or        #
+# (at your option) any later version.                                      #
+#                                                                          #
+# IPFire is distributed in the hope that it will be useful,                #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of           #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            #
+# GNU General Public License for more details.                             #
+#                                                                          #
+# You should have received a copy of the GNU General Public License        #
+# along with IPFire; if not, write to the Free Software                    #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
+#                                                                          #
+# Copyright (C) 2007 IPFire-Team <info@ipfire.org>.                        #
+#                                                                          #
+############################################################################
+#
+. /opt/pakfire/lib/functions.sh
+stop_service ${NAME}
+make_backup ${NAME}
+remove_files
+
+rm -rf /etc/rc.d/rc*.d/*nginx
diff --git a/src/paks/nginx/update.sh b/src/paks/nginx/update.sh
new file mode 100644 (file)
index 0000000..89c40d0
--- /dev/null
@@ -0,0 +1,26 @@
+#!/bin/bash
+############################################################################
+#                                                                          #
+# This file is part of the IPFire Firewall.                                #
+#                                                                          #
+# IPFire is free software; you can redistribute it and/or modify           #
+# it under the terms of the GNU General Public License as published by     #
+# the Free Software Foundation; either version 2 of the License, or        #
+# (at your option) any later version.                                      #
+#                                                                          #
+# IPFire is distributed in the hope that it will be useful,                #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of           #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the            #
+# GNU General Public License for more details.                             #
+#                                                                          #
+# You should have received a copy of the GNU General Public License        #
+# along with IPFire; if not, write to the Free Software                    #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA #
+#                                                                          #
+# Copyright (C) 2007 IPFire-Team <info@ipfire.org>.                        #
+#                                                                          #
+############################################################################
+#
+. /opt/pakfire/lib/functions.sh
+./uninstall.sh
+./install.sh
diff --git a/src/patches/compat-drivers-3.8-arm_missing_vmalloc.patch b/src/patches/compat-drivers-3.8-arm_missing_vmalloc.patch
new file mode 100644 (file)
index 0000000..d32008b
--- /dev/null
@@ -0,0 +1,11 @@
+diff -Naur compat-drivers-3.8-1-u.org/drivers/net/ethernet/atheros/alx/alx_main.c compat-drivers-3.8-1-u/drivers/net/ethernet/atheros/alx/alx_main.c
+--- compat-drivers-3.8-1-u.org/drivers/net/ethernet/atheros/alx/alx_main.c     2013-02-20 14:24:50.000000000 +0100
++++ compat-drivers-3.8-1-u/drivers/net/ethernet/atheros/alx/alx_main.c 2013-03-03 12:41:04.000000000 +0100
+@@ -26,6 +26,7 @@
+ #include <linux/bitops.h>
+ #include <linux/netdevice.h>
+ #include <linux/etherdevice.h>
++#include <linux/vmalloc.h>
+ #include "alx_reg.h"
+ #include "alx_hw.h"
diff --git a/src/patches/compat-wireless-3.6.8-remove_3.1_cpufreq_backport.patch b/src/patches/compat-wireless-3.6.8-remove_3.1_cpufreq_backport.patch
deleted file mode 100644 (file)
index 602c153..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-diff -Naur compat-wireless-3.6.8-1-snp.org/compat/compat-3.1.c compat-wireless-3.6.8-1-snp/compat/compat-3.1.c
---- compat-wireless-3.6.8-1-snp.org/compat/compat-3.1.c        2012-11-29 06:03:45.000000000 +0100
-+++ compat-wireless-3.6.8-1-snp/compat/compat-3.1.c    2013-01-18 16:50:08.799491784 +0100
-@@ -9,30 +9,6 @@
-  */
- #include <linux/idr.h>
--#include <linux/cpufreq.h>
--
--/* This backports:
-- * commit 3d73710880afa3d61cf57b5d4eb192e812eb7e4f
-- * Author: Jesse Barnes <jbarnes@virtuousgeek.org>
-- * Date:   Tue Jun 28 10:59:12 2011 -0700
-- *
-- *    cpufreq: expose a cpufreq_quick_get_max routine
-- */
--
--unsigned int compat_cpufreq_quick_get_max(unsigned int cpu)
--{
--      struct cpufreq_policy *policy = cpufreq_cpu_get(cpu);
--      unsigned int ret_freq = 0;
--
--      if (policy) {
--              ret_freq = policy->max;
--              cpufreq_cpu_put(policy);
--      }
--
--      return ret_freq;
--}
--EXPORT_SYMBOL(compat_cpufreq_quick_get_max);
--
- static DEFINE_SPINLOCK(compat_simple_ida_lock);
-diff -Naur compat-wireless-3.6.8-1-snp.org/include/linux/compat-3.1.h compat-wireless-3.6.8-1-snp/include/linux/compat-3.1.h
---- compat-wireless-3.6.8-1-snp.org/include/linux/compat-3.1.h 2012-10-24 15:22:50.000000000 +0200
-+++ compat-wireless-3.6.8-1-snp/include/linux/compat-3.1.h     2013-01-18 16:52:04.106154741 +0100
-@@ -111,10 +111,6 @@
- void ida_simple_remove(struct ida *ida, unsigned int id);
--/* mask cpufreq_quick_get_max as RHEL6 backports this */
--#define cpufreq_quick_get_max(a) compat_cpufreq_quick_get_max(a)
--
--unsigned int cpufreq_quick_get_max(unsigned int cpu);
- #endif /* (LINUX_VERSION_CODE < KERNEL_VERSION(3,1,0)) */
- #endif /* LINUX_3_1_COMPAT_H */
diff --git a/src/patches/pakfire-database-Add-inst_size-column-when-creating-new-data.patch b/src/patches/pakfire-database-Add-inst_size-column-when-creating-new-data.patch
new file mode 100644 (file)
index 0000000..f366f21
--- /dev/null
@@ -0,0 +1,24 @@
+From 0d6d6fd2b89c609a6f8daff225c6c98b54a041cc Mon Sep 17 00:00:00 2001
+From: Michael Tremer <michael.tremer@ipfire.org>
+Date: Mon, 4 Mar 2013 17:18:52 +0100
+Subject: [PATCH] database: Add inst_size column when creating new databases.
+
+---
+ python/pakfire/repository/database.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/python/pakfire/repository/database.py b/python/pakfire/repository/database.py
+index fc8a1a9..d8751e9 100644
+--- a/python/pakfire/repository/database.py
++++ b/python/pakfire/repository/database.py
+@@ -190,6 +190,7 @@ class DatabaseLocal(Database):
+                               groups          TEXT,
+                               filename        TEXT,
+                               size            INTEGER,
++                              inst_size       INTEGER,
+                               hash1           TEXT,
+                               provides        TEXT,
+                               requires        TEXT,
+-- 
+1.7.11.7
+