Only in D:\AWStats70t_Jpn: awstats.cron
Only in D:\AWStats70t_Jpn: awstats.sh
Only in D:\awstats-7.0-mod\: docs
Only in D:\AWStats70t_Jpn: files
Only in D:\AWStats70t_Jpn: READMEJ.txt
Only in D:\AWStats70t_Jpn/tools: killdupe.pl
Only in D:\AWStats70t_Jpn/tools: sepreverse.pl
Only in D:\AWStats70t_Jpn/tools: sortlog.bat
Only in D:\AWStats70t_Jpn/tools: utf8_decode.pl
diff -u -b -r D:\awstats-7.0-mod\/wwwroot/cgi-bin/awstats.model.conf D:\AWStats70t_Jpn/wwwroot/cgi-bin/awstats.model.conf
--- D:\awstats-7.0-mod\/wwwroot/cgi-bin/awstats.model.conf	2010-09-29 20:16:20.000000000 +0900
+++ D:\AWStats70t_Jpn/wwwroot/cgi-bin/awstats.model.conf	2011-01-27 16:24:23.921875000 +0900
@@ -1,1390 +1,1507 @@
 # AWSTATS CONFIGURE FILE 7.0
 #-----------------------------------------------------------------------------
-# Copy this file into awstats.www.mydomain.conf and edit this new config file
-# to setup AWStats (See documentation in docs/ directory).
-# The config file must be in /etc/awstats, /usr/local/etc/awstats or /etc (for
-# Unix/Linux) or same directory than awstats.pl (Windows, Mac, Unix/Linux...)
-# To include an environment variable in any parameter (AWStats will replace
-# it with its value when reading it), follow the example:
+# このファイルをawstats.www.mydomain.confという名前でコピーし, コピーした
+# ファイルをAWStatsを設定する際に利用して下さい(docsディレクトリの文書を
+# 参照してください).
+# この設定ファイルは, /etc/awstats, /usr/local/etc/awstats, あるいは/etc
+# (UNIX/Linuxの場合)か, awstats.plと同じディレクトリ(Windows, Mac, Unix
+# /Linuxなど)に存在しなくてはなりません.
+# 環境変数を任意のパラメータにインクルードする場合には, 以下の書式に従って
+# 設定して下さい(AWStatが読み込む際に, 値を置換します).
 # Parameter="__ENVNAME__"
-# Note that environment variable AWSTATS_CURRENT_CONFIG is always defined with
-# the config value in an AWStats running session and can be used like others.
+# 起動されたAWStatsのセッションはAWSTATS_CURRENT_CONFIGという名前の環境変数
+# を常に設定していますが, そのほかの環境変数と同様に利用できるので, 注意して
+# ください.
 #-----------------------------------------------------------------------------
 # $Revision: 1.350 $ - $Author: eldy $ - $Date: 2010/09/29 19:16:21 $
-
+# 日本語化 by Ryu Hiyoshi <ryu@kk.iij4u.or.jp> 2004/07/01 00:00:00
+#  Modified by makoto_hobbit 2011.1.27
 
 
 #-----------------------------------------------------------------------------
-# MAIN SETUP SECTION (Required to make AWStats work)
+# メインセットアップセクション (AWStatsの動作に必要とされる設定)
 #-----------------------------------------------------------------------------
 
-# "LogFile" contains the web, ftp or mail server log file to analyze.
-# Possible values: A full path, or a relative path from awstats.pl directory.
-# Example: "/var/log/apache/access.log"
-# Example: "../logs/mycombinedlog.log"
-# You can also use tags in this filename if you need a dynamic file name
-# depending on date or time (Replacement is made by AWStats at the beginning
-# of its execution). This is available tags :
-#   %YYYY-n  is replaced with 4 digits year we were n hours ago
-#   %YY-n    is replaced with 2 digits year we were n hours ago
-#   %MM-n    is replaced with 2 digits month we were n hours ago
-#   %MO-n    is replaced with 3 letters month we were n hours ago
-#   %DD-n    is replaced with day we were n hours ago
-#   %HH-n    is replaced with hour we were n hours ago
-#   %NS-n    is replaced with number of seconds at 00:00 since 1970
-#   %WM-n    is replaced with the week number in month (1-5)
-#   %Wm-n    is replaced with the week number in month (0-4)
-#   %WY-n    is replaced with the week number in year (01-52)
-#   %Wy-n    is replaced with the week number in year (00-51)
-#   %DW-n    is replaced with the day number in week (1-7, 1=sunday)
-#                              use n=24 if you need (1-7, 1=monday)
-#   %Dw-n    is replaced with the day number in week (0-6, 0=sunday)
-#                              use n=24 if you need (0-6, 0=monday)
-#   Use 0 for n if you need current year, month, day, hour...
-# Example: "/var/log/access_log.%YYYY-0%MM-0%DD-0.log"
-# Example: "C:/WINNT/system32/LogFiles/W3SVC1/ex%YY-24%MM-24%DD-24.log"
-# You can also use a pipe if log file come from a pipe :
-# Example: "gzip -d </var/log/apache/access.log.gz |"
-# If there are several log files from load balancing servers :
-# Example: "/pathtotools/logresolvemerge.pl *.log |"
+# "LogFile"には, 解析したいWeb/FTP/Mailサーバーのログファイルを指定します.
+# 取り得る値: フルパス, もしくはawstats.plがあるディレクトリからの相対パス.
+# 例: "/var/log/apache/access.log"
+# 例: "../logs/mycombinedlog.log"
+# 日時によってログファイル名が変化する場合, ファイル名の中にタグを利用する
+# こともできます(解析開始時にAWStatsが置換を行います).
+# 以下に利用可能なタグを示します:
+#   %YYYY-n  は, n時間前の年度(4桁)に置換されます
+#   %YY-n    は, n時間前の年度(2桁)に置換されます
+#   %MM-n    は, n時間前の月に置換されます
+#   %MO-n    は, n時間前の月(3文字表記, Jan=1月など)に置換されます
+#   %DD-n    は, n時間前の日に置換されます
+#   %HH-n    は, n時間前の時間に置換されます
+#   %NS-n    は, 00:00時点での1970年からの秒数に置換されます
+#   %WM-n    は, 当該月の中の週数に置換されます (1-5)
+#   %Wm-n    は, 当該月の中の週数に置換されます (0-4)
+#   %WY-n    は, 当該年の中の週数に置換されます (1-52)
+#   %Wy-n    は, 当該年の中の週数に置換されます (00-51)
+#   %DW-n    は, 当該週の中の日数に置換されます (1-7, 1=日曜日)
+#            必要に応じて, n=24を利用して下さい (1-7, 1=月曜日)
+#   %Dw-n    は, 当該週の中の日数に置換されます (0-6, 0=日曜日)
+#            必要に応じて, n=24を利用して下さい (0-6, 0=月曜日)
+#   nに0を設定すれば, 当年/当月/当週/当日....になります.
+# 例: "/var/log/access_log.%YYYY-0%MM-0%DD-0.log"
+# 例: "C:/WINNT/system32/LogFiles/W3SVC1/ex%YY-24%MM-24%DD-24.log"
+# ログファイルがパイプ経由で渡される場合, パイプを利用することも可能です.
+# 例: "gzip -d </var/log/apache/access.log.gz |"
+# 負荷分散環境下で複数のログファイルが存在する場合 :
+# 例: "/pathtotools/logresolvemerge.pl *.log |"
 #
 LogFile="/var/log/httpd/mylog.log"
 
 
-# Enter the log file type you want to analyze.
-# Possible values:
-#  W - For a web log file
-#  S - For a streaming log file
-#  M - For a mail log file
-#  F - For a ftp log file
-# Example: W
-# Default: W
+# 解析したいログの種別を指定します.
+# 取りうる値:
+#  W - Webサイトのログファイル
+#  S - ストリーミングサーバのログファイル
+#  M - メールサーバのログファイル
+#  F - FTPサーバのログファイル
+# 例: W
+# 規定値: W
 #
 LogType=W
 
 
-# Enter here your log format (Must match your web server config. See setup
-# instructions in documentation to know how to configure your web server to
-# have the required log format).
-# Possible values: 1,2,3,4 or "your_own_personalized_log_format"
-# 1 - Apache or Lotus Notes/Domino native combined log format (NCSA combined/XLF/ELF log format)
-# 2 - IIS or ISA format (IIS W3C log format). See FAQ-COM115 For ISA.
-# 3 - Webstar native log format.
-# 4 - Apache or Squid native common log format (NCSA common/CLF log format)
-#     With LogFormat=4, some features (browsers, os, keywords...) can't work.
-# "your_own_personalized_log_format" = If your log is ftp, mail or other format,
-#     you must use following keys to define the log format string (See FAQ for
-#     ftp, mail or exotic web log format examples):
-#   %host             Client hostname or IP address (or Sender host for mail log)
-#   %host_r           Receiver hostname or IP address (for mail log)
-#   %lognamequot      Authenticated login/user with format: "john"
-#   %logname          Authenticated login/user with format: john
-#   %time1            Date and time with format: [dd/mon/yyyy:hh:mm:ss +0000] or [dd/mon/yyyy:hh:mm:ss]
-#   %time2            Date and time with format: yyyy-mm-dd hh:mm:ss
-#   %time3            Date and time with format: Mon dd hh:mm:ss or Mon dd hh:mm:ss yyyy
-#   %time4            Date and time with unix timestamp format: dddddddddd
-#   %methodurl        Method and URL with format: "GET /index.html HTTP/x.x"
-#   %methodurlnoprot  Method and URL with format: "GET /index.html"
-#   %method           Method with format: GET
-#   %url              URL only with format: /index.html
-#   %query            Query string (used by URLWithQuery option)
-#   %code             Return code status (with format for web log: 999)
-#   %bytesd           Size of document in bytes
-#   %refererquot      Referer page with format: "http://from.com/from.htm"
-#   %referer          Referer page with format: http://from.com/from.htm
-#   %uabracket        User agent with format: [Mozilla/4.0 (compatible, ...)]
-#   %uaquot           User agent with format: "Mozilla/4.0 (compatible, ...)"
-#   %ua               User agent with format: Mozilla/4.0_(compatible...)
-#   %gzipin           mod_gzip compression input bytes: In:XXX
-#   %gzipout          mod_gzip compression output bytes & ratio: Out:YYY:ZZpct.
-#   %gzipratio        mod_gzip compression ratio: ZZpct.
-#   %deflateratio     mod_deflate compression ratio with format: (ZZ)
-#   %email            EMail sender (for mail log)
-#   %email_r          EMail receiver (for mail log)
-#   %virtualname      Web sever virtual hostname. Use this tag when same log
-#                     contains data of several virtual web servers. AWStats
-#                     will discard records not in SiteDomain nor HostAliases
-#   %cluster          If log file is provided from several computers (merged by
-#                     logresolvemerge.pl), use this to define cluster id field.
-#   %extraX           Another field that you plan to use for building a
-#                     personalized report with ExtraSection feature (See later).
-#   If your log format has some fields not included in this list, use:
-#   %other            Means another not used field
-#   %otherquot        Means another not used double quoted field
+# ログの形式を指定します(Webサーバの設定と一致している必要があります.
+# 同梱されている文書のセットアップインストラクションに, 必要とされるログ
+# 形式でWebサーバにログを出力させるための設定方法が解説されています).
+# 取り得る値: 1,2,3,4,5 もしくは "your_own_personalized_log_format"
+# 1 - ApacheもしくはLotus Notes/Dominoのnative combinedログ形式
+#     (NCSA combined/XLF/ELFログ形式).
+# 2 - 旧バージョンのIISのログ形式 (IIS W3Cログ形式).
+#     IIS 6.xについては, FAQを参照してください.
+# 3 - Webstar nativeログ形式.
+# 4 - Apache / Squid native commonログ形式 (NCSA common/CLFログ形式)
+#     LogFormat=4で利用した場合, いくつかの機能(ブラウザ, OS,
+#     検索キーワード)は動作しません.
+# "your_own_personalized_log_format" = ログがFTPやメール, そのほかの形式で
+#     ある場合, 以下のキーを利用してログ形式を定義する必要があります(FTP,
+#     メール, 特殊なWebサーバのログ形式のサンプルについては, FAQを参照して
+#     ください.)
+#   %host             ホスト名, もしくはIPアドレス
+#   %lognamequot      次の形式で表現される認証されたログイン/ユーザ: "alex"
+#   %logname          次の形式で表現される認証されたログイン/ユーザ: alex
+#   %time1            次の形式の年月日/時間: [dd/mmm/yyyy:hh:mm:ss +0000]
+#                     もしくは次の形式の年月日/時間: [dd/mmm/yyyy:hh:mm:ss]
+#   %time2            次の形式の年月日/時間: yyyy-mm-dd hh:mm:ss
+#   %time3            次の形式の日付/時間: Mon dd hh:mm:ss
+#   %methodurl        次の形式のメソッドとURL: "GET /index.html HTTP/x.x"
+#   %methodurlnoprot  次の形式のメソッドとURL: "GET /index.html"
+#   %method           以下の形式のメソッド: GET
+#   %url              以下の形式のURL: /index.html
+#   %query            クエリストリング (URLWithQueryオプションが利用)
+#   %code             リターンコードステータス (Webのログでは3桁の数字)
+#   %bytesd           バイト単位でのドキュメントサイズ
+#   %refererquot      次の形式のReferer: "http://from.com/from.htm"
+#   %referer          次の形式のReferer: http://from.com/from.htm
+#   %uaquot           次の形式のUser agent: "Mozilla/4.0 (compatible, ...)"
+#   %ua               次の形式のUser agent: Mozilla/4.0_(compatible...)
+#   %gzipin           Mod_gzipへの入力バイト数: In:XXX
+#   %gzipout          Mod_gzipからの出力バイト数と圧縮率: Out:YYY:ZZZpct.
+#   %gzipratio        Mod_gzipの圧縮率: ZZZpct.
+#   %deflateratio     以下の形式のMod_deflateの圧縮率: (ZZ)
+#   %email            電子メールの送信者 (メールログ用)
+#   %email_r          電子メールの受信者 (メールログ用)
+#   %virtualname      Webサーバーのバーチャルホスト名. 単一のログに複数の
+#                     バーチャルホストのログが含まれる場合に使用してください.
+#                     SiteDomainにもHostAliasesにも存在しないレコードは,
+#                     AWStatsは廃棄します.
+#   %cluster          複数のマシンからログファイルが提供されている
+#                     (logresolvemerge.plでマージされている)場合, このタグは
+#                     クラスタIDフィールドを定義します.
+#   上記以外のフィールドがログに存在する場合, 以下のフィールドを利用します.
+#   %other            上記以外のフィールドであることを示します.
 #
-# Examples for Apache combined logs (following two examples are equivalent):
+# Apache combined logsの例 (以下の2つの例は同じ意味を持ちます):
 # LogFormat = 1
 # LogFormat = "%host %other %logname %time1 %methodurl %code %bytesd %refererquot %uaquot"
 #
-# Example for IIS:
-# LogFormat = 2
-#
 LogFormat=1
 
-
-# If your log field's separator is not a space, you can change this parameter.
-# This parameter is not used if LogFormat is a predefined value (1,2,3,4)
-# Backslash can be used as escape character.
-# Example: " "
-# Example: "\t"
-# Example: "\|"
-# Example: ","
-# Default: " "
+# ログのフィールドセパレータがスペースでない場合, 以下のパラメータを利用すれば
+# 変更することが出来ます. このパラメータはLogFormatに定義済みの値(1,2,3,4,5,6)
+# が指定されている場合は利用されません.
+# 例: " "
+# 例: "\t"
+# 例: "|"
+# 規定値: " "
 #
 LogSeparator=" "
 
 
-# "SiteDomain" must contain the main domain name, or the main intranet web
-# server name, used to reach the web site.
-# If you share the same log file for several virtual web servers, this
-# parameter is used to tell AWStats to filter record that contains records for
-# this virtual host name only (So check that this virtual hostname can be
-# found in your log file and use a personalized log format that include the
-# %virtualname tag).
-# But for multi hosting a better solution is to have one log file for each
-# virtual web server. In this case, this parameter is only used to generate
-# full URL's links when ShowLinksOnUrl option is set to 1.
-# If analyzing mail log, enter here the domain name of mail server.
-# Example: "myintranetserver"
-# Example: "www.domain.com"
-# Example: "ftp.domain.com"
-# Example: "domain.com"
+# "SiteDomain"には, Webサイトに到達するために利用される統計対象のWebサイトの
+# ドメイン名もしくはイントラネットのサーバー名を設定します.
+# 単一のログに複数のバーチャルホストのログが混在する場合, このパラメーター
+# で統計対象とするバーチャルホストの名前をAWStatsに教えます(このため, ここで
+# 設定するバーチャルホストの名前がログファイルに存在していることを確認し,
+# %virtualnameタグを含むようにカスタマイズされたログ形式を利用していること
+# を確認して下さい).
+# しかし, 複数のホストを持っている場合, 一つのバーチャルホストについて
+# 一つのログファイルを持つように設定する方がより良い解となります.
+# この場合, このパラメーターはShowLinksOnUrlオプションが1に設定されている
+# 場合に, 完全なリンクを作成するためのみに利用されます.
+# メールサーバのログを解析する場合, メールサーバのドメイン名をここに設定して
+# ください.
+# 例: "myintranetserver"
+# 例: "www.domain.com"
+# 例: "ftp.domain.com"
+# 例: "domain.com"
 #
 SiteDomain=""
 
 
-# Enter here all other possible domain names, addresses or virtual host
-# aliases someone can use to access your site. Try to keep only the minimum
-# number of possible names/addresses to have the best performances.
-# You can repeat the "SiteDomain" value in this list.
-# This parameter is used to analyze referer field in log file and to help
-# AWStats to know if a referer URL is a local URL of same site or an URL of
-# another site.
-# Note: Use space between each value.
-# Note: You can use regular expression values writing value with REGEX[value].
-# Note: You can also use @/mypath/myfile if list of aliases are in a file.
-# Example: "www.myserver.com localhost 127.0.0.1 REGEX[mydomain\.(net|org)$]"
+# ここには, 誰かが統計対象サイトに到達するために利用される可能性がある,
+# 上記以外の全てのドメイン名やアドレス, バーチャルホストのエイリアス名などを
+# 設定します. パフォーマンスの劣化を最低限に押えるためにも, ここに設定する
+# 名前やアドレスの数は最小限に押さえてください.
+# "SiteDomain"に設定した値を繰り返して記述しても構いません.
+# このパラメーターは, ログファイルのRefererフィールドを解析する際に利用され,
+# RefererのURLが同一サイトのローカルURLなのか, 別のサイトのURLなのかを
+# AWStatsが判断する際の助けとなります.
+# ノート: 各々の値はスペースで区切って下さい.
+# ノート: REGEX[value]のような形式で正規表現を利用することもできます.
+# 例: "www.myserver.com localhost 127.0.0.1 REGEX[mydomain\.(net|org)$]"
 #
 HostAliases="localhost 127.0.0.1 REGEX[myserver\.com$]"
 
 
-# If you want to have hosts reported by name instead of ip address, AWStats
-# need to make reverse DNS lookups (if not already done in your log file).
-# With DNSLookup to 0, all hosts will be reported by their IP addresses and
-# not by the full hostname of visitors (except if names are already available
-# in log file).
-# If you want/need to set DNSLookup to 1, don't forget that this will reduce
-# dramatically AWStats update process speed. Do not use on large web sites.
-# Note: Reverse DNS lookup is done on IPv4 only (Enable ipv6 plugin for IPv6).
-# Note: Result of DNS Lookup can be used to build the Country report. However
-# it is highly recommanded to enable the plugin 'geoip' or 'geoipfree' to
-# have an accurate Country report with no need of DNS Lookup.
-# Possible values:
-# 0 - No DNS Lookup
-# 1 - DNS Lookup is fully enabled
-# 2 - DNS Lookup is made only from static DNS cache file (if it exists)
-# Default: 2
+# ホストをIPアドレスではなくドメイン名で報告させたい場合, AWStatsはDNSの
+# 逆引きを行う必要があります(ログファイルの段階で逆引きが行われていない場合).
+# DNSLookupが0に設定されている場合, 全てのホストはホスト名ではなくIPアドレス
+# で報告されます(名前解決がログファイルの段階で行われている場合を除く).
+# DNSLookupを1に設定する場合, DNSの逆引きがAWStatsの更新プロセスの# パフォー
+# マンスを著しく落すことを忘れないで下さい.
+# 大規模なサイトではDNSLookupを1に設定しないでください.
+# ノート: DNSの逆引きはIPv4でのみ行われます(IPv6の場合はipv6プラグインを有効に
+#         してください).
+# ノート: DNSの逆引きの結果は, 国別レポートの作成にも利用できます. しかし,
+#         DNSの逆引きを行うことなくより正確な国別レポートを得るためには,
+#         'geoipfree'もしくは'geoip'プラグインを有効にすることが推奨されます.
+# 取り得る値:
+# 0 - DNSの逆引きを行わない
+# 1 - DNSの逆引きを完全に行う
+# 2 - DNSキャッシュファイルに存在するIPアドレスについてのみのみ逆引きを行う
+# 既定値: 2
 # 
 DNSLookup=2
 
 
-# When AWStats updates its statistics, it stores results of its analysis in 
-# files (AWStats database). All those files are written in the directory
-# defined by the "DirData" parameter. Set this value to the directory where
-# you want AWStats to save its database and working files into.
-# Warning: If you want to be able to use the "AllowToUpdateStatsFromBrowser"
-# feature (see later), you need "Write" permissions by web server user on this
-# directory (and "Modify" for Windows NTFS file systems).
-# Example: "/var/lib/awstats"
-# Example: "../data"
-# Example: "C:/awstats_data_dir"
-# Default: "."          (means same directory as awstats.pl)
+# AWStatsが統計データを更新する際に, AWStatsは解析結果をファイルに格納します
+# (AWStatsデータベース). これらのファイルは全て"DirData"パラメーターで
+# 指定されたディレクトリに書き込まれます. このパラメーターには, あなたが
+# AWStatsにデータベースファイルを格納させたいディレクトリを設定して下さい.
+# 警告: "AllowToUpdateStatsFromBrowser"パラメーターを利用したい場合(後述),
+# Webサーバーが指定したディレクトリに対して"書き込み"権限を持っている
+# 必要があります(WindowsのNTFSファイルシステムの場合, "変更"権限も必要と
+# なります).
+# 例: "/var/cache/awstats"
+# 例: "../data"
+# 例: "C:/awstats_data_dir"
+# 既定値: "." (awstats.plと同一のディレクトリという意味)
 #
 DirData="."
 
 
-# Relative or absolute web URL of your awstats cgi-bin directory.
-# This parameter is used only when AWStats is run from command line
-# with -output option (to generate links in HTML reported page).
-# Example: "/awstats"
-# Default: "/cgi-bin"   (means awstats.pl is in "/yourwwwroot/cgi-bin")
+# awstats.plが置かれているcgi-binディレクトリの相対もしくは絶対URL.
+# このパラメーターは, AWStatsがコマンドラインから-outputオプションつきで起動
+# される場合にのみ利用されます(HTMLのレポートページのリンクを生成するため).
+# 例: "/awstats"
+# 既定値: "/cgi-bin"   (awstats.plが"/yourwwwroot/cgi-bin"にあるという意味)
 #
 DirCgi="/cgi-bin"
 
 
-# Relative or absolute web URL of your awstats icon directory.
-# If you build static reports ("... -output > outputpath/output.html"), enter
-# path of icon directory relative to the output directory 'outputpath'.
-# Example: "/awstatsicons"
-# Example: "../icon"
-# Default: "/icon" (means you must copy icon directories in "/mywwwroot/icon")
+# AWStatsのアイコンディレクトリの相対もしくは絶対URL.
+# 静的なレポートを構築する場合("... -output > outputpath/output.html"),
+# outputpathからの相対ディレクトリをここに設定して下さい.
+# 例: "/awstatsicon"
+# 例: "../icon"
+# デフォルト: "/icon" (アイコンディレクトリを"/wwwroot/icon"にコピーする必要が
+# あるという意味)
 #
 DirIcons="/icon"
 
 
-# When this parameter is set to 1, AWStats adds a button on report page to
-# allow to "update" statistics from a web browser. Warning, when "update" is
-# made from a browser, AWStats is run as a CGI by the web server user defined
-# in your web server (user "nobody" by default with Apache, "IUSR_XXX" with
-# IIS), so the "DirData" directory and all already existing history files
-# awstatsMMYYYY[.xxx].txt must be writable by this user. Change permissions if
-# necessary to "Read/Write" (and "Modify" for Windows NTFS file systems).
-# Warning: Update process can be long so you might experience "time out"
-# browser errors if you don't launch AWStats frequently enough.
-# When set to 0, update is only made when AWStats is run from the command
-# line interface (or a task scheduler).
-# Possible values: 0 or 1
-# Default: 0
+# このパラメーターが1に設定されている場合, AWStatsは"更新"ボタンを統計
+# ページに付加し, ブラウザからの更新ができるようにします. 警告, "更新"が
+# ブラウザから行われた場合, AWStatsは設定ファイルに指定されているWebサーバ
+# のユーザの権限でCGIとして動作します(Apacheの場合は"nobody", IISの場合は
+# "IUSR_XXX"が既定値です). このため, "DireData"で指定されたディレクトリと
+# 全ての既存の履歴ファイルawstatsMMYYYY[.xxx].txtは, そのユーザーの権限で
+# 書き込みが可能な状態である必要があります. 必要に応じて読み書きの権限
+# (WindowsのNTFSファイルシステムの場合は"変更"権限も必要)を与えて下さい.
+# 警告: 更新処理に長時間かかる可能性があるため, 頻繁に更新を行わないと
+# ブラウザがタイムアウトしてしまう可能性があります.
+# このパラメーターが0に設定されている場合, 更新処理はコマンドライン
+# (もしくはタスクスケジューラー)からしか行うことができません
+# 取り得る値: 0 もしくは 1
+# 既定値: 0
 #
 AllowToUpdateStatsFromBrowser=0
 
 
-# AWStats saves and sorts its database on a month basis (except if using
-# databasebreak option from command line). 
-# However, if you choose the -month=all from command line or
-# value '-Year-' from CGI combo form to have a report for all year, AWStats
-# needs to reload all data for full year (each month), and sort them,
-# requiring a large amount of time, memory and CPU. This might be a problem
-# for web hosting providers that offer AWStats for large sites, on shared
-# servers, to non CPU cautious customers.
-# For this reason, the 'full year' is only enabled on Command Line by default.
-# You can change this by setting this parameter to 0, 1, 2 or 3.
-# Possible values:
-#  0 - Never allowed
-#  1 - Allowed on CLI only, -Year- value in combo is not visible
-#  2 - Allowed on CLI only, -Year- value in combo is visible but not allowed
-#  3 - Possible on CLI and CGI
-# Default: 2
+# 迅速にレポートを作成するために, AWStatsは月単位でデータをソートし, データ
+# ベースとして保持しています. コマンドラインで-month=allを選択するか, CGIの
+# コンボフォームで'-年-'を選択して通年のレポートを作成しようとすると, AWStats
+# は1年分のデータを全てリロードして, 長い時間と多大なメモリとCPUリソースを
+# 費やして再度0からソートしなおさなければなりません. 共有サーバ上の巨大サイト
+# を持つ, CPUリソースなど全く気にしないユーザを持つホスティング事業者に
+# とって, これは少なからず問題となります.
+# このため, 通年のレポートはデフォルトではコマンドラインからのみ作成することが
+# できるようになっています. この挙動は, 以下のパラメータを0, 1, 2, 3のいずれか
+# に設定することにより, 変更することができます.
+# 取りうる値:
+#  0 - 決して許可しない
+#  1 - コマンドラインからのみ許可, CGIでは通年を選択することができない
+#  2 - コマンドラインからのみ許可, CGIで通年を選択すると実行時にエラーになる.
+#  3 - コマンドライン/CGIのいずれからも可能
+# 規定値: 2
 #
 AllowFullYearView=2
 
 
 
 #-----------------------------------------------------------------------------
-# OPTIONAL SETUP SECTION (Not required but increase AWStats features)
+# オプショナルセットアップセクション (必須ではないがAWStatsの機能を向上)
 #-----------------------------------------------------------------------------
 
-# When the update process runs, AWStats can set a lock file in TEMP or TMP
-# directory. This lock is to avoid to have 2 update processes running at the
-# same time to prevent unknown conflicts problems and avoid DoS attacks when
-# AllowToUpdateStatsFromBrowser is set to 1.
-# Because, when you use lock file, you can experience sometimes problems in
-# lock file not correctly removed (killed process for example requires that
-# you remove the file manualy), this option is not enabled by default (Do
-# not enable this option with no console server access).
-# Change : Effective immediatly
-# Possible values: 0 or 1
-# Default: 0
+# 更新処理が走る際に, AWStatsはロックファイルをTEMPもしくはTMPディレクトリに
+# セットすることができます.
+# ロックするようにセットしておくと, AllowToUpdateStatsFromBrowserが1に設定
+# されている場合に, 2つの更新プロセスが同時に走ることによる衝突や, DoS攻撃を
+# 回避することができます.
+# しかし, このオプションを利用するように設定していると, ロックファイルが正常
+# に削除されない場合(プロセスがkillされた場合には, 手動でロックファイルを
+# 削除する必要があります), 問題が発生する可能性があります.
+# このため, このオプションはデフォルトでは無効になっています(コンソール経由で
+# サーバーにアクセスできない場合, このオプションを有効にしてはいけません).
+# 変更: 即時に反映されます
+# 取り得る値: 0 もしくは 1
+# 既定値: 0
 #
 EnableLockForUpdate=0
 
 
-# AWStats can do reverse DNS lookups through a static DNS cache file that was
-# previously created manually. If no path is given in static DNS cache file
-# name, AWStats will search DirData directory. This file is never changed.
-# This option is not used if DNSLookup=0.
-# Note: DNS cache file format is 'minsince1970 ipaddress resolved_hostname'
-# or just 'ipaddress resolved_hostname'
-# Change : Effective for new updates only
-# Example: "/mydnscachedir/dnscache"
-# Default: "dnscache.txt"
+# AWStatsは, 事前に手で作成しておいた静的なDNSキャッシュファイルを利用して
+# DNSの逆引きを行うことができます. DNSキャッシュファイル名にパスが与えられて
+# いない場合, AWStatsはDirDataのディレクトリを検索します. このファイルは
+# 決して更新されません.
+# このオプションは, DNSLookupが0に設定されている場合は使用されません.
+# ノート: DNSキャッシュファイルは, 'minsince1970 ipaddress resolved_hostname'
+# もしくは 'ipaddress resolved_hostname' のような形式で記述します.
+# 変更: 更新が行われたときに有効になります
+# 例: "/mydnscachedir/dnscache"
+# 既定値: "dnscache.txt"
 #
 DNSStaticCacheFile="dnscache.txt"
 
 
-# AWStats can do reverse DNS lookups through a DNS cache file that was created
-# by a previous run of AWStats. This file is erased and recreated after each
-# statistics update process. You don't need to create and/or edit it.
-# AWStats will read and save this file in DirData directory.
-# This option is used only if DNSLookup=1.
-# Note: If a DNSStaticCacheFile is available, AWStats will check for DNS
-# lookup in DNSLastUpdateCacheFile after checking into DNSStaticCacheFile.
-# Change : Effective for new updates only
-# Example: "/mydnscachedir/dnscachelastupdate"
-# Default: "dnscachelastupdate.txt"
+# AWStatsは, AWStatsが前回実行された際に作成されたDNSキャッシュファイルを
+# 利用してDNSの逆引きを行うこともできます. このファイルはAWStatsの更新処理が
+# 実行されるたびに消去/再作成されます. あなたが作成/編集する必要はありません.
+# AWStatsはDirDataのディレクトリを対象として読み込み/保存を行います.
+# このオプションは, DNSLookupが1に設定されている時のみ試用されます.
+# ノート: DNSStaticCacheFileが有効になっている場合, AWStatsはまず
+#         DNSStaticCacheFileを, 続いてDNSLastUpdateCacheFileを確認します.
+# 変更: 更新が行われたときに有効になります
+# 例: "/mydnscachedir/dnscachelastupdate"
+# 既定値: "dnscachelastupdate.txt"
 #
 DNSLastUpdateCacheFile="dnscachelastupdate.txt"
 
 
-# You can specify specific IP addresses that should NOT be looked up in DNS.
-# This option is used only if DNSLookup=1.
-# Note: Use space between each value.
-# Note: You can use regular expression values writing value with REGEX[value].
-# Change : Effective for new updates only
-# Example: "123.123.123.123 REGEX[^192\.168\.]"
-# Default: ""
+# 特定のIPアドレスを指定して, DNSの逆引きを行わせないこともできます.
+# このオプションはDNSLookupが1に設定されている場合のみ利用されます.
+# ノート: 各々の値の区切り文字にはスペースを利用します.
+# ノート: REGEX[value]のような形式で正規表現を利用することもできます.
+# 変更: 更新が行われたときに有効になります
+# 例: "123.123.123.123 REGEX[^192\.168\.]"
+# 既定値: ""
 #
 SkipDNSLookupFor=""
 
 
-# The following two parameters allow you to protect a config file from being
-# read by AWStats when called from a browser if web user has not been
-# authenticated. Your AWStats program must be in a web protected "realm" (With
-# Apache, you can use .htaccess files to do so. With other web servers, see
-# your server setup manual).
-# Change : Effective immediatly
-# Possible values: 0 or 1
-# Default: 0
+# 以下の2つのパラメーターを利用すると, ユーザーが認証されていない状態で
+# AWStatsがブラウザからコールされた場合に, AWStatsが設定ファイルを読めない
+# ようにする保護することができます.
+# この機能を利用するには, AWStatsが保護された状態である必要があります
+# (Apacheの場合は.htaccessを利用します. その他のWebサーバーについては,
+# それぞれの設定マニュアルを参照して下さい).
+# 変更: 即時に反映されます
+# 取り得る値: 0 あるいは 1
+# 既定値: 0
 #
 AllowAccessFromWebToAuthenticatedUsersOnly=0
 
 
-# This parameter gives the list of all authorized authenticated users to view
-# statistics for this domain/config file. This parameter is used only if
-# AllowAccessFromWebToAuthenticatedUsersOnly is set to 1.
-# Change : Effective immediatly
-# Example: "user1 user2"
-# Example: "__REMOTE_USER__"
-# Default: ""
+# このパラメーターには, このドメインの設定ファイルを閲覧する権限を持たせ
+# たいユーザーを列挙します.
+# このパラメーターは, AllowAccessFromWebToAuthenticatedUsersOnlyが1に設定
+# されている場合のみ利用されます.
+# 変更: 即時に反映されます
+# 例: "user1 user2"
+# 例: "__REMOTE_USER__"
+# 既定値: ""
 #
 AllowAccessFromWebToFollowingAuthenticatedUsers=""
 
 
-# When this parameter is defined to something, the IP address of the user that
-# reads its statistics from a browser (when AWStats is used as a CGI) is
-# checked and must match one of the IP address values or ranges.
-# Change : Effective immediatly
-# Example: "127.0.0.1 123.123.123.1-123.123.123.255"
-# Default: ""
+# このパラメーターに値が設定されている場合, ブラウザで統計ページを閲覧する
+# ユーザーのIPアドレスがチェックされ(AWStatsがCGIとして利用される場合),
+# 閲覧者のIPアドレスがこのパラメーターで設定されたIPアドレス範囲に含まれる
+# 場合のみ, 閲覧が許可されます.
+# 変更: 即時に反映されます
+# 例: "127.0.0.1 123.123.123.1-123.123.123.255"
+# 既定値: ""
 #
 AllowAccessFromWebToFollowingIPAddresses=""
 
 
-# If the "DirData" directory (see above) does not exist, AWStats return an
-# error. However, you can ask AWStats to create it.
-# This option can be used by some Web Hosting Providers that has defined a 
-# dynamic value for DirData (for example DirData="/home/__REMOTE_USER__") and
-# don't want to have to create a new directory each time they add a new user.
-# Change : Effective immediatly
-# Possible values: 0 or 1
-# Default: 0
+# 上で設定された"DirData"が存在しない場合, AWStatsはエラーを返します.
+# しかし, AWStatsに作成させることもできます.
+# このパラメーターは, DirDataに動的な値を設定していて
+# (例: DirData="/home/__REMOTE_USER__"), 新しいユーザーが追加されるたびに
+# 新しいディレクトリを作成したくないWebのホスティングを行っているプロバイダ
+# が利用すると便利でしょう.
+# 変更: 即時に反映されます
+# 取り得る値: 0 もしくは 1
+# 既定値: 0
 #
 CreateDirDataIfNotExists=0
 
 
-# You can choose in which format the Awstats history database is saved.
-# Note: Using "xml" format make AWStats building database files three times
-# larger than using "text" format.
-# Change : Database format is switched after next update
-# Possible values: text or xml
-# Default: text
+# AWStatsが保存する履歴データベースの形式を選択できます.
+# 現時点では, テキスト形式のみがサポートされています.
+# 取りうる値: text
+# 規定値: text
 #
 BuildHistoryFormat=text
 
 
-# If you prefer having the report output pages be built as XML compliant pages
-# instead of simple HTML pages, you can set this to 'xhtml' (May not work
-# properly with old browsers).
-# Change : Effective immediatly
-# Possible values: html or xhtml
-# Default: html
+# レポート出力ページを, HTML形式ではなくXHTML形式で作成したい場合, この
+# パラメータに'xml'を指定してください(うまく機能しないブラウザがあるかも
+# しれません).
+# 取りうる値: htmlもしくはxml
+# 規定値: html
 #
 BuildReportFormat=html
 
 
-# AWStats databases can be updated from command line of from a browser (when
-# used as a cgi program). So AWStats database files need write permission
-# for both command line user and default web server user (nobody for Unix,
-# IUSR_xxx for IIS/Windows,...).
-# To avoid permission problems between update process (run by an admin user)
-# and CGI process (ran by a low level user), AWStats can save its database 
-# files with read and write permissions for everyone.
-# By default, AWStats keeps default user permissions on updated files. If you 
-# set AllowToUpdateStatsFromBrowser to 1, you can change this parameter to 1.
-# Change : Effective for new updates only
-# Possible values: 0 or 1
-# Default: 0
+# ほとんどの場合、AWStatsはCGIとして利用されます. このため, AWStatsのプロセス
+# はデフォルトではWebサーバーのユーザーの権限で動作します(Unixの場合nobody,
+# IISの場合IUSR_xxx). 利便性を確保し, 更新処理(管理者権限で動作)とCGIプロセス
+# (より低い権限のユーザーで実行)の権限の問題を回避するため, AWStatsは誰でも
+# 読み書きができる権限でデータベースファイルを保存します.
+# セキュリティポリシーを管理する必要がある場合(Webホスティング事業者),
+# このパラメーターは0にセットするべきです. AWStatsはプロセスの所有者の権限
+# でファイルを作成します.
+# 変更: 更新が行われたときに有効になります
+# 取り得る値: 0 もしくは 1
+# 既定値: 0
 #
 SaveDatabaseFilesWithPermissionsForEveryone=0
 
 
-# AWStats can purge log file, after analyzing it. Note that AWStats is able
-# to detect new lines in a log file, to process only them, so you can launch
-# AWStats as often as you want, even with this parameter to 0.
-# With 0, no purge is made, so you must use a scheduled task or a web server
-# that make this purge frequently.
-# With 1, the purge of the log file is made each time AWStats update is run.
-# This parameter doesn't work with IIS (This web server doesn't let its log
-# file to be purged).
-# Change : Effective for new updates only
-# Possible values: 0 or 1
-# Default: 0
+# AWStatsは処理済みのログを切り詰めることができます. AWStatsは新たに記録され
+# たログだけを検出して処理することができるので, 例えこのパラメーターが0に設定
+# されていても, 好きな時にAWStatsを起動できます.
+# 設定値が0の場合, 切り詰めが行われないので, タスクスケジューラーやWebサーバー
+# で頻繁に切り詰めを行うよう設定する必要があります.
+# 1に設定されている場合, ログファイルの切り詰めはAWStatsが実行された時に
+# 行われます. このパラメーターはIISでは動作しません(IISはログファイルの切り
+# 詰めを許さないため).
+# 変更: 更新が行われたときに有効になります
+# 取り得る値: 0 もしくは 1
+# デフォルト: 0
 #
 PurgeLogFile=0
 
 
-# When PurgeLogFile is setup to 1, AWStats will clean your log file after
-# processing it. You can however keep an archive file of all processed log
-# records by setting this parameter (For example if you want to use another
-# log analyzer). The archived log file is saved in "DirData" with name
-# awstats_archive.configname[.suffix].log
-# This parameter is not used if PurgeLogFile=0
-# Change : Effective for new updates only
-# Possible values: 0, 1, or tags (See LogFile parameter) for suffix
-# Example: 1
-# Example: %YYYY%MM%DD
-# Default: 0
+# PurgeLogFileが1に設定されている場合, AWStatsは処理済みのログファイルを
+# 切り詰めます。しかし, この値を1に設定すると, 処理されたログがアーカイブ
+# ファイル("DirData"に保存)として残すことができます(例えば別のログ分析ツール
+# を利用したい場合).
+# このパラメータはPurgeLogFileが0に設定されている場合は利用されません.
+# 変更: 更新が行われたときに有効になります
+# 取り得る値: 0 もしくは 1
+# デフォルト: 0
 #
 ArchiveLogRecords=0
 
 
-# Each time you run the update process, AWStats overwrites the 'historic file'
-# for the month (awstatsMMYYYY[.*].txt) with the updated one.
-# When write errors occurs (IO, disk full,...), this historic file can be
-# corrupted and must be deleted. Because this file contains information of all
-# past processed log files, you will loose old stats if removed. So you can
-# ask AWStats to save last non corrupted file in a .bak file. This file is
-# stored in "DirData" directory with other 'historic files'.
-# Change : Effective for new updates only
-# Possible values: 0 or 1
-# Default: 0
+# 更新処理を行うたびに, AWStatsはその月の履歴ファイル(awstatsMMYYYY[.*].txt)
+# を上書きします.
+# 書き込みエラーが発生した場合(I/Oエラー, 容量不足など), 履歴ファイルは破損
+# されてしまうため, 削除する必要があります. 履歴ファイルには過去に処理された
+# ログの全ての情報が格納されているため, 削除してしまうと過去の統計結果も
+# 失われてしまいます. このため, AWStatsに破損されていない最新のファイルを,
+# .bakという名前で保存させておくことができます. このファイルは"DirData"
+# ディレクトリに, その他の履歴ファイルと共に保存されます.
+# 変更: 更新が行われたときに有効になります
+# 取り得る値: 0 もしくは 1
+# 既定値: 0
 #
 KeepBackupOfHistoricFiles=0
 
 
-# Default index page name for your web server.
-# Change : Effective for new updates only
-# Example: "index.php index.html default.html"
-# Default: "index.php index.html"
-#
-DefaultFile="index.php index.html"
-
-
-# Do not include access from clients that match following criteria.
-# If your log file contains IP addresses in host field, you must enter here
-# matching IP addresses criteria.
-# If DNS lookup is already done in your log file, you must enter here hostname
-# criteria, else enter ip address criteria.
-# The opposite parameter of "SkipHosts" is "OnlyHosts".
-# Note: Use space between each value. This parameter is not case sensitive.
-# Note: You can use regular expression values writing value with REGEX[value].
-# Change : Effective for new updates only
-# Example: "127.0.0.1 REGEX[^192\.168\.] REGEX[^10\.]"
-# Example: "localhost REGEX[^.*\.localdomain$]"
-# Default: ""
+# Webサーバのデフォルトのインデックスページの名前.
+# 変更: 更新が行われたときに有効になります
+# 例: "index.php index.html default.html"
+# 規定値: "index.html"
+#
+DefaultFile="index.html"
+
+
+# 以下の基準にマッチするクライアントからのアクセスを処理対象外とします.
+# ログファイル中のhostフィールドにIPアドレスが含まれる場合、基準はIPアドレスで
+# 記述する必要があります.
+# ログファイル中のhostフィールドが名前解決済みである場合、基準はホスト名で記述
+# する必要があります. それ以外の場合はIPアドレスで記述します.
+# ノート: 各値の間はスペースで区切ります.
+#         このパラメータは大文字/小文字を区別しません.
+# ノート: REGEX[value]のような形式で正規表現を利用することもできます.
+# 変更: 更新が行われたときに有効になります
+# 例: "127.0.0.1 REGEX[^192\.168\.] REGEX[^10\.]"
+# 例: "localhost REGEX[^.*\.localdomain$]"
+# 既定値: ""
 #
 SkipHosts=""
 
 
-# Do not include access from clients with a user agent that match following
-# criteria. If you want to exclude a robot, you should update the robots.pm
-# file instead of this parameter.
-# The opposite parameter of "SkipUserAgents" is "OnlyUserAgents".
-# Note: Use space between each value. This parameter is not case sensitive.
-# Note: You can use regular expression values writing value with REGEX[value].
-# Change : Effective for new updates only
-# Example: "konqueror REGEX[ua_test_v\d\.\d]"
-# Default: ""
+# 以下の基準にマッチするユーザエージェントを持つアクセスを処理対象外とします.
+# ロボットを除外したい場合は, このパラメータに設定するのではなく, robots.pmを
+# 更新するようにしてください.
+# "SkipUserAgents"の反対の意味を持つパラメータは"OnlyUserAgents"です.
+# ノート: 各値の間はスペースで区切ります.
+#         このパラメータは大文字/小文字を区別しません.
+# ノート: REGEX[value]のような形式で正規表現を利用することもできます.
+# 変更: 更新が行われたときに有効になります
+# 例: "konqueror REGEX[ua_test_v\d\.\d]"
+# 規定値: ""
 #
 SkipUserAgents=""
 
 
-# Use SkipFiles to ignore access to URLs that match one of following entries.
-# You can enter a list of not important URLs (like framed menus, hidden pages,
-# etc...) to exclude them from statistics. You must enter here exact relative
-# URL as found in log file, or a matching REGEX value. Check apply on URL with
-# all its query paramaters.
-# For example, to ignore /badpage.php, just add "/badpage.php". To ignore all
-# pages in a particular directory, add "REGEX[^\/directorytoexclude]".
-# The opposite parameter of "SkipFiles" is "OnlyFiles".
-# Note: Use space between each value. This parameter is or not case sensitive
-# depending on URLNotCaseSensitive parameter.
-# Note: You can use regular expression values writing value with REGEX[value].
-# Change : Effective for new updates only
-# Example: "/badpage.php /page.php?param=x REGEX[^\/excludedirectory]"
-# Default: ""
+# 特定のURLを無視させたい場合は, SkipFilesを利用します.
+# このオプションを利用し, 重要ではないフレームページ(メニューなど)をリスト化
+# すれば, それらのページを統計から除外することができます. ログファイルに記録
+# されるレコードと完全に一致する相対URL, もしくはそれにマッチする正規表現を
+# 記述する必要があります.
+# 例えば, /badpage.htmlを除外したい場合は, "/badpage.html"を追加します.
+# 特定のディレクトリのすべてのファイルを無視させたい場合は,
+# "REGEX[^\/directorytoexclude]"と記述します.
+# "SkipFiles"の反対の意味を持つパラメーターは"OnlyFiles"です.
+# ノート: 各値の間はスペースで区切ります.
+#         このパラメータは大文字/小文字を区別しません.
+# ノート: REGEX[value]のような形式で正規表現を利用することもできます.
+# 変更: 更新が行われたときに有効になります
+# 例: "/badpage.html REGEX[^\/excludedirectory]"
+# 既定値: ""
 #
 SkipFiles=""
 
+# SkipReferrersBlackListを使うと、リファラSPAMレコードを
+# ログから排除できます。
+# パラメタにはルールの記述されたファイル名称をしています。
+# パラメタが""ならば、フィルタ機能は実行されません。
+
+# 変更: 更新が行われたときに有効になります
+# 例: "lib/blacklist.txt"
+# 既定値: ""
+# 警告: この機能を使うとAWStatsの動作は5％程度遅くなります。
 
-# Use SkipReferrersBlackList if you want to exclude records coming from a SPAM
-# referrer. Parameter must receive a local file name containing rules applied
-# on referrer field. If parameter is empty, no filter is applied.
-# An example of such a file is available in lib/blacklist.txt
-# Change : Effective for new updates only
-# Example: "/mylibpath/blacklist.txt"
-# Default: ""
-#
-# WARNING!! Using this feature make AWStats running very slower (5 times slower
-# with black list file provided with AWStats !
-#
 SkipReferrersBlackList=""
 
-
-# Include in stats, only accesses from hosts that match one of following
-# entries. For example, if you want AWStats to filter access to keep only
-# stats for visits from particular hosts, you can add those host names in
-# this parameter.
-# If DNS lookup is already done in your log file, you must enter here hostname
-# criteria, else enter ip address criteria.
-# The opposite parameter of "OnlyHosts" is "SkipHosts".
-# Note: Use space between each value. This parameter is not case sensitive.
-# Note: You can use regular expression values writing value with REGEX[value].
-# Change : Effective for new updates only
-# Example: "127.0.0.1 REGEX[^192\.168\.] REGEX[^10\.]"
-# Default: ""
+# 指定した特定のホストからのアクセスのみを統計対象とします.
+# 例えば, AWStatsに特定のホストからのアクセスのみをフィルタさせたい場合は,
+# このパラメータにそのホストを追加します.
+# DNSの逆引きがログファイルの段階で行われている場合, ホスト名で指定する必要
+# があります. そのほかの場合は, IPアドレスで指定します.
+# "OnlyHosts"の反対の意味を持つパラメーターは"SkipHosts"です.
+# ノート: 各値の間はスペースで区切ります.
+#         このパラメータは大文字/小文字を区別しません.
+# ノート: REGEX[value]のような形式で正規表現を利用することもできます.
+# 変更: 更新が行われたときに有効になります
+# 例: "127.0.0.1 REGEX[^192\.168\.] REGEX[^10\.]"
+# 規定値: ""
 #
 OnlyHosts=""
 
 
-# Include in stats, only accesses from user agent that match one of following
-# entries. For example, if you want AWStats to filter access to keep only
-# stats for visits from particular browsers, you can add their user agents
-# string in this parameter.
-# The opposite parameter of "OnlyUserAgents" is "SkipUserAgents".
-# Note: Use space between each value. This parameter is not case sensitive.
-# Note: You can use regular expression values writing value with REGEX[value].
-# Change : Effective for new updates only
-# Example: "msie"
-# Default: ""
+# 指定した特定のユーザエージェントからのアクセスのみを統計対象とします.
+# 例えば, AWStatsに特定のブラウザからのアクセスのみをフィルタさせたい場合は,
+# このパラメータにそのユーザエージェントの文字列を追加します.
+# "OnlyUserAgents"の反対の意味を持つパラメーターは"SkipUserAgents"です.
+# ノート: 各値の間はスペースで区切ります.
+#         このパラメータは大文字/小文字を区別しません.
+# ノート: REGEX[value]のような形式で正規表現を利用することもできます.
+# 変更: 更新が行われたときに有効になります
+# 例: "msie"
+# 規定値: ""
 #
 OnlyUserAgents=""
 
 
-# Include in stats, only accesses from authenticated users that match one of
-# following entries. For example, if you want AWStats to filter access to keep
-# only stats for authenticated users, you can add those users names in
-# this parameter. Useful for statistics for per user ftp logs.
-# Note: Use space between each value. This parameter is not case sensitive.
-# Note: You can use regular expression values writing value with REGEX[value].
-# Change : Effective for new updates only
-# Example: "john bob REGEX[^testusers]"
-# Default: ""
+# 以下のユーザのいずれかで認証されたアクセスのみを統計対象とします.
+# 例えば、AWStatsに特定の認証されたユーザからのアクセスのみを統計対象と
+# したい場合, そのユーザ名をこのパラメーターに追加します.
+#
+# ノート: 各値の間はスペースで区切ります.
+#         このパラメータは大文字/小文字を区別しません.
+# ノート: REGEX[value]のような形式で正規表現を利用することもできます.
+# 変更: 更新が行われたときに有効になります
+# 例: "john bob REGEX[^testusers]"
+# 規定値: ""
 #
 OnlyUsers=""
 
 
-# Include in stats, only accesses to URLs that match one of following entries.
-# For example, if you want AWStats to filter access to keep only stats that
-# match a particular string, like a particular directory, you can add this
-# directory name in this parameter.
-# The opposite parameter of "OnlyFiles" is "SkipFiles".
-# Note: Use space between each value. This parameter is or not case sensitive
-# depending on URLNotCaseSensitive parameter.
-# Note: You can use regular expression values writing value with REGEX[value].
-# Change : Effective for new updates only
-# Example: "REGEX[marketing_directory] REGEX[office\/.*\.(csv|sxw)$]"
-# Default: ""
+# 以下の項目のいずれかにマッチするURLのみを統計対象とします.
+# 例えば、AWStatsに特定のディレクトリのような特定の文字列を含むアクセス
+# のみを統計対象としたい場合, そのディレクトリ名をこのパラメーターに
+# 追加します.
+# "OnlyFiles"の反対の意味を持つパラメーターは"SkipFiles"です。
+# ノート: 各値の間はスペースで区切ります.
+#         このパラメータは大文字/小文字を区別しません.
+# ノート: REGEX[value]のような形式で正規表現を利用することもできます.
+# 変更: 更新が行われたときに有効になります
+# 例: "REGEX[marketing_directory] REGEX[office\/.*\.(csv|sxw)$]"
+# 規定値: ""
 #
 OnlyFiles=""
 
 
-# Add here a list of kind of url (file extension) that must be counted as
-# "Hit only" and not as a "Hit" and "Page/Download". You can set here all
-# image extensions as they are hit downloaded that must be counted but they
-# are not viewed pages. URLs with such extensions are not included in the TOP
-# Pages/URL report.
-# Note: If you want to exclude particular URLs from stats (No Pages and no
-# Hits reported), you must use SkipFiles parameter.
-# Change : Effective for new updates only
-# Example: "css js class gif jpg jpeg png bmp ico rss xml swf zip arj rar gz z bz2 wav mp3 wma mpg avi"
-# Example: ""
-# Default: "css js class gif jpg jpeg png bmp ico rss xml swf"
+# "ヒット"としてのみカウントされ, "ヒット"と"ページ/ダウンロード"の両方と
+# してカウントされたくないURL(拡張子)を記述します. 通常は全てのイメージ
+# ファイルの拡張子を記述します. イメージファイルは"ヒット"ではありますが,
+# "閲覧されたページ"ではないからです. ここに設定された拡張子のURLは,
+# 統計ページのトップのページ数に含まれません.
+# ノート: 特定のURLそのものを統計から除外したい(ページ数にもヒット数にも
+# カウントされたくない)場合, SkipFilesパラメーターを利用してください.
+# 変更: 更新が行われたときに有効になります
+# 例: "css js class gif jpg jpeg png bmp ico zip arj gz z wav mp3 wma mpg"
+# 例: ""
+# 規定値: "css js class gif jpg jpeg png bmp ico rss xml swf"
 #
 NotPageList="css js class gif jpg jpeg png bmp ico rss xml swf"
 
 
-# By default, AWStats considers that records found in web log file are
-# successful hits if HTTP code returned by server is a valid HTTP code (200
-# and 304). Any other code are reported in HTTP status chart.
-# Note that HTTP 'control codes', like redirection (302, 305) are not added by
-# default in this list as they are not pages seen by a visitor but are
-# protocol exchange codes to tell the browser to ask another page. Because
-# this other page will be counted and seen with a 200 or 304 code, if you 
-# add such codes, you will have 2 pages viewed reported for only one in facts.
-# Change : Effective for new updates only
-# Example: "200 304 302 305"
-# Default: "200 304"
+# デフォルトでは, ログファイルのレコードの中でサーバーが有効なHTTPコード
+# (200もしくは304)を返している場合のみ, AWStatsは有効なヒットと認識します.
+# それ以外のコードが返されている場合は, HTTPステータスチャートに入ります.
+# 例えば, リダイレクション(302, 305)のようなHTTPの'コントロールコード'は,
+# デフォルトでは含まれいてません. これらが訪問者の目に見えることがなく,
+# ブラウザに別のページを要求させるためにプロトコルが交換するコードに過ぎない
+# からです. 要求された別のページが200もしくは304コードとしてカウントされる
+# ため, コントロールコードをこのパラメータに追加すると, 実際は1ページなのに
+# 統計上は2ページが閲覧されたと報告されます.
+# 変更: 更新が行われたときに有効になります
+# 例: "200 304 302 305"
+# 規定値: "200 304"
 #
 ValidHTTPCodes="200 304"
 
 
-# By default, AWStats considers that records found in mail log file are
-# successful mail transfers if field that represent return code in analyzed
-# log file match values defined by this parameter.
-# Change : Effective for new updates only
-# Example: "1 250 200"
-# Default: "1 250"
+# デフォルトでは, このパラメータで指定された値と一致するリターンコードが解析
+# しているログに含まれている場合にのみ, AWStatsはメールの転送が成功したと
+# 認識します.
+# 変更: 更新が行われたときに有効になります
+# 例: "1 250 200"
+# 規定値: "1 250"
 #
 ValidSMTPCodes="1 250"
 
 
-# Some web servers on some Operating systems (IIS-Windows) consider that a
-# login with same value but different case are the same login. To tell AWStats
-# to also consider them as one, set this parameter to 1.
-# Change : Effective for new updates only
-# Possible values: 0 or 1
-# Default: 0
+# 特定のOSで動作する特定のWebサーバによっては(IIS-Windowsなど),大文字/小文字
+# が異なる同一の値でのログインでも, 同一のログインだと認識します. AWStatsにも
+# 同様に認識させるには, このパラメータを1に設定してください.
+# 変更: 更新が行われたときに有効になります
+# 取りうる値: 0 もしくは 1
+# 規定値: 0
 # 
 AuthenticatedUsersNotCaseSensitive=0
 
 
-# Some web servers on some Operating systems (IIS-Windows) considers that two
-# URLs with same value but different case are the same URL. To tell AWStats to
-# also considers them as one, set this parameter to 1.
-# Change : Effective for new updates only
-# Possible values: 0 or 1
-# Default: 0
+# 特定のOSで動作する特定のWebサーバによっては(IIS-Windowsなど),大文字/小文字
+# が異なる同一のURLを, 同一のURLだと認識します. AWStatsにも同様に認識させる
+# には, このパラメータを1に設定してください.
+# 変更: 更新が行われたときに有効になります
+# 取りうる値: 0 もしくは 1
+# 規定値: 0
 # 
 URLNotCaseSensitive=0
 
 
-# Keep or remove the anchor string you can find in some URLs.
-# Change : Effective for new updates only
-# Possible values: 0 or 1
-# Default: 0
+# 特定のURLに含まれるアンカー文字列を保持するか取り除くか.
+# 変更: 更新が行われたときに有効になります
+# 取りうる値: 0 もしくは 1
+# 規定値: 0
 #
 URLWithAnchor=0
 
 
-# In URL links, "?" char is used to add parameter's list in URLs. Syntax is:
-# /mypage.html?param1=value1&param2=value2
-# However, some servers/sites use also other chars to isolate dynamic part of
-# their URLs. You can complete this list with all such characters.
-# Change : Effective for new updates only
-# Example: "?;,"
-# Default: "?;"
+# URLのリンクでは, URLにパラメータリストを加えるために"?"が利用されます.
+# 実際の文法は以下の通りです: /mypage.html?param1=value1&param2=value2
+# しかし, 特定のサーバ/サイトでは, 別の文字をURLの静的な部分と動的な部分の
+# 区切り文字として利用する場合があります. ここには, その際に利用される区切り
+# 文字を列挙してください.
+# 変更: 更新が行われたときに有効になります
+# 例: "?;,"
+# 規定値: "?;"
 #
 URLQuerySeparators="?;"
 
 
-# Keep or remove the query string to the URL in the statistics for individual
-# pages. This is primarily used to differentiate between the URLs of dynamic
-# pages. If set to 1, mypage.html?id=x and mypage.html?id=y are counted as two
-# different pages.
-# Warning, when set to 1, memory required to run AWStats is dramatically
-# increased if you have a lot of changing URLs (for example URLs with a random
-# id inside). Such web sites should not set this option to 1 or use seriously
-# the next parameter URLWithQueryWithOnlyFollowingParameters (or eventually 
-# URLWithQueryWithoutFollowingParameters).
-# Change : Effective for new updates only
-# Possible values:
-# 0 - URLs are cleaned from the query string (ie: "/mypage.html")
-# 1 - Full URL with query string is used     (ie: "/mypage.html?p=x&q=y")
-# Default: 0
+# クエリストリングが付与されているURLを, 別々のURLとして統計するかどうかを
+# 決定します. 主に動的なページのURLを別々のページとして区別するかどうかを
+# 決定する際に利用されます. このパラメーターが1に設定されている場合,
+# mypage.html?id=x と mypage.html?id=y は別々のページとしてカウントされます.
+# 警告, 膨大な数の動的なURL(ランダムなIDが挿入されるURLなど)を持つサイトで
+# このパラメーターが1に設定された場合, AWStatsの実行時のメモリの消費量が
+# 飛躍的に増大します. そのようなWebサイトでは, このパラメーターを1に
+# しないか, 次に示すURLWithQueryWithOnlyFollowingParametersの利用を真面目に
+# 検討してください(結果的にURLWithQueryWithoutFollowingParametersの方が適切
+# だという結論になるかもしれません).
+# 変更: 更新が行われたときに有効になります
+# 取り得る値:
+# 0 - URLのクエリストリングを除去して統計 (例: "/mypage.html")
+# 1 - URLのクエリストリングをそのまま統計 (例: "/mypage.html?p=x&q=y")
+# 既定値: 0
 # 
 URLWithQuery=0
 
 
-# When URLWithQuery is on, you will get the full URL with all parameters in
-# URL reports. But among thoose parameters, sometimes you don't need a
-# particular parameter because it does not identify the page or because it's
-# a random ID changing for each access even if URL points to same page. In
-# such cases, it is higly recommanded to ask AWStats to keep only parameters
-# you need (if you know them) before counting, manipulating and storing URL.
-# Enter here list of wanted parameters. For example, with "param", one hit on
-# /mypage.cgi?param=abc&id=Yo4UomP9d  and  /mypage.cgi?param=abc&id=Mu8fdxl3r
-# will be reported as 2 hits on /mypage.cgi?param=abc
-# This parameter is not used when URLWithQuery is 0 and can't be used with
-# URLWithQueryWithoutFollowingParameters.
-# Change : Effective for new updates only
-# Example: "param"
-# Default: ""
+# URLWithQueryが有効になっている場合, URLレポートですべてのパラメータを
+# 含んだURLが報告されます. しかし, これらのパラメータの中でも特に必要と
+# しない特定のパラメータが含まれている場合があります. 例えば, それが特定
+# のページを示さない場合や, 同一URLであっても, アクセスするたびに異なる
+# ランダムなIDが割り当てられる場合などがこれに該当するでしょう. このような
+# 場合, URLの分類や操作, 格納を開始する前に, (分かっているのであれば)必要な
+# パラメータのみを保持するようにAWStatsに伝えることが特に推奨されます.
+# ここには必要とするパラメータを列挙します. 例えば, "param"と指定すれば,
+# /mypage.cgi?param=abc&id=Yo4UomP9dと/mypage.cgi?param=abc&id=Mu8fdxl3r
+# のそれぞれに1ヒットづつあった場合, /mypage.cgi?param=abcに2ヒットあった
+# と報告されます.
+# このパラメータは, URLWithQueryに0が設定されている場合には利用できません.
+# また, URLWithQueryWithoutFollowingParametersと併用することはできません.
+# 変更: 更新が行われたときに有効になります
+# 例: "param"
+# 規定値: ""
 # 
 URLWithQueryWithOnlyFollowingParameters=""
 
 
-# When URLWithQuery is on, you will get the full URL with all parameters in
-# URL reports. But among thoose parameters, sometimes you don't need a
-# particular parameter because it does not identify the page or because it's
-# a random ID changing for each access even if URL points to same page. In
-# such cases, it is higly recommanded to ask AWStats to remove such parameters
-# from the URL before counting, manipulating and storing URL. Enter here list
-# of all non wanted parameters. For example if you enter "id", one hit on
-# /mypage.cgi?param=abc&id=Yo4UomP9d  and  /mypage.cgi?param=abc&id=Mu8fdxl3r
-# will be reported as 2 hits on /mypage.cgi?param=abc
-# This parameter is not used when URLWithQuery is 0 and can't be used with
-# URLWithQueryWithOnlyFollowingParameters.
-# Change : Effective for new updates only
-# Example: "PHPSESSID jsessionid"
-# Default: ""
+# URLWithQueryが有効になっている場合, URLレポートですべてのパラメータを
+# 含んだURLが報告されます. しかし, これらのパラメータの中でも特に必要と
+# しない特定のパラメータが含まれている場合があります. 例えば, それが特定
+# のページを示さない場合や, 同一URLであっても, アクセスするたびに異なる
+# ランダムなIDが割り当てられる場合などがこれに該当するでしょう. このような
+# 場合, URLの分類や操作, 格納を開始する前に, (分かっているのであれば)不必要
+# なパラメータを除外するようにAWStatsに伝えることが特に推奨されます.
+# ここには不必要なパラメータを列挙します. 例えば, "id"と指定すれば,
+# /mypage.cgi?param=abc&id=Yo4UomP9dと/mypage.cgi?param=abc&id=Mu8fdxl3r
+# のそれぞれに1ヒットづつあった場合, /mypage.cgi?param=abcに2ヒットあった
+# と報告されます.
+# このパラメータは, URLWithQueryに0が設定されている場合には利用できません.
+# また, URLWithQueryWithOnlyFollowingParametersと併用することはできません.
+# 変更: 更新が行われたときに有効になります
+# 例: "PHPSESSID jsessionid"
+# 規定値: ""
 # 
 URLWithQueryWithoutFollowingParameters=""
 
 
-# Keep or remove the query string to the referrer URL in the statistics for
-# external referrer pages. This is used to differentiate between the URLs of
-# dynamic referrer pages. If set to 1, mypage.html?id=x and mypage.html?id=y
-# are counted as two different referrer pages.
-# Change : Effective for new updates only
-# Possible values:
-# 0 - Referrer URLs are cleaned from the query string (ie: "/mypage.html")
-# 1 - Full URL with query string is used      (ie: "/mypage.html?p=x&q=y")
-# Default: 0
+# 外部Refererページの統計の中のReferer URLに含まれるクエリストリングを保持
+# するかどうかを決定します. Refererページの動的なURLを区別するかどうかを
+# 決定する際に利用されます. 1に設定されている場合, mypage.html?id=xと
+# mypage.html?id=yとは別々の2つのRefererページとして識別されます.
+# 変更: 更新が行われたときに有効になります
+# 取り得る値:
+# 0 - Referer URLのクエリストリングを除去して統計 (例: "/mypage.html")
+# 1 - Referer URLのクエリストリングをそのまま統計 (例: "/mypage.html?p=x&q=y")
+# 既定値: 0
 # 
 URLReferrerWithQuery=0
 
 
-# AWStats can detect setup problems or show you important informations to have
-# a better use. Keep this to 1, except if AWStats says you can change it.
-# Change : Effective immediatly
-# Possible values: 0 or 1
-# Default: 1
+# AWStatsは, 設定の問題を検出したり, 利便性を向上するための重要な情報を
+# 表示したりすることができます.AWStatsが変更を促すまでは, 1のままにしてi
+# おいて下さい.
+# 変更: 即時に反映されます
+# 取りうる値: 0 もしくは 1
+# 規定値: 1
 #
 WarningMessages=1
 
 
-# When an error occurs, AWStats outputs a message related to errors. If you
-# want (in most cases for security reasons) to have no error messages, you
-# can set this parameter to your personalized generic message.
-# Change : Effective immediatly
-# Example: "An error occurred. Contact your Administrator"
-# Default: ""
+# エラーが発生した場合, AWStatsはエラーに関するメッセージを出力します.
+# 何らかの理由で(ほとんどの場合はセキュリティ上の理由で)エラーメッセージ
+# を出力させたくない場合は, このパラメータを設定することにより, 個人的に
+# カスタマイズした一般的なメッセージに変更することができます.
+# 変更: 即時に反映されます
+# 例: "An error occured. Contact your Administrator"
+# 規定値: ""
 #
 ErrorMessages=""
 
 
-# AWStat can be run with debug=x parameter to output various informations
-# to help in debugging or solving troubles. If you want to allow this (not
-# enabled by default for security reasons), set this parameter to 0.
-# Change : Effective immediatly
-# Possible values: 0 or 1
-# Default: 0
+# AWStatsを起動する際にdebug=xパラメータを指定すると, デバッグの助けとなる
+# 情報やトラブルの解決に役立つ様々な情報を出力することができます. 何らかの
+# 理由で(ほとんどの場合はセキュリティ上の理由で)デバッグを無効にしたい場合は,
+# このパラメータに0を設定してください.
+# 取りうる値: 0 もしくは 1
+# 規定値: 0
 #
 DebugMessages=0
 
 
-# To help you to detect if your log format is good, AWStats reports an error
-# if all the first NbOfLinesForCorruptedLog lines have a format that does not
-# match the LogFormat parameter.
-# However, some worm virus attack on your web server can result in a very high
-# number of corrupted lines in your log. So if you experience awstats stop
-# because of bad virus records at the beginning of your log file, you can
-# increase this parameter (very rare).
-# Change : Effective for new updates only
-# Default: 50
+# 統計対象のログファイルの形式が有効かどうかを判断するため, AWStatsは
+# NbOfLinesForCorruptedLogに設定されている行数分のログファイルの形式が
+# 指定されているログ形式と合致しない場合, エラーとして報告します.
+# しかし, 統計対象サーバーに対するワームやウイルスによる攻撃が, ログの
+# 膨大な行数を破壊してしまう場合があります. AWStatsがログファイルの先頭
+# にある, ウイルスのレコードのために停止してしまう場合, このパラメーター
+# の数値を上げるといいでしょう(非常に稀なケースです).
+# 既定値: 50
+# 変更: 更新が行われたときに有効になります
 #
 NbOfLinesForCorruptedLog=50
 
 
-# For some particular integration needs, you may want to have CGI links to
-# point to another script than awstats.pl.
-# Use the name of this script in WrapperScript parameter.
-# Change : Effective immediatly
-# Example: "awstatslauncher.pl"
-# Example: "awstatswrapper.cgi?key=123"
-# Default: ""
+# 特定の状況において, CGIのリンク先をawstats.pl以外のスクリプトにしたい
+# 場合があるかもしれません.
+# その場合は, このパラメーターにそのスクリプト名を指定して下さい.
+# 変更: 即時に反映されます
+# 例: "awstatswrapper.cgi?key=123"
+# 規定値: ""
 #
 WrapperScript=""
 
 
-# DecodeUA must be set to 1 if you use Roxen web server. This server converts
-# all spaces in user agent field into %20. This make the AWStats robots, OS
-# and browsers detection fail in some cases. Just change it to 1 if and only
-# if your web server is Roxen.
-# Change : Effective for new updates only
-# Possible values: 0 or 1
-# Default: 0
+# DecodeUAは, Roxen Web Serverを利用している場合は必ず1に設定します.
+# Roxen Web ServerはUser Agent Fieldの中の全てのスペースを, "%20"に変換して
+# しまいます. このため, AWStatsはロボットやOS, ブラウザの検知に失敗する
+# 場合があります. Roxen Web Serverを利用している場合に限り, この設定を
+# 1にして下さい.
+# 変更: 更新が行われたときに有効になります
+# 取りうる値: 0 もしくは 1
+# 規定値t: 0
 #
 DecodeUA=0
 
 
-# MiscTrackerUrl can be used to make AWStats able to detect some miscellaneous
-# things, that can not be tracked on other way, like:
-# - Javascript disabled
-# - Java enabled
-# - Screen size
-# - Color depth
-# - Macromedia Director plugin
-# - Macromedia Shockwave plugin
-# - Realplayer G2 plugin
-# - QuickTime plugin
-# - Mediaplayer plugin
-# - Acrobat PDF plugin
-# To enable all these features, you must copy the awstats_misc_tracker.js file
-# into a /js/ directory stored in your web document root and add the following
-# HTML code at the end of your index page (but before </BODY>) :
-#
-# <script type="text/javascript" src="/js/awstats_misc_tracker.js"></script>
-# <noscript><img src="/js/awstats_misc_tracker.js?nojs=y" height=0 width=0 border=0 style="display: none"></noscript>
-#
-# If code is not added in index page, all those detection capabilities will be
-# disabled. You must also check that ShowScreenSizeStats and ShowMiscStats
-# parameters are set to 1 to make results appear in AWStats report page.
-# If you want to use another directory than /js/, you must also change the
-# awstatsmisctrackerurl variable into the awstats_misc_tracker.js file.
-# Change : Effective for new updates only.
-# Possible value: URL of javascript tracker file added in your HTML code.
-# Default: "/js/awstats_misc_tracker.js"
+# MiscTrackerUrlを利用すると, AWStatsはいくつか補足的な情報を取得することが
+# できます. 以下の情報は, これ以外の手段では取得することはできません:
+# - 画面解像度
+# - 色数
+# - Javaが有効かどうか
+# - Macromedia Directorプラグインの有無
+# - Macromedia Shockwaveプラグインの有無
+# - Realplayer G2プラグインの有無
+# - QuickTime プラグインの有無
+# - Mediaplayer プラグインの有無
+# - Acrobat PDF プラグインの有無
+# これらの機能を有効にするには, awstats_misc_tracker.jsファイルを, Webサーバ
+# のドキュメントルートの/js/ディレクトリにコピーし, 以下のHTMLコードを
+# インデックスページの最後(</BODY>の前)に付加する必要があります:
+# <script language=javascript src="/js/awstats_misc_tracker.js"></script>
+# このコードがインデックスページに付加されていないと, 上記の検知機能は全て
+# 無効になります. レポートページに表示させるには, ShowScreenSizeStatsと
+# ShowMiscStatsパラメータが1に設定されていることも確認する必要があります.
+# /js/以外のディレクトリを利用したい場合は, awstats_misc_tracker.jsファイルの
+# 中でawstatsmisctrackerurl変数の値を変更する必要があります.
+# 変更: 更新が行われたときに有効になります
+# 取りうる値: HTMLコードに付加されたJavaScriptファイルのフルパス
+# 規定値: "/js/awstats_misc_tracker.js"
 #
 MiscTrackerUrl="/js/awstats_misc_tracker.js"
 
 
 
 #-----------------------------------------------------------------------------
-# OPTIONAL ACCURACY SETUP SECTION (Not required but increase AWStats features)
+# オプショナルセットアップセクション:精度 (必須ではないがAWStatsの機能を向上)
 #-----------------------------------------------------------------------------
 
-# The following values allow you to define accuracy of AWStats entities
-# (robots, browsers, os, referers, file types) detection.
-# It might be a good idea for large web sites or ISP that provides AWStats to
-# high number of customers, to set this parameter to 1 (or 0), instead of 2.
-# Possible values:
-#    0      = No detection,
-#    1      = Medium/Standard detection
-#    2      = Full detection
-# Change : Effective for new updates only
-# Note   : LevelForBrowsersDetection can also accept value "allphones". This
-#          enable detailed detection of phone/pda browsers.
-# Default: 2 (0 for LevelForWormsDetection)
-#
-LevelForBrowsersDetection=2         # 0 disables Browsers detection.
-                                    # 2 reduces AWStats speed by 2%
-                                    # allphones reduces AWStats speed by 5%
-LevelForOSDetection=2               # 0 disables OS detection.
-                                    # 2 reduces AWStats speed by 3%
-LevelForRefererAnalyze=2            # 0 disables Origin detection.
-                                    # 2 reduces AWStats speed by 14%
-LevelForRobotsDetection=2           # 0 disables Robots detection.
-                                    # 2 reduces AWStats speed by 2.5%
-LevelForSearchEnginesDetection=2    # 0 disables Search engines detection.
-                                    # 2 reduces AWStats speed by 9%
-LevelForKeywordsDetection=2         # 0 disables Keyphrases/Keywords detection.
-                                    # 2 reduces AWStats speed by 1%
-LevelForFileTypesDetection=2        # 0 disables File types detection.
-                                    # 2 reduces AWStats speed by 1%
-LevelForWormsDetection=0            # 0 disables Worms detection.
-                                    # 2 reduces AWStats speed by 15%
+# 以下の変数を設定すると, AWStatsの検知機能(ロボット, ブラウザ, OS, Referer,
+# ファイルタイプなど)の正確さを指定することができます.
+# 大規模なWebサイトやAWStatsを多数の利用者に提供しているISPでは, 2の代わりに
+# 1(もしくは0)を設定するといいでしょう.
+# 取りうる値:
+#  0 = 検知を行わない,
+#  1 = 標準的な検知能力
+#  2 = 最高の検知能力
+# 変更: 更新が行われたときに有効になります
+# 規定値: 2 (LevelForWormsDetectionのみ0)
+#
+LevelForBrowsersDetection=2         # 0 ブラウザの検知を無効にする.
+                                    # 2 AWStatsの速度を2%低下させる
+LevelForOSDetection=2               # 0 OSの検知を無効にする.
+                                    # 2 AWStatsの速度を3%低下させる
+LevelForRefererAnalyze=2            # 0 接続元の検知を無効にする.
+                                    # 2 AWStatsの速度を14%低下させる
+LevelForRobotsDetection=2           # 0 ロボットの検知を無効にする.
+                                    # 2 AWStatsの速度を2.5%低下させる
+LevelForSearchEnginesDetection=2    # 0 検索エンジンの検知を無効にする.
+                                    # 2 AWStatsの速度を9%低下させる
+LevelForKeywordsDetection=2         # 0 検索文/検索語の検知を無効にする.
+                                    # 2 AWStatsの速度を1%低下させる
+LevelForFileTypesDetection=2        # 0 ファイルタイプの検知を無効にする.
+                                    # 2 AWStatsの速度を1%低下させる
+LevelForWormsDetection=0            # 0 ワームの検知を無効にする.
+                                    # 2 AWStatsの速度を15%低下させる
 
 
 
 #-----------------------------------------------------------------------------
-# OPTIONAL APPEARANCE SETUP SECTION (Not required but increase AWStats features)
+# オプショナルセットアップセクション:外観 (必須ではないがAWStatsの機能を向上)
 #-----------------------------------------------------------------------------
 
-# When you use AWStats as a CGI, you can have the reports shown in HTML frames.
-# Frames are only available for report viewed dynamically. When you build
-# pages from command line, this option is not used and no frames are built.
-# Possible values: 0 or 1
-# Default: 1
-#
-UseFramesWhenCGI=1
-
-
-# This parameter asks your browser to open detailed reports into a different
-# window than the main page.
-# Possible values:
-# 0 - Open all in same browser window
-# 1 - Open detailed reports in another window except if using frames
-# 2 - Open always in a different window even if reports are framed
-# Default: 1
-#
-DetailedReportsOnNewWindows=1
-
-
-# You can add, in the HTML report page, a cache lifetime (in seconds) that
-# will be returned to the browser in HTTP header answer by server.
-# This parameter is not used when reports are built with -staticlinks option.
-# Example: 3600
-# Default: 0
+# AWStatsがCGIとして利用される場合, 表示にフレームを利用することができます.
+# フレームは統計を動的に閲覧する際のみに有効となります. コマンドラインから
+# 統計ページを生成した場合, このオプションは利用されず, フレーム無しのページ
+# が生成されます.
+# このリリースでは、フレーム不使用に固定しています。
+# 取り得る値: 0 もしくは 1
+# 既定値: 0
+#
+UseFramesWhenCGI=0
+
+
+# このパラメーターは, 詳細レポート画面を開く際に, メインページとは別の新しい
+# ウインドゥを立ち上げて表示するかどうかを決定します.
+# 取り得る値:
+# 0 - 全ての統計を単一のウインドウに表示します.
+# 1 - フレームを利用している場合を除き, 詳細レポート用の新しいウインドゥを
+#     開きます.
+# 2 - フレームを利用している場合を含み, 常に詳細レポート用に新しいウインドゥ
+#     を開きます.
+# このリリースでは、単一のウインドウに固定しています。
+# ウェブコンテンツ・アクセシビリティ・ガイドライン1.0 HTML技術書
+# 「12.6 ページの更新と新しいウインドウ」順守のため。
+# 既定値: 0
+#
+DetailedReportsOnNewWindows=0
+
+
+# サーバが返すHTTPのヘッダに, 統計ページのキャッシュの有効期間(秒単位)を設定
+# することができます. このパラメータは, 統計ページが-staticlinkオプション付き
+# で生成された際には利用されません.
+# 例: 3600
+# 既定値: 0
 #
 Expires=0
 
 
-# To avoid too large web pages, you can ask AWStats to limit number of rows of
-# all reported charts to this number when no other limits apply.
-# Default: 1000
+# 巨大なページが生成される事を防止するため, 統計の全ての行の合計がここに
+# 設定した行数を越えないようにAWStatsを設定することができます(適用すべき
+# その他の制限が無い場合).
+# 既定値: 1000
 #
 MaxRowsInHTMLOutput=1000
 
 
-# Set your primary language (ISO-639-1 language codes).
-# Possible values:
-#  Albanian=al, Bosnian=ba, Bulgarian=bg, Catalan=ca,
-#  Chinese (Taiwan)=tw, Chinese (Simpliefied)=cn, Croatian=hr, Czech=cz,
-#  Danish=dk, Dutch=nl, English=en, Estonian=et, Euskara=eu, Finnish=fi,
-#  French=fr, Galician=gl, German=de, Greek=gr, Hebrew=he, Hungarian=hu,
-#  Icelandic=is, Indonesian=id, Italian=it, Japanese=jp, Korean=ko,
-#  Latvian=lv, Norwegian (Nynorsk)=nn, Norwegian (Bokmal)=nb, Polish=pl,
-#  Portuguese=pt, Portuguese (Brazilian)=br, Romanian=ro, Russian=ru,
-#  Serbian=sr, Slovak=sk, Slovenian=si, Spanish=es, Swedish=se, Turkish=tr,
-#  Ukrainian=ua, Welsh=cy.
-#  First available language accepted by browser=auto
-# Default: "auto"
+# メインとする言語を指定します.
+# 取り得る値:
+#  アルバニア語=al, ボスニア語=ba, ブルガリア語=bg, カタロニア語=ca,
+#  中国語(台湾)=tw, 中国語(簡体字)=cn, チェコ語=cz, デンマーク語=dk,
+#  オランダ語=nl, 英語=en, エストニア語=et, バスク語=eu, フィンランド語=fi,
+#  フランス語=fr, ガリシア語=gl, ドイツ語=de, ギリシャ語=gr, ヘブライ語=he,
+#  ハンガリー語=hu, アイスランド語=is, インドネシア語=id, イタリア語=it,
+#  日本語=jp, 韓国語=kr, ラトヴィア語=lv, ノルウェー語(ニーノシク)=nn,
+#  ノルウェー語(ブークモール)=nb, ポーランド語=pl, ポルトガル語=pt,
+#  ポルトガル語(ブラジル)=br, ルーマニア語=ro, ロシア語=ru, セルビア語=sr,
+#  スロベキア語=sk, スペイン語=es, スゥェーデン語=se, トルコ語=tr,
+#  ウクライナ語=ua, ウェールズ語=wlk.
+#  ブラウザが受け入れる第一の言語=auto
+# 既定値: "auto"
 #
 Lang="auto"
 
 
-# Set the location of language files.
-# Example: "/usr/share/awstats/lang"
-# Default: "./lang" (means lang directory is in same location than awstats.pl)
+# 言語ファイルの場所を指定します.
+# 例: "/usr/share/awstats/lang"
+# 既定値: "./lang" (langディレクトリがawstats.plと同じ場所にあると言う意味)
 #
 DirLang="./lang"
 
 
-# Show menu header with reports' links
-# Possible values: 0 or 1
-# Default: 1
+# レポートへのリンクを持つメニューヘッダの表示を行うかどうか.
+# 取り得る値: 0 もしくは 1
+# 既定値: 1
 #
 ShowMenu=1					
 
 
-# You choose here which reports you want to see in the main page and what you
-# want to see in those reports.
-# Possible values:
-#  0  - Report is not shown at all
-#  1  - Report is shown in main page with an entry in menu and default columns
-# XYZ - Report shows column informations defined by code X,Y,Z...
-#       X,Y,Z... are code letters among the following:
-#        U = Unique visitors
-#        V = Visits
-#        P = Number of pages
-#        H = Number of hits (or mails)
-#        B = Bandwith (or total mail size for mail logs)
-#        L = Last access date
-#        E = Entry pages
-#        X = Exit pages
-#        C = Web compression (mod_gzip,mod_deflate)
-#        M = Average mail size (mail logs)
-#
-
-# Show monthly summary
-# Context: Web, Streaming, Mail, Ftp
-# Default: UVPHB, Possible column codes: UVPHB
+# メインページでどのレポートを見たいのか, それぞれのレポートについて何の
+# 項目を見たいのかをここで設定します.
+# 取りうる値:
+#  0  - レポート自体を非表示にする.
+#  1  - レポートを規定値の項目で表示する.
+# XYZ - X,Y,Z...のコードで指定した情報のみをレポートで表示する.
+#       X,Y,Z...は以下のいずれかの文字を取る:
+#        U = 一意な訪問者数
+#        V = 訪問者数
+#        P = ページ数
+#        H = ヒット数 (もしくはメール数)
+#        B = バイト数 (もしくはメールログ上のメールサイズの合計)
+#        L = 最終訪問日
+#        E = 最初に閲覧したページ
+#        X = 最後に閲覧したページ
+#        C = 節約された帯域幅 (mod_gzip, あるいはmod_deflate)
+#        M = 平均メールサイズ (メールログ)
+#
+
+# 月別サマリの表示
+# 内容: Web、ストリーミング、メール、FTP
+# 規定値: UVPHB, 取りうるコード: UVPHB
 ShowSummary=UVPHB
 
-# Show monthly chart
-# Context: Web, Streaming, Mail, Ftp
-# Default: UVPHB, Possible column codes: UVPHB
+# 月別統計の表示
+# 内容: Web、ストリーミング、メール、FTP
+# 規定値: UVPHB, 取りうるコード: UVPHB
 ShowMonthStats=UVPHB
 
-# Show days of month chart
-# Context: Web, Streaming, Mail, Ftp
-# Default: VPHB, Possible column codes: VPHB
+# 日別統計の表示
+# 内容: Web、ストリーミング、メール、FTP
+# 規定値: VPHB, 取りうるコード: VPHB
 ShowDaysOfMonthStats=VPHB
 
-# Show days of week chart
-# Context: Web, Streaming, Mail, Ftp
-# Default: PHB, Possible column codes: PHB
+# 曜日別統計の表示
+# 内容: Web、ストリーミング、メール、FTP
+# 規定値: PHB, 取りうるコード: PHB
 ShowDaysOfWeekStats=PHB
 
-# Show hourly chart
-# Context: Web, Streaming, Mail, Ftp
-# Default: PHB, Possible column codes: PHB
+# 時間帯別統計の表示
+# 内容: Web、ストリーミング、メール、FTP
+# 規定値: PHB, 取りうるコード: PHB
 ShowHoursStats=PHB
 
-# Show domains/country chart
-# Context: Web, Streaming, Mail, Ftp
-# Default: PHB, Possible column codes: PHB
+# ドメイン/国別統計の表示
+# 内容: Web、ストリーミング、メール、FTP
+# 規定値: PHB, 取りうるコード: PHB
 ShowDomainsStats=PHB
 
-# Show hosts chart
-# Context: Web, Streaming, Mail, Ftp
-# Default: PHBL, Possible column codes: PHBL
+# ホスト別統計の表示
+# 内容: Web、ストリーミング、メール、FTP
+# 規定値: PHBL, 取りうるコード: PHBL
 ShowHostsStats=PHBL
 
-# Show authenticated users chart
-# Context: Web, Streaming, Ftp
-# Default: 0, Possible column codes: PHBL
+# 認証されたユーザの統計の表示
+# 内容: Web、ストリーミング、FTP
+# 規定値: 0, 取りうるコード: PHBL
 ShowAuthenticatedUsers=0
 
-# Show robots chart
-# Context: Web, Streaming
-# Default: HBL, Possible column codes: HBL
+# ロボットの統計の表示
+# 内容: Web、ストリーミング
+# 規定値: HBL, 取りうるコード: HBL
 ShowRobotsStats=HBL
 
-# Show worms chart
-# Context: Web, Streaming
-# Default: 0 (If set to other than 0, see also LevelForWormsDetection), Possible column codes: HBL
+# ワームの統計の表示
+# 内容: Web、ストリーミング
+# 規定値: 0 (1に設定されている場合, LevelForWormsDetectionも参照のこと),
+# 取りうるコード: HBL
 ShowWormsStats=0
 
-# Show email senders chart (For use when analyzing mail log files)
-# Context: Mail
-# Default: 0, Possible column codes: HBML
+# メールの送信者のレポートの表示 (メールログを解析する場合用)
+# 内容: メール
+# 規定値: 0, 取りうるコード: HBML
 ShowEMailSenders=0
 
-# Show email receivers chart (For use when analyzing mail log files)
-# Context: Mail
-# Default: 0, Possible column codes: HBML
+# メールの受信者のレポートの表示 (メールログを解析する場合用)
+# 内容: メール
+# 規定値: 0,  取りうるコード: HBML
 ShowEMailReceivers=0
 
-# Show session chart
-# Context: Web, Streaming, Ftp
-# Default: 1, Possible column codes: None
+# セッションのレポートの表示
+# 内容: Web、ストリーミング、FTP
+# 規定値: 1, 取りうるコード: None
 ShowSessionsStats=1
 
-# Show pages-url chart.
-# Context: Web, Streaming, Ftp
-# Default: PBEX, Possible column codes: PBEX
+# ページ-URLのレポートの表示
+# 内容: Web、ストリーミング、FTP
+# 規定値: PBEX, 取りうるコード: PBEX
 ShowPagesStats=PBEX
 
-# Show file types chart.
-# Context: Web, Streaming, Ftp
-# Default: HB, Possible column codes: HBC
+# ファイルタイプのレポートの表示
+# 内容: Web、ストリーミング、FTP
+# 規定値: HB, 取りうるコード: HBC
 ShowFileTypesStats=HB
 
-# Show file size chart (Not yet available)
-# Context: Web, Streaming, Mail, Ftp
-# Default: 1, Possible column codes: None
+# ファイルサイズのレポートの表示 (未実装)
+# 内容: Web、ストリーミング、メール、FTP
+# 規定値: 1, 取りうるコード: None
 ShowFileSizesStats=0	
 
-# Show downloads chart.
-# Context: Web, Streaming, Ftp
-# Default: HB, Possible column codes: HB
+# ダウンロードの表示
+# 内容: Web、ストリーミング、FTP
+# 規定値: HB, 取りうるコード: HB
 ShowDownloadsStats=HB	
 
-# Show operating systems chart
-# Context: Web, Streaming, Ftp
-# Default: 1, Possible column codes: None
+# OSのレポートの表示
+# 内容: Web、ストリーミング、FTP
+# 規定値: 1, 取りうるコード: None
 ShowOSStats=1
 
-# Show browsers chart
-# Context: Web, Streaming
-# Default: 1, Possible column codes: None
+# ブラウザのレポートの表示
+# 内容: Web、ストリーミング
+# 規定値: 1, 取りうるコード: None
 ShowBrowsersStats=1
 
-# Show screen size chart
-# Context: Web, Streaming
-# Default: 0 (If set to 1, see also MiscTrackerUrl), Possible column codes: None
+# 画面サイズのレポートの表示
+# 内容: Web、ストリーミング
+# 規定値: 0 (1に設定されている場合, MiscTrackerUrlも参照のこと)
+# 取りうるコード: None
 ShowScreenSizeStats=0
 
-# Show origin chart
-# Context: Web, Streaming
-# Default: PH, Possible column codes: PH
+# 接続元のレポートの表示
+# 内容: Web、ストリーミング
+# 規定値: PH, 取りうるコード: PH
 ShowOriginStats=PH
 
-# Show keyphrases chart
-# Context: Web, Streaming
-# Default: 1, Possible column codes: None
+# 検索文のレポートの表示
+# 内容: Web、ストリーミング
+# 規定値: 1, 取りうるコード: None
 ShowKeyphrasesStats=1
 
-# Show keywords chart
-# Context: Web, Streaming
-# Default: 1, Possible column codes: None
+# 検索語のレポートの表示
+# 内容: Web、ストリーミング
+# 規定値: 1, 取りうるコード: None
 ShowKeywordsStats=1
 
-# Show misc chart
-# Context: Web, Streaming
-# Default: a (See also MiscTrackerUrl parameter), Possible column codes: anjdfrqwp
+# その他のレポートの表示
+# 規定値: a (MiscTrackerUrlパラメータも参照のこと), 取りうるコード: ajdfrqwp
 ShowMiscStats=a
 
-# Show http errors chart
-# Context: Web, Streaming
-# Default: 1, Possible column codes: None
+# HTTPエラーのレポートの表示
+# 内容: Web、ストリーミング
+# 規定値: 1, 取りうるコード: None
 ShowHTTPErrorsStats=1
 
-# Show smtp errors chart (For use when analyzing mail log files)
-# Context: Mail
-# Default: 0, Possible column codes: None
+# SMTPエラーのレポートの表示 (メールログを解析する場合用)
+# 内容: メール
+# 規定値: 0, 取りうるコード: None
 ShowSMTPErrorsStats=0
 
-# Show the cluster report (Your LogFormat must contains the %cluster tag)
-# Context: Web, Streaming, Ftp
-# Default: 0, Possible column codes: PHB
+# クラスタのレポートの表示 (LogFormatに%clusterタグが含まれている必要あり)
+# 内容: Web、ストリーミング、FTP
+# 規定値: 0, 取りうるコード: PHB
 ShowClusterStats=0
 
-
-# Some graphical reports are followed by the data array of values.
-# If you don't want this array (to reduce the report size for example), you
-# can set thoose options to 0.
-# Possible values: 0 or 1
-# Default: 1
+# グラフの後に数値が表示されるレポートがあります. 数値を表示したくない場合
+# (レポートサイズを小さくしたい場合など), このオプションを0に設定して下さい.
+# 取り得る値: 0 もしくは 1
+# 規定値: 1
 #
-# Data array values for the ShowMonthStats report
+# 月別統計に対応する数値の表示
 AddDataArrayMonthStats=1
-# Data array values for the ShowDaysOfMonthStats report
+# 日別統計に対応する数値の表示
 AddDataArrayShowDaysOfMonthStats=1
-# Data array values for the ShowDaysOfWeekStats report
+# 曜日別統計に対応する数値の表示
 AddDataArrayShowDaysOfWeekStats=1
-# Data array values for the ShowHoursStats report
+# 時間帯別統計に対応する数値の表示
 AddDataArrayShowHoursStats=1
 
-
-# In the Origin chart, you have stats on where your hits came from. You can
-# include hits on pages that come from pages of same sites in this chart.
-# Possible values: 0 or 1
-# Default: 0
+# 同一サイトからのヒットを表示に含めるかを指定。
+# 取り得る値: 0 もしくは 1
+# 規定値: 0
 #
 IncludeInternalLinksInOriginSection=0
 
-
-# The following parameters can be used to choose the maximum number of lines
-# shown for the particular following reports.
+# 以下のパラメータは, 特定のレポートの表示上限行数を設定します.
 #
-# Stats by countries/domains
+# 国/ドメインの統計
 MaxNbOfDomain = 10
 MinHitDomain  = 1
-# Stats by hosts
+# ホストの統計
 MaxNbOfHostsShown = 10
 MinHitHost    = 1
-# Stats by authenticated users
+# 認証されたユーザの統計
 MaxNbOfLoginShown = 10
 MinHitLogin   = 1
-# Stats by robots
+# ロボットの統計
 MaxNbOfRobotShown = 10
 MinHitRobot   = 1
-# Stats for Downloads
+# ダウンロードの統計
 MaxNbOfDownloadsShown = 10
 MinHitDownloads = 1
-# Stats by pages
+# ページの統計
 MaxNbOfPageShown = 10
 MinHitFile    = 1
-# Stats by OS
+# OSの統計
 MaxNbOfOsShown = 10
 MinHitOs      = 1
-# Stats by browsers
+# ブラウザの統計
 MaxNbOfBrowsersShown = 10
 MinHitBrowser = 1
-# Stats by screen size
+# 画面サイズの統計
 MaxNbOfScreenSizesShown = 5
 MinHitScreenSize = 1
-# Stats by window size (following 2 parameters are not yet used)
-MaxNbOfWindowSizesShown = 5
-MinHitWindowSize = 1
-# Stats by referers
+# Refererの統計
 MaxNbOfRefererShown = 10
 MinHitRefer   = 1
-# Stats for keyphrases
+# 検索文の統計
 MaxNbOfKeyphrasesShown = 10
 MinHitKeyphrase = 1
-# Stats for keywords
+# 検索語の統計
 MaxNbOfKeywordsShown = 10
 MinHitKeyword = 1
-# Stats for sender or receiver emails
+# メールの送信者/受信者の統計
 MaxNbOfEMailsShown = 20
 MinHitEMail   = 1
 
 
-# Choose if you want the week report to start on sunday or monday
-# Possible values:
-# 0 - Week starts on sunday
-# 1 - Week starts on monday
-# Default: 1
+# 曜日別の統計の開始日を日曜日にするか月曜日にするかを選択します.
+# 取り得る値:
+# 0 - 週は日曜日から開始
+# 1 - 週は月曜日から開始
+# 規定値: 1
 #
 FirstDayOfWeek=1
 
 
-# List of visible flags that link to other language translations.
-# See Lang parameter for list of allowed flag/language codes.
-# If you don't want any flag link, set ShowFlagLinks to "".
-# This parameter is used only if ShowMenu parameter is set to 1.
-# Possible values: "" or "language_codes_separated_by_space"
-# Example: "en es fr nl de"
-# Default: ""
+# 表示したい別の言語の翻訳へのリンクとなる国旗をリストします.
+# 利用可能な国旗/言語コードについては, Langパラメータを参照してください.
+# 国旗のリンクを表示したくない場合は, ""を設定してください.
+# このパラメータは, ShowMenuパラメータが1の場合にのみ有効になります.
+# 取り得る値: "" あるいは "半角スペースで区切られた言語コード"
+# 例: "en es fr nl es"
+# 規定値: ""
 #
 ShowFlagLinks=""
 
 
-# Each URL, shown in stats report views, are links you can click.
-# Possible values: 0 or 1
-# Default: 1
+# 統計画面に表示されるURLを, クリックできるリンクにするかどうかを設定します.
+# 取り得る値: 0 もしくは 1
+# 既定値: 1
 #
 ShowLinksOnUrl=1
 
 
-# When AWStats builds HTML links in its report pages, it starts those links
-# with "http://". However some links might be HTTPS links, so you can enter
-# here the root of all your HTTPS links. If all your site is a SSL web site,
-# just enter "/".
-# This parameter is not used if ShowLinksOnUrl is 0.
-# Example: "/shopping"
-# Example: "/"
-# Default: ""
+# AWStatsがレポートページのHTMLリンクを作成する際に, AWStatsは"http://"から
+# 開始するリンクを作成します．もしリンク先がHTTPSで始まるURLならば, ここに
+# HTTPSリンクのルートを設定してください. もしWebサイト全体がSSLで保護されて
+# いるのであれば, "/"を設定してください.
+# このパラメータは, ShowLinksOnUrlに0が設定されている場合には利用されません.
+# 例: "/shopping"
+# 例: "/"
+# 規定値: ""
 #
 UseHTTPSLinkForUrl=""
 
 
-# Maximum length of URL part shown on stats page (number of characters).
-# This affects only URL visible text, links still work.
-# Default: 64
+# 統計ページに表示されるURLの最大長(文字数)を設定します. この設定は画面上の
+# 表示のみに影響するため, リンク自体が無効になることはありません.
+# 規定値: 64
 #
 MaxLengthOfShownURL=64
 
 
-# You can enter HTML code that will be added at the top of AWStats reports.
-# Default: ""
+# AWStatsが作成するレポートの最上部に付加するHTMLをここに設定してください.
+# 規定値: ""
 #
 HTMLHeadSection=""
 
 
-# You can enter HTML code that will be added at the end of AWStats reports.
-# Great to add advert ban.
-# Default: ""
+# AWStatsが作成するレポートの最下部に付加するHTMLをここに設定してください.
+# バナー広告などを入れるといいでしょう.
+# 規定値: ""
 #
 HTMLEndSection=""
 
 
-# By default AWStats page contains meta tag robots=noindex,nofollow
-# If you want to have your statistics to be indexed, set this option to 1. 
-# Default: 0
-#
-MetaRobot=0
-
-
-# You can set Logo and LogoLink to use your own logo.
-# Logo must be the name of image file (must be in $DirIcons/other directory).
-# LogoLink is the expected URL when clicking on Logo.
-# Default: "awstats_logo6.png"
+# ロゴとロゴのリンク先をカスタマイズすることができます.
+# Logoはイメージファイルのファイル名($DirIcons/otherディレクトリに置かれて
+# いなければなりません)である必要があります.
+# LogoLinkには, Logoをクリックした時に飛ぶ先のURLを設定します.
+# 規定値: "awstats_logo6.png"
 #
 Logo="awstats_logo6.png"
 LogoLink="http://awstats.sourceforge.net"
 
 
-# Value of maximum bar width/height for horizontal/vertical HTML graphics bars.
-# Default: 260/90
+# 画像のバーの最大の幅/高さを設定します.
+# 既定値: 260/90
 #
 BarWidth   = 260
 BarHeight  = 90
 
 
-# You can ask AWStats to use a particular CSS (Cascading Style Sheet) to
-# change its look. To create a style sheet, you can use samples provided with
-# AWStats in wwwroot/css directory.
-# Example: "/awstatscss/awstats_bw.css"
-# Example: "/css/awstats_bw.css"
-# Default: ""
+# 外観を変更する手段として, AWStatsに特定のCSS(Cascading Style Sheet)を利用
+# させることができます. スタイルシートを作成する際は, AWStatsのwwwroot/css
+# ディレクトリに置かれているサンプルをカスタマイズするといいでしょう.
+# 例: "/awstatscss/awstats_bw.css"
+# 例: "/css/awstats_bw.css"
+# 規定値: ""
 #
 StyleSheet=""
 
 
-# Those color parameters can be used (if StyleSheet parameter is not used)
-# to change AWStats look.
-# Example: color_name="RRGGBB"	# RRGGBB is Red Green Blue components in Hex
-#
-color_Background="FFFFFF"		# Background color for main page (Default = "FFFFFF")
-color_TableBGTitle="CCCCDD"		# Background color for table title (Default = "CCCCDD")
-color_TableTitle="000000"		# Table title font color (Default = "000000")
-color_TableBG="CCCCDD"			# Background color for table (Default = "CCCCDD")
-color_TableRowTitle="FFFFFF"	# Table row title font color (Default = "FFFFFF")
-color_TableBGRowTitle="ECECEC"	# Background color for row title (Default = "ECECEC")
-color_TableBorder="ECECEC"		# Table border color (Default = "ECECEC")
-color_text="000000"				# Color of text (Default = "000000")
-color_textpercent="606060"		# Color of text for percent values (Default = "606060")
-color_titletext="000000"		# Color of text title within colored Title Rows (Default = "000000")
-color_weekend="EAEAEA"			# Color for week-end days (Default = "EAEAEA")
-color_link="0011BB"				# Color of HTML links (Default = "0011BB")
-color_hover="605040"			# Color of HTML on-mouseover links (Default = "605040") 
-color_u="FFAA66"				# Background color for number of unique visitors (Default = "FFAA66")
-color_v="F4F090"				# Background color for number of visites (Default = "F4F090")
-color_p="4477DD"				# Background color for number of pages (Default = "4477DD")
-color_h="66DDEE"				# Background color for number of hits (Default = "66DDEE")
-color_k="2EA495"				# Background color for number of bytes (Default = "2EA495")
-color_s="8888DD"				# Background color for number of search (Default = "8888DD")
-color_e="CEC2E8"				# Background color for number of entry pages (Default = "CEC2E8")
-color_x="C1B2E2"				# Background color for number of exit pages (Default = "C1B2E2")
+# 以下の色を指定するパラメーターを利用すると, AWStatsの外観を変更することが
+# できます(StyleSheetパラメーターが設定されていない場合)
+# このリリースでは、スタイルシートを使用するので、下記の指定は無視されます。
+# 例: color_name="RRGGBB"	# RRGGBBは, 16進でRGBを数値化した値
+#
+color_Background="FFFFFF"
+# メインページの背景色 (既定値 = "FFFFFF")
+
+color_TableBGTitle="CCCCDD"
+# テーブルタイトルの背景色 (既定値 = "CCCCDD")
+
+color_TableTitle="000000"
+# テーブルタイトルの文字の色 (既定値 = "000000")
+
+color_TableBG="CCCCDD"
+# テーブルの背景色 (既定値 = "CCCCDD")
+
+color_TableRowTitle="FFFFFF"
+# 横列の見出しの文字の色 (既定値 = "FFFFFF")
+
+color_TableBGRowTitle="ECECEC"
+# 横列の見出しの背景色 (既定値 = "ECECEC")
+
+color_TableBorder="ECECEC"
+# テーブルボーダーの色 (既定値 = "ECECEC")
+
+color_text="000000"
+# 文字の色 (既定値  = "000000")
+
+color_textpercent="606060"
+# パーセントの数値の文字の色 (既定値 = "606060")
+
+color_titletext="000000"
+# 色付の横列見出し行内の文字の色 (既定値 = "000000")
+
+color_weekend="EAEAEA"
+# 週末曜日の色 (既定値 = "EAEAEA")
+
+color_link="0011BB"
+# リンクの色 (既定値 = "0011BB")
+
+color_hover="605040"
+# リンクをマウスがポイントした時の色 (既定値 = "605040")
+
+color_u="FFAA66"
+# 一意な訪問者数の背景色 (既定値 = "FFAA66")
+
+color_v="F4F090"
+# 訪問者の背景色 (既定値 = "F4F090")
+
+color_p="4477DD"
+# ページ数の背景色 (既定値 = "4477DD")
+
+color_h="66DDEE"
+# ヒット数の背景色 (既定値 = "66DDEE")
+
+color_k="2EA495"
+# バイト数の背景色 (既定値 = "2EA495")
+
+color_s="8888DD"
+# 検索回数の背景色 (既定値 = "8888DD")
+
+color_e="CEC2E8"
+# 最初に閲覧の背景色 (既定値 = "CEC2E8")
 
+color_x="C1B2E2"
+# 最後に閲覧の背景色 (既定値 = "C1B2E2")
 
 
 #-----------------------------------------------------------------------------
-# PLUGINS
+# プラグイン
 #-----------------------------------------------------------------------------
 
-# Add here all plugin files you want to load.
-# Plugin files must be .pm files stored in 'plugins' directory.
-# Uncomment LoadPlugin lines to enable a plugin after checking that perl
-# modules required by the plugin are installed.
-
-# PLUGIN: Tooltips
-# REQUIRED MODULES: None
-# PARAMETERS: None
-# DESCRIPTION: Add tooltips pop-up help boxes to HTML report pages.  
-# NOTE: This will increased HTML report pages size, thus server load and bandwidth.
+# ロードしたいプラグインファイルをここに全て列挙します.
+# プラグインファイルの拡張子は.pmで, 'plugins'ディレクトリに置かれている
+# 必要があります.
+# プラグインに必要とされるPerlモジュールの導入を確認してから, LoadPlugin行の
+# コメントを外してプラグインを有効にして下さい.
+
+# プラグイン名: Tooltips
+# 必要とされるPerlモジュール: なし
+# パラメタ: なし
+# HTMLレポートページに, Tooltipポップアップヘルプを付加する.
+# この種のヘルプを有効にすると, HTMLレポートページのページサイズが大きくなり,
+# サーバの負荷や消費する帯域が大きくなることを忘れないで下さい.
 #
 #LoadPlugin="tooltips"
 
-# PLUGIN: DecodeUTFKeys
-# REQUIRED MODULES: Encode and URI::Escape
-# PARAMETERS: None
-# DESCRIPTION: Allow AWStats to show correctly (in language charset) 
-# keywords/keyphrases strings even if they were UTF8 coded by the 
-# referer search engine.
+# プラグイン名: DecodeUTFKeys
+# 必要とされるPerlモジュール: Encode および URI::Escape
+# パラメタ: なし
+# 参照元検索エンジンにより検索語/検索文がUTF8でエンコードされていても,
+# AWStatsが(指定された文字コードで)それらを正しく表示できるようにします.
 #
 #LoadPlugin="decodeutfkeys"
 
-# PLUGIN: IPv6
-# PARAMETERS: None
-# REQUIRED MODULES: Net::IP and Net::DNS
-# DESCRIPTION: This plugin gives AWStats capability to make reverse DNS
-# lookup on IPv6 addresses.
+# プラグイン名: IPv6
+# 必要とされるPerlモジュール: Net::IP および Net::DNS
+# このプラグインを利用すると, IPv6のアドレスをDNSで逆引きできるようになります.
+# ノート: 国別レポートを必要とするのであるのであれば, DNSの逆引きでなく
+# geoipfreeもしくはgeoipプラグインを利用してください.
 #
 #LoadPlugin="ipv6"
 
-# PLUGIN: HashFiles
-# REQUIRED MODULES: Storable
-# PARAMETERS: None
-# DESCRIPTION: AWStats DNS cache files are read/saved as native hash files. 
-# This increases DNS cache files loading speed, above all for very large web sites.
+# プラグイン名: HashFiles
+# 必要とされるPerlモジュール: Storable
+# パラメタ: なし
+# AWStatsのDNSキャッシュファイルを, ハッシュ形式で読み書きするようにします.
+# この機能を利用すると, 特に巨大なWebサイトでDNSキャッシュファイルの読み書き
+# の高速化を実現できます.
 #
 #LoadPlugin="hashfiles"
 
+# プラグイン名: GeoIP
+# 必要とされるPerlモジュール: Geo::IP or Geo::IP::PurePerl (Maxmind内)
+# パラメタ: なし
+# 国別の統計を, IP-国データベースを利用して作成します.
+# このプラグインは, イントラネットのログファイルを解析する際には無意味です.
+# ノート: このプラグイン(MaxmindのPerlのGeo::IPモジュールを必要とし、
+# データベースが更新されています。)を利用するか,
+# GeoIPfreeプラグイン(PerlのGeo::IPfreeモジュールを必要とし、
+# データベースの更新は少なくなります。)を利用するかを選択する
+# 必要があります.
+# このプラグインを利用するとAWStatsの処理速度は8%程度低下します!
+#
+#LoadPlugin="geoip GEOIP_STANDARD /pathto/GeoIP.dat"
+
+# プラグイン名: GeoIPfree
+# 必要とされるPerlモジュール: Geo::IPfree version 0.2+ (Graciliano M.P.内)
+# 国別の統計を, IP-国データベースを利用して作成します.
+# このプラグインは, イントラネットのログファイルを解析する際には無意味です.
+# ノート: このプラグイン(PerlのGeo::IPfreeモジュールを必要とする)を利用するか,
+# GeoIPプラグイン(Maxmindに含まれるPerlのGeo::IPモジュールを必要とする)を利用
+# するかを選択する必要があります.
+# このプラグインを利用するとAWStatsの処理速度は10%程度低下します!
+#
+#LoadPlugin="geoipfree"
+
+# プラグイン名: GeoIP_Region_Maxmind
+# 必要とされるPerlモジュール: Geo::IP (Maxmind内)
+# 地域別の統計を, 作成します.合衆国とカナダのみサポート。
+# このプラグインは, イントラネットのログファイルを解析する際には無意味です.
+# ノート: このプラグインはMaxmindのGeoIP Perlと地域データベースを必要
+# とします。
+# Maxmindから地域データベースを購入する必要があります。
+# 詳細は、http://www.maxmind.com/app/perl?rId=awstatを参照ください。
+# このプラグインを利用するとAWStatsの処理速度は低下します!
+#
+#LoadPlugin="geoip_region_maxmind GEOIP_STANDARD /pathto/GeoIPRegion.dat"
+
+# プラグイン名: GeoIP_City_Maxmind
+# 必要とされるPerlモジュール: Geo::IP (Maxmind内)
+# 都市別の統計を作成します。
+# このプラグインは, イントラネットのログファイルを解析する際には無意味です.
+# ノート: このプラグインはMaxmindのGeoIP Perlと都市データベースを必要
+# とします。
+# Maxmindから都市データベースを購入する必要があります。
+# 詳細は、http://www.maxmind.com/app/perl?rId=awstatを参照ください。
+# このプラグインを利用するとAWStatsの処理速度は低下します!
+#
+#LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /pathto/GeoIPCity.dat"
+
+# プラグイン名: GeoIP_ISP_Maxmind
+# 必要とされるPerlモジュール: Geo::IP (Maxmind内)
+# ISP別の統計を作成します。
+# このプラグインは, イントラネットのログファイルを解析する際には無意味です.
+# ノート: このプラグインはMaxmindのGeoIP PerlとISPデータベースを必要
+# とします。
+# MaxmindからISPデータベースを購入する必要があります。
+# 詳細は、http://www.maxmind.com/app/perl?rId=awstatを参照ください。
+# このプラグインを利用するとAWStatsの処理速度は低下します!
+#
+#LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /pathto/GeoIPCity.dat"
+
+# プラグイン名: GeoIP_Org_Maxmind
+# 必要とされるPerlモジュール: Geo::IP (Maxmind内)
+# 組織別の統計を作成します.
+# このプラグインは, イントラネットのログファイルを解析する際には無意味です.
+# ノート: このプラグインはMaxmindのGeoIP Perlと組織データベースを必要
+# とします。
+# Maxmindから組織データベースを購入する必要があります。
+# このプラグインを利用するとAWStatsの処理速度は10%程度低下します!
+#
+#LoadPlugin="geoip_org_maxmind GEOIP_STANDARD /pathto/GeoIPOrg.dat"
 
-# PLUGIN: UserInfo
-# REQUIRED MODULES: None
-# PARAMETERS: None
-# DESCRIPTION: Add a text (Firtname, Lastname, Office Department, ...) in 
-# authenticated user reports for each login value.
-# A text file called userinfo.myconfig.txt, with two fields (first is login,
-# second is text to show, separated by a tab char) must be created in DirData
-# directory.
+# プラグイン名: UserInfo
+# 必要とされるPerlモジュール: なし
+# パラメタ: なし
+# 認証されたユーザのレポートに, 付加情報(氏名, オフィス情報など)を表示します.
+# 2つのフィールド(第一フィールドにログインID, 第二フィールドに表示したいテキ
+# ストをタブ区切りで記述)を持ったuserinfo.myconfig.txtという名前のテキスト
+# ファイルをDirDataディレクトリに事前に用意しておく必要があります.
 #
 #LoadPlugin="userinfo"
 
-# PLUGIN: HostInfo
-# REQUIRED MODULES: Net::XWhois
-# PARAMETERS: None
-# DESCRIPTION: Add a column into host chart with a link to open a popup window that shows
-# info on host (like whois records).
+# プラグイン名: HostInfo
+# 必要とされるPerlモジュール: XWhois
+# パラメタ: なし
+# ホストのレポートに, ホスト情報(whoisレコードのような情報)をポップアップ
+# させるリンクを表示します.
 #
 #LoadPlugin="hostinfo"
 
-# PLUGIN: ClusterInfo
-# REQUIRED MODULES: None
-# PARAMETERS: None
-# DESCRIPTION: Add a text (for example a full hostname) in cluster reports for each cluster
-# number. A text file called clusterinfo.myconfig.txt, with two fields (first is
-# cluster number, second is text to show) separated by a tab char. must be
-# created into DirData directory.
-# Note this plugin is useless if ShowClusterStats is set to 0 or if you don't
-# use a personalized log format that contains %cluster tag.
+# プラグイン名: ClusterInfo
+# 必要とされるPerlモジュール: なし
+# パラメタ: なし
+# クラスタレポートの各クラスタ番号に(例えばホスト名称といって)テキストを
+# 追加する。
+# DirDataディレクトリにclusterinfo.myconfig.txtを用意して、二つのフィールド
+# (第一フィールドにはクラスタ番号、第二フィールドに表示すべきテキスト)は
+# タブ文字で区切ること。
+# このプラグインはShowClusterStats=0に指定したり、%clusterタグを含むカスタマイズログ形式を使っていない場合は意味がないことに注意すること。
 #
 #LoadPlugin="clusterinfo"
 
-# PLUGIN: UrlAliases
-# REQUIRED MODULES: None
-# PARAMETERS: None
-# DESCRIPTION: Add a text (Page title, description...) in URL reports before URL value.
-# A text file called urlalias.myconfig.txt, with two fields (first is URL,
-# second is text to show, separated by a tab char) must be created into
-# DirData directory.
+# プラグイン名: UrlAliases
+# 必要とされるPerlモジュール: なし
+# パラメタ: なし
+# URLレポートのURLの前に, ページ情報(ページタイトル, 定義...)を表示します.
+# 2つのフィールド(第一フィールドにURL, 第二フィールドに表示したいテキストを
+# タブ区切りで記述)を持つurlalias.myconfig.txtという名前のテキストファイルを
+# DirDataディレクトリに事前に用意しておく必要があります.
 #
 #LoadPlugin="urlalias"
 
-# PLUGIN: TimeHiRes
-# REQUIRED MODULES: Time::HiRes (if Perl < 5.8)
-# PARAMETERS: None
-# DESCRIPTION: Time reported by -showsteps option is in millisecond. For debug purpose.
+# プラグイン名: TimeHiRes
+# 必要とされるPerlモジュール: Time::HiRes
+# パラメタ: なし
+# -showstepsオプションを利用した際に報告される時間がミリ秒単位になります.
+# デバッグ用です.
 #
 #LoadPlugin="timehires"		
 
-# PLUGIN: TimeZone
-# REQUIRED MODULES: Time::Local
-# PARAMETERS: [timezone offset]
-# DESCRIPTION: Allow AWStats to adjust time stamps for a different timezone
-# This plugin reduces AWStats speed of 10% !!!!!!!
-# LoadPlugin="timezone"
-# LoadPlugin="timezone +2"
-# LoadPlugin="timezone CET"
+# プラグイン名: TimeZone
+# 必要とされるPerlモジュール: Time::Local
+# パラメタ: [現地時間のUTとの時差]
+# ログファイルの時間として, 現地時間ではなくUTを記録するIISを利用して
+# いるユーザが利用すると, 正しい現地時間に補正してくれます.
+# このモジュールは, ApacheとほとんどのバージョンのIISで意味を持ちません.
+# このプラグインを利用すると, AWStatsの処理速度が10%程度落ちます !!!!!!!
 #
 #LoadPlugin="timezone +2"
 
-# PLUGIN: Rawlog
-# REQUIRED MODULES: None
-# PARAMETERS: None
-# DESCRIPTION: This plugin adds a form in AWStats main page to allow users to see raw
-# content of current log files. A filter is also available.
+# プラグイン名: Rawlog
+# 必要とされるPerlモジュール: なし
+# パラメタ: なし
+# このプラグインを有効にすると, AWStatsのメインページに現在の生ログファイルを
+# 閲覧するためのフォームが付加されます. フィルタを利用することもできます.
 #
 #LoadPlugin="rawlog"
 
-# PLUGIN: GraphApplet
-# REQUIRED MODULES: None
-# PARAMETERS: [CSS classes to override]
-# DESCRIPTION: Supported charts are built by a 3D graphic applet.
-#
-#LoadPlugin="graphapplet /awstatsclasses"				# EXPERIMENTAL FEATURE
-
-# PLUGIN: GraphGoogleChartAPI
-# REQUIRED MODULES: None
-# PARAMETERS: None
+# プラグイン名: GraphApplet
+# 必要とされるPerlモジュール: なし
+# パラメタ: [classファイルの格納されている相対url]
+# 一部のグラフが3Dで描画されるようになります.
+#
+#LoadPlugin="graphapplet /awstatsclasses"	# 試験的に実装されている機能
+
+# プラグイン名: GraphGoogleChartAPI
+# 必要とされるPerlモジュール: None
+# パラメタ: なし
 # DESCRIPTION: Replaces the standard charts with free Google API generated images 
 # in HTML reports. If country data is available and more than one country has hits, 
 # a map will be generated using Google Visualizations.
@@ -1395,120 +1512,51 @@
 #
 #LoadPlugin="graphgooglechartapi"
 
-# PLUGIN: GeoIPfree
-# REQUIRED MODULES: Geo::IPfree version 0.2+ (from Graciliano M.P.)
-# PARAMETERS: None
-# DESCRIPTION: Country chart is built from an Internet IP-Country database.
-# This plugin is useless for intranet only log files.
-# Note: You must choose between using this plugin (need Perl Geo::IPfree
-# module, database is free but not up to date) or the GeoIP plugin (need
-# Perl Geo::IP module from Maxmind, database is also free and up to date).
-# Note: Activestate provide a corrupted version of Geo::IPfree 0.2 Perl
-# module, so install it from elsewhere (from www.cpan.org for example).
-# This plugin reduces AWStats speed by up to 10% !
-#
-#LoadPlugin="geoipfree"
-
-# MAXMIND GEO IP MODULES: Please see documentation for notes on all Maxmind modules
-
-# PLUGIN: GeoIP
-# REQUIRED MODULES: Geo::IP or Geo::IP::PurePerl (from Maxmind)
-# PARAMETERS: [GEOIP_STANDARD | GEOIP_MEMORY_CACHE] [/pathto/geoip.dat[+/pathto/override.txt]]
-# DESCRIPTION: Builds a country chart and adds an entry to the hosts 
-# table with country name
-# Replace spaces in the path of geoip data file with string "%20".
-#
-#LoadPlugin="geoip GEOIP_STANDARD /pathto/GeoIP.dat"
-
-# PLUGIN: GeoIP_City_Maxmind
-# REQUIRED MODULES: Geo::IP or Geo::IP::PurePerl (from Maxmind)
-# PARAMETERS: [GEOIP_STANDARD | GEOIP_MEMORY_CACHE] [/pathto/GeoIPCity.dat[+/pathto/override.txt]]
-# DESCRIPTION: This plugin adds a column under the hosts field and tracks the pageviews
-# and hits by city including regions.
-# Replace spaces in the path of geoip data file with string "%20".
-#
-#LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /pathto/GeoIPCity.dat"
-
-# PLUGIN: GeoIP_ASN_Maxmind
-# REQUIRED MODULES: Geo::IP or Geo::IP::PurePerl (from Maxmind)
-# PARAMETERS: [GEOIP_STANDARD | GEOIP_MEMORY_CACHE] [/pathto/GeoIPASN.dat[+/pathto/override.txt][+http://linktoASlookup]]
-# DESCRIPTION: This plugin adds a chart of AS numbers where the host IP address is registered. 
-# This plugin can display some ISP information if included in the database. You can also provide 
-# a link that will be used to lookup additional registration data. Put the link at the end of 
-# the parameter string and the report page will include the link with the full AS number at the end.
-# Replace spaces in the path of geoip data file with string "%20".
-#
-#LoadPlugin="geoip_asn_maxmind GEOIP_STANDARD /usr/local/geoip.dat+http://enc.com.au/itools/aut-num.php?autnum="
-
-# PLUGIN: GeoIP_Region_Maxmind
-# REQUIRED MODULES: Geo::IP or Geo::IP::PurePerl (from Maxmind)
-# PARAMETERS: [GEOIP_STANDARD | GEOIP_MEMORY_CACHE] [/pathto/GeoIPRegion.dat[+/pathto/override.txt]]
-# DESCRIPTION:This plugin adds a chart of hits by regions. Only regions for US and 
-# Canada can be detected.
-# Replace spaces in the path of geoip data file with string "%20".
-#
-#LoadPlugin="geoip_region_maxmind GEOIP_STANDARD /pathto/GeoIPRegion.dat"
-
-# PLUGIN: GeoIP_ISP_Maxmind
-# REQUIRED MODULES: Geo::IP or Geo::IP::PurePerl (from Maxmind)
-# PARAMETERS: [GEOIP_STANDARD | GEOIP_MEMORY_CACHE] [/pathto/GeoIPISP.dat[+/pathto/override.txt]]
-# DESCRIPTION: This plugin adds a chart of hits by ISP.
-# Replace spaces in the path of geoip data file with string "%20".
-#
-#LoadPlugin="geoip_isp_maxmind GEOIP_STANDARD /pathto/GeoIPISP.dat"
-
-# PLUGIN: GeoIP_Org_Maxmind
-# REQUIRED MODULES: Geo::IP or Geo::IP::PurePerl (from Maxmind)
-# PARAMETERS: [GEOIP_STANDARD | GEOIP_MEMORY_CACHE] [/pathto/GeoIPOrg.dat[+/pathto/override.txt]]
-# DESCRIPTION: This plugin add a chart of hits by Organization name
-# Replace spaces in the path of geoip data file with string "%20".
-#
-#LoadPlugin="geoip_org_maxmind GEOIP_STANDARD /pathto/GeoIPOrg.dat"
 
 
 #-----------------------------------------------------------------------------
-# EXTRA SECTIONS
+# エクストラセクション
 #-----------------------------------------------------------------------------
 
-# You can define your own charts, you choose here what are rows and columns
-# keys. This feature is particularly useful for marketing purpose, tracking
-# products orders for example.
-# For this, edit all parameters of Extra section. Each set of parameter is a
-# different chart. For several charts, duplicate section changing the number.
-# Note: Each Extra section reduces AWStats speed by 8%.
-#
-# WARNING: A wrong setup of Extra section might result in too large arrays
-# that will consume all your memory, making AWStats unusable after several
-# updates, so be sure to setup it correctly.
-# In most cases, you don't need this feature.
-#
-# ExtraSectionNameX is title of your personalized chart.
-# ExtraSectionCodeFilterX is list of codes the record code field must match.
-#   Put an empty string for no test on code.
-# ExtraSectionConditionX are conditions you can use to count or not the hit,
-#   Use one of the field condition
-#   (URL,URLWITHQUERY,QUERY_STRING,REFERER,UA,HOSTINLOG,HOST,VHOST,extraX)
-#   and a regex to match, after a coma. Use "||" for "OR".
-# ExtraSectionFirstColumnTitleX is the first column title of the chart.
-# ExtraSectionFirstColumnValuesX is a string to tell AWStats which field to
-#   extract value from
-#   (URL,URLWITHQUERY,QUERY_STRING,REFERER,UA,HOSTINLOG,HOST,VHOST,extraX)
-#   and how to extract the value (using regex syntax). Each different value
-#   found will appear in first column of report on a different row. Be sure
-#   that list of different possible values will not grow indefinitely.
-# ExtraSectionFirstColumnFormatX is the string used to write value.
-# ExtraSectionStatTypesX are things you want to count. You can use standard
-#   code letters (P for pages,H for hits,B for bandwidth,L for last access).
-# ExtraSectionAddAverageRowX add a row at bottom of chart with average values.
-# ExtraSectionAddSumRowX add a row at bottom of chart with sum values.
-# MaxNbOfExtraX is maximum number of rows shown in chart.
-# MinHitExtraX is minimum number of hits required to be shown in chart.
+# 独自のレポートを作成することができます. この場合, 烈と行のキーを自分で選択
+# する必要があります. この機能は, 例えばマーケティング用途や, 商品の注文の
+# トラッキングを行う場合などに特に有用でしょう.
+# この機能を利用するには, エクストラセクションのパラメータを全て自分で指定する
+# 必要があります. 一連のパラメータのセットで一つのレポートを構成します.
+# 複数のレポートを作成する場合は, セクションをコピーして数値を変更すると
+# いいでしょう.
+#
+# 警告: エクストラセクションのセットアップを誤ると, メモリを食い尽くすほど
+# 巨大な配列ができてしまい, 数回更新しただけでAWStatsが利用不可能な状態に
+# 陥る可能性があります. このため, 慎重にセットアップを行ってください.
+# ほとんどの場合, この機能を利用する必要はありません.
+#
+# ExtraSectionNameXには, 独自レポートのタイトルを指定します.
+# ExtraSectionConditionalXには, ヒットをカウントするかどうかを指定する際に利用
+# する条件を指定します.
+#   (URL, QUERY_STRING, REFERER, UA, HOST)のうちのひとつを指定し, ","の後に
+#   正規表現で条件を指定します. OR条件を指定する場合は"|"を利用します.
+# ExtraSectionFirstColumnTitleXには, レポートの最初のカラムのタイトルを指定
+#   します.
+# ExtraSectionFirstColumnValuesXには, (URL, QUERY_STRING, REFERER, UA, HOST)
+#   のいずれから値を抽出し, どのように値を抽出するかをAWStatsに教える正規表現
+#   の文字列を指定します. 検出された値の種類が, レポートの最初のカラムに個別に
+#   表示されます. 値の種類は, メモリの問題を回避するために制限されているので
+#   注意してください.
+# ExtraSectionFirstColumnFormatXには, 値を書き込むための文字列を指定します.
+# ExtraSectionStatTypesXには, カウント対象を指定します. すでに示したコード
+#   (Pはページ数, Hはヒット数, Bはバイト数, Lは最終アクセス)を利用できます.
+# ExtraSectionAddAverageRowXを指定すると, レポートの最下部に平均値の列が追加
+#   されます.
+# MaxNbOfExtraXには, レポートに表示する最大列数を指定します.
+# MinHitExtraXには, レポートに表示されるために必要とされる最小ヒット数を
+#   指定します.
 #
 
-# Example to report the 20 products the most ordered by "order.cgi" script
+# "order.cgi"という名前のスクリプトを利用してオーダーされた上位20商品を
+# 表示するレポートの例
 #ExtraSectionName1="Product orders"
-#ExtraSectionCodeFilter1="200 304"
-#ExtraSectionCondition1="URL,\/cgi\-bin\/order\.cgi||URL,\/cgi\-bin\/order2\.cgi"
+#ExtraSectionCondition1="URL,\/cgi\-bin\/order\.cgi|URL,\/cgi\-bin\/order2\.cgi"
 #ExtraSectionFirstColumnTitle1="Product ID"
 #ExtraSectionFirstColumnValues1="QUERY_STRING,productid=([^&]+)"
 #ExtraSectionFirstColumnFormat1="%s"
@@ -1519,31 +1567,24 @@
 #MinHitExtra1=1
 
 
-# There is also a global parameter ExtraTrackedRowsLimit that limits the
-# number of possible rows an ExtraSection can report. This parameter is
-# here to protect too much memory use when you make a bad setup in your
-# ExtraSection. It applies to all ExtraSection independently meaning that
-# none ExtraSection can report more rows than value defined by ExtraTrackedRowsLimit.
-# If you know an ExtraSection will report more rows than its value, you should
+# エクストラセクションで表示する行数を制限することができます。指定の誤りによって、メモリの過剰な使用を避けるためにあります。この指定は各エクストラセクションに適用され、それぞれのエクストラセクションはExtraTrackedRowsLimitの指定値を超えたレポートを出力できなません。
+# エクストラセクションがxtraTrackedRowsLimitの指定値を超えたレポートを出力することが分かっている場合、パラメタ値を増加させてください。そうでないと、AWStatsはエラーで停止します。
 # increase this parameter or AWStats will stop with an error.
-# Example: 2000
-# Default: 500
+# 例 : 2000
+# 既定値 : 500
 #
 ExtraTrackedRowsLimit=500
 
 
 #-----------------------------------------------------------------------------
-# INCLUDES
+# インクルード
 #-----------------------------------------------------------------------------
 
-# You can include other config files using the directive with the name of the
-# config file.
-# This is particularly useful for users who have a lot of virtual servers, so
-# a lot of config files and want to maintain common values in only one file.
-# Note that when a variable is defined both in a config file and in an
-# included file, AWStats will use the last value read for parameters that
-# contains one value and AWStats will concat all values from both files for
-# parameters that are lists of values.
+# ファイル名を指定して, 別の設定ファイルの内容をインクルードできます.
+# 多数のバーチャルサーバを運用しているユーザが, 多数の設定ファイル中の共通の
+# 設定を1つのファイルで行いたい場合に有用でしょうお.
+# 設定ファイルとインクルードファイルの両方で同一の変数が定義されている場合,
+# AWStatsは後から読み込んだ設定を利用することに注意してください.
 #
 
 #Include ""
diff -u -b -r D:\awstats-7.0-mod\/wwwroot/cgi-bin/awstats.pl D:\AWStats70t_Jpn/wwwroot/cgi-bin/awstats.pl
--- D:\awstats-7.0-mod\/wwwroot/cgi-bin/awstats.pl	2011-02-03 15:19:51.989002500 +0900
+++ D:\AWStats70t_Jpn/wwwroot/cgi-bin/awstats.pl	2011-02-03 13:16:22.817127500 +0900
@@ -7,6 +7,7 @@
 # See AWStats documentation (in docs/ directory) for all setup instructions.
 #------------------------------------------------------------------------------
 # $Revision: 1.971 $ - $Author: eldy $ - $Date: 2010/10/16 17:24:03 $
+# Modified by ホビット 2010/12/14
 require 5.007;
 
 #$|=1;
@@ -18,12 +19,14 @@
   ; # use Time::Local 'timelocal_nocheck' is faster but not supported by all Time::Local modules
 use Socket;
 use Encode;
+use HTML::Entities::Numbered ();
+use Unicode::Japanese;
 
 #------------------------------------------------------------------------------
 # Defines
 #------------------------------------------------------------------------------
 use vars qw/ $REVISION $VERSION /;
-$REVISION = '$Revision: 1.971 $';
+$REVISION = '$Revision: 1.971t $';
 $REVISION =~ /\s(.*)\s/;
 $REVISION = $1;
 $VERSION  = "7.0 (build $REVISION)";
@@ -32,9 +35,10 @@
 use vars qw/
   $DEBUGFORCED $NBOFLINESFORBENCHMARK $FRAMEWIDTH $NBOFLASTUPDATELOOKUPTOSAVE
   $LIMITFLUSH $NEWDAYVISITTIMEOUT $VISITTIMEOUT $NOTSORTEDRECORDTOLERANCE
-  $WIDTHCOLICON $TOOLTIPON
+  $WIDTHCOLICON $WIDTHHIT $WIDTHPAGE $WIDTHBANDWIDTH $WIDTHFULLDATE $WIDTHPARCENT $WIDTHYESNO $WIDTHBROWSER $WIDTHOS $TOOLTIPON
   $lastyearbeforeupdate $lastmonthbeforeupdate $lastdaybeforeupdate $lasthourbeforeupdate $lastdatebeforeupdate
   $NOHTML
+  $endtag $OptionSelect
   /;
 $DEBUGFORCED = 0
   ; # Force debug level to log lesser level into debug.log file (Keep this value to 0)
@@ -51,8 +55,17 @@
 $NOTSORTEDRECORDTOLERANCE = 20000
   ; # Lapse of time to accept a record if not in correct order. 20000 = 2 hour (Default = 20000)
 $WIDTHCOLICON = 32;
+$WIDTHHIT     = 70;
+$WIDTHPAGE    = 70;
+$WIDTHBANDWIDTH = 80;
+$WIDTHFULLDATE = 160;
+$WIDTHPARCENT = 80;
+$WIDTHYESNO   = 50;
+$WIDTHBROWSER = 130;
+$WIDTHOS      = 90;
 $TOOLTIPON    = 0;    # Tooltips plugin loaded
 $NOHTML       = 0;    # Suppress the html headers
+$endtag = ">";        # Set HTML 4.01
 
 # ----- Running variables -----
 use vars qw/
@@ -132,6 +145,7 @@
   $DNSLastUpdateCacheFile
   $MiscTrackerUrl
   $Lang
+  $LangHTML
   $MaxRowsInHTMLOutput
   $MaxLengthOfShownURL
   $MaxLengthOfStoredURL
@@ -142,6 +156,7 @@
   $ExtraTrackedRowsLimit
   $DatabaseBreak
   $SectionsToBeSaved
+  $MonthUsed
   /;
 $StaticExt              = 'html';
 $DNSStaticCacheFile     = 'dnscache.txt';
@@ -170,6 +185,7 @@
 $BuildHistoryFormat    = 'text';
 $ExtraTrackedRowsLimit = 500;
 $DatabaseBreak         = 'month';
+$MonthUsed             = 0;		# 月未使用
 use vars qw/
   $DebugMessages $AllowToUpdateStatsFromBrowser $EnableLockForUpdate $DNSLookup $AllowAccessFromWebToAuthenticatedUsersOnly
   $BarHeight $BarWidth $CreateDirDataIfNotExists $KeepBackupOfHistoricFiles
@@ -294,7 +310,7 @@
   )
   = ( 2, 2, 0, 2, 2, 2, 2, 2, 2 );
 use vars qw/
-  $DirLock $DirCgi $DirConfig $DirData $DirIcons $DirLang $AWScript $ArchiveFileName
+  $DirLock $DirCgi $DirConfig $DirData $DirIcons $DirJs $DirCss $DirLang $AWScript $ArchiveFileName
   $AllowAccessFromWebToFollowingIPAddresses $HTMLHeadSection $HTMLEndSection $LinksToWhoIs $LinksToIPWhoIs
   $LogFile $LogType $LogFormat $LogSeparator $Logo $LogoLink $StyleSheet $WrapperScript $SiteDomain
   $UseHTTPSLinkForUrl $URLQuerySeparators $URLWithAnchor $ErrorMessages $ShowFlagLinks
@@ -303,6 +319,8 @@
 	$DirLock,                                  $DirCgi,
 	$DirConfig,                                $DirData,
 	$DirIcons,                                 $DirLang,
+	$DirIcons,                                 $DirJs,       # JS用ディレクトリ
+	$DirCss,                                   $DirLang,     # CSS用ディレクトリ
 	$AWScript,                                 $ArchiveFileName,
 	$AllowAccessFromWebToFollowingIPAddresses, $HTMLHeadSection,
 	$HTMLEndSection,                           $LinksToWhoIs,
@@ -317,7 +335,7 @@
   )
   = (
 	'', '', '', '', '', '', '', '', '', '', '', '', '', '',
-	'', '', '', '', '', '', '', '', '', '', '', '', ''
+	'', '', '', '', '', '', '', '', '', '', '', '', '', '', ''    # 2エントリ追加
   );
 use vars qw/
   $color_Background $color_TableBG $color_TableBGRowTitle
@@ -478,7 +496,7 @@
   %MimeHashLib %MimeHashFamily
   %OSHashID %OSHashLib
   %RobotsHashIDLib %RobotsAffiliateLib
-  %SearchEnginesHashID %SearchEnginesHashLib %SearchEnginesWithKeysNotInQuery %SearchEnginesKnownUrl %NotSearchEnginesKeys
+  %SearchEnginesHashID %SearchEnginesHashLib %SearchEnginesWithKeysNotInQuery %SearchEnginesKnownUrl %SearchEnginesKnownUrlTrail %NotSearchEnginesKeys
   %WormsHashID %WormsHashLib %WormsHashTarget
   /;
 use vars qw/
@@ -725,6 +743,30 @@
 	'Konqueror versions',
 	',',
  	'Downloads',
+	'',
+	'','','','','','','','','','',
+	'','','','','','','','','','',
+	'dd mmm yyyy',
+	'mmmbreakyyyy',
+	'mmm yyyy',
+	'ddbreakmmm',
+	"Unknown robot (identified by 'robot')",
+	"Unknown robot (identified by 'crawl')",
+	"Unknown robot (identified by 'spider')",
+	"Unknown robot (identified by 'bot*')",
+	"Unknown robot (identified by '*bot')",
+	"Unknown robot (identified by empty user agent string)",
+	"Unknown robot (identified by hit on 'robots.txt')",
+	"Often spam bot",
+	"Unknown or unspecified distribution",
+	"unknown version",
+	"Unknown Unix system",
+	'Unknown search engines',
+	"Unknown robot (identified by 'checker')",
+	"Unknown robot (identified by 'discovery')",
+	"Unknown robot (identified by 'hunter')",
+	"Unknown robot (identified by 'scanner')",
+	"Unknown robot (identified by 'sucker')"
 );
 
 #------------------------------------------------------------------------------
@@ -752,10 +794,7 @@
 	if ( !$HeaderHTTPSent ) {
 		my $newpagecode = $PageCode ? $PageCode : "utf-8";
 		if ( $BuildReportFormat eq 'xhtml' || $BuildReportFormat eq 'xml' ) {
-			print( $ENV{'HTTP_USER_AGENT'} =~ /MSIE|Googlebot/i
-				? "Content-type: text/html; charset=$newpagecode\n"
-				: "Content-type: text/xml; charset=$newpagecode\n"
-			);
+			print "Content-type: application/xhtml+xml; charset=$newpagecode\n"
 		}
 		else { print "Content-type: text/html; charset=$newpagecode\n"; }
 
@@ -793,16 +832,16 @@
 				print "<?xml version=\"1.0\" encoding=\"$PageCode\"?>\n";
 			}
 			else { print "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n"; }
-			if ( $FrameName ne 'index' ) {
-				print
-"<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n";
-			}
-			else {
+#			if ( $FrameName ne 'index' ) {
 				print
-"<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Frameset//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd\">\n";
-			}
+"<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">\n";
+#			}
+#			else {
+#				print
+#"<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Frameset//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd\">\n";
+#			}
 			print
-"<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"$Lang\">\n";
+"<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"$LangHTML\">\n";
 		}
 		else {
 			if ( $FrameName ne 'index' ) {
@@ -813,12 +852,12 @@
 				print
 "<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Frameset//EN\">\n";
 			}
-			print '<html lang="' . $Lang . '"'
+			print '<html lang="' . $LangHTML . '"'
 			  . ( $PageDir ? ' dir="rtl"' : '' ) . ">\n";
 		}
 		print "<head>\n";
 
-		my $endtag = '>';
+		$endtag = '>';
 		if ( $BuildReportFormat eq 'xhtml' || $BuildReportFormat eq 'xml' ) {
 			$endtag = ' />';
 		}
@@ -837,19 +876,12 @@
 			  . "follow\"$endtag\n";
 		}
 		else {
-			print "<meta name=\"robots\" content=\"noindex,nofollow\"$endtag\n";
+			print "<meta name=\"robots\" content=\"NOINDEX,NOFOLLOW\"$endtag\n";
 		}
 
 		# Affiche tag meta content-type
 		if ( $BuildReportFormat eq 'xhtml' || $BuildReportFormat eq 'xml' ) {
-			print( $ENV{'HTTP_USER_AGENT'} =~ /MSIE|Googlebot/i
-				? "<meta http-equiv=\"content-type\" content=\"text/html; charset="
-				  . ( $PageCode ? $PageCode : "iso-8859-1" )
-				  . "\"$endtag\n"
-				: "<meta http-equiv=\"content-type\" content=\"text/xml; charset="
-				  . ( $PageCode ? $PageCode : "iso-8859-1" )
-				  . "\"$endtag\n"
-			);
+			;
 		}
 		else {
 			print
@@ -859,99 +891,43 @@
 		}
 
 		if ($Expires) {
+			if ( $BuildReportFormat ne 'xhtml' && $BuildReportFormat eq 'xml' ) {
 			print "<meta http-equiv=\"expires\" content=\""
 			  . ( gmtime( $starttime + $Expires ) )
 			  . "\"$endtag\n";
 		}
+		}
 		my @k = keys
 		  %HTMLOutput;    # This is to have a unique title and description page
-		print "<meta http-equiv=\"description\" content=\""
+		print "<meta name=\"description\" content=\""
 		  . ucfirst($PROG)
 		  . " - Advanced Web Statistics for $SiteDomain$periodtitle"
 		  . ( $k[0] ? " - " . $k[0] : "" )
 		  . "\"$endtag\n";
-		if ( $MetaRobot && $FrameName ne 'mainleft' ) {
+		if ( $FrameName ne 'mainleft' ) {
 			print
-"<meta http-equiv=\"keywords\" content=\"$SiteDomain, free, advanced, realtime, web, server, logfile, log, analyzer, analysis, statistics, stats, perl, analyse, performance, hits, visits\"$endtag\n";
+"<meta name=\"keywords\" content=\"$SiteDomain, free, advanced, realtime, web, server, logfile, log, analyzer, analysis, statistics, stats, perl, analyse, performance, hits, visits\"$endtag\n";
 		}
 		print "<title>$Message[7] $SiteDomain$periodtitle"
 		  . ( $k[0] ? " - " . $k[0] : "" )
 		  . "</title>\n";
 		if ( $FrameName ne 'index' ) {
 
-			if ($StyleSheet) {
-				print "<link rel=\"stylesheet\" href=\"$StyleSheet\"$endtag\n";
+			if ($TOOLTIPON) {
+				if ( $BuildReportFormat ne 'xhtml' && $BuildReportFormat ne 'xml' ) {
+					print "<meta http-equiv=\"Content-Script-Type\" content=\"text/javascript\">\n";
 			}
-
-# A STYLE section must be in head section. Do not use " for number in a style section
-			print "<style type=\"text/css\">\n";
-			if ( $BuildReportFormat eq 'xhtml' || $BuildReportFormat eq 'xml' )
-			{
-				print( $ENV{'HTTP_USER_AGENT'} =~ /Firebird/i
-					? "<!--\n"
-					: "<![CDATA[\n"
-				);
-			}
-			else { print "<!--\n"; }
-
-			if ( !$StyleSheet ) {
-				print
-"body { font: 11px verdana, arial, helvetica, sans-serif; background-color: #$color_Background; margin-top: 0; margin-bottom: 0; }\n";
-				print ".aws_bodyl  { }\n";
-				print
-".aws_border { border-collapse: collapse; background-color: #$color_TableBG; padding: 1px 1px "
-				  . (    $BuildReportFormat eq 'xhtml'
-					  || $BuildReportFormat eq 'xml' ? "2px" : "1px" )
-				  . " 1px; margin-top: 0px; margin-bottom: 0px; }\n";
-				print
-".aws_title  { font: 13px verdana, arial, helvetica, sans-serif; font-weight: bold; background-color: #$color_TableBGTitle; text-align: center; margin-top: 0; margin-bottom: 0; padding: 1px 1px 1px 1px; color: #$color_TableTitle; }\n";
-				print
-".aws_blank  { font: 13px verdana, arial, helvetica, sans-serif; background-color: #$color_Background; text-align: center; margin-bottom: 0; padding: 1px 1px 1px 1px; }\n";
-				print <<EOF;
-.aws_data {
-	background-color: #$color_Background;
-	border-top-width: 1px;
-	border-left-width: 0px;
-	border-right-width: 0px;
-	border-bottom-width: 0px;
-}
-.aws_formfield { font: 13px verdana, arial, helvetica; }
-.aws_button {
-	font-family: arial,verdana,helvetica, sans-serif;
-	font-size: 12px;
-	border: 1px solid #ccd7e0;
-	background-image : url($DirIcons/other/button.gif);
-}
-th		{ border-color: #$color_TableBorder; border-left-width: 0px; border-right-width: 1px; border-top-width: 0px; border-bottom-width: 1px; padding: 1px 2px 1px 1px; font: 11px verdana, arial, helvetica, sans-serif; text-align:center; color: #$color_titletext; }
-th.aws	{ border-color: #$color_TableBorder; border-left-width: 0px; border-right-width: 1px; border-top-width: 0px; border-bottom-width: 1px; padding: 1px 2px 1px 1px; font-size: 13px; font-weight: bold; }
-td		{ border-color: #$color_TableBorder; border-left-width: 0px; border-right-width: 1px; border-top-width: 0px; border-bottom-width: 1px; font: 11px verdana, arial, helvetica, sans-serif; text-align:center; color: #$color_text; }
-td.aws	{ border-color: #$color_TableBorder; border-left-width: 0px; border-right-width: 1px; border-top-width: 0px; border-bottom-width: 1px; font: 11px verdana, arial, helvetica, sans-serif; text-align:$dir; color: #$color_text; padding: 0px;}
-td.awsm	{ border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; font: 11px verdana, arial, helvetica, sans-serif; text-align:$dir; color: #$color_text; padding: 0px; }
-b { font-weight: bold; }
-a { font: 11px verdana, arial, helvetica, sans-serif; }
-a:link    { color: #$color_link; text-decoration: none; }
-a:visited { color: #$color_link; text-decoration: none; }
-a:hover   { color: #$color_hover; text-decoration: underline; }
-.currentday { font-weight: bold; }
-EOF
+				print "<link rel=\"stylesheet\" type=\"text/css\" href=\"$DirCss/tooltip.css\"$endtag\n";
 			}
 
-			# Call to plugins' function AddHTMLStyles
-			foreach my $pluginname ( keys %{ $PluginsLoaded{'AddHTMLStyles'} } )
-			{
-				my $function = "AddHTMLStyles_$pluginname";
-				&$function();
+			if ($StyleSheet) {
+				print "<link rel=\"stylesheet\" type=\"text/css\" href=\"$StyleSheet\"$endtag\n";
 			}
 
-			if ( $BuildReportFormat eq 'xhtml' || $BuildReportFormat eq 'xml' )
-			{
-				print( $ENV{'HTTP_USER_AGENT'} =~ /Firebird/i
-					? "//-->\n"
-					: "]]>\n"
-				);
+			# A STYLE section must be in head section. Do not use " for number in a style section
+			if ( $BuildReportFormat ne 'xhtml' && $BuildReportFormat ne 'xml' ) {
+				print "<meta http-equiv=\"Content-Style-Type\" content=\"text/css\">\n";
 			}
-			else { print "//-->\n"; }
-			print "</style>\n";
 		}
 
 # les scripts necessaires pour trier avec Tablekit
@@ -998,9 +974,9 @@
 		}
 
 		if ( $FrameName ne 'index' && $FrameName ne 'mainleft' ) {
-			print "$Center<br$endtag<br$endtag\n";
+#			print "$Center<br$endtag<br$endtag\n";
 			print
-"<span dir=\"ltr\" style=\"font: 11px verdana, arial, helvetica; color: #$color_text;\">";
+"<div dir=\"ltr\" style=\"font: 11px verdana, arial, helvetica; color: #$color_text; margin-top:1em\">";
 			print
 "<strong>Advanced Web Statistics $VERSION</strong> - <a href=\"http://awstats.sourceforge.net\">";
 			print $Message[169] . " $PROG";
@@ -1016,13 +992,13 @@
 				}
 				if ($atleastoneplugin) { print ")"; }
 			}
-			print "</a></span><br$endtag\n";
-			if ($HTMLEndSection) { print "<br$endtag\n$HTMLEndSection\n"; }
+			print "</a></div>\n";
+#			if ($HTMLEndSection) { print "<br$endtag\n$HTMLEndSection\n"; }
 		}
 		print "\n";
 		if ( $FrameName ne 'index' ) {
 			if ( $FrameName ne 'mainleft' && $BuildReportFormat eq 'html' ) {
-				print "<br$endtag\n";
+				print "\n";
 			}
 			print "</body>\n";
 		}
@@ -1045,6 +1021,14 @@
 	my $width     = shift || 70;
 	my $class     = shift;
 
+	my $title1;
+	if ($class eq "month") {
+		if ($MonthUsed == 0) { $MonthUsed ++; }
+		else { $class = $class . "$MonthUsed"; }
+	}
+	$title =~ /([^ ]+)([.]*)/;
+	$title1 = "$1";
+	$class = uc($class);
 	# Call to plugins' function TabHeadHTML
 	my $extra_head_html = '';
 	foreach my $pluginname ( keys %{ $PluginsLoaded{'TabHeadHTML'} } ) {
@@ -1054,32 +1038,22 @@
 
 	if ( $width == 70 && $QueryString =~ /buildpdf/i ) {
 		print
-"<table class=\"aws_border sortable\" border=\"0\" cellpadding=\"2\" cellspacing=\"0\" width=\"800\">\n";
+"<table class=\"aws_data sortable\" border=\"1\" cellpadding=\"2\" cellspacing=\"0\" width=\"796\" summary=\"$title1\" id=\"$class\">\n";
 	}
 	else {
 		print
-"<table class=\"aws_border sortable\" border=\"0\" cellpadding=\"2\" cellspacing=\"0\" width=\"100%\">\n";
+"<table class=\"aws_data sortable\" border=\"1\" cellpadding=\"2\" cellspacing=\"0\" width=\"100%\" summary=\"$title1\" id=\"$class\">\n";
 	}
 
 	if ($tooltipnb) {
-		print "<tr><td class=\"aws_title\" width=\"$width%\""
+		print "<caption class=\"aws_title\""
 		  . Tooltip( $tooltipnb, $tooltipnb )
-		  . ">$title "
-		  . $extra_head_html . "</td>";
-	}
-	else {
-		print "<tr><td class=\"aws_title\" width=\"$width%\">$title "
-		  . $extra_head_html . "</td>";
-	}
-	print "<td class=\"aws_blank\"></td></tr>\n";
-	print "<tr><td colspan=\"2\">\n";
-	if ( $width == 70 && $QueryString =~ /buildpdf/i ) {
-		print
-"<table class=\"aws_data\" border=\"1\" cellpadding=\"2\" cellspacing=\"0\" width=\"796\">\n";
+		  . ">$title"
+		  . $extra_head_html . "</caption>\n";
 	}
 	else {
-		print
-"<table class=\"aws_data\" border=\"1\" cellpadding=\"2\" cellspacing=\"0\" width=\"100%\">\n";
+		print "<caption class=\"aws_title\">$title"
+		  . $extra_head_html . "</caption>\n";
 	}
 }
 
@@ -1092,12 +1066,12 @@
 #------------------------------------------------------------------------------
 sub tab_end {
 	my $string = shift;
-	print "</table></td></tr></table>";
+	print "</table>\n";
 	if ($string) {
 		print
-"<span style=\"font: 11px verdana, arial, helvetica;\">$string</span><br$endtag\n";
+"<div style=\"font: 11px verdana, arial, helvetica, sans-serif\">$string</div>\n";
 	}
-	print "<br$endtag\n\n";
+#	print "<br$endtag\n\n";
 }
 
 #------------------------------------------------------------------------------
@@ -1119,9 +1093,10 @@
 
 	if ( !$HeaderHTTPSent && $ENV{'GATEWAY_INTERFACE'} ) { http_head(); }
 	if ( !$HeaderHTMLSent && scalar keys %HTMLOutput )   {
-		print "<html><body>\n";
-		$HeaderHTMLSent = 1;
+		$LangHTML = "en";	# Error messages are in English only
+		html_head();
 	}
+	if ( scalar keys %HTMLOutput ) { print "<div>\n"; }
 	if ($Debug) { debug( "$message $secondmessage $thirdmessage", 1 ); }
 	my $tagbold     = '';
 	my $tagunbold   = '';
@@ -1129,33 +1104,37 @@
 	my $tagfontred  = '';
 	my $tagfontgrey = '';
 	my $tagunfont   = '';
+	my $tagp        = '';
+	my $tagunp      = '';
 	if ( scalar keys %HTMLOutput ) {
 		$tagbold     = '<strong>';
 		$tagunbold   = '</strong>';
-		$tagbr       = '<br$endtag';
+		$tagbr       = "<br$endtag";
 		$tagfontred  = '<span style="color: #880000">';
 		$tagfontgrey = '<span style="color: #888888">';
 		$tagunfont   = '</span>';
+		$tagp        = '<p>';
+		$tagunp      = '</p>';
 	}
 	if ( !$ErrorMessages && $message =~ /^Format error$/i ) {
 
 		# Files seems to have bad format
-		if ( scalar keys %HTMLOutput )   { print "<br$endtag<br$endtag\n"; }
+		if ( scalar keys %HTMLOutput )   { print "<p>\n"; }
 		if ( $message !~ $LogSeparator ) {
 
 			# Bad LogSeparator parameter
 			print
-"${tagfontred}AWStats did not found the ${tagbold}LogSeparator${tagunbold} in your log records.${tagbr}${tagunfont}\n";
+"${tagfontred}AWStats did not found the ${tagbold}LogSeparator${tagunbold} in your log records.${tagunp}${tagunfont}\n";
 		}
 		else {
 
 			# Bad LogFormat parameter
 			print
-"AWStats did not find any valid log lines that match your ${tagbold}LogFormat${tagunbold} parameter, in the ${NbOfLinesForCorruptedLog}th first non commented lines read of your log.${tagbr}\n";
+"AWStats did not find any valid log lines that match your ${tagbold}LogFormat${tagunbold} parameter, in the ${NbOfLinesForCorruptedLog}th first non commented lines read of your log.${tagunp}\n";
 			print
-"${tagfontred}Your log file ${tagbold}$thirdmessage${tagunbold} must have a bad format or ${tagbold}LogFormat${tagunbold} parameter setup does not match this format.${tagbr}${tagbr}${tagunfont}\n";
+"${tagp}${tagfontred}Your log file ${tagbold}$thirdmessage${tagunbold} must have a bad format or ${tagbold}LogFormat${tagunbold} parameter setup does not match this format.${tagunfont}${tagunp}\n";
 			print
-			  "Your AWStats ${tagbold}LogFormat${tagunbold} parameter is:\n";
+			  "${tagp}Your AWStats ${tagbold}LogFormat${tagunbold} parameter is:\n";
 			print "${tagbold}$LogFormat${tagunbold}${tagbr}\n";
 			print
 			  "This means each line in your web server log file need to have ";
@@ -1167,7 +1146,7 @@
 "111.22.33.44 - - [10/Jan/2001:02:14:14 +0200] \"GET / HTTP/1.1\" 200 1234 \"http://www.fromserver.com/from.htm\" \"Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)\"\n";
 				print(
 					scalar keys %HTMLOutput
-					? "</em>$tagunfont${tagbr}${tagbr}\n"
+					? "</em>$tagunfont${tagunp}\n"
 					: ""
 				);
 			}
@@ -1179,13 +1158,13 @@
 "date time c-ip c-username cs-method cs-uri-sterm sc-status sc-bytes cs-version cs(User-Agent) cs(Referer)\n";
 				print(
 					scalar keys %HTMLOutput
-					? "</em>$tagunfont${tagbr}${tagbr}\n"
+					? "</em>$tagunfont${tagunp}\n"
 					: ""
 				);
 			}
 			if ( $LogFormat == 3 ) {
 				print
-"${tagbold}\"WebStar native log format\"${tagunbold}${tagbr}\n";
+"${tagbold}\"WebStar native log format\"${tagunbold}${tagunp}\n";
 			}
 			if ( $LogFormat == 4 ) {
 				print
@@ -1195,7 +1174,7 @@
 "111.22.33.44 - - [10/Jan/2001:02:14:14 +0200] \"GET / HTTP/1.1\" 200 1234\n";
 				print(
 					scalar keys %HTMLOutput
-					? "</em>$tagunfont${tagbr}${tagbr}\n"
+					? "</em>$tagunfont${tagunp}\n"
 					: ""
 				);
 			}
@@ -1207,7 +1186,7 @@
 "111.22.33.44 - Firstname Middlename Lastname [10/Jan/2001:02:14:14 +0200] \"GET / HTTP/1.1\" 200 1234 \"http://www.fromserver.com/from.htm\" \"Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)\"\n";
 				print(
 					scalar keys %HTMLOutput
-					? "</em></span>${tagbr}${tagbr}\n"
+					? "</em></span>${tagunp}\n"
 					: ""
 				);
 			}
@@ -1217,17 +1196,17 @@
 				print "$LogFormat\n";
 				print(
 					scalar keys %HTMLOutput
-					? "</em>$tagunfont${tagbr}${tagbr}\n"
+					? "</em>$tagunfont${tagunp}\n"
 					: ""
 				);
 			}
 			print
-"And this is an example of records AWStats found in your log file (the record number $NbOfLinesForCorruptedLog in your log):\n";
+"${tagp}And this is an example of records AWStats found in your log file (the record number $NbOfLinesForCorruptedLog in your log):\n";
 			print( scalar keys %HTMLOutput ? "<br$endtag$tagfontgrey<em>" : "" );
 			print "$secondmessage";
 			print(
 				scalar keys %HTMLOutput
-				? "</em>$tagunfont${tagbr}${tagbr}"
+				? "</em>$tagunfont${tagunp}"
 				: ""
 			);
 			print "\n";
@@ -1238,9 +1217,9 @@
 #print "\n";
 	}
 	else {
-		print( scalar keys %HTMLOutput ? "<br$endtag$tagfontred\n" : "" );
+		print( scalar keys %HTMLOutput ? "<p>$tagfontred\n" : "" );
 		print( $ErrorMessages? "$ErrorMessages" : "Error: $message" );
-		print( scalar keys %HTMLOutput ? "\n</span><br$endtag" : "" );
+		print( scalar keys %HTMLOutput ? "\n</span></p>" : "" );
 		print "\n";
 	}
 	if ( !$ErrorMessages && !$donotshowsetupinfo ) {
@@ -1248,7 +1227,7 @@
 			my $dir = $DIR;
 			if ( $dir =~ /^\./ ) { $dir .= '/../..'; }
 			else { $dir =~ s/[\\\/]?wwwroot[\/\\]cgi-bin[\\\/]?//; }
-			print "${tagbr}\n";
+			print "${tagp}\n";
 			if ( $ENV{'GATEWAY_INTERFACE'} ) {
 				print
 "- ${tagbold}Did you use the correct URL ?${tagunbold}${tagbr}\n";
@@ -1266,13 +1245,12 @@
 			print
 "- ${tagbold}Did you create your config file 'awstats.$SiteConfig.conf' ?${tagunbold}${tagbr}\n";
 			print
-"If not, you can run \"awstats_configure.pl\"\nfrom command line, or create it manually.${tagbr}\n";
-			print "${tagbr}\n";
+"If not, you can run \"awstats_configure.pl\"\nfrom command line, or create it manually.${tagunp}\n";
 		}
 		else {
-			print "${tagbr}${tagbold}Setup ("
+			print "${tagp}${tagbold}Setup ("
 			  . ( $FileConfig ? "'" . $FileConfig . "'" : "Config" )
-			  . " file, web server or permissions) may be wrong.${tagunbold}${tagbr}\n";
+			  . " file, web server or permissions) may be wrong.${tagunbold}${tagunp}\n";
 		}
 		print
 "Check config file, permissions and AWStats documentation (in 'docs' directory).\n";
@@ -1280,7 +1258,7 @@
 
 	# Remove lock if not a lock message
 	if ( $EnableLockForUpdate && $message !~ /lock file/ ) { &Lock_Update(0); }
-	if ( scalar keys %HTMLOutput ) { print "</body></html>\n"; }
+	if ( scalar keys %HTMLOutput ) { print "</div>\n</body></html>\n"; }
 	exit 1;
 }
 
@@ -1299,7 +1277,7 @@
 		if ( !$HeaderHTTPSent && $ENV{'GATEWAY_INTERFACE'} ) { http_head(); }
 		if ( !$HeaderHTMLSent )        { html_head(); }
 		if ( scalar keys %HTMLOutput ) {
-			$messagestring =~ s/\n/\<br\>/g;
+			$messagestring =~ s/\n/\<br$endtag/g;
 			print "$messagestring<br$endtag\n";
 		}
 		else {
@@ -1915,6 +1893,14 @@
 			if ( $QueryString !~ /diricons=([^\s&]+)/i ) { $DirIcons = $value; }
 			next;
 		}
+		if ($param =~ /^DirJs/) {
+			if ($QueryString !~ /dirjs=([^\s&]+)/i) { $DirJs=$value; }
+			next;
+			}
+		if ($param =~ /^DirCss/) {
+			if ($QueryString !~ /dircss=([^\s&]+)/i) { $DirCss=$value; }
+			next;
+			}
 		if ( $param =~ /^SiteDomain/ ) {
 
 			# No regex test as SiteDomain is always exact value
@@ -2585,6 +2571,9 @@
 	$DirData      ||= '.';
 	$DirCgi       ||= '/cgi-bin';
 	$DirIcons     ||= '/icon';
+	$DirJs        ||= '/js';
+	$DirCss       ||= '/css';
+	$StyleSheet   ||= '/awstatscss/awstats_bw.css';
 	if ( $DNSLookup !~ /[0-2]/ ) {
 		error(
 "DNSLookup parameter is wrong in config/domain file. Value is '$DNSLookup' (should be 0,1 or 2)"
@@ -2619,6 +2608,13 @@
 	if ( $BuildReportFormat !~ /html|xhtml|xml/i ) {
 		$BuildReportFormat = 'html';
 	}
+	if ($BuildReportFormat eq "html") {		# HTML 4.1
+		$endtag=">";
+		$OptionSelect = "selected";
+	} else {								# XHTML 1.1
+		$endtag=" />";
+		$OptionSelect = "selected=\"selected\"";
+	}
 	if ( $BuildHistoryFormat !~ /text|xml/ ) { $BuildHistoryFormat = 'text'; }
 	if ( $SaveDatabaseFilesWithPermissionsForEveryone !~ /[0-1]/ ) {
 		$SaveDatabaseFilesWithPermissionsForEveryone = 0;
@@ -2773,10 +2769,8 @@
 		}
 	}
 	if ( $FirstDayOfWeek !~ /[01]/ )   { $FirstDayOfWeek   = 1; }
-	if ( $UseFramesWhenCGI !~ /[01]/ ) { $UseFramesWhenCGI = 1; }
-	if ( $DetailedReportsOnNewWindows !~ /[012]/ ) {
-		$DetailedReportsOnNewWindows = 1;
-	}
+	$UseFramesWhenCGI = 0;	# フレームは使用しない
+	$DetailedReportsOnNewWindows = 0;		# 別ウィンドウは使用しない
 	if ( $ShowLinksOnUrl !~ /[01]/ ) { $ShowLinksOnUrl = 1; }
 	if ( $MaxLengthOfShownURL !~ /^\d+/ || $MaxLengthOfShownURL < 1 ) {
 		$MaxLengthOfShownURL = 64;
@@ -3095,6 +3089,8 @@
 					'rawlog'               => 'o',
 					'userinfo'             => 'o',
 					'urlalias'             => 'o',
+					'graphapplet'          => 'o',
+					'graphgooglechartapi'  => 'o',
 					'tooltips'             => 'o'
 				);
 				if ( $pluginisfor{$pluginname} )
@@ -7716,6 +7712,7 @@
 	$_[0] =~ s/%0[ad]/ /ig;          # LF CR
 	$_[0] =~ s/%2[02789abc]/ /ig;    # space " ' ( ) * + ,
 	$_[0] =~ s/%3a/ /ig;             # :
+	$_[0] =~ s/　/ /ig;				# fullwidth space -> space
 	$_[0] =~
 	  tr/\+\'\(\)\"\*,:/        /s;    # "&" and "=" must not be in this list
 }
@@ -7726,10 +7723,15 @@
 # Return:		encodedstring
 #------------------------------------------------------------------------------
 sub XMLEncode {
-	if ( $BuildReportFormat ne 'xhtml' && $BuildReportFormat ne 'xml' ) {
-		return shift;
-	}
+# エスケープはHTMLでも必要
+#	if ( $BuildReportFormat ne 'xhtml' && $BuildReportFormat ne 'xml' ) {
+#		return shift;
+#	}
 	my $string = shift;
+	$string =~ s/&lt;/</g;	# to avoid &lt; bocome &amp;lt; if after CleanXSS
+	$string =~ s/&gt;/>/g;	# to avoid &lt; bocome &amp;gt; if after CleanXSS
+	$string =~ s/&quot;/"/g;	# to avoid &lt; bocome &amp;quot; if after CleanXSS
+	$string =~ s/&apos;/'/g;	# to avoid &lt; bocome &amp;apos; if after CleanXSS
 	$string =~ s/&/&amp;/g;
 	$string =~ s/</&lt;/g;
 	$string =~ s/>/&gt;/g;
@@ -7748,8 +7750,16 @@
 sub XMLEncodeForHisto {
 	my $string = shift;
 	$string =~ s/\s/%20/g;
+	$string =~ s/&lt;/</g;
+	$string =~ s/&gt;/>/g;
+	$string =~ s/&quot;/"/g;
+	$string =~ s/&apos;/'/g;
 	if ( $BuildHistoryFormat ne 'xml' ) { return $string; }
 	$string =~ s/=/%3d/g;
+	$string =~ s/&lt;/</g;
+	$string =~ s/&gt;/>/g;
+	$string =~ s/&quot;/"/g;
+	$string =~ s/&apos;/'/g;
 	$string =~ s/&/&amp;/g;
 	$string =~ s/</&lt;/g;
 	$string =~ s/>/&gt;/g;
@@ -7796,8 +7806,40 @@
 	my $stringtodecode = shift;
 	$stringtodecode =~ tr/\+/ /s;
 	$stringtodecode =~ s/%([A-F0-9][A-F0-9])/pack("C", hex($1))/ieg;
-	$stringtodecode =~ s/["']//g;
-
+	if ( $stringtodecode =~ /&.+;/ ) {
+		$stringtodecode = HTML::Entities::Numbered::name2hex($stringtodecode);
+		while ($stringtodecode =~ /(&#x([0-9a-fA-F]{4});)/) {
+			my $a = $1;
+			my $b = pack("H*","FEFF".$2);			# EncodeはBOMを要求する。
+			Encode::from_to($b, "utf16", "utf8");
+			$stringtodecode =~ s/$a/$b/;
+		}
+		while ($stringtodecode =~ /(&#x([0-9a-fA-F]{2});)/) {
+			$a = $1;
+			$b = pack("H*","FEFF00".$2);			# EncodeはBOMを要求する。
+			Encode::from_to($b, "utf16", "utf8");
+			$stringtodecode =~ s/$a/$b/;
+		}
+		while ($stringtodecode =~ /(&#([0-9]+);)/) {
+			$a = $1;
+			$b = sprintf "%X", $2;
+			if ( length($b) == 3 ) {
+				$b = "0" . $b;
+			} elsif ( length($b) == 2 ) {
+				$b = "00" . $b;
+			} elsif ( length($b) == 1 ) {
+				$b = "000" . $b;
+			}
+			$b = pack("H*","FEFF".$b);			# EncodeはBOMを要求する。
+			Encode::from_to($b, "utf16", "utf8");
+			$stringtodecode =~ s/$a/$b/;
+		}
+	}
+	$stringtodecode = Unicode::Japanese->new($stringtodecode)->h2zKana->get;
+	$stringtodecode = Unicode::Japanese->new($stringtodecode)->z2hSym->get;
+	$stringtodecode = Unicode::Japanese->new($stringtodecode)->z2hNum->get;
+	$stringtodecode = Unicode::Japanese->new($stringtodecode)->z2hAlpha->get;
+	$stringtodecode = $KeyWordsNotSensitive ? lc( $stringtodecode ) : $stringtodecode;
 	return $stringtodecode;
 }
 
@@ -7982,7 +8024,7 @@
 			);
 			print "<a href=\""
 			  . XMLEncode("$AWScript${NewLinkParams}lang=$lng")
-			  . "\"$NewLinkTarget><img src=\"$DirIcons\/flags\/$flag.png\" height=\"14\" border=\"0\""
+			  . "\"$NewLinkTarget><img src=\"$DirIcons\/flags\/$flag.png\" height=\"14\" width=\"14\""
 			  . AltTitle("$lngtitle")
 			  . "$endtag</a>&nbsp;\n";
 		}
@@ -8087,9 +8129,16 @@
 	my $sec        = substr( "$date", 12, 2 );
 	my $dateformat = $Message[78];
 
+	$day =~ s/^0//;		#supress leading 0
+
 	if ( $option == 2 ) {
-		$dateformat =~ s/^[^ymd]+//g;
-		$dateformat =~ s/[^ymd]+$//g;
+		$dateformat = $Message[200];	# dd mmm yy
+	} elsif ($option == 3) {		# mmm<br>yyyy
+		$dateformat = $Message[201];
+	} elsif ($option == 4) {		# mmm yyyy
+		$dateformat = $Message[202];
+	} elsif ($option == 5) {		# dd<br>mmm
+		$dateformat = $Message[203];
 	}
 	$dateformat =~ s/yyyy/$year/g;
 	$dateformat =~ s/yy/$year/g;
@@ -8099,6 +8148,7 @@
 	$dateformat =~ s/HH/$hour/g;
 	$dateformat =~ s/MM/$min/g;
 	$dateformat =~ s/SS/$sec/g;
+	$dateformat =~ s/break/<br$endtag/g;
 	return "$dateformat";
 }
 
@@ -8339,7 +8389,7 @@
 	foreach my $key ( values %egal ) { $notsortedkeylist{$key} = 1; }
 	@keylist = ();
 	@keylist = (
-		sort { ( $hashfororder->{$b} || 0 ) <=> ( $hashfororder->{$a} || 0 ) }
+	sort { (( $hashfororder->{$b} || 0 ) <=> ( $hashfororder->{$a} || 0 ) or ( $a cmp $b )) }	# ヒット数が同じなら文字列順
 		  keys %notsortedkeylist
 	);
 	if ($Debug) {
@@ -8644,54 +8694,56 @@
 		$NewLinkParams =~ s/^&amp;//;
 		$NewLinkParams =~ s/&amp;$//;
 		if ($NewLinkParams) { $NewLinkParams = "${NewLinkParams}&amp;"; }
-		print "\n<form name=\"FormFilter\" action=\""
+		print "\n<form"
+		  . ($BuildReportFormat eq 'html' ? " name=\"FORMFILTER\"" : "")
+		  . " id=\"FORMFILTER\" action=\""
 		  . XMLEncode("$AWScript${NewLinkParams}")
 		  . "\" class=\"aws_border\">\n";
 		print
-"<table class=\"vmiddle\" width=\"99%\" border=\"0\" cellspacing=\"0\" cellpadding=\"2\"><tr>\n";
-		print "<td align=\"left\" width=\"50\">$Message[79]&nbsp;:</td>\n";
+"<table class=\"vmiddle\" width=\"99%\" border=\"0\" cellspacing=\"0\" cellpadding=\"2\" summary=\"FormFilter\">\n<col width=\"100\"$endtag<col width=\"100\"$endtag<col$endtag<col width=\"100\"$endtag<col width=\"100\"$endtag\n<tr>\n";
+		print "<td class=\"tleft\">$Message[79]&nbsp;:</td>\n";
 		print
-"<td align=\"left\" width=\"100\"><input type=\"text\" name=\"${fieldfiltername}\" value=\"$fieldfilterinvalue\" class=\"aws_formfield\"$endtag</td>\n";
+"<td class=\"tleft\"><input type=\"text\" name=\"${fieldfiltername}\" value=\"$fieldfilterinvalue\" class=\"aws_formfield\" tabindex=\"3\" accesskey=\"3\"$endtag</td>\n";
 		print "<td></td>";
-		print "<td align=\"left\" width=\"100\">$Message[153]&nbsp;:</td>\n";
+		print "<td class=\"tleft\">$Message[153]&nbsp;:</td>\n";
 		print
-"<td align=\"left\" width=\"100\"><input type=\"text\" name=\"${fieldfiltername}ex\" value=\"$fieldfilterexvalue\" class=\"aws_formfield\"$endtag</td>\n";
+"<td class=\"tleft\"><input type=\"text\" name=\"${fieldfiltername}ex\" value=\"$fieldfilterexvalue\" class=\"aws_formfield\" tabindex=\"4\" accesskey=\"4\"$endtag</td>\n";
 		print "<td>";
 		print "<input type=\"hidden\" name=\"output\" value=\""
 		  . join( ',', keys %HTMLOutput )
-		  . "\"$endtag\n";
+		  . "\" tabindex=\"5\"$endtag\n";
 
 		if ($SiteConfig) {
 			print
-"<input type=\"hidden\" name=\"config\" value=\"$SiteConfig\"$endtag\n";
+"<input type=\"hidden\" name=\"config\" value=\"$SiteConfig\" tabindex=\"6\"$endtag\n";
 		}
 		if ($DirConfig) {
 			print
-"<input type=\"hidden\" name=\"configdir\" value=\"$DirConfig\"$endtag\n";
+"<input type=\"hidden\" name=\"configdir\" value=\"$DirConfig\" tabindex=\"7\"$endtag\n";
 		}
 		if ( $QueryString =~ /(^|&|&amp;)year=(\d\d\d\d)/i ) {
-			print "<input type=\"hidden\" name=\"year\" value=\"$2\"$endtag\n";
+			print "<input type=\"hidden\" name=\"year\" value=\"$2\" tabindex=\"8\"$endtag\n";
 		}
 		if (   $QueryString =~ /(^|&|&amp;)month=(\d\d)/i
 			|| $QueryString =~ /(^|&|&amp;)month=(all)/i )
 		{
-			print "<input type=\"hidden\" name=\"month\" value=\"$2\"$endtag\n";
+			print "<input type=\"hidden\" name=\"month\" value=\"$2\" tabindex=\"9\"$endtag\n";
 		}
 		if ( $QueryString =~ /(^|&|&amp;)lang=(\w+)/i ) {
-			print "<input type=\"hidden\" name=\"lang\" value=\"$2\"$endtag\n";
+			print "<input type=\"hidden\" name=\"lang\" value=\"$2\" tabindex=\"10\"$endtag\n";
 		}
 		if ( $QueryString =~ /(^|&|&amp;)debug=(\d+)/i ) {
-			print "<input type=\"hidden\" name=\"debug\" value=\"$2\"$endtag\n";
+			print "<input type=\"hidden\" name=\"debug\" value=\"$2\" tabindex=\"11\"$endtag\n";
 		}
 		if ( $QueryString =~ /(^|&|&amp;)framename=(\w+)/i ) {
-			print "<input type=\"hidden\" name=\"framename\" value=\"$2\"$endtag\n";
+			print "<input type=\"hidden\" name=\"framename\" value=\"$2\" tabindex=\"12\"$endtag\n";
 		}
 		print
-"<input type=\"submit\" value=\" $Message[115] \" class=\"aws_button\"$endtag</td>\n";
+"<input type=\"submit\" value=\" $Message[115] \" class=\"aws_button\" tabindex=\"13\" accesskey=\"s\"$endtag</td>\n";
 		print "<td></td>";
 		print "</tr></table>\n";
 		print "</form>\n";
-		print "<br$endtag\n";
+#		print "<br$endtag\n";
 		print "\n";
 	}
 }
@@ -9347,8 +9399,8 @@
 
 # At least one entry in menu for this category, we can show category and entries
 	my $WIDTHMENU1 = ( $FrameName eq 'mainleft' ? $FRAMEWIDTH : 150 );
-	print "<tr><td class=\"awsm\" width=\"$WIDTHMENU1\""
-	  . ( $frame ? "" : " valign=\"top\"" ) . ">"
+	print "<tr><td class=\"awsm"
+	  . ( $frame ? "\"" : " vtop\"" ) . ">"
 	  . ( $categicon ? "<img src=\"$DirIcons/other/$categicon\"$endtag&nbsp;" : "" )
 	  . "<strong>$categtext:</strong></td>\n";
 	print( $frame? "</tr>\n" : "<td class=\"awsm\">" );
@@ -9357,7 +9409,7 @@
 		if ( $menulink->{$key} == 1 ) {
 			print( $frame? "<tr><td class=\"awsm\">" : "" );
 			print
-			  "<a href=\"$linkanchor#$key\"$targetpage>$menutext->{$key}</a>";
+			  "<a href=\"$linkanchor#" . uc($key) . "\"$targetpage>$menutext->{$key}</a>";
 			print( $frame? "</td></tr>\n" : " &nbsp; " );
 		}
 		if ( $menulink->{$key} == 2 ) {
@@ -9370,7 +9422,7 @@
 				$ENV{'GATEWAY_INTERFACE'}
 				  || !$StaticLinks
 				? XMLEncode("$AWScript${NewLinkParams}output=$key")
-				: "$StaticLinks.$key.$StaticExt"
+				: "$StaticLinks . uc($key) . $StaticExt"
 			  )
 			  . "\"$NewLinkTarget>$menutext->{$key}</a>\n";
 			print( $frame? "</td></tr>\n" : " &nbsp; " );
@@ -9405,7 +9457,7 @@
 	#&ShowFormFilter("emailsfilter",$EmailsFilter);
 	# Show emails list
 
-	print "$Center<a name=\"emailsenders\">&nbsp;</a><br$endtag\n";
+#	print "$Center<a name=\"emailsenders\">&nbsp;</a><br$endtag\n";
 	my $title;
 	if ( $HTMLOutput{'allemails'} || $HTMLOutput{'lastemails'} ) {
 		$title = "$Message[131]";
@@ -9432,30 +9484,44 @@
 		}
 	}
 	&tab_head( "$title", 19, 0, 'emailsenders' );
+	print "<col width=\"30%\"$endtag<col$endtag<col width=\"30%\"$endtag";
+	if ( $ShowEMailSenders =~ /H/i ) {
+		print "<col width=\"80\"$endtag";
+	}
+	if ( $ShowEMailSenders =~ /B/i ) {
+		print "<col width=\"80\"$endtag";
+	}
+	if ( $ShowEMailSenders =~ /M/i ) {
+		print "<col width=\"80\"$endtag";
+	}
+	if ( $ShowEMailSenders =~ /L/i ) {
+		print "<col width=\"120\"$endtag";
+	}
+	print "\n";
 	print
-"<tr bgcolor=\"#$color_TableBGRowTitle\"><th colspan=\"3\">$Message[131] : "
+"<tr class=\"colortab\"><th colspan=\"3\" abbr=\"$Message[131]\">$Message[131] : "
 	  . ( scalar keys %_emails_h ) . "</th>";
 	if ( $ShowEMailSenders =~ /H/i ) {
-		print "<th rowspan=\"2\" bgcolor=\"#$color_h\" width=\"80\""
+		print "<th rowspan=\"2\" class=\"colorh\""
 		  . Tooltip(4)
-		  . ">$Message[57]</th>";
+		  . " abbr=\"$Message[57]\">$Message[57]</th>";
 	}
 	if ( $ShowEMailSenders =~ /B/i ) {
 		print
-"<th class=\"datasize\" rowspan=\"2\" bgcolor=\"#$color_k\" width=\"80\""
+"<th class=\"datasize colork\" rowspan=\"2\""
 		  . Tooltip(5)
-		  . ">$Message[75]</th>";
+		  . " abbr=\"$Message[75]\">$Message[75]</th>";
 	}
 	if ( $ShowEMailSenders =~ /M/i ) {
 		print
-"<th rowspan=\"2\" bgcolor=\"#$color_k\" width=\"80\">$Message[106]</th>";
+"<th rowspan=\"2\" class=\"colork\" abbr=\"$Message[106]\">$Message[106]</th>";
 	}
 	if ( $ShowEMailSenders =~ /L/i ) {
-		print "<th rowspan=\"2\" width=\"120\">$Message[9]</th>";
+		print "<th rowspan=\"2\" abbr=\"$Message[9]\">$Message[9]</th>";
 	}
 	print "</tr>\n";
 	print
-"<tr bgcolor=\"#$color_TableBGRowTitle\"><th width=\"30%\">Local</th><td></td><th width=\"30%\">External</th></tr>";
+"<tr class=\"colortab\"><th abbr=\"Local\">Local</th><td></td><th abbr=\"External\">External</th></tr>";
 	$total_p = $total_h = $total_k = 0;
 	$max_h = 1;
 	foreach ( values %_emails_h ) {
@@ -9506,16 +9572,16 @@
 		}
 		if ( $ShowEMailSenders =~ /H/i ) { print "<td>$_emails_h{$key}</td>"; }
 		if ( $ShowEMailSenders =~ /B/i ) {
-			print "<td nowrap=\"nowrap\">"
+			print "<td class=\"nowrap\">"
 			  . Format_Bytes( $_emails_k{$key} ) . "</td>";
 		}
 		if ( $ShowEMailSenders =~ /M/i ) {
-			print "<td nowrap=\"nowrap\">"
+			print "<td class=\"nowrap\">"
 			  . Format_Bytes( $_emails_k{$key} / ( $_emails_h{$key} || 1 ) )
 			  . "</td>";
 		}
 		if ( $ShowEMailSenders =~ /L/i ) {
-			print "<td nowrap=\"nowrap\">"
+			print "<td class=\"nowrap\">"
 			  . ( $_emails_l{$key} ? Format_Date( $_emails_l{$key}, 1 ) : '-' )
 			  . "</td>";
 		}
@@ -9534,10 +9600,10 @@
 "<tr><td colspan=\"3\"><span style=\"color: #$color_other\">$Message[2]</span></td>";
 		if ( $ShowEMailSenders =~ /H/i ) { print "<td>$rest_h</td>"; }
 		if ( $ShowEMailSenders =~ /B/i ) {
-			print "<td nowrap=\"nowrap\">" . Format_Bytes($rest_k) . "</td>";
+			print "<td class=\"nowrap\">" . Format_Bytes($rest_k) . "</td>";
 		}
 		if ( $ShowEMailSenders =~ /M/i ) {
-			print "<td nowrap=\"nowrap\">"
+			print "<td class=\"nowrap\">"
 			  . Format_Bytes( $rest_k / ( $rest_h || 1 ) ) . "</td>";
 		}
 		if ( $ShowEMailSenders =~ /L/i ) { print "<td></td>"; }
@@ -9572,7 +9638,7 @@
 	#&ShowFormFilter("emailrfilter",$EmailrFilter);
 	# Show emails list
 
-	print "$Center<a name=\"emailreceivers\">&nbsp;</a><br$endtag\n";
+#	print "$Center<a name=\"emailreceivers\">&nbsp;</a><br$endtag\n";
 	my $title;
 	if ( $HTMLOutput{'allemailr'} || $HTMLOutput{'lastemailr'} ) {
 		$title = "$Message[132]";
@@ -9599,30 +9665,45 @@
 		}
 	}
 	&tab_head( "$title", 19, 0, 'emailreceivers' );
+	print "<col width=\"30%\"$endtag<col$endtag<col width=\"30%\"$endtag";
+	if ( $ShowEMailReceivers =~ /H/i ) {
+		print "<col width=\"80\"$endtag";
+	}
+	if ( $ShowEMailReceivers =~ /B/i ) {
+		print "<col width=\"80\"$endtag";
+	}
+	if ( $ShowEMailReceivers =~ /M/i ) {
+		print "<col width=\"80\"$endtag";
+	}
+	if ( $ShowEMailReceivers =~ /L/i ) {
+		print "<col width=\"120\"$endtag";
+	}
+	print "\n";
+
 	print
-"<tr bgcolor=\"#$color_TableBGRowTitle\"><th colspan=\"3\">$Message[132] : "
+"<tr class=\"colortab\"><th colspan=\"3\" abbr=\"$Message[132]\">$Message[132] : "
 	  . ( scalar keys %_emailr_h ) . "</th>";
 	if ( $ShowEMailReceivers =~ /H/i ) {
-		print "<th rowspan=\"2\" bgcolor=\"#$color_h\" width=\"80\""
+		print "<th rowspan=\"2\" class=\"colorh\""
 		  . Tooltip(4)
-		  . ">$Message[57]</th>";
+		  . " abbr=\"$Message[57]\">$Message[57]</th>";
 	}
 	if ( $ShowEMailReceivers =~ /B/i ) {
 		print
-"<th class=\"datasize\" rowspan=\"2\" bgcolor=\"#$color_k\" width=\"80\""
+"<th class=\"datasize colork\" rowspan=\"2\""
 		  . Tooltip(5)
-		  . ">$Message[75]</th>";
+		  . " abbr=\"$Message[75]\">$Message[75]</th>";
 	}
 	if ( $ShowEMailReceivers =~ /M/i ) {
 		print
-"<th rowspan=\"2\" bgcolor=\"#$color_k\" width=\"80\">$Message[106]</th>";
+"<th rowspan=\"2\" class=\"colork\" abbr=\"$Message[106]\">$Message[106]</th>";
 	}
 	if ( $ShowEMailReceivers =~ /L/i ) {
-		print "<th rowspan=\"2\" width=\"120\">$Message[9]</th>";
+		print "<th rowspan=\"2\" abbr=\"$Message[9]\">$Message[9]</th>";
 	}
 	print "</tr>\n";
 	print
-"<tr bgcolor=\"#$color_TableBGRowTitle\"><th width=\"30%\">Local</th><td></td><th width=\"30%\">External</th></tr>";
+"<tr class=\"colortab\"><th abbr=\"Local\">Local</th><td></td><th abbr=\"External\">External</th></tr>";
 	$total_p = $total_h = $total_k = 0;
 	$max_h = 1;
 	foreach ( values %_emailr_h ) {
@@ -9675,16 +9756,16 @@
 			print "<td>$_emailr_h{$key}</td>";
 		}
 		if ( $ShowEMailReceivers =~ /B/i ) {
-			print "<td nowrap=\"nowrap\">"
+			print "<td class=\"nowrap\">"
 			  . Format_Bytes( $_emailr_k{$key} ) . "</td>";
 		}
 		if ( $ShowEMailReceivers =~ /M/i ) {
-			print "<td nowrap=\"nowrap\">"
+			print "<td class=\"nowrap\">"
 			  . Format_Bytes( $_emailr_k{$key} / ( $_emailr_h{$key} || 1 ) )
 			  . "</td>";
 		}
 		if ( $ShowEMailReceivers =~ /L/i ) {
-			print "<td nowrap=\"nowrap\">"
+			print "<td class=\"nowrap\">"
 			  . ( $_emailr_l{$key} ? Format_Date( $_emailr_l{$key}, 1 ) : '-' )
 			  . "</td>";
 		}
@@ -9704,10 +9785,10 @@
 "<tr><td colspan=\"3\"><span style=\"color: #$color_other\">$Message[2]</span></td>";
 		if ( $ShowEMailReceivers =~ /H/i ) { print "<td>$rest_h</td>"; }
 		if ( $ShowEMailReceivers =~ /B/i ) {
-			print "<td nowrap=\"nowrap\">" . Format_Bytes($rest_k) . "</td>";
+			print "<td class=\"nowrap\">" . Format_Bytes($rest_k) . "</td>";
 		}
 		if ( $ShowEMailReceivers =~ /M/i ) {
-			print "<td nowrap=\"nowrap\">"
+			print "<td class=\"nowrap\">"
 			  . Format_Bytes( $rest_k / ( $rest_h || 1 ) ) . "</td>";
 		}
 		if ( $ShowEMailReceivers =~ /L/i ) { print "<td></td>"; }
@@ -9728,7 +9809,7 @@
 	my $frame = ( $FrameName eq 'mainleft' );
 
 	if ($Debug) { debug( "ShowTopBan", 2 ); }
-	print "$Center<a name=\"menu\">&nbsp;</a>\n";
+#	print "$Center<a name=\"menu\">&nbsp;</a>\n";
 
 	if ( $FrameName ne 'mainleft' ) {
 		my $NewLinkParams = ${QueryString};
@@ -9745,22 +9826,25 @@
 		if ( $FrameName eq 'mainright' ) {
 			$NewLinkTarget = "";
 		}
-		print "<form name=\"FormDateFilter\" action=\""
+			print "<form"
+			  . ($BuildReportFormat eq 'html' ? " name=\"FORMDATEFILTER\"" : "")
+			  . " id=\"FORMDATEFILTER\" action=\""
 		  . XMLEncode("$AWScript${NewLinkParams}")
 		  . "\" style=\"padding: 0px 0px 0px 0px; margin-top: 0\"$NewLinkTarget>\n";
 	}
 
 	if ( $QueryString !~ /buildpdf/i ) {
+#		print 二重テーブルを取りやめ
+#"<table class=\"aws_border\" border=\"0\" cellpadding=\"2\" cellspacing=\"0\" width=\"100%\">\n";
+#		print "<tr><td>\n";
 		print
-"<table class=\"aws_border\" border=\"0\" cellpadding=\"2\" cellspacing=\"0\" width=\"100%\">\n";
-		print "<tr><td>\n";
-		print
-"<table class=\"aws_data sortable\" border=\"0\" cellpadding=\"1\" cellspacing=\"0\" width=\"100%\">\n";
+"<table class=\"aws_data sortable\" border=\"0\" cellpadding=\"2\" cellspacing=\"0\" width=\"100%\" summary=\"Menu\">\n";
 	}
 	else {
-		print "<table width=\"100%\">\n";
+		print "<table width=\"100%\" summary=\"Menu\">\n";
 	}
 
+		if ($FrameName ne 'mainleft') { print "<col width=\"$WIDTHMENU1\"$endtag\n";}
 	if ( $FrameName ne 'mainright' ) {
 
 		# Print Statistics Of
@@ -9776,22 +9860,35 @@
 		}
 		else {
 			print
-"<tr><td class=\"aws\" class=\"vmiddle\"><strong>$Message[7]:</strong>&nbsp;</td><td class=\"aws\" class=\"vmiddle\"><span style=\"font-size: 14px;\">$SiteDomain</span></td>";
+"<tr><td class=\"aws vmiddle\"><strong>$Message[7]:</strong></td><td class=\"aws vmiddle\"><span style=\"font-size: 14px;\">$SiteDomain</span></td>";
 		}
 
 		# Logo and flags
+			my $width;
+			my $height;
+			if ($Logo eq "awstats_logo1.png") {
+				$width = 111;
+				$height = 51;
+			} elsif  ($Logo eq "awstats_logo5.png") {
+				$width = 230;
+				$height = 54;
+			} elsif  ($Logo eq "awstats_logo6.png") {
+				$width = 112;
+				$height = 54;
+			}
 		if ( $FrameName ne 'mainleft' ) {
 			if ( $LogoLink =~ "http://awstats.sourceforge.net" ) {
-				print "<td align=\"right\" rowspan=\"3\"><a href=\""
+				print "<td class=\"tright\" rowspan=\"3\"><a href=\""
 				  . XMLEncode($LogoLink)
-				  . "\"><img src=\"$DirIcons/other/$Logo\" border=\"0\""
+				  . "\"><img src=\"$DirIcons/other/$Logo\" width=\"$width\" height=\"$height\""
 				  . AltTitle( ucfirst($PROG) . " Web Site" )
 				  . "$endtag</a>";
 			}
 			else {
-				print "<td align=\"right\" rowspan=\"3\"><a href=\""
+				print "<td class=\"tright\" rowspan=\"3\"><a href=\""
 				  . XMLEncode($LogoLink)
-				  . "\"><img src=\"$DirIcons/other/$Logo\" border=\"0\"$endtag</a>";
+					  . "\"><img src=\"$DirIcons/other/$Logo\" width=\"$width\" height=\"$height\""
+					  . AltTitle(ucfirst($PROG)." Web Site")."$endtag</a>";
 			}
 			if ( !$StaticLinks ) { print "<br$endtag"; Show_Flag_Links($Lang); }
 			print "</td>";
@@ -9802,9 +9899,9 @@
 
 		# Print Last Update
 		print
-"<tr class=\"vmiddle\"><td class=\"aws\" class=\"vmiddle\" width=\"$WIDTHMENU1\"><strong>$Message[35]:</strong>&nbsp;</td>";
+"<tr class=\"vmiddle\"><td class=\"aws vmiddle\"><strong>$Message[35]:</strong></td>";
 		print
-"<td class=\"aws\" class=\"vmiddle\"><span style=\"font-size: 12px;\">";
+"<td class=\"aws vmiddle\"><span style=\"font-size: 12px;\">";
 		if ($LastUpdate) { print Format_Date( $LastUpdate, 0 ); }
 		else {
 
@@ -9846,16 +9943,16 @@
 		# Logo and flags
 		if ( $FrameName eq 'mainright' ) {
 			if ( $LogoLink =~ "http://awstats.sourceforge.net" ) {
-				print "<td align=\"right\" rowspan=\"2\"><a href=\""
+				print "<td class=\"tright\" rowspan=\"2\"><a href=\""
 				  . XMLEncode($LogoLink)
-				  . "\"><img src=\"$DirIcons/other/$Logo\" border=\"0\""
+				  . "\"><img src=\"$DirIcons/other/$Logo\""
 				  . AltTitle( ucfirst($PROG) . " Web Site" )
 				  . "$endtag</a>\n";
 			}
 			else {
-				print "<td align=\"right\" rowspan=\"2\"><a href=\""
+				print "<td class=\"tright\" rowspan=\"2\"><a href=\""
 				  . XMLEncode($LogoLink)
-				  . "\"><img src=\"$DirIcons/other/$Logo\" border=\"0\"$endtag</a>\n";
+				  . "\"><img src=\"$DirIcons/other/$Logo\"$endtag</a>\n";
 			}
 			if ( !$StaticLinks ) { print "<br$endtag"; Show_Flag_Links($Lang); }
 			print "</td>";
@@ -9865,61 +9962,61 @@
 
 		# Print selected period of analysis (month and year required)
 		print
-"<tr><td class=\"aws\" class=\"vmiddle\"><strong>$Message[133]:</strong></td>";
-		print "<td class=\"aws\" class=\"vmiddle\">";
+"<tr><td class=\"aws vmiddle\"><strong>$Message[133]:</strong></td>";
+		print "<td class=\"aws vmiddle\">";
 		if ( $ENV{'GATEWAY_INTERFACE'} || !$StaticLinks ) {
-			print "<select class=\"aws_formfield\" name=\"month\">\n";
+				print "<select class=\"aws_formfield\" name=\"MONTH\" tabindex=\"1\">\n";
 			foreach ( 1 .. 12 ) {
 				my $monthix = sprintf( "%02s", $_ );
 				print "<option"
 				  . (
 					  "$MonthRequired" eq "$monthix"
-					? " selected=\"true\""
+					? " $OptionSelect"
 					: ""
 				  )
 				  . " value=\"$monthix\">$MonthNumLib{$monthix}</option>\n";
 			}
 			if ( $AllowFullYearView >= 2 ) {
 				print "<option"
-				  . ( $MonthRequired eq 'all' ? " selected=\"selected\"" : "" )
+				  . ( $MonthRequired eq 'all' ? " $OptionSelect" : "" )
 				  . " value=\"all\">- $Message[6] -</option>\n";
 			}
 			print "</select>\n";
-			print "<select class=\"aws_formfield\" name=\"year\">\n";
+			print "<select class=\"aws_formfield\" name=\"YEAR\" tabindex=\"2\">\n";
 
 			# Add YearRequired in list if not in ListOfYears
 			$ListOfYears{$YearRequired} ||= $MonthRequired;
 			foreach ( sort keys %ListOfYears ) {
 				print "<option"
-				  . ( $YearRequired eq "$_" ? " selected=\"selected\"" : "" )
+				  . ( $YearRequired eq "$_" ? " $OptionSelect" : "" )
 				  . " value=\"$_\">$_</option>\n";
 			}
 			print "</select>\n";
 			print "<input type=\"hidden\" name=\"output\" value=\""
 			  . join( ',', keys %HTMLOutput )
-			  . "\"$endtag\n";
+			  . "\" tabindex=\"14\"$endtag\n";
 			if ($SiteConfig) {
 				print
-"<input type=\"hidden\" name=\"config\" value=\"$SiteConfig\"$endtag\n";
+"<input type=\"hidden\" name=\"config\" value=\"$SiteConfig\" tabindex=\"15\"$endtag\n";
 			}
 			if ($DirConfig) {
 				print
-"<input type=\"hidden\" name=\"configdir\" value=\"$DirConfig\"$endtag\n";
+"<input type=\"hidden\" name=\"configdir\" value=\"$DirConfig\" tabindex=\"16\"$endtag\n";
 			}
 			if ( $QueryString =~ /lang=(\w+)/i ) {
 				print
-				  "<input type=\"hidden\" name=\"lang\" value=\"$1\"$endtag\n";
+				  "<input type=\"hidden\" name=\"lang\" value=\"$1\" tabindex=\"17\"$endtag\n";
 			}
 			if ( $QueryString =~ /debug=(\d+)/i ) {
 				print
-				  "<input type=\"hidden\" name=\"debug\" value=\"$1\"$endtag\n";
+				  "<input type=\"hidden\" name=\"debug\" value=\"$1\" tabindex=\"18\"$endtag\n";
 			}
 			if ( $FrameName eq 'mainright' ) {
 				print
-"<input type=\"hidden\" name=\"framename\" value=\"index\"$endtag\n";
+"<input type=\"hidden\" name=\"framename\" value=\"index\" tabindex=\"19\"$endtag\n";
 			}
 			print
-"<input type=\"submit\" value=\" $Message[115] \" class=\"aws_button\"$endtag";
+"<input type=\"submit\" value=\" $Message[115] \" class=\"aws_button\" tabindex=\"20\" accesskey=\"s\"$endtag";
 		}
 		else {
 			print "<span style=\"font-size: 14px;\">";
@@ -9937,14 +10034,14 @@
 	}
 	if ( $QueryString !~ /buildpdf/i ) {
 		print "</table>\n";
-		print "</td></tr></table>\n";
+#		print "</td></tr></table>\n";
 	}
 	else {
 		print "</table>\n";
 	}
 
 	if ( $FrameName ne 'mainleft' ) { print "</form>\n"; }
-	else { print "<br$endtag\n"; }
+#	else { print "<br$endtag\n"; }
 	print "\n";
 }
 
@@ -9984,17 +10081,26 @@
 		if ( !$PluginsLoaded{'ShowMenu'}{'menuapplet'} ) {
 			my $menuicon = 0;    # TODO a virer
 			                     # Menu HTML
-			print "<table"
+			print "<table summary=\"Menu\""
 			  . (
 				$frame
 				? " cellspacing=\"0\" cellpadding=\"0\" border=\"0\""
 				: ""
 			  )
 			  . ">\n";
+			$linetitle = &AtLeastOneNotNull(
+				$ShowSessionsStats,  $ShowPagesStats,
+				$ShowFileTypesStats, $ShowFileSizesStats,
+				$ShowOSStats,        $ShowBrowsersStats,
+				$ShowScreenSizeStats, $ShowDownloadsStats
+			);
+				if ($linetitle) {
+					print "<col width=\"$FRAMEWIDTH\"$endtag";
+				}
 			if ( $FrameName eq 'mainleft' && $ShowMonthStats ) {
 				print( $frame? "<tr><td class=\"awsm\">" : "" );
 				print
-"<a href=\"$linkanchor#top\"$targetpage>$Message[128]</a>";
+"<a href=\"$linkanchor#TOP\"$targetpage>$Message[128]</a>";
 				print( $frame? "</td></tr>\n" : " &nbsp; " );
 			}
 			my %menu     = ();
@@ -10110,8 +10216,8 @@
 				$ShowScreenSizeStats, $ShowDownloadsStats
 			);
 			if ($linetitle) {
-				print "<tr><td class=\"awsm\""
-				  . ( $frame ? "" : " valign=\"top\"" ) . ">"
+				print "<tr><td class=\"awsm"
+				  . ( $frame ? "" : " vtop" ) . "\">"
 				  . (
 					$menuicon
 					? "<img src=\"$DirIcons/other/menu2.png\"$endtag&nbsp;"
@@ -10125,19 +10231,19 @@
 			if ($ShowSessionsStats) {
 				print( $frame? "<tr><td class=\"awsm\">" : "" );
 				print
-"<a href=\"$linkanchor#sessions\"$targetpage>$Message[117]</a>";
+"<a href=\"$linkanchor#SESSIONS\"$targetpage>$Message[117]</a>";
 				print( $frame? "</td></tr>\n" : " &nbsp; " );
 			}
 			if ($ShowFileTypesStats && $LevelForFileTypesDetection > 0) {
 				print( $frame? "<tr><td class=\"awsm\">" : "" );
 				print
-"<a href=\"$linkanchor#filetypes\"$targetpage>$Message[73]</a>";
+"<a href=\"$linkanchor#FILETYPES\"$targetpage>$Message[73]</a>";
 				print( $frame? "</td></tr>\n" : " &nbsp; " );
 			}
 			if ($ShowDownloadsStats && $LevelForFileTypesDetection > 0) {
 				print( $frame? "<tr><td class=\"awsm\">" : "" );
 				print
-"<a href=\"$linkanchor#downloads\"$targetpage>$Message[178]</a>";
+"<a href=\"$linkanchor#DOWNLOADS\"$targetpage>$Message[178]</a>";
 				print( $frame? "</td></tr>\n" : " &nbsp; " );
 				print( $frame
 					? "<tr><td class=\"awsm\"> &nbsp; <img height=\"8\" width=\"9\" src=\"$DirIcons/other/page.png\" alt=\"...\"$endtag "
@@ -10156,7 +10262,7 @@
 			if ($ShowPagesStats) {
 				print( $frame? "<tr><td class=\"awsm\">" : "" );
 				print
-"<a href=\"$linkanchor#urls\"$targetpage>$Message[29]</a>\n";
+"<a href=\"$linkanchor#URLS\"$targetpage>$Message[29]</a>\n";
 				print( $frame? "</td></tr>\n" : " &nbsp; " );
 			}
 			if ($ShowPagesStats) {
@@ -10207,7 +10313,7 @@
 			if ($ShowOSStats) {
 				print( $frame? "<tr><td class=\"awsm\">" : "" );
 				print
-				  "<a href=\"$linkanchor#os\"$targetpage>$Message[59]</a>";
+				  "<a href=\"$linkanchor#OS\"$targetpage>$Message[59]</a>";
 				print( $frame? "</td></tr>\n" : " &nbsp; " );
 			}
 			if ($ShowOSStats) {
@@ -10243,7 +10349,7 @@
 			if ($ShowBrowsersStats) {
 				print( $frame? "<tr><td class=\"awsm\">" : "" );
 				print
-"<a href=\"$linkanchor#browsers\"$targetpage>$Message[21]</a>";
+"<a href=\"$linkanchor#BROWSERS\"$targetpage>$Message[21]</a>";
 				print( $frame? "</td></tr>\n" : " &nbsp; " );
 			}
 			if ($ShowBrowsersStats) {
@@ -10279,7 +10385,7 @@
 			if ($ShowScreenSizeStats) {
 				print( $frame? "<tr><td class=\"awsm\">" : "" );
 				print
-"<a href=\"$linkanchor#screensizes\"$targetpage>$Message[135]</a>";
+"<a href=\"$linkanchor#SCREENSIZES\"$targetpage>$Message[135]</a>";
 				print( $frame? "</td></tr>\n" : " &nbsp; " );
 			}
 			if ($linetitle) { print( $frame? "" : "</td></tr>\n" ); }
@@ -10387,12 +10493,12 @@
 		}
 
 		#print ($frame?"":"<br$endtag\n");
-		print "<br$endtag\n";
+#		print "<br$endtag\n";
 	}
 
 	# Print Back link
 	elsif ( !$HTMLOutput{'main'} ) {
-		print "<table>\n";
+		print "<table summary=\"Filter\">\n";
 		$NewLinkParams =~ s/(^|&|&amp;)hostfilter=[^&]*//i;
 		$NewLinkParams =~ s/(^|&|&amp;)urlfilter=[^&]*//i;
 		$NewLinkParams =~ s/(^|&|&amp;)refererpagesfilter=[^&]*//i;
@@ -10430,7 +10536,7 @@
 sub HTMLMainFileType{
 	if (!$LevelForFileTypesDetection > 0){return;}
 	if ($Debug) { debug( "ShowFileTypesStatsCompressionStats", 2 ); }
-	print "$Center<a name=\"filetypes\">&nbsp;</a><br$endtag\n";
+#	print "$Center<a name=\"filetypes\">&nbsp;</a><br$endtag\n";
 	my $Totalh = 0;
 	foreach ( keys %_filetypes_h ) { $Totalh += $_filetypes_h{$_}; }
 	my $Totalk = 0;
@@ -10443,6 +10549,11 @@
 		\%_filetypes_h );
 
 	&tab_head( "$title", 19, 0, 'filetypes' );
+	print "<col width=\"$WIDTHCOLICON\"$endtag<col width=\"40\"$endtag<col$endtag";
+	if ($ShowFileTypesStats =~ /H/i) {print "<col width=\"$WIDTHHIT\"$endtag<col width=\"$WIDTHPARCENT\"$endtag";}
+	if ($ShowFileTypesStats =~ /B/i) {print "<col width=\"$WIDTHBANDWIDTH\"$endtag<col width=\"$WIDTHPARCENT\"$endtag";}
+	if ($ShowFileTypesStats =~ /C/i) {print "<col span=\"3\" width=\"$WIDTHBANDWIDTH\"$endtag";}
+	print "\n";
 
 	# Graph the top five in a pie chart
 	if (scalar @keylist > 1){
@@ -10467,34 +10578,34 @@
 				0,              		0,
 				0,          			\@valdata
 			);
-			print "</td></tr>";
+			print "</td></tr>\n";
 		}
 	}
 
 	print
-"<tr bgcolor=\"#$color_TableBGRowTitle\"><th colspan=\"3\">$Message[73]</th>";
+"<tr class=\"colortab\"><th colspan=\"3\" abbr=\"$Message[73]\">$Message[73]</th>";
 
 	if ( $ShowFileTypesStats =~ /H/i ) {
-		print "<th bgcolor=\"#$color_h\" width=\"80\""
+		print "<th class=\"colorh\""
 		  . Tooltip(4)
-		  . ">$Message[57]</th><th bgcolor=\"#$color_h\" width=\"80\">$Message[15]</th>";
+		  . " abbr=\"$Message[57]\">$Message[57]</th><th class=\"colorh\" abbr=\"$Message[15]\">$Message[15]</th>";
 	}
 	if ( $ShowFileTypesStats =~ /B/i ) {
-		print "<th bgcolor=\"#$color_k\" width=\"80\""
+		print "<th class=\"colork\""
 		  . Tooltip(5)
-		  . ">$Message[75]</th><th bgcolor=\"#$color_k\" width=\"80\">$Message[15]</th>";
+		  . " abbr=\"$Message[75]\">$Message[75]</th><th class=\"colork\" abbr=\"$Message[15]\">$Message[15]</th>";
 	}
 	if ( $ShowFileTypesStats =~ /C/i ) {
 		print
-"<th bgcolor=\"#$color_k\" width=\"100\">$Message[100]</th><th bgcolor=\"#$color_k\" width=\"100\">$Message[101]</th><th bgcolor=\"#$color_k\" width=\"100\">$Message[99]</th>";
+"<th class=\"colork\" abbr=\"$Message[100]\">$Message[100]</th><th class=\"colork\" abbr=\"$Message[101]\">$Message[101]</th><th class=\"colork\" abbr=\"$Message[99]\">$Message[99]</th>";
 	}
 	print "</tr>\n";
 	my $total_con = 0;
 	my $total_cre = 0;
 	my $count     = 0;
 	foreach my $key (@keylist) {
-		my $p_h = '&nbsp;';
-		my $p_k = '&nbsp;';
+		my $p_h = '';
+		my $p_k = '';
 		if ($Totalh) {
 			$p_h = int( $_filetypes_h{$key} / $Totalh * 1000 ) / 10;
 			$p_h = "$p_h %";
@@ -10505,26 +10616,24 @@
 		}
 		if ( $key eq 'Unknown' ) {
 			print "<tr><td"
-			  . ( $count ? "" : " width=\"$WIDTHCOLICON\"" )
-			  . "><img src=\"$DirIcons\/mime\/unknown.png\""
-			  . AltTitle("")
+			  . "><img src=\"$DirIcons\/mime\/unknown.png\" width=\"14\" height=\"14\""
+			  . AltTitle("Unknown")
 			  . "$endtag</td><td class=\"aws\" colspan=\"2\"><span style=\"color: #$color_other\">$Message[0]</span></td>";
 		}
 		else {
 			my $nameicon = $MimeHashLib{$key}[0] || "notavailable";
-			my $nametype = $MimeHashFamily{$MimeHashLib{$key}[0]} || "&nbsp;";
+			my $nametype = $MimeHashFamily{$MimeHashLib{$key}[0]} || "";
 			print "<tr><td"
-			  . ( $count ? "" : " width=\"$WIDTHCOLICON\"" )
 			  . "><img src=\"$DirIcons\/mime\/$nameicon.png\""
-			  . AltTitle("")
-			  . "$endtag</td><td class=\"aws\">$key</td>";
+			  . AltTitle("$nameicon")
+			  . " width=\"14\" height=\"14\"$endtag</td><td class=\"aws\">$key</td>";
 			print "<td class=\"aws\">$nametype</td>";
 		}
 		if ( $ShowFileTypesStats =~ /H/i ) {
 			print "<td>".Format_Number($_filetypes_h{$key})."</td><td>$p_h</td>";
 		}
 		if ( $ShowFileTypesStats =~ /B/i ) {
-			print '<td nowrap="nowrap">'
+			print '<td class="nowrap">'
 			  . Format_Bytes( $_filetypes_k{$key} )
 			  . "</td><td>$p_k</td>";
 		}
@@ -10595,13 +10704,14 @@
 #------------------------------------------------------------------------------
 sub HTMLShowBrowserDetail{
 	# Show browsers versions
-	print "$Center<a name=\"browsersversions\">&nbsp;</a><br$endtag";
+#	print "$Center<a name=\"browsersversions\">&nbsp;</a><br$endtag";
 	my $title = "$Message[21]";
 	&tab_head( "$title", 19, 0, 'browsersversions' );
+	print "<col width=\"$WIDTHCOLICON\"$endtag<col width=\"$WIDTHBROWSER\"$endtag<col width=\"$WIDTHYESNO\"$endtag<col width=\"$WIDTHHIT\"$endtag<col width=\"$WIDTHPARCENT\"$endtag<col$endtag\n";
 	print
-"<tr bgcolor=\"#$color_TableBGRowTitle\"><th colspan=\"2\">$Message[58]</th>";
+"<tr class=\"colortab\"><th colspan=\"2\" abbr=\"$Message[58]\">$Message[58]</th>";
 	print
-"<th width=\"80\">$Message[111]</th><th bgcolor=\"#$color_h\" width=\"80\">$Message[57]</th><th bgcolor=\"#$color_h\" width=\"80\">$Message[15]</th>";
+"<th abbr=\"$Message[111]\">$Message[111]</th><th class=\"colorh\" abbr=\"$Message[57]\">$Message[57]</th><th class=\"colorh\" abbr=\"$Message[15]\">$Message[15]</th>";
 	print "<td></td>";
 	print "</tr>\n";
 	my $total_h = 0;
@@ -10630,11 +10740,11 @@
 
 	# Write records grouped in a browser family
 	foreach my $family (
-		sort { $BrowsersFamily{$a} <=> $BrowsersFamily{$b} }
+				reverse sort { $totalfamily_h{$a} <=> $totalfamily_h{$b} }
 		keys %BrowsersFamily
 	  )
 	{
-		my $p = '&nbsp;';
+		my $p = '';
 		if ($total_h) {
 			$p = int( $totalfamily_h{$family} / $total_h * 1000 ) / 10;
 			$p = "$p %";
@@ -10646,7 +10756,7 @@
 			if ( $key =~ /^$family(.*)/i ) {
 				if ( !$familyheadershown ) {
 					print
-"<tr bgcolor=\"#F6F6F6\"><td class=\"aws\" colspan=\"2\"><strong>"
+"<tr class=\"colorOSfamily\"><td class=\"aws\" colspan=\"2\"><strong>"
 				  . uc($family)
 				  . "</strong></td>";
 				print "<td></td><td><strong>"
@@ -10657,7 +10767,7 @@
 			}
 			$keysinkeylist{$key} = 1;
 			my $ver = $1;
-			my $p   = '&nbsp;';
+			my $p   = '';
 			if ($total_h) {
 				$p =
 				  int( $_browser_h{$key} / $total_h * 1000 ) / 10;
@@ -10665,9 +10775,8 @@
 			}
 			print "<tr>";
 			print "<td"
-			  . ( $count ? "" : " width=\"$WIDTHCOLICON\"" )
-			  . "><img src=\"$DirIcons\/browser\/$family.png\""
-			  . AltTitle("")
+			  . "><img src=\"$DirIcons\/browser\/$family.png\" width=\"14\" height=\"14\""
+			  . AltTitle("$family")
 			  . "$endtag</td>";
 			print "<td class=\"aws\">"
 			  . ucfirst($family) . " "
@@ -10694,7 +10803,7 @@
 			# alt and title are not provided to reduce page size
 			if ($ShowBrowsersStats) {
 				print
-"<img src=\"$DirIcons\/other\/$BarPng{'hh'}\" width=\"$bredde_h\" height=\"5\"$endtag<br$endtag";
+"<img src=\"$DirIcons\/other\/$BarPng{'hh'}\" width=\"$bredde_h\" height=\"5\"".AltTitle("bredde_h")."$endtag<br$endtag";
 				}
 				print "</td>";
 				print "</tr>\n";
@@ -10708,7 +10817,7 @@
 	foreach my $key (@keylist) {
 		if ( $keysinkeylist{$key} ) { next; }
 		if ( !$familyheadershown )  {
-			my $p = '&nbsp;';
+			my $p = '';
 			if ($total_h) {
 				$p =
 				  int( ( $total_h - $TotalFamily ) / $total_h * 1000 ) /
@@ -10716,14 +10825,14 @@
 				$p = "$p %";
 			}
 			print
-"<tr bgcolor=\"#F6F6F6\"><td class=\"aws\" colspan=\"2\"><strong>$Message[2]</strong></td>";
+"<tr class=\"colorOSfamily\"><td class=\"aws\" colspan=\"2\"><strong>$Message[2]</strong></td>";
 			print "<td></td><td><strong>"
 			  . Format_Number(( $total_h - $TotalFamily ))
 			  . "</strong></td><td><strong>$p</strong></td><td></td>";
 			print "</tr>\n";
 			$familyheadershown = 1;
 		}
-		my $p = '&nbsp;';
+		my $p = '';
 		if ($total_h) {
 			$p = int( $_browser_h{$key} / $total_h * 1000 ) / 10;
 			$p = "$p %";
@@ -10731,10 +10840,9 @@
 		print "<tr>";
 		if ( $key eq 'Unknown' ) {
 			print "<td"
-			  . ( $count ? "" : " width=\"$WIDTHCOLICON\"" )
-			  . "><img src=\"$DirIcons\/browser\/unknown.png\""
-			  . AltTitle("")
-			  . "$endtag</td><td class=\"aws\"><span style=\"color: #$color_other\">$Message[0]</span></td><td width=\"80\">?</td>";
+			  . "><img src=\"$DirIcons\/browser\/unknown.png\" width=\"14\" height=\"14\""
+			  . AltTitle("unknown")
+			  . "$endtag</td><td class=\"aws\"><span style=\"color: #$color_other\">$Message[0]</span></td><td>?</td>";
 		}
 		else {
 			my $keywithoutcumul = $key;
@@ -10744,9 +10852,8 @@
 			my $nameicon = $BrowsersHashIcon{$keywithoutcumul}
 			  || "notavailable";
 			print "<td"
-			  . ( $count ? "" : " width=\"$WIDTHCOLICON\"" )
-			  . "><img src=\"$DirIcons\/browser\/$nameicon.png\""
-			  . AltTitle("")
+			  . "><img src=\"$DirIcons\/browser\/$nameicon.png\" width=\"14\" height=\"14\""
+			  . AltTitle("$nameicon")
 			  . "$endtag</td><td class=\"aws\">$libbrowser</td><td>"
 			  . (
 				$BrowsersHereAreGrabbers{$key}
@@ -10770,7 +10877,7 @@
 		# alt and title are not provided to reduce page size
 		if ($ShowBrowsersStats) {
 			print
-"<img src=\"$DirIcons\/other\/$BarPng{'hh'}\" width=\"$bredde_h\" height=\"5\"$endtag<br$endtag";
+"<img src=\"$DirIcons\/other\/$BarPng{'hh'}\" width=\"$bredde_h\" height=\"5\"".AltTitle("$bredde_h")."$endtag<br$endtag";
 		}
 		print "</td>";
 		print "</tr>\n";
@@ -10787,12 +10894,13 @@
 # Return:       -
 #------------------------------------------------------------------------------
 sub HTMLShowBrowserUnknown{
-	print "$Center<a name=\"unknownbrowser\">&nbsp;</a><br$endtag\n";
+#	print "$Center<a name=\"unknownbrowser\">&nbsp;</a><br$endtag\n";
 	my $title = "$Message[50]";
 	&tab_head( "$title", 19, 0, 'unknownbrowser' );
-	print "<tr bgcolor=\"#$color_TableBGRowTitle\"><th>User agent ("
+	print "<col$endtag<col width=\"$WIDTHFULLDATE\"$endtag\n";
+	print "<tr class=\"colortab\"><th abbr=\"User agent\">User agent ("
 	  . ( scalar keys %_unknownrefererbrowser_l )
-	  . ")</th><th>$Message[9]</th></tr>\n";
+	  . ")</th><th abbr=\"$Message[9]\">$Message[9]</th></tr>\n";
 	my $total_l = 0;
 	my $count = 0;
 	&BuildKeyList( $MaxRowsInHTMLOutput, 1, \%_unknownrefererbrowser_l,
@@ -10800,7 +10908,7 @@
 	foreach my $key (@keylist) {
 		my $useragent = XMLEncode( CleanXSS($key) );
 		print
-		  "<tr><td class=\"aws\">$useragent</td><td nowrap=\"nowrap\">"
+		  "<tr><td class=\"aws\">$useragent</td><td class=\"nowrap\">"
 		  . Format_Date( $_unknownrefererbrowser_l{$key}, 1 )
 		  . "</td></tr>\n";
 		$total_l += 1;
@@ -10826,13 +10934,15 @@
 #------------------------------------------------------------------------------
 sub HTMLShowOSDetail{
 	# Show os versions
-	print "$Center<a name=\"osversions\">&nbsp;</a><br$endtag";
+#	print "$Center<a name=\"osversions\">&nbsp;</a><br$endtag";
 	my $title = "$Message[59]";
 	&tab_head( "$title", 19, 0, 'osversions' );
 	print
-"<tr bgcolor=\"#$color_TableBGRowTitle\"><th colspan=\"2\">$Message[58]</th>";
+"<col width=\"$WIDTHCOLICON\"$endtag<col width=\"$WIDTHOS\"$endtag<col width=\"$WIDTHHIT\"$endtag<col width=\"$WIDTHPARCENT\"$endtag<col$endtag\n";
+	print
+"<tr class=\"colortab\"><th colspan=\"2\" abbr=\"$Message[58]\">$Message[58]</th>";
 	print
-"<th bgcolor=\"#$color_h\" width=\"80\">$Message[57]</th><th bgcolor=\"#$color_h\" width=\"80\">$Message[15]</th>";
+"<th class=\"colorh\" abbr=\"$Message[57]\">$Message[57]</th><th class=\"colorh\" abbr=\"$Message[15]\">$Message[15]</th>";
 	print "<td></td>";
 	print "</tr>\n";
 	my $total_h = 0;
@@ -10858,14 +10968,14 @@
 	}
 
 	# Write records grouped in a browser family
-	foreach my $family ( keys %OSFamily ) {
-		my $p = '&nbsp;';
+	foreach my $family (sort{ $totalfamily_h{ $b }  <=> $totalfamily_h{ $a }} keys %OSFamily ) {
+		my $p = '';
 		if ($total_h) {
 			$p = int( $totalfamily_h{$family} / $total_h * 1000 ) / 10;
 			$p = "$p %";
 		}
 		my $familyheadershown = 0;
-		foreach my $key ( reverse sort keys %_os_h ) {
+		foreach my $key (sort{ $_os_h{ $b } <=> $_os_h{ $a }} keys %_os_h) { # ヒットの多い順にソート
 			if ( $key =~ /^$family(.*)/i ) {
 				if ( !$familyheadershown ) {
 					my $family_name = '';
@@ -10873,7 +10983,7 @@
 						$family_name = $OSFamily{$family};
 					}
 					print
-"<tr bgcolor=\"#F6F6F6\"><td class=\"aws\" colspan=\"2\"><strong>$family_name</strong></td>";
+"<tr class=\"colorOSfamily\"><td class=\"aws\" colspan=\"2\"><strong>$family_name</strong></td>";
 					print "<td><strong>"
 					  . Format_Number(int( $totalfamily_h{$family} ))
 					  . "</strong></td><td><strong>$p</strong></td><td></td>";
@@ -10882,16 +10992,15 @@
 				}
 				$keysinkeylist{$key} = 1;
 				my $ver = $1;
-				my $p   = '&nbsp;';
+				my $p   = '';
 				if ($total_h) {
 					$p = int( $_os_h{$key} / $total_h * 1000 ) / 10;
 					$p = "$p %";
 				}
 				print "<tr>";
 				print "<td"
-				  . ( $count ? "" : " width=\"$WIDTHCOLICON\"" )
-				  . "><img src=\"$DirIcons\/os\/$key.png\""
-				  . AltTitle("")
+				  . "><img width=\"14\" height=\"14\" src=\"$DirIcons\/os\/$key.png\""
+				  . AltTitle("$key")
 				  . "$endtag</td>";
 
 				print "<td class=\"aws\">$OSHashLib{$key}</td>";
@@ -10910,7 +11019,7 @@
 				# alt and title are not provided to reduce page size
 				if ($ShowOSStats) {
 					print
-"<img src=\"$DirIcons\/other\/$BarPng{'hh'}\" width=\"$bredde_h\" height=\"5\"$endtag<br$endtag";
+"<img src=\"$DirIcons\/other\/$BarPng{'hh'}\" width=\"$bredde_h\" height=\"5\"".AltTitle("$bredde_h")."$endtag<br$endtag";
 				}
 				print "</td>";
 				print "</tr>\n";
@@ -10924,7 +11033,7 @@
 	foreach my $key (@keylist) {
 		if ( $keysinkeylist{$key} ) { next; }
 		if ( !$familyheadershown )  {
-			my $p = '&nbsp;';
+			my $p = '';
 			if ($total_h) {
 				$p =
 				  int( ( $total_h - $TotalFamily ) / $total_h * 1000 ) /
@@ -10932,14 +11041,14 @@
 				$p = "$p %";
 			}
 			print
-"<tr bgcolor=\"#F6F6F6\"><td class=\"aws\" colspan=\"2\"><strong>$Message[2]</strong></td>";
+"<tr class=\"colorOSfamily\"><td class=\"aws\" colspan=\"2\"><strong>$Message[2]</strong></td>";
 			print "<td><strong>"
 			  . Format_Number(( $total_h - $TotalFamily ))
 			  . "</strong></td><td><strong>$p</strong></td><td></td>";
 			print "</tr>\n";
 			$familyheadershown = 1;
 		}
-		my $p = '&nbsp;';
+		my $p = '';
 		if ($total_h) {
 			$p = int( $_os_h{$key} / $total_h * 1000 ) / 10;
 			$p = "$p %";
@@ -10947,9 +11056,8 @@
 		print "<tr>";
 		if ( $key eq 'Unknown' ) {
 			print "<td"
-			  . ( $count ? "" : " width=\"$WIDTHCOLICON\"" )
-			  . "><img src=\"$DirIcons\/browser\/unknown.png\""
-			  . AltTitle("")
+			  . "><img width=\"14\" height=\"14\" src=\"$DirIcons\/browser\/unknown.png\""
+			  . AltTitle("unknown")
 			  . "$endtag</td><td class=\"aws\"><span style=\"color: #$color_other\">$Message[0]</span></td>";
 		}
 		else {
@@ -10960,9 +11068,8 @@
 			my $nameicon = $keywithoutcumul;
 			$nameicon =~ s/[^\w]//g;
 			print "<td"
-			  . ( $count ? "" : " width=\"$WIDTHCOLICON\"" )
-			  . "><img src=\"$DirIcons\/os\/$nameicon.png\""
-			  . AltTitle("")
+			  . "><img width=\"14\" height=\"14\" src=\"$DirIcons\/os\/$nameicon.png\""
+			  . AltTitle("$nameicon")
 			  . "$endtag</td><td class=\"aws\">$libos</td>";
 		}
 		my $bredde_h = 0;
@@ -10977,7 +11084,7 @@
 		# alt and title are not provided to reduce page size
 		if ($ShowOSStats) {
 			print
-"<img src=\"$DirIcons\/other\/$BarPng{'hh'}\" width=\"$bredde_h\" height=\"5\"$endtag<br$endtag";
+"<img src=\"$DirIcons\/other\/$BarPng{'hh'}\" width=\"$bredde_h\" height=\"5\"".AltTitle("$bredde_h")."$endtag<br$endtag";
 		}
 		print "</td>";
 		print "</tr>\n";
@@ -10994,12 +11101,13 @@
 # Return:       -
 #------------------------------------------------------------------------------
 sub HTMLShowOSUnknown{
-	print "$Center<a name=\"unknownos\">&nbsp;</a><br$endtag\n";
+#	print "$Center<a name=\"unknownos\">&nbsp;</a><br$endtag\n";
 	my $title = "$Message[46]";
 	&tab_head( "$title", 19, 0, 'unknownos' );
-	print "<tr bgcolor=\"#$color_TableBGRowTitle\"><th>User agent ("
+	print "<col$endtag<col width=\"$WIDTHFULLDATE\"$endtag\n";
+	print "<tr class=\"colortab\"><th abbr=\"User agent\">User agent ("
 	  . ( scalar keys %_unknownreferer_l )
-	  . ")</th><th>$Message[9]</th></tr>\n";
+	  . ")</th><th abbr=\"$Message[9]\">$Message[9]</th></tr>\n";
 	my $total_l = 0;
 	my $count = 0;
 	&BuildKeyList( $MaxRowsInHTMLOutput, 1, \%_unknownreferer_l,
@@ -11007,7 +11115,7 @@
 	foreach my $key (@keylist) {
 		my $useragent = XMLEncode( CleanXSS($key) );
 		print "<tr><td class=\"aws\">$useragent</td>";
-		print "<td nowrap=\"nowrap\">"
+		print "<td class=\"nowrap\">"
 		  . Format_Date( $_unknownreferer_l{$key}, 1 ) . "</td>";
 		print "</tr>\n";
 		$total_l += 1;
@@ -11032,15 +11140,17 @@
 # Return:       -
 #------------------------------------------------------------------------------
 sub HTMLShowReferers{
-	print "$Center<a name=\"refererse\">&nbsp;</a><br$endtag\n";
+#	print "$Center<a name=\"refererse\">&nbsp;</a><br$endtag\n";
 	my $title = "$Message[40]";
 	&tab_head( "$title", 19, 0, 'refererse' );
 	print
-"<tr bgcolor=\"#$color_TableBGRowTitle\"><th>".Format_Number($TotalDifferentSearchEngines)." $Message[122]</th>";
+"<col$endtag<col width=\"$WIDTHPAGE\"$endtag<col width=\"$WIDTHPARCENT\"$endtag<col width=\"$WIDTHHIT\"$endtag<col width=\"$WIDTHPARCENT\"$endtag\n";
+	print
+"<tr class=\"colortab\"><th abbr=\"$Message[122]\">".Format_Number($TotalDifferentSearchEngines)." $Message[122]</th>";
 	print
-"<th bgcolor=\"#$color_p\" width=\"80\">$Message[56]</th><th bgcolor=\"#$color_p\" width=\"80\">$Message[15]</th>";
+"<th class=\"colorp\" abbr=\"$Message[56]\">$Message[56]</th><th class=\"colorp\" abbr=\"$Message[15]\">$Message[15]</th>";
 	print
-"<th bgcolor=\"#$color_h\" width=\"80\">$Message[57]</th><th bgcolor=\"#$color_h\" width=\"80\">$Message[15]</th>";
+"<th class=\"colorh\" abbr=\"$Message[57]\">$Message[57]</th><th class=\"colorh\" abbr=\"$Message[15]\">$Message[15]</th>";
 	print "</tr>\n";
 	my $total_s = 0;
 	my $total_p = 0;
@@ -11076,10 +11186,10 @@
 		print "<tr><td class=\"aws\">$newreferer</td>";
 		print "<td>"
 		  . (
-			$_se_referrals_p{$key} ? $_se_referrals_p{$key} : '&nbsp;' )
+			$_se_referrals_p{$key} ? $_se_referrals_p{$key} : '' )
 		  . "</td>";
 		print "<td>"
-		  . ( $_se_referrals_p{$key} ? "$p_p %" : '&nbsp;' ) . "</td>";
+		  . ( $_se_referrals_p{$key} ? "$p_p %" : '' ) . "</td>";
 		print "<td>".Format_Number($_se_referrals_h{$key})."</td>";
 		print "<td>$p_h %</td>";
 		print "</tr>\n";
@@ -11107,8 +11217,8 @@
 		}
 		print
 "<tr><td class=\"aws\"><span style=\"color: #$color_other\">$Message[2]</span></td>";
-		print "<td>" . ( $rest_p ? Format_Number($rest_p)  : '&nbsp;' ) . "</td>";
-		print "<td>" . ( $rest_p ? "$p_p %" : '&nbsp;' ) . "</td>";
+		print "<td>" . ( $rest_p ? Format_Number($rest_p)  : '' ) . "</td>";
+		print "<td>" . ( $rest_p ? "$p_p %" : '' ) . "</td>";
 		print "<td>".Format_Number($rest_h)."</td>";
 		print "<td>$p_h %</td>";
 		print "</tr>\n";
@@ -11125,7 +11235,7 @@
 # Return:       -
 #------------------------------------------------------------------------------
 sub HTMLShowRefererPages{
-	print "$Center<a name=\"refererpages\">&nbsp;</a><br$endtag\n";
+#	print "$Center<a name=\"refererpages\">&nbsp;</a><br$endtag\n";
 	my $total_p = 0;
 	my $total_h = 0;
 	my $rest_p = 0;
@@ -11141,7 +11251,9 @@
 	my $cpt   = 0;
 	$cpt = ( scalar keys %_pagesrefs_h );
 	&tab_head( "$title", 19, 0, 'refererpages' );
-	print "<tr bgcolor=\"#$color_TableBGRowTitle\"><th>";
+	print
+"<col$endtag<col width=\"$WIDTHPAGE\"$endtag<col width=\"$WIDTHPARCENT\"$endtag<col width=\"$WIDTHHIT\"$endtag<col width=\"$WIDTHPARCENT\"$endtag\n";
+	print "<tr class=\"colortab\"><th abbr=\"$Message[28]\">";
 	if ( $FilterIn{'refererpages'} || $FilterEx{'refererpages'} ) {
 
 		if ( $FilterIn{'refererpages'} ) {
@@ -11166,9 +11278,9 @@
 	else { print "$Message[102]: ".Format_Number($cpt)." $Message[28]"; }
 	print "</th>";
 	print
-"<th bgcolor=\"#$color_p\" width=\"80\">$Message[56]</th><th bgcolor=\"#$color_p\" width=\"80\">$Message[15]</th>";
+"<th class=\"colorp\" abbr=\"$Message[56]\">$Message[56]</th><th class=\"colorp\" abbr=\"$Message[15]\">$Message[15]</th>";
 	print
-"<th bgcolor=\"#$color_h\" width=\"80\">$Message[57]</th><th bgcolor=\"#$color_h\" width=\"80\">$Message[15]</th>";
+"<th class=\"colorh\" abbr=\"$Message[57]\">$Message[57]</th><th class=\"colorh\" abbr=\"$Message[15]\">$Message[15]</th>";
 	print "</tr>\n";
 	my $total_s = 0;
 	my $count = 0;
@@ -11205,13 +11317,13 @@
 		&HTMLShowURLInfo($key);
 		print "</td>";
 		print "<td>"
-		  . ( $_pagesrefs_p{$key} ? Format_Number($_pagesrefs_p{$key}) : '&nbsp;' )
+		  . ( $_pagesrefs_p{$key} ? Format_Number($_pagesrefs_p{$key}) : '' )
 		  . "</td><td>"
-		  . ( $_pagesrefs_p{$key} ? "$p_p %" : '&nbsp;' ) . "</td>";
+		  . ( $_pagesrefs_p{$key} ? "$p_p %" : '' ) . "</td>";
 		print "<td>"
-		  . ( $_pagesrefs_h{$key} ? Format_Number($_pagesrefs_h{$key}) : '&nbsp;' )
+		  . ( $_pagesrefs_h{$key} ? Format_Number($_pagesrefs_h{$key}) : '' )
 		  . "</td><td>"
-		  . ( $_pagesrefs_h{$key} ? "$p_h %" : '&nbsp;' ) . "</td>";
+		  . ( $_pagesrefs_h{$key} ? "$p_h %" : '' ) . "</td>";
 		print "</tr>\n";
 		$total_p += $_pagesrefs_p{$key};
 		$total_h += $_pagesrefs_h{$key};
@@ -11236,8 +11348,8 @@
 		}
 		print
 "<tr><td class=\"aws\"><span style=\"color: #$color_other\">$Message[2]</span></td>";
-		print "<td>" . ( $rest_p ? Format_Number($rest_p)  : '&nbsp;' ) . "</td>";
-		print "<td>" . ( $rest_p ? "$p_p %" : '&nbsp;' ) . "</td>";
+		print "<td>" . ( $rest_p ? Format_Number($rest_p)  : '' ) . "</td>";
+		print "<td>" . ( $rest_p ? "$p_p %" : '' ) . "</td>";
 		print "<td>".Format_Number($rest_h)."</td>";
 		print "<td>$p_h %</td>";
 		print "</tr>\n";
@@ -11254,11 +11366,13 @@
 # Return:       -
 #------------------------------------------------------------------------------
 sub HTMLShowKeyPhrases{
-	print "$Center<a name=\"keyphrases\">&nbsp;</a><br$endtag\n";
+#	print "$Center<a name=\"keyphrases\">&nbsp;</a><br$endtag\n";
 	&tab_head( $Message[43], 19, 0, 'keyphrases' );
-	print "<tr bgcolor=\"#$color_TableBGRowTitle\""
+	print
+"<col$endtag<col width=\"$WIDTHHIT\"$endtag<col width=\"$WIDTHPARCENT\"$endtag";
+	print "<tr class=\"colortab\""
 	  . Tooltip(15)
-	  . "><th>".Format_Number($TotalDifferentKeyphrases)." $Message[103]</th><th bgcolor=\"#$color_s\" width=\"80\">$Message[14]</th><th bgcolor=\"#$color_s\" width=\"80\">$Message[15]</th></tr>\n";
+	  . "><th abbr=\"$Message[103]\">".Format_Number($TotalDifferentKeyphrases)." $Message[103]</th><th class=\"colors\" abbr=\"$Message[14]\">$Message[14]</th><th class=\"colors\" abbr=\"$Message[15]\">$Message[15]</th></tr>\n";
 	my $total_s = 0;
 	my $count = 0;
 	&BuildKeyList(
@@ -11312,15 +11426,20 @@
 # Return:       -
 #------------------------------------------------------------------------------
 sub HTMLShowKeywords{
-	print "$Center<a name=\"keywords\">&nbsp;</a><br$endtag\n";
+#	print "$Center<a name=\"keywords\">&nbsp;</a><br$endtag\n";
 	&tab_head( $Message[44], 19, 0, 'keywords' );
-	print "<tr bgcolor=\"#$color_TableBGRowTitle\""
+	print
+"<col$endtag<col width=\"$WIDTHHIT\"$endtag<col width=\"$WIDTHPARCENT\"$endtag";
+	&BuildKeyList( $MaxRowsInHTMLOutput, $MinHit{'Keyword'},
+	   \%_keywords, \%_keywords );
+	$TotalDifferentKeywords=scalar keys %_keywords;
+	$TotalKeywords = 0;
+	foreach (keys %_keywords) { $TotalKeywords+=$_keywords{$_}; }
+	print "<tr class=\"colortab\""
 	  . Tooltip(15)
-	  . "><th>".Format_Number($TotalDifferentKeywords)." $Message[13]</th><th bgcolor=\"#$color_s\" width=\"80\">$Message[14]</th><th bgcolor=\"#$color_s\" width=\"80\">$Message[15]</th></tr>\n";
+	  . "><th abbr=\"$Message[13]\">".Format_Number($TotalDifferentKeywords)." $Message[13]</th><th class=\"colors\" abbr=\"$Message[14]\">$Message[14]</th><th class=\"colors\" abbr=\"$Message[15]\">$Message[15]</th></tr>\n";
 	my $total_s = 0;
 	my $count = 0;
-	&BuildKeyList( $MaxRowsInHTMLOutput, $MinHit{'Keyword'},
-		\%_keywords, \%_keywords );
 	foreach my $key (@keylist) {
 		my $mot;
   		# Convert coded keywords (utf8,...) to be correctly reported in HTML page.
@@ -11368,11 +11487,12 @@
 #------------------------------------------------------------------------------
 sub HTMLShowErrorCodes{
 	my $code = shift;
-	print "$Center<a name=\"errors$code\">&nbsp;</a><br$endtag\n";
+#	print "$Center<a name=\"errors$code\">&nbsp;</a><br$endtag\n";
 	&tab_head( $Message[47], 19, 0, "errors$code" );
-	print "<tr bgcolor=\"#$color_TableBGRowTitle\"><th>URL ("
+	print "<col$endtag<col width=\"$WIDTHHIT\"$endtag<col$endtag\n";
+	print "<tr class=\"colortab\"><th abbr=\"URL\">URL ("
 	  . Format_Number(( scalar keys %_sider404_h ))
-	  . ")</th><th bgcolor=\"#$color_h\">$Message[49]</th><th>$Message[23]</th></tr>\n";
+	  . ")</th><th class=\"colorh\" abbr=\"$Message[49]\">$Message[49]</th><th abbr=\"$Message[23]\">$Message[23]</th></tr>\n";
 	my $total_h = 0;
 	my $count = 0;
 	&BuildKeyList( $MaxRowsInHTMLOutput, 1, \%_sider404_h,
@@ -11385,7 +11505,7 @@
 		print "<tr><td class=\"aws\">$nompage</td>";
 		print "<td>".Format_Number($_sider404_h{$key})."</td>";
 		print "<td class=\"aws\">"
-		  . ( $referer ? "$referer" : "&nbsp;" ) . "</td>";
+		  . ( $referer ? "$referer" : "" ) . "</td>";
 		print "</tr>\n";
 		my $total_s += $_sider404_h{$key};
 		$count++;
@@ -11421,26 +11541,31 @@
 
 		if ( $HTMLOutput{"allextra$extranum"} ) {
 			if ($Debug) { debug( "ExtraName$extranum", 2 ); }
-			print "$Center<a name=\"extra$extranum\">&nbsp;</a><br$endtag";
+#			print "$Center<a name=\"extra$extranum\">&nbsp;</a><br$endtag";
 			my $title = $ExtraName[$extranum];
 			&tab_head( "$title", 19, 0, "extra$extranum" );
-			print "<tr bgcolor=\"#$color_TableBGRowTitle\">";
-			print "<th>" . $ExtraFirstColumnTitle[$extranum] . "</th>";
+	 		if ($ExtraStatTypes[$extranum] =~ m/P/i) { print "<col width=\"$WIDTHPAGE\"$endtag"; }
+	 		if ($ExtraStatTypes[$extranum] =~ m/H/i) { print "<col width=\"$WIDTHHIT\"$endtag"; }
+	 		if ($ExtraStatTypes[$extranum] =~ m/B/i) { print "<col width=\"$WIDTHBANDWIDTH\"$endtag"; }
+	 		if ($ExtraStatTypes[$extranum] =~ m/L/i) { print "<col width=\"$WIDTHFULLDATE\"$endtag"; }
+			print "\n";
+			print "<tr class=\"colortab\">";
+			print "<th abbr=\"$extranum\">" . $ExtraFirstColumnTitle[$extranum] . "</th>";
 
 			if ( $ExtraStatTypes[$extranum] =~ m/P/i ) {
 				print
-"<th bgcolor=\"#$color_p\" width=\"80\">$Message[56]</th>";
+"<th class=\"colorp\" abbr=\"$Message[56]\">$Message[56]</th>";
 			}
 			if ( $ExtraStatTypes[$extranum] =~ m/H/i ) {
 				print
-"<th bgcolor=\"#$color_h\" width=\"80\">$Message[57]</th>";
+"<th class=\"colorh\" abbr=\"$Message[57]\">$Message[57]</th>";
 			}
 			if ( $ExtraStatTypes[$extranum] =~ m/B/i ) {
 				print
-"<th class=\"datasize\" bgcolor=\"#$color_k\" width=\"80\">$Message[75]</th>";
+"<th class=\"datasize colork\" abbr=\"$Message[75]\">$Message[75]</th>";
 			}
 			if ( $ExtraStatTypes[$extranum] =~ m/L/i ) {
-				print "<th width=\"120\">$Message[9]</th>";
+				print "<th abbr=\"$Message[9]\">$Message[9]</th>";
 			}
 			print "</tr>\n";
 			$total_p = $total_h = $total_k = 0;
@@ -11522,12 +11647,12 @@
 				print "<td class=\"aws\"><strong>$Message[96]</strong></td>";
 				if ( $ExtraStatTypes[$extranum] =~ m/P/i ) {
 					print "<td>"
-					  . ( $count ? Format_Number(( $total_p / $count )) : "&nbsp;" )
+					  . ( $count ? Format_Number(( $total_p / $count )) : "" )
 					  . "</td>";
 				}
 				if ( $ExtraStatTypes[$extranum] =~ m/H/i ) {
 					print "<td>"
-					  . ( $count ? Format_Number(( $total_h / $count )) : "&nbsp;" )
+					  . ( $count ? Format_Number(( $total_h / $count )) : "" )
 					  . "</td>";
 				}
 				if ( $ExtraStatTypes[$extranum] =~ m/B/i ) {
@@ -11535,7 +11660,7 @@
 					  . (
 						$count
 						? Format_Bytes( $total_k / $count )
-						: "&nbsp;"
+						: ""
 					  )
 					  . "</td>";
 				}
@@ -11586,24 +11711,29 @@
 	my $rest_k = 0;
 	my $rest_r = 0;
 
-	print "$Center<a name=\"robots\">&nbsp;</a><br$endtag\n";
+#	print "$Center<a name=\"robots\">&nbsp;</a><br$endtag\n";
 	my $title = '';
 	if ( $HTMLOutput{'allrobots'} )  { $title .= "$Message[53]"; }
 	if ( $HTMLOutput{'lastrobots'} ) { $title .= "$Message[9]"; }
 	&tab_head( "$title", 19, 0, 'robots' );
-	print "<tr bgcolor=\"#$color_TableBGRowTitle\"><th>"
+	print "<col$endtag";
+	if ($ShowRobotsStats =~ /H/i) { print "<col width=\"$WIDTHHIT\"$endtag";}
+	if ($ShowRobotsStats =~ /B/i) { print "<col width=\"$WIDTHBANDWIDTH\"$endtag";}
+	if ($ShowRobotsStats =~ /L/i) { print "<col width=\"$WIDTHFULLDATE\"$endtag";}
+	print "\n";
+	print "<tr class=\"colortab\"><th abbr=\"$Message[51]\">"
 	  . Format_Number(( scalar keys %_robot_h ))
 	  . " $Message[51]</th>";
 	if ( $ShowRobotsStats =~ /H/i ) {
 		print
-		  "<th bgcolor=\"#$color_h\" width=\"80\">$Message[57]</th>";
+		  "<th class=\"colorh\" abbr=\"$Message[57]\">$Message[57]</th>";
 	}
 	if ( $ShowRobotsStats =~ /B/i ) {
 		print
-"<th class=\"datasize\" bgcolor=\"#$color_k\" width=\"80\">$Message[75]</th>";
+"<th class=\"datasize colork\" abbr=\"$Message[75]\">$Message[75]</th>";
 	}
 	if ( $ShowRobotsStats =~ /L/i ) {
-		print "<th width=\"120\">$Message[9]</th>";
+		print "<th abbr=\"$Message[9]\">$Message[9]</th>";
 	}
 	print "</tr>\n";
 	$total_p = $total_h = $total_k = $total_r = 0;
@@ -11701,7 +11831,7 @@
 		my $function = "ShowPagesFilter_$pluginname";
 		&$function();
 	}
-	print "$Center<a name=\"urls\">&nbsp;</a><br$endtag\n";
+#	print "$Center<a name=\"urls\">&nbsp;</a><br$endtag\n";
 
 	# Show filter form
 	&HTMLShowFormFilter( "urlfilter", $FilterIn{'url'}, $FilterEx{'url'} );
@@ -11722,7 +11852,13 @@
 		$cpt   = ( scalar keys %_url_x );
 	}
 	&tab_head( "$title", 19, 0, 'urls' );
-	print "<tr bgcolor=\"#$color_TableBGRowTitle\"><th>";
+	print "<col$endtag";
+	if ($ShowPagesStats =~ /P/i) {print "<col width=\"$WIDTHHIT\"$endtag";}
+	if ($ShowPagesStats =~ /B/i) {print "<col width=\"$WIDTHBANDWIDTH\"$endtag";}
+	if ($ShowPagesStats =~ /E/i) {print "<col width=\"$WIDTHHIT\"$endtag";}
+	if ($ShowPagesStats =~ /X/i) {print "<col width=\"$WIDTHHIT\"$endtag";}
+	print "\n";
+	print "<tr class=\"colortab\"><th abbr=\"$cpt $Message[28]\">";
 	if ( $FilterIn{'url'} || $FilterEx{'url'} ) {
 		if ( $FilterIn{'url'} ) {
 			print "$Message[79] <strong>$FilterIn{'url'}</strong>";
@@ -11744,19 +11880,19 @@
 	print "</th>";
 	if ( $ShowPagesStats =~ /P/i ) {
 		print
-		  "<th bgcolor=\"#$color_p\" width=\"80\">$Message[29]</th>";
+		  "<th class=\"colorp\" abbr=\"$Message[29]\">$Message[29]</th>";
 	}
 	if ( $ShowPagesStats =~ /B/i ) {
 		print
-"<th class=\"datasize\" bgcolor=\"#$color_k\" width=\"80\">$Message[106]</th>";
+"<th class=\"datasize colork\" abbr=\"$Message[106]\">$Message[106]</th>";
 	}
 	if ( $ShowPagesStats =~ /E/i ) {
 		print
-		  "<th bgcolor=\"#$color_e\" width=\"80\">$Message[104]</th>";
+		  "<th class=\"colore\" abbr=\"$Message[104]\">$Message[104]</th>";
 	}
 	if ( $ShowPagesStats =~ /X/i ) {
 		print
-		  "<th bgcolor=\"#$color_x\" width=\"80\">$Message[116]</th>";
+		  "<th class=\"colorx\" abbr=\"$Message[116]\">$Message[116]</th>";
 	}
 
 	# Call to plugins' function ShowPagesAddField
@@ -11832,17 +11968,17 @@
 				? Format_Bytes(
 					$_url_k{$key} / ( $_url_p{$key} || 1 )
 				  )
-				: "&nbsp;"
+				: ""
 			  )
 			  . "</td>";
 		}
 		if ( $ShowPagesStats =~ /E/i ) {
 			print "<td>"
-			  . ( $_url_e{$key} ? Format_Number($_url_e{$key}) : "&nbsp;" ) . "</td>";
+			  . ( $_url_e{$key} ? Format_Number($_url_e{$key}) : "" ) . "</td>";
 		}
 		if ( $ShowPagesStats =~ /X/i ) {
 			print "<td>"
-			  . ( $_url_x{$key} ? Format_Number($_url_x{$key}) : "&nbsp;" ) . "</td>";
+			  . ( $_url_x{$key} ? Format_Number($_url_x{$key}) : "" ) . "</td>";
 		}
 
 		# Call to plugins' function ShowPagesAddField
@@ -11860,19 +11996,19 @@
 		# alt and title are not provided to reduce page size
 		if ( $ShowPagesStats =~ /P/i ) {
 			print
-"<img src=\"$DirIcons\/other\/$BarPng{'hp'}\" width=\"$bredde_p\" height=\"4\"$endtag<br$endtag";
+"<img src=\"$DirIcons\/other\/$BarPng{'hp'}\" width=\"$bredde_p\" height=\"4\"".AltTitle("$bredde_p")."$endtag<br$endtag";
 		}
 		if ( $ShowPagesStats =~ /B/i ) {
 			print
-"<img src=\"$DirIcons\/other\/$BarPng{'hk'}\" width=\"$bredde_k\" height=\"4\"$endtag<br$endtag";
+"<img src=\"$DirIcons\/other\/$BarPng{'hk'}\" width=\"$bredde_k\" height=\"4\"".AltTitle("$bredde_k")."$endtag<br$endtag";
 		}
 		if ( $ShowPagesStats =~ /E/i ) {
 			print
-"<img src=\"$DirIcons\/other\/$BarPng{'he'}\" width=\"$bredde_e\" height=\"4\"$endtag<br$endtag";
+"<img src=\"$DirIcons\/other\/$BarPng{'he'}\" width=\"$bredde_e\" height=\"4\"".AltTitle("$bredde_e")."$endtag<br$endtag";
 		}
 		if ( $ShowPagesStats =~ /X/i ) {
 			print
-"<img src=\"$DirIcons\/other\/$BarPng{'hx'}\" width=\"$bredde_x\" height=\"4\"$endtag";
+"<img src=\"$DirIcons\/other\/$BarPng{'hx'}\" width=\"$bredde_x\" height=\"4\"".AltTitle("$bredde_x")."$endtag";
 		}
 		print "</td></tr>\n";
 		$total_p += $_url_p{$key};
@@ -11895,22 +12031,22 @@
 		print
 "<tr><td class=\"aws\"><span style=\"color: #$color_other\">$Message[2]</span></td>";
 		if ( $ShowPagesStats =~ /P/i ) {
-			print "<td>" . ( $rest_p ? Format_Number($rest_p) : "&nbsp;" ) . "</td>";
+			print "<td>" . ( $rest_p ? Format_Number($rest_p) : "" ) . "</td>";
 		}
 		if ( $ShowPagesStats =~ /B/i ) {
 			print "<td>"
 			  . (
 				$rest_k
 				? Format_Bytes( $rest_k / ( $rest_p || 1 ) )
-				: "&nbsp;"
+				: ""
 			  )
 			  . "</td>";
 		}
 		if ( $ShowPagesStats =~ /E/i ) {
-			print "<td>" . ( $rest_e ? Format_Number($rest_e) : "&nbsp;" ) . "</td>";
+			print "<td>" . ( $rest_e ? Format_Number($rest_e) : "" ) . "</td>";
 		}
 		if ( $ShowPagesStats =~ /X/i ) {
-			print "<td>" . ( $rest_x ? Format_Number($rest_x) : "&nbsp;" ) . "</td>";
+			print "<td>" . ( $rest_x ? Format_Number($rest_x) : "" ) . "</td>";
 		}
 
 		# Call to plugins' function ShowPagesAddField
@@ -11944,23 +12080,23 @@
 	if ( $HTMLOutput{'alllogins'} )  { $title .= "$Message[94]"; }
 	if ( $HTMLOutput{'lastlogins'} ) { $title .= "$Message[9]"; }
 	&tab_head( "$title", 19, 0, 'logins' );
-	print "<tr bgcolor=\"#$color_TableBGRowTitle\"><th>$Message[94] : "
+	print "<tr class=\"colortab\"><th>$Message[94] : "
 	  . Format_Number(( scalar keys %_login_h )) . "</th>";
 	&HTMLShowUserInfo('__title__');
 	if ( $ShowAuthenticatedUsers =~ /P/i ) {
 		print
-		  "<th bgcolor=\"#$color_p\" width=\"80\">$Message[56]</th>";
+		  "<th class=\"colorp\" abbr=\"$Message[56]\">$Message[56]</th>";
 	}
 	if ( $ShowAuthenticatedUsers =~ /H/i ) {
 		print
-		  "<th bgcolor=\"#$color_h\" width=\"80\">$Message[57]</th>";
+		  "<th class=\"colorh\" abbr=\"$Message[57]\">$Message[57]</th>";
 	}
 	if ( $ShowAuthenticatedUsers =~ /B/i ) {
 		print
-"<th class=\"datasize\" bgcolor=\"#$color_k\" width=\"80\">$Message[75]</th>";
+"<th class=\"datasize colork\" abbr=\"$Message[75]\">$Message[75]</th>";
 	}
 	if ( $ShowAuthenticatedUsers =~ /L/i ) {
-		print "<th width=\"120\">$Message[9]</th>";
+		print "<th abbr=\"$Message[9]\">$Message[9]</th>";
 	}
 	print "</tr>\n";
 	$total_p = $total_h = $total_k = 0;
@@ -11978,7 +12114,7 @@
 		&HTMLShowUserInfo($key);
 		if ( $ShowAuthenticatedUsers =~ /P/i ) {
 			print "<td>"
-			  . ( $_login_p{$key} ? Format_Number($_login_p{$key}) : "&nbsp;" )
+			  . ( $_login_p{$key} ? Format_Number($_login_p{$key}) : "" )
 			  . "</td>";
 		}
 		if ( $ShowAuthenticatedUsers =~ /H/i ) {
@@ -12017,7 +12153,7 @@
 "<tr><td class=\"aws\"><span style=\"color: #$color_other\">$Message[125]</span></td>";
 		&HTMLShowUserInfo('');
 		if ( $ShowAuthenticatedUsers =~ /P/i ) {
-			print "<td>" . ( $rest_p ? Format_Number($rest_p) : "&nbsp;" ) . "</td>";
+			print "<td>" . ( $rest_p ? Format_Number($rest_p) : "" ) . "</td>";
 		}
 		if ( $ShowAuthenticatedUsers =~ /H/i ) {
 			print "<td>".Format_Number($rest_h)."</td>";
@@ -12048,26 +12184,33 @@
 	my $rest_p = 0;
 	my $rest_h = 0;
 	my $rest_k = 0;
-	print "$Center<a name=\"unknownip\">&nbsp;</a><br$endtag\n";
+#	print "$Center<a name=\"unknownip\">&nbsp;</a><br$endtag\n";
 	&tab_head( "$Message[45]", 19, 0, 'unknownwip' );
-	print "<tr bgcolor=\"#$color_TableBGRowTitle\"><th>"
+	print "<col$endtag";
+	&HTMLShowHostInfo('__col__');
+	if ($ShowHostsStats =~ /P/i) { print "<col width=\"$WIDTHPAGE\"$endtag";}
+	if ($ShowHostsStats =~ /H/i) { print "<col width=\"$WIDTHHIT\"$endtag";}
+	if ($ShowHostsStats =~ /B/i) { print "<col width=\"$WIDTHBANDWIDTH\"$endtag";}
+	if ($ShowHostsStats =~ /L/i) { print "<col width=\"$WIDTHFULLDATE\"$endtag";}
+	print "\n";
+	print "<tr class=\"colortab\"><th abbr=\"$Message[1]\">"
 	  . Format_Number(( scalar keys %_host_h ))
 	  . " $Message[1]</th>";
 	&HTMLShowHostInfo('__title__');
 	if ( $ShowHostsStats =~ /P/i ) {
 		print
-		  "<th bgcolor=\"#$color_p\" width=\"80\">$Message[56]</th>";
+		  "<th class=\"colorp\" abbr=\"$Message[56]\">$Message[56]</th>";
 	}
 	if ( $ShowHostsStats =~ /H/i ) {
 		print
-		  "<th bgcolor=\"#$color_h\" width=\"80\">$Message[57]</th>";
+		  "<th class=\"colorh\" abbr=\"$Message[57]\">$Message[57]</th>";
 	}
 	if ( $ShowHostsStats =~ /B/i ) {
 		print
-"<th class=\"datasize\" bgcolor=\"#$color_k\" width=\"80\">$Message[75]</th>";
+"<th class=\"datasize colork\" abbr=\"$Message[75]\">$Message[75]</th>";
 	}
 	if ( $ShowHostsStats =~ /L/i ) {
-		print "<th width=\"120\">$Message[9]</th>";
+		print "<th abbr=\"$Message[9]\">$Message[9]</th>";
 	}
 	print "</tr>\n";
 	$total_p = $total_h = $total_k = 0;
@@ -12080,7 +12223,7 @@
 		&HTMLShowHostInfo($key);
 		if ( $ShowHostsStats =~ /P/i ) {
 			print "<td>"
-			  . ( $_host_p{$key} ? Format_Number($_host_p{$key}) : "&nbsp;" )
+			  . ( $_host_p{$key} ? Format_Number($_host_p{$key}) : "" )
 			  . "</td>";
 		}
 		if ( $ShowHostsStats =~ /H/i ) {
@@ -12119,7 +12262,7 @@
 "<tr><td class=\"aws\"><span style=\"color: #$color_other\">$Message[82]</span></td>";
 		&HTMLShowHostInfo('');
 		if ( $ShowHostsStats =~ /P/i ) {
-			print "<td>" . ( $rest_p ? Format_Number($rest_p) : "&nbsp;" ) . "</td>";
+			print "<td>" . ( $rest_p ? Format_Number($rest_p) : "" ) . "</td>";
 		}
 		if ( $ShowHostsStats =~ /H/i ) { print "<td>".Format_Number($rest_h)."</td>"; }
 		if ( $ShowHostsStats =~ /B/i ) {
@@ -12146,7 +12289,7 @@
 	my $rest_p = 0;
 	my $rest_h = 0;
 	my $rest_k = 0;
-	print "$Center<a name=\"hosts\">&nbsp;</a><br$endtag\n";
+#	print "$Center<a name=\"hosts\">&nbsp;</a><br$endtag\n";
 
 	# Show filter form
 	&HTMLShowFormFilter( "hostfilter", $FilterIn{'host'},
@@ -12164,7 +12307,14 @@
 		$cpt = ( scalar keys %_host_h );
 	}
 	&tab_head( "$title", 19, 0, 'hosts' );
-	print "<tr bgcolor=\"#$color_TableBGRowTitle\"><th>";
+	print "<col$endtag";
+	&HTMLShowHostInfo('__col__');
+	if ($ShowHostsStats =~ /P/i) { print "<col width=\"$WIDTHPAGE\"$endtag";}
+	if ($ShowHostsStats =~ /H/i) { print "<col width=\"$WIDTHHIT\"$endtag";}
+	if ($ShowHostsStats =~ /B/i) { print "<col width=\"$WIDTHBANDWIDTH\"$endtag";}
+	if ($ShowHostsStats =~ /L/i) { print "<col width=\"$WIDTHFULLDATE\"$endtag";}
+	print "\n";
+	print "<tr class=\"colortab\"><th abbr=\"$Message[79]\">";
 	if ( $FilterIn{'host'} || $FilterEx{'host'} ) {    # With filter
 		if ( $FilterIn{'host'} ) {
 			print "$Message[79] '<strong>$FilterIn{'host'}</strong>'";
@@ -12193,18 +12343,18 @@
 	&HTMLShowHostInfo('__title__');
 	if ( $ShowHostsStats =~ /P/i ) {
 		print
-		  "<th bgcolor=\"#$color_p\" width=\"80\">$Message[56]</th>";
+		  "<th class=\"colorp\" abbr=\"$Message[56]\">$Message[56]</th>";
 	}
 	if ( $ShowHostsStats =~ /H/i ) {
 		print
-		  "<th bgcolor=\"#$color_h\" width=\"80\">$Message[57]</th>";
+		  "<th class=\"colorh\" abbr=\"$Message[57]\">$Message[57]</th>";
 	}
 	if ( $ShowHostsStats =~ /B/i ) {
 		print
-"<th class=\"datasize\" bgcolor=\"#$color_k\" width=\"80\">$Message[75]</th>";
+"<th class=\"datasize colork\" abbr=\"$Message[75]\">$Message[75]</th>";
 	}
 	if ( $ShowHostsStats =~ /L/i ) {
-		print "<th width=\"120\">$Message[9]</th>";
+		print "<th abbr=\"$Message[9]\">$Message[9]</th>";
 	}
 	print "</tr>\n";
 	$total_p = $total_h = $total_k = 0;
@@ -12225,7 +12375,7 @@
 		&HTMLShowHostInfo($key);
 		if ( $ShowHostsStats =~ /P/i ) {
 			print "<td>"
-			  . ( $_host_p{$key} ? Format_Number($_host_p{$key}) : "&nbsp;" )
+			  . ( $_host_p{$key} ? Format_Number($_host_p{$key}) : "" )
 			  . "</td>";
 		}
 		if ( $ShowHostsStats =~ /H/i ) {
@@ -12264,7 +12414,7 @@
 "<tr><td class=\"aws\"><span style=\"color: #$color_other\">$Message[2]</span></td>";
 		&HTMLShowHostInfo('');
 		if ( $ShowHostsStats =~ /P/i ) {
-			print "<td>" . ( $rest_p ? Format_Number($rest_p) : "&nbsp;" ) . "</td>";
+			print "<td>" . ( $rest_p ? Format_Number($rest_p) : "" ) . "</td>";
 		}
 		if ( $ShowHostsStats =~ /H/i ) { print "<td>".Format_Number($rest_h)."</td>"; }
 		if ( $ShowHostsStats =~ /B/i ) {
@@ -12295,7 +12445,7 @@
 	my $rest_k = 0;
 	my $rest_v = 0;
 	my $rest_u = 0;
-	print "$Center<a name=\"domains\">&nbsp;</a><br$endtag\n";
+#	print "$Center<a name=\"domains\">&nbsp;</a><br$endtag\n";
 
 	# Show domains list
 	my $title = '';
@@ -12305,27 +12455,38 @@
 		$cpt = ( scalar keys %_domener_h );
 	}
 	&tab_head( "$title", 19, 0, 'domains' );
+		print "<col width=\"$WIDTHCOLICON\"$endtag<col width=\"80\"$endtag<col width=\"40\"$endtag";
+		if ( $ShowDomainsStats =~ /U/i ) {
+			print "<col width=\"80\"$endtag";
+		}
+		if ( $ShowDomainsStats =~ /V/i ) {
+			print "<col width=\"80\"$endtag";
+		}
+		if ($ShowDomainsStats =~ /P/i) {print "<col width=\"$WIDTHPAGE\"$endtag";}
+		if ($ShowDomainsStats =~ /H/i) {print "<col width=\"$WIDTHHIT\"$endtag";}
+		if ($ShowDomainsStats =~ /B/i) {print "<col width=\"$WIDTHBANDWIDTH\"$endtag";}
+		print "\n";
 	print
-"<tr bgcolor=\"#$color_TableBGRowTitle\"><th width=\"$WIDTHCOLICON\">&nbsp;</th><th colspan=\"2\">$Message[17]</th>";
+"<tr class=\"colortab\"><th colspan=\"3\" abbr=\"$Message[17]\">$Message[17]</th>";
 	if ( $ShowDomainsStats =~ /U/i ) {
 		print
-		  "<th bgcolor=\"#$color_u\" width=\"80\">$Message[11]</th>";
+		  "<th class=\"coloru\" abbr=\"$Message[11]\">$Message[11]</th>";
 	}
 	if ( $ShowDomainsStats =~ /V/i ) {
 		print
-		  "<th bgcolor=\"#$color_v\" width=\"80\">$Message[10]</th>";
+		  "<th class=\"colorv\" abbr=\"$Message[10]\">$Message[10]</th>";
 	}
 	if ( $ShowDomainsStats =~ /P/i ) {
 		print
-		  "<th bgcolor=\"#$color_p\" width=\"80\">$Message[56]</th>";
+		  "<th class=\"colorp\" abbr=\"$Message[56]\">$Message[56]</th>";
 	}
 	if ( $ShowDomainsStats =~ /H/i ) {
 		print
-		  "<th bgcolor=\"#$color_h\" width=\"80\">$Message[57]</th>";
+		  "<th class=\"colorh\" abbr=\"$Message[57]\">$Message[57]</th>";
 	}
 	if ( $ShowDomainsStats =~ /B/i ) {
 		print
-"<th class=\"datasize\" bgcolor=\"#$color_k\" width=\"80\">$Message[75]</th>";
+"<th class=\"datasize colork\" abbr=\"$Message[75]\">$Message[75]</th>";
 	}
 	print "<td></td>";
 	print "</tr>\n";
@@ -12365,13 +12526,13 @@
 		my $newkey = lc($key);
 		if ( $newkey eq 'ip' || !$DomainsHashIDLib{$newkey} ) {
 			print
-"<tr><td width=\"$WIDTHCOLICON\"><img src=\"$DirIcons\/flags\/ip.png\" height=\"14\""
+"<tr><td><img src=\"$DirIcons\/flags\/ip.png\" height=\"14\" width=\"14\""
 			  . AltTitle("$Message[0]")
 			  . "$endtag</td><td class=\"aws\">$Message[0]</td><td>$newkey</td>";
 		}
 		else {
 			print
-"<tr><td width=\"$WIDTHCOLICON\"><img src=\"$DirIcons\/flags\/$newkey.png\" height=\"14\""
+"<tr><td><img src=\"$DirIcons\/flags\/$newkey.png\" height=\"14\" width=\"14\""
 			  . AltTitle("$newkey")
 			  . "$endtag</td><td class=\"aws\">$DomainsHashIDLib{$newkey}</td><td>$newkey</td>";
 		}
@@ -12452,7 +12613,7 @@
 		|| $rest_k > 0 )
 	{    # All other domains (known or not)
 		print
-"<tr><td width=\"$WIDTHCOLICON\"></td><td colspan=\"2\" class=\"aws\"><span style=\"color: #$color_other\">$Message[2]</span></td>";
+"<tr><td></td><td colspan=\"2\" class=\"aws\"><span style=\"color: #$color_other\">$Message[2]</span></td>";
 		if ( $ShowDomainsStats =~ /U/i ) { print "<td>$rest_u</td>"; }
 		if ( $ShowDomainsStats =~ /V/i ) { print "<td>$rest_v</td>"; }
 		if ( $ShowDomainsStats =~ /P/i ) { print "<td>$rest_p</td>"; }
@@ -12476,14 +12637,20 @@
 #------------------------------------------------------------------------------
 sub HTMLShowDownloads{
 	my $regext         = qr/\.(\w{1,6})$/;
-	print "$Center<a name=\"downloads\">&nbsp;</a><br$endtag\n";
+#	print "$Center<a name=\"downloads\">&nbsp;</a><br$endtag\n";
 	&tab_head( $Message[178], 19, 0, "downloads" );
-	print "<tr bgcolor=\"#$color_TableBGRowTitle\"><th colspan=\"2\">$Message[178]</th>";
-	if ( $ShowFileTypesStats =~ /H/i ){print "<th bgcolor=\"#$color_h\" width=\"80\">$Message[57]</th>"
-		."<th bgcolor=\"#$color_h\" width=\"80\">206 $Message[57]</th>"; }
+	print "<col width=\"$WIDTHCOLICON\"$endtag<col$endtag";
+	if ( $ShowFileTypesStats =~ /H/i ){print "<col width=\"$WIDTHHIT\"$endtag<col width=\"$WIDTHHIT\"$endtag"; }
 	if ( $ShowFileTypesStats =~ /B/i ){
-		print "<th bgcolor=\"#$color_k\" width=\"80\">$Message[75]</th>";
-		print "<th bgcolor=\"#$color_k\" width=\"80\">$Message[106]</th>";
+		print "<col width=\"$WIDTHBANDWIDTH\"$endtag<col width=\"$WIDTHBANDWIDTH\"$endtag";
+	}
+	print "\n";
+	print "<tr class=\"colortab\"><th colspan=\"2\" abbr=\"$Message[178]\">$Message[178]</th>";
+	if ( $ShowFileTypesStats =~ /H/i ){print "<th class=\"colorh\" abbr=\"$Message[57]\">$Message[57]</th>"
+		."<th class=\"colorh\" abbr=\"206 $Message[57]\">206 $Message[57]</th>"; }
+	if ( $ShowFileTypesStats =~ /B/i ){
+		print "<th class=\"colork\" abbr=\"$Message[75]\">$Message[75]</th>";
+		print "<th class=\"colork\" abbr=\"$Message[106]\">$Message[106]</th>";
 	}
 	print "</tr>\n";
 	my $count = 0;
@@ -12491,19 +12658,15 @@
 		print "<tr>";
 		my $ext = Get_Extension($regext, $u);
 		if ( !$ext) {
-			print "<td"
-			  . ( $count ? "" : " width=\"$WIDTHCOLICON\"" )
-			  . "><img src=\"$DirIcons\/mime\/unknown.png\""
-			  . AltTitle("")
+			print "<td><img src=\"$DirIcons\/mime\/unknown.png\" height=\"14\" width=\"14\""
+			  . AltTitle("unknown")
 			  . "$endtag</td>";
 		}
 		else {
 			my $nameicon = $MimeHashLib{$ext}[0] || "notavailable";
-			my $nametype = $MimeHashFamily{$MimeHashLib{$ext}[0]} || "&nbsp;";
-			print "<td"
-			  . ( $count ? "" : " width=\"$WIDTHCOLICON\"" )
-			  . "><img src=\"$DirIcons\/mime\/$nameicon.png\""
-			  . AltTitle("")
+			my $nametype = $MimeHashFamily{$MimeHashLib{$ext}[0]} || "";
+			print "<td><img src=\"$DirIcons\/mime\/$nameicon.png\" height=\"14\" width=\"14\""
+			  . AltTitle("name")
 			  . "$endtag</td>";
 		}
 		print "<td class=\"aws\">";
@@ -12599,27 +12762,29 @@
 	if ( $LogType eq 'W' || $LogType eq 'S' ) {
 		$w       = '17';
 		$colspan = 6;
+		print "<col width=\"$w%\"$endtag<col width=\"$w%\"$endtag<col width=\"$w%\"$endtag<col width=\"$w%\"$endtag<col width=\"$w%\"$endtag<col width=\"$w%\"$endtag\n";
+	} else {
+		print "<col width=\"$w%\"$endtag<col width=\"$w%\"$endtag<col width=\"$w%\"$endtag<col width=\"$w%\"$endtag<col width=\"$w%\"$endtag\n";
 	}
 
 	# Show first/last
-	print "<tr bgcolor=\"#$color_TableBGRowTitle\">";
+	print "<tr class=\"colortab\">";
 	print
 "<td class=\"aws\"><strong>$Message[133]</strong></td><td class=\"aws\" colspan=\""
 	  . ( $colspan - 1 ) . "\">\n";
 	print( $MonthRequired eq 'all'
 		? "$Message[6] $YearRequired"
 		: "$Message[5] "
-		  . $MonthNumLib{$MonthRequired}
-		  . " $YearRequired"
+		  . Format_Date("$YearRequired$MonthRequired"."00000000",4)
 	);
 	print "</td></tr>\n";
-	print "<tr bgcolor=\"#$color_TableBGRowTitle\">";
+	print "<tr class=\"colortab\">";
 	print "<td class=\"aws\"><strong>$Message[8]</strong></td>\n";
 	print "<td class=\"aws\" colspan=\""
 	  . ( $colspan - 1 ) . "\">"
 	  . ( $FirstTime ? Format_Date( $FirstTime, 0 ) : "NA" ) . "</td>";
 	print "</tr>\n";
-	print "<tr bgcolor=\"#$color_TableBGRowTitle\">";
+	print "<tr class=\"colortab\">";
 	print "<td class=\"aws\"><strong>$Message[9]</strong></td>\n";
 	print "<td class=\"aws\" colspan=\""
 	  . ( $colspan - 1 ) . "\">"
@@ -12630,52 +12795,52 @@
 	# Show main indicators title row
 	print "<tr>";
 	if ( $LogType eq 'W' || $LogType eq 'S' ) {
-		print "<td bgcolor=\"#$color_TableBGTitle\"></td>";
+		print "<td class=\"colorBGTitle\"></td>";
 	}
 	if ( $ShowSummary =~ /U/i ) {
-		print "<td width=\"$w%\" bgcolor=\"#$color_u\""
+		print "<td class=\"coloru\""
 		  . Tooltip(2)
 		  . ">$Message[11]</td>";
 	}
 	else {
 		print
-"<td bgcolor=\"#$color_TableBGTitle\" width=\"20%\"></td>";
+"<td class=\"colorBGTitle\"></td>";
 	}
 	if ( $ShowSummary =~ /V/i ) {
-		print "<td width=\"$w%\" bgcolor=\"#$color_v\""
+		print "<td class=\"colorv\""
 		  . Tooltip(1)
 		  . ">$Message[10]</td>";
 	}
 	else {
 		print
-"<td bgcolor=\"#$color_TableBGTitle\" width=\"20%\"></td>";
+"<td class=\"colorBGTitle\"></td>";
 	}
 	if ( $ShowSummary =~ /P/i ) {
-		print "<td width=\"$w%\" bgcolor=\"#$color_p\""
+		print "<td class=\"colorp\""
 		  . Tooltip(3)
 		  . ">$Message[56]</td>";
 	}
 	else {
 		print
-"<td bgcolor=\"#$color_TableBGTitle\" width=\"20%\"></td>";
+"<td class=\"colorBGTitle\"></td>";
 	}
 	if ( $ShowSummary =~ /H/i ) {
-		print "<td width=\"$w%\" bgcolor=\"#$color_h\""
+		print "<td class=\"colorh\""
 		  . Tooltip(4)
 		  . ">$Message[57]</td>";
 	}
 	else {
 		print
-"<td bgcolor=\"#$color_TableBGTitle\" width=\"20%\"></td>";
+"<td class=\"colorBGTitle\"></td>";
 	}
 	if ( $ShowSummary =~ /B/i ) {
-		print "<td width=\"$w%\" bgcolor=\"#$color_k\""
+		print "<td class=\"colork\""
 		  . Tooltip(5)
 		  . ">$Message[75]</td>";
 	}
 	else {
 		print
-"<td bgcolor=\"#$color_TableBGTitle\" width=\"20%\"></td>";
+"<td class=\"colorBGTitle\"></td>";
 	}
 	print "</tr>\n";
 
@@ -12683,8 +12848,8 @@
 	print "<tr>";
 	if ( $LogType eq 'M' ) {
 		print "<td class=\"aws\">$Message[165]</td>";
-		print "<td>&nbsp;<br$endtag&nbsp;</td>\n";
-		print "<td>&nbsp;<br$endtag&nbsp;</td>\n";
+		print "<td></td>\n";
+		print "<td></td>\n";
 		if ( $ShowSummary =~ /H/i ) {
 			print "<td><strong>".Format_Number($TotalHits)."</strong>"
 			  . (
@@ -12714,7 +12879,7 @@
 			  . (
 				$MonthRequired eq 'all'
 				? "<strong>&lt;= ".Format_Number($TotalUnique)."</strong><br$endtag$Message[129]"
-				: "<strong>".Format_Number($TotalUnique)."</strong><br$endtag&nbsp;"
+				: "<strong>".Format_Number($TotalUnique)."</strong>"
 			  )
 			  . "</td>";
 		}
@@ -12759,8 +12924,8 @@
 		print "<tr>";
 		if ( $LogType eq 'M' ) {
 			print "<td class=\"aws\">$Message[166]</td>";
-			print "<td>&nbsp;<br$endtag&nbsp;</td>\n";
-			print "<td>&nbsp;<br$endtag&nbsp;</td>\n";
+			print "<td></td>\n";
+			print "<td></td>\n";
 			if ( $ShowSummary =~ /H/i ) {
 				print "<td><strong>".Format_Number($TotalNotViewedHits)."</strong></td>";
 			}
@@ -12776,7 +12941,7 @@
 			if ( $LogType eq 'W' || $LogType eq 'S' ) {
 				print "<td class=\"aws\">$Message[161]&nbsp;*</td>";
 			}
-			print "<td colspan=\"2\">&nbsp;<br$endtag&nbsp;</td>\n";
+			print "<td colspan=\"2\"></td>\n";
 			if ( $ShowSummary =~ /P/i ) {
 				print "<td><strong>".Format_Number($TotalNotViewedPages)."</strong></td>";
 			}
@@ -12807,11 +12972,11 @@
 #------------------------------------------------------------------------------
 sub HTMLMainMonthly{
 	if ($Debug) { debug( "ShowMonthStats", 2 ); }
-	print "$Center<a name=\"month\">&nbsp;</a><br$endtag\n";
+#	print "$Center<a name=\"month\">&nbsp;</a><br$endtag\n";
 	my $title = "$Message[162]";
 	&tab_head( "$title", 0, 0, 'month' );
 	print "<tr><td align=\"center\">\n";
-	print "<center>\n";
+#	print "<center>\n";
 
 	my $average_nb = my $average_u = my $average_v = my $average_p = 0;
 	my $average_h = my $average_k = 0;
@@ -12854,9 +13019,14 @@
 	{
 		my @blocklabel = ();
 		for ( my $ix = 1 ; $ix <= 12 ; $ix++ ) {
+			my $bold =
+			  (      $ix == $nowmonth
+				  && $YearRequired == $nowyear ? ':' : '' );
 			my $monthix = sprintf( "%02s", $ix );
+			my $labeltmp = Format_Date( "$YearRequired$monthix"."00000000", 3 );
+			$labeltmp =~ s/<br$endtag/#br#/;
 			push @blocklabel,
-			  "$MonthNumLib{$monthix}\n$YearRequired";
+			  "$labeltmp$bold";
 		}
 		my @vallabel = (
 			"$Message[11]", "$Message[10]",
@@ -12900,9 +13070,10 @@
 	}
 	if (! $graphdone)
 	{
-		print "<table>\n";
+		print "<table summary=\"Graph\" style=\"margin-left:auto;margin-right:auto\">\n";
+		print "<col width=\"50\" span=\"12\"$endtag\n";
 		print "<tr valign=\"bottom\">";
-		print "<td></td>\n";
+#		print "<td></td>\n";
 		for ( my $ix = 1 ; $ix <= 12 ; $ix++ ) {
 			my $monthix  = sprintf( "%02s", $ix );
 			my $bredde_u = 0;
@@ -12942,7 +13113,7 @@
 			print "<td>";
 			if ( $ShowMonthStats =~ /U/i ) {
 				print
-"<img align=\"bottom\" src=\"$DirIcons\/other\/$BarPng{'vu'}\" height=\"$bredde_u\" width=\"6\""
+"<img class=\"bottom\" src=\"$DirIcons\/other\/$BarPng{'vu'}\" height=\"$bredde_u\" width=\"6\""
 				  . AltTitle( "$Message[11]: "
 					  . ( $MonthUnique{ $YearRequired . $monthix }
 						  || 0 ) )
@@ -12950,7 +13121,7 @@
 			}
 			if ( $ShowMonthStats =~ /V/i ) {
 				print
-"<img align=\"bottom\" src=\"$DirIcons\/other\/$BarPng{'vv'}\" height=\"$bredde_v\" width=\"6\""
+"<img class=\"bottom\" src=\"$DirIcons\/other\/$BarPng{'vv'}\" height=\"$bredde_v\" width=\"6\""
 				  . AltTitle( "$Message[10]: "
 					  . ( $MonthVisits{ $YearRequired . $monthix }
 						  || 0 ) )
@@ -12958,7 +13129,7 @@
 			}
 			if ( $ShowMonthStats =~ /P/i ) {
 				print
-"<img align=\"bottom\" src=\"$DirIcons\/other\/$BarPng{'vp'}\" height=\"$bredde_p\" width=\"6\""
+"<img class=\"bottom\" src=\"$DirIcons\/other\/$BarPng{'vp'}\" height=\"$bredde_p\" width=\"6\""
 				  . AltTitle( "$Message[56]: "
 					  . ( $MonthPages{ $YearRequired . $monthix } || 0 )
 				  )
@@ -12966,7 +13137,7 @@
 			}
 			if ( $ShowMonthStats =~ /H/i ) {
 				print
-"<img align=\"bottom\" src=\"$DirIcons\/other\/$BarPng{'vh'}\" height=\"$bredde_h\" width=\"6\""
+"<img class=\"bottom\" src=\"$DirIcons\/other\/$BarPng{'vh'}\" height=\"$bredde_h\" width=\"6\""
 				  . AltTitle( "$Message[57]: "
 					  . ( $MonthHits{ $YearRequired . $monthix } || 0 )
 				  )
@@ -12974,7 +13145,7 @@
 			}
 			if ( $ShowMonthStats =~ /B/i ) {
 				print
-"<img align=\"bottom\" src=\"$DirIcons\/other\/$BarPng{'vk'}\" height=\"$bredde_k\" width=\"6\""
+"<img class=\"bottom\" src=\"$DirIcons\/other\/$BarPng{'vk'}\" height=\"$bredde_k\" width=\"6\""
 					  . AltTitle(
 					"$Message[75]: "
 					  . Format_Bytes(
@@ -12985,7 +13156,7 @@
 			}
 			print "</td>\n";
 		}
-		print "<td></td>";
+#		print "<td></td>";
 		print "</tr>\n";
 
 		# Show lib for month
@@ -12995,7 +13166,7 @@
 		#	print "<td><a href=\"".XMLEncode("$AWScript${NewLinkParams}month=12&year=".($YearRequired-1))."\">&lt;&lt;</a></td>";
 		#}
 		#else {
-		print "<td></td>";
+#		print "<td></td>";
 
 		#				}
 		for ( my $ix = 1 ; $ix <= 12 ; $ix++ ) {
@@ -13013,7 +13184,7 @@
 				? '<span class="currentday">'
 				: ''
 			  );
-			print "$MonthNumLib{$monthix}<br$endtag$YearRequired";
+			print Format_Date("$YearRequired$monthix"."00000000",3);
 			print(   !$StaticLinks
 				  && $monthix == $nowmonth
 				  && $YearRequired == $nowyear ? '</span>' : '' );
@@ -13026,41 +13197,48 @@
 #			print "<td><a href=\"".XMLEncode("$AWScript${NewLinkParams}month=1&year=".($YearRequired+1))."\">&gt;&gt;</a></td>";
 #		}
 #		else {
-		print "<td></td>";
+#		print "<td></td>";
 
 		#				}
 		print "</tr>\n";
 		print "</table>\n";
 	}
-	print "<br$endtag\n";
+#	print "<br$endtag\n";
 
 	# Show data array for month
 	if ($AddDataArrayMonthStats) {
-		print "<table>\n";
+		print "<table summary=\"Show data array for month\" style=\"margin-left:auto;margin-right:auto\">\n";
+		print "<col width=\"90\"$endtag";
+		if ($ShowMonthStats =~ /U/i) {print "<col width=\"$WIDTHHIT\"$endtag";}
+		if ($ShowMonthStats =~ /V/i) {print "<col width=\"$WIDTHHIT\"$endtag";}
+		if ($ShowMonthStats =~ /P/i) {print "<col width=\"$WIDTHPAGE\"$endtag";}
+		if ($ShowMonthStats =~ /H/i) {print "<col width=\"$WIDTHHIT\"$endtag";}
+		if ($ShowMonthStats =~ /B/i) {print "<col width=\"$WIDTHBANDWIDTH\"$endtag";}
+		print "\n";
 		print
-"<tr><td width=\"80\" bgcolor=\"#$color_TableBGRowTitle\">$Message[5]</td>";
+"<tr><td class=\"colortab\">$Message[5]</td>";
 		if ( $ShowMonthStats =~ /U/i ) {
-			print "<td width=\"80\" bgcolor=\"#$color_u\""
+			print "<td class=\"coloru\""
 			  . Tooltip(2)
 			  . ">$Message[11]</td>";
 		}
 		if ( $ShowMonthStats =~ /V/i ) {
-			print "<td width=\"80\" bgcolor=\"#$color_v\""
+			print "<td class=\"colorv\""
 			  . Tooltip(1)
 			  . ">$Message[10]</td>";
 		}
 		if ( $ShowMonthStats =~ /P/i ) {
-			print "<td width=\"80\" bgcolor=\"#$color_p\""
+			print "<td class=\"colorp\""
 			  . Tooltip(3)
 			  . ">$Message[56]</td>";
 		}
 		if ( $ShowMonthStats =~ /H/i ) {
-			print "<td width=\"80\" bgcolor=\"#$color_h\""
+			print "<td class=\"colorh\""
 			  . Tooltip(4)
 			  . ">$Message[57]</td>";
 		}
 		if ( $ShowMonthStats =~ /B/i ) {
-			print "<td width=\"80\" bgcolor=\"#$color_k\""
+			print "<td class=\"colork\""
 			  . Tooltip(5)
 			  . ">$Message[75]</td>";
 		}
@@ -13076,7 +13254,7 @@
 				? '<span class="currentday">'
 				: ''
 			  );
-			print "$MonthNumLib{$monthix} $YearRequired";
+			print Format_Date("$YearRequired$monthix"."00000000",4);
 			print(   !$StaticLinks
 				  && $monthix == $nowmonth
 				  && $YearRequired == $nowyear ? '</span>' : '' );
@@ -13118,32 +13296,32 @@
 		# TODO
 		# Total row
 		print
-"<tr><td bgcolor=\"#$color_TableBGRowTitle\">$Message[102]</td>";
+"<tr><td class=\"colortab\">$Message[102]</td>";
 		if ( $ShowMonthStats =~ /U/i ) {
 			print
-			  "<td bgcolor=\"#$color_TableBGRowTitle\">".Format_Number($total_u)."</td>";
+			  "<td class=\"colortab\">".Format_Number($total_u)."</td>";
 		}
 		if ( $ShowMonthStats =~ /V/i ) {
 			print
-			  "<td bgcolor=\"#$color_TableBGRowTitle\">".Format_Number($total_v)."</td>";
+			  "<td class=\"colortab\">".Format_Number($total_v)."</td>";
 		}
 		if ( $ShowMonthStats =~ /P/i ) {
 			print
-			  "<td bgcolor=\"#$color_TableBGRowTitle\">".Format_Number($total_p)."</td>";
+			  "<td class=\"colortab\">".Format_Number($total_p)."</td>";
 		}
 		if ( $ShowMonthStats =~ /H/i ) {
 			print
-			  "<td bgcolor=\"#$color_TableBGRowTitle\">".Format_Number($total_h)."</td>";
+			  "<td class=\"colortab\">".Format_Number($total_h)."</td>";
 		}
 		if ( $ShowMonthStats =~ /B/i ) {
-			print "<td bgcolor=\"#$color_TableBGRowTitle\">"
+			print "<td class=\"colortab\">"
 			  . Format_Bytes($total_k) . "</td>";
 		}
 		print "</tr>\n";
-		print "</table>\n<br$endtag\n";
+		print "</table>\n";
 	}
 
-	print "</center>\n";
+#	print "</center>\n";
 	print "</td></tr>\n";
 	&tab_end();
 }
@@ -13163,12 +13341,12 @@
 	my $lastdaytoshowtime = shift;
 
 	if ($Debug) { debug( "ShowDaysOfMonthStats", 2 ); }
-	print "$Center<a name=\"daysofmonth\">&nbsp;</a><br$endtag\n";
+#	print "$Center<a name=\"daysofmonth\">&nbsp;</a><br$endtag\n";
 	my $title = "$Message[138]";
 	&tab_head( "$title", 0, 0, 'daysofmonth' );
 	print "<tr>";
 	print "<td align=\"center\">\n";
-	print "<center>\n";
+#	print "<center>\n";
 
 	my $NewLinkParams = ${QueryString};
 	$NewLinkParams =~ s/(^|&|&amp;)update(=\w*|$)//i;
@@ -13240,8 +13418,10 @@
 				  && $year == $nowyear ? ':' : '' );
 			my $weekend =
 			  ( DayOfWeek( $day, $month, $year ) =~ /[06]/ ? '!' : '' );
+			my $labeltmp = Format_Date( "$year$month$day"."00000000", 5 );
+			$labeltmp =~ s/<br$endtag/#br#/;
 			push @blocklabel,
-			  "$day\n$MonthNumLib{$month}$weekend$bold";
+			  "$labeltmp$weekend$bold";
 		}
 		my @vallabel = (
 			"$Message[10]", "$Message[56]",
@@ -13283,7 +13463,7 @@
 	}
 	# If graph was not printed by a plugin
 	if (! $graphdone) {
-		print "<table>\n";
+		print "<table summary=\"Show data array for month\" style=\"margin-left:auto;margin-right:auto\">\n";
 		print "<tr valign=\"bottom\">\n";
 		foreach my $daycursor ( $firstdaytoshowtime .. $lastdaytoshowtime )
 		{
@@ -13321,7 +13501,7 @@
 			print "<td>";
 			if ( $ShowDaysOfMonthStats =~ /V/i ) {
 				print
-"<img align=\"bottom\" src=\"$DirIcons\/other\/$BarPng{'vv'}\" height=\"$bredde_v\" width=\"4\""
+"<img class=\"bottom\" src=\"$DirIcons\/other\/$BarPng{'vv'}\" height=\"$bredde_v\" width=\"4\""
 				  . AltTitle( "$Message[10]: "
 					  . int( $DayVisits{ $year . $month . $day } || 0 )
 				  )
@@ -13329,21 +13509,21 @@
 			}
 			if ( $ShowDaysOfMonthStats =~ /P/i ) {
 				print
-"<img align=\"bottom\" src=\"$DirIcons\/other\/$BarPng{'vp'}\" height=\"$bredde_p\" width=\"4\""
+"<img class=\"bottom\" src=\"$DirIcons\/other\/$BarPng{'vp'}\" height=\"$bredde_p\" width=\"4\""
 				  . AltTitle( "$Message[56]: "
 					  . int( $DayPages{ $year . $month . $day } || 0 ) )
 				  . "$endtag";
 			}
 			if ( $ShowDaysOfMonthStats =~ /H/i ) {
 				print
-"<img align=\"bottom\" src=\"$DirIcons\/other\/$BarPng{'vh'}\" height=\"$bredde_h\" width=\"4\""
+"<img class=\"bottom\" src=\"$DirIcons\/other\/$BarPng{'vh'}\" height=\"$bredde_h\" width=\"4\""
 				  . AltTitle( "$Message[57]: "
 					  . int( $DayHits{ $year . $month . $day } || 0 ) )
 				  . "$endtag";
 			}
 			if ( $ShowDaysOfMonthStats =~ /B/i ) {
 				print
-"<img align=\"bottom\" src=\"$DirIcons\/other\/$BarPng{'vk'}\" height=\"$bredde_k\" width=\"4\""
+"<img class=\"bottom\" src=\"$DirIcons\/other\/$BarPng{'vk'}\" height=\"$bredde_k\" width=\"4\""
 				  . AltTitle(
 					"$Message[75]: "
 					  . Format_Bytes(
@@ -13354,7 +13534,7 @@
 			}
 			print "</td>\n";
 		}
-		print "<td></td>";
+#		print "<td></td>";
 
 		# Show average value bars
 		print "<td>";
@@ -13380,22 +13560,22 @@
 		$average_k = sprintf( "%.2f", $average_k );
 		if ( $ShowDaysOfMonthStats =~ /V/i ) {
 			print
-"<img align=\"bottom\" src=\"$DirIcons\/other\/$BarPng{'vv'}\" height=\"$bredde_v\" width=\"4\""
+"<img class=\"bottom\" src=\"$DirIcons\/other\/$BarPng{'vv'}\" height=\"$bredde_v\" width=\"4\""
 			  . AltTitle("$Message[10]: $average_v") . "$endtag";
 		}
 		if ( $ShowDaysOfMonthStats =~ /P/i ) {
 			print
-"<img align=\"bottom\" src=\"$DirIcons\/other\/$BarPng{'vp'}\" height=\"$bredde_p\" width=\"4\""
+"<img class=\"bottom\" src=\"$DirIcons\/other\/$BarPng{'vp'}\" height=\"$bredde_p\" width=\"4\""
 			  . AltTitle("$Message[56]: $average_p") . "$endtag";
 		}
 		if ( $ShowDaysOfMonthStats =~ /H/i ) {
 			print
-"<img align=\"bottom\" src=\"$DirIcons\/other\/$BarPng{'vh'}\" height=\"$bredde_h\" width=\"4\""
+"<img class=\"bottom\" src=\"$DirIcons\/other\/$BarPng{'vh'}\" height=\"$bredde_h\" width=\"4\""
 			  . AltTitle("$Message[57]: $average_h") . "$endtag";
 		}
 		if ( $ShowDaysOfMonthStats =~ /B/i ) {
 			print
-"<img align=\"bottom\" src=\"$DirIcons\/other\/$BarPng{'vk'}\" height=\"$bredde_k\" width=\"4\""
+"<img class=\"bottom\" src=\"$DirIcons\/other\/$BarPng{'vk'}\" height=\"$bredde_k\" width=\"4\""
 			  . AltTitle("$Message[75]: $average_k") . "$endtag";
 		}
 		print "</td>\n";
@@ -13417,7 +13597,7 @@
 			print "<td"
 			  . (
 				$dayofweekcursor =~ /[06]/
-				? " bgcolor=\"#$color_weekend\""
+				? " class=\"colorweekend\""
 				: ""
 			  )
 			  . ">";
@@ -13429,53 +13609,54 @@
 				? '<span class="currentday">'
 				: ''
 			);
-			print "$day<br$endtag<span style=\"font-size: "
-			  . (    $FrameName ne 'mainright'
-				  && $QueryString !~ /buildpdf/i ? "9" : "8" )
-			  . "px;\">"
-			  . $MonthNumLib{$month}
-			  . "</span>";
+			print Format_Date("$year$month$day"."000000",5);
 			print(   !$StaticLinks
 				  && $day == $nowday
 				  && $month == $nowmonth
 				  && $year == $nowyear ? '</span>' : '' );
 			print "</td>\n";
 		}
-		print "<td></td>";
+#		print "<td></td>";
 		print "<td class=\"vmiddle\""
 		  . Tooltip(18)
 		  . ">$Message[96]</td>\n";
 		print "</tr>\n";
 		print "</table>\n";
 	}
-	print "<br$endtag\n";
+#	print "<br$endtag\n";
 
 	# Show data array for days
 	if ($AddDataArrayShowDaysOfMonthStats) {
-		print "<table>\n";
+	print "<table summary=\"Show data array for days\" style=\"margin-left:auto;margin-right:auto\">\n";
+	print "<col width=\"$WIDTHFULLDATE\"$endtag";
+	if ($ShowDaysOfMonthStats =~ /V/i) { print "<col width=\"$WIDTHHIT\"$endtag";}
+	if ($ShowDaysOfMonthStats =~ /P/i) { print "<col width=\"$WIDTHPAGE\"$endtag";}
+	if ($ShowDaysOfMonthStats =~ /H/i) { print "<col width=\"$WIDTHHIT\"$endtag";}
+	if ($ShowDaysOfMonthStats =~ /B/i) { print "<col width=\"$WIDTHBANDWIDTH\"$endtag";}
+		print "\n";
 		print
-"<tr><td width=\"80\" bgcolor=\"#$color_TableBGRowTitle\">$Message[4]</td>";
+"<tr><td class=\"colortab\">$Message[4]</td>";
 		if ( $ShowDaysOfMonthStats =~ /V/i ) {
-			print "<td width=\"80\" bgcolor=\"#$color_v\""
+			print "<td class=\"colorv\""
 			  . Tooltip(1)
 			  . ">$Message[10]</td>";
 		}
 		if ( $ShowDaysOfMonthStats =~ /P/i ) {
-			print "<td width=\"80\" bgcolor=\"#$color_p\""
+			print "<td class=\"colorp\""
 			  . Tooltip(3)
 			  . ">$Message[56]</td>";
 		}
 		if ( $ShowDaysOfMonthStats =~ /H/i ) {
-			print "<td width=\"80\" bgcolor=\"#$color_h\""
+			print "<td class=\"colorh\""
 			  . Tooltip(4)
 			  . ">$Message[57]</td>";
 		}
 		if ( $ShowDaysOfMonthStats =~ /B/i ) {
-			print "<td width=\"80\" bgcolor=\"#$color_k\""
+			print "<td class=\"colork\""
 			  . Tooltip(5)
 			  . ">$Message[75]</td>";
 		}
-		print "</tr>";
+		print "</tr>\n";
 		foreach
 		  my $daycursor ( $firstdaytoshowtime .. $lastdaytoshowtime )
 		{
@@ -13490,7 +13671,7 @@
 			print "<tr"
 			  . (
 				$dayofweekcursor =~ /[06]/
-				? " bgcolor=\"#$color_weekend\""
+				? " class=\"colorweekend\""
 				: ""
 			  )
 			  . ">";
@@ -13538,7 +13719,7 @@
 
 		# Average row
 		print
-"<tr bgcolor=\"#$color_TableBGRowTitle\"><td>$Message[96]</td>";
+"<tr class=\"colortab\"><td>$Message[96]</td>";
 		if ( $ShowDaysOfMonthStats =~ /V/i ) {
 			print "<td>".Format_Number(int($average_v))."</td>";
 		}
@@ -13555,7 +13736,7 @@
 
 		# Total row
 		print
-"<tr bgcolor=\"#$color_TableBGRowTitle\"><td>$Message[102]</td>";
+"<tr class=\"colortab\"><td>$Message[102]</td>";
 		if ( $ShowDaysOfMonthStats =~ /V/i ) {
 			print "<td>".Format_Number($total_v)."</td>";
 		}
@@ -13569,10 +13750,10 @@
 			print "<td>" . Format_Bytes($total_k) . "</td>";
 		}
 		print "</tr>\n";
-		print "</table>\n<br$endtag";
+		print "</table>\n";
 	}
 
-	print "</center>\n";
+#	print "</center>\n";
 	print "</td></tr>\n";
 	&tab_end();
 }
@@ -13588,12 +13769,12 @@
 	my $firstdaytocountaverage = shift;
 	my $lastdaytocountaverage = shift;
 	if ($Debug) { debug( "ShowDaysOfWeekStats", 2 ); }
-			print "$Center<a name=\"daysofweek\">&nbsp;</a><br$endtag\n";
+#			print "$Center<a name=\"daysofweek\">&nbsp;</a><br$endtag\n";
 			my $title = "$Message[91]";
 			&tab_head( "$title", 18, 0, 'daysofweek' );
 			print "<tr>";
-			print "<td align=\"center\">";
-			print "<center>\n";
+			print "<td align=\"center\">\n";
+#			print "<center>\n";
 
 			my $max_h = my $max_k = 0;    # Start from 0 because can be lower than 1
 			                        # Get average value for day of week
@@ -13705,7 +13886,8 @@
 			}
 			if (! $graphdone)
 			{
-				print "<table>\n";
+				print "<table summary=\"Show data array for week\" style=\"margin-left:auto;margin-right:auto\">\n";
+				print "<col width=\"50\" span=\"7\"$endtag\n";
 				print "<tr valign=\"bottom\">\n";
 				for (@DOWIndex) {
 					my $bredde_p = 0;
@@ -13773,19 +13955,19 @@
 					print "<td valign=\"bottom\">";
 					if ( $ShowDaysOfWeekStats =~ /P/i ) {
 						print
-"<img align=\"bottom\" src=\"$DirIcons\/other\/$BarPng{'vp'}\" height=\"$bredde_p\" width=\"6\""
+"<img class=\"bottom\" src=\"$DirIcons\/other\/$BarPng{'vp'}\" height=\"$bredde_p\" width=\"6\""
 						  . AltTitle("$Message[56]: $avg_dayofweek_p[$_]")
 						  . "$endtag";
 					}
 					if ( $ShowDaysOfWeekStats =~ /H/i ) {
 						print
-"<img align=\"bottom\" src=\"$DirIcons\/other\/$BarPng{'vh'}\" height=\"$bredde_h\" width=\"6\""
+"<img class=\"bottom\" src=\"$DirIcons\/other\/$BarPng{'vh'}\" height=\"$bredde_h\" width=\"6\""
 						  . AltTitle("$Message[57]: $avg_dayofweek_h[$_]")
 						  . "$endtag";
 					}
 					if ( $ShowDaysOfWeekStats =~ /B/i ) {
 						print
-"<img align=\"bottom\" src=\"$DirIcons\/other\/$BarPng{'vk'}\" height=\"$bredde_k\" width=\"6\""
+"<img class=\"bottom\" src=\"$DirIcons\/other\/$BarPng{'vk'}\" height=\"$bredde_k\" width=\"6\""
 						  . AltTitle( "$Message[75]: "
 							  . Format_Bytes( $avg_dayofweek_k[$_] ) )
 						  . "$endtag";
@@ -13796,7 +13978,7 @@
 				print "<tr" . Tooltip(17) . ">\n";
 				for (@DOWIndex) {
 					print "<td"
-					  . ( $_ =~ /[06]/ ? " bgcolor=\"#$color_weekend\"" : "" )
+					  . ( $_ =~ /[06]/ ? " class=\"colorweekend\"" : "" )
 					  . ">"
 					  . (
 						!$StaticLinks
@@ -13815,31 +13997,36 @@
 				}
 				print "</tr>\n</table>\n";
 			}
-			print "<br$endtag\n";
+#			print "<br$endtag\n";
 
 			# Show data array for days of week
 			if ($AddDataArrayShowDaysOfWeekStats) {
-				print "<table>\n";
+				print "<table summary=\"Show data array of week\" style=\"margin-left:auto;margin-right:auto\">\n";
+				print "<col width=\"80\"$endtag";
+				if ($ShowDaysOfWeekStats =~ /P/i) { print "<col width=\"$WIDTHPAGE\"$endtag";}
+				if ($ShowDaysOfWeekStats =~ /H/i) { print "<col width=\"$WIDTHHIT\"$endtag";}
+				if ($ShowDaysOfWeekStats =~ /B/i) { print "<col width=\"$WIDTHBANDWIDTH\"$endtag";}
+				print "\n";
 				print
-"<tr><td width=\"80\" bgcolor=\"#$color_TableBGRowTitle\">$Message[4]</td>";
+"<tr><td class=\"colortab\">$Message[91]</td>";
 				if ( $ShowDaysOfWeekStats =~ /P/i ) {
-					print "<td width=\"80\" bgcolor=\"#$color_p\""
+					print "<td class=\"colorp\""
 					  . Tooltip(3)
 					  . ">$Message[56]</td>";
 				}
 				if ( $ShowDaysOfWeekStats =~ /H/i ) {
-					print "<td width=\"80\" bgcolor=\"#$color_h\""
+					print "<td class=\"colorh\""
 					  . Tooltip(4)
 					  . ">$Message[57]</td>";
 				}
 				if ( $ShowDaysOfWeekStats =~ /B/i ) {
-					print "<td width=\"80\" bgcolor=\"#$color_k\""
+					print "<td class=\"colork\""
 					  . Tooltip(5)
 					  . ">$Message[75]</td></tr>";
 				}
 				for (@DOWIndex) {
 					print "<tr"
-					  . ( $_ =~ /[06]/ ? " bgcolor=\"#$color_weekend\"" : "" )
+					  . ( $_ =~ /[06]/ ? " class=\"colorweekend\"" : "" )
 					  . ">";
 					print "<td>"
 					  . (
@@ -13868,10 +14055,10 @@
 					}
 					print "</tr>\n";
 				}
-				print "</table>\n<br$endtag\n";
+				print "</table>\n";
 			}
 
-			print "</center></td>";
+			print "</td>";
 			print "</tr>\n";
 			&tab_end();
 }
@@ -13889,7 +14076,7 @@
 	if (!$LevelForFileTypesDetection > 0){return;}
 	if ($Debug) { debug( "ShowDownloadStats", 2 ); }
 	my $regext         = qr/\.(\w{1,6})$/;
-	print "$Center<a name=\"downloads\">&nbsp;</a><br$endtag\n";
+#	print "$Center<a name=\"downloads\">&nbsp;</a><br$endtag\n";
 	my $Totalh = 0;
 	if ($MaxNbOf{'DownloadsShown'} < 1){$MaxNbOf{'DownloadsShown'} = 10;}	# default if undefined
 	my $title =
@@ -13939,12 +14126,19 @@
 	}
 
 	my $total_dls = scalar keys %_downloads;
-	print "<tr bgcolor=\"#$color_TableBGRowTitle\"><th colspan=\"2\">$Message[178]: $total_dls</th>";
-	if ( $ShowDownloadsStats =~ /H/i ){print "<th bgcolor=\"#$color_h\" width=\"80\">$Message[57]</th>"
-		."<th bgcolor=\"#$color_h\" width=\"80\">206 $Message[57]</th>"; }
+	print "<col width=\"$WIDTHCOLICON\"$endtag<col$endtag";
+	if ( $ShowDownloadsStats =~ /H/i ){
+		print "<col width=\"$WIDTHHIT\"$endtag<col width=\"$WIDTHHIT\"$endtag";
+	}
 	if ( $ShowDownloadsStats =~ /B/i ){
-		print "<th bgcolor=\"#$color_k\" width=\"80\">$Message[75]</th>";
-		print "<th bgcolor=\"#$color_k\" width=\"80\">$Message[106]</th>";
+		print "<col width=\"$WIDTHBANDWIDTH\"$endtag<col width=\"$WIDTHBANDWIDTH\"$endtag";
+	}
+	print "<tr class=\"colortab\"><th colspan=\"2\" abbr=\"$Message[178]: $total_dls\">$Message[178]: $total_dls</th>";
+	if ( $ShowDownloadsStats =~ /H/i ){print "<th class=\"colorh\" abbr=\"$Message[57]\">$Message[57]</th>"
+		."<th class=\"colorh\" abbr=\"206 $Message[57]\">206 $Message[57]</th>"; }
+	if ( $ShowDownloadsStats =~ /B/i ){
+		print "<th class=\"colork\" abbr=\"$Message[75]\">$Message[75]</th>";
+		print "<th class=\"colork\" abbr=\"$Message[106]\">$Message[106]</th>";
 	}
 	print "</tr>\n";
 	my $count   = 0;
@@ -13953,17 +14147,17 @@
 		my $ext = Get_Extension($regext, $u);
 		if ( !$ext) {
 			print "<td"
-			  . ( $count ? "" : " width=\"$WIDTHCOLICON\"" )
 			  . "><img src=\"$DirIcons\/mime\/unknown.png\""
+			  . " height=\"14\" width=\"14\""
 			  . AltTitle("")
 			  . "$endtag</td>";
 		}
 		else {
 			my $nameicon = $MimeHashLib{$ext}[0] || "notavailable";
-			my $nametype = $MimeHashFamily{$MimeHashLib{$ext}[0]} || "&nbsp;";
+			my $nametype = $MimeHashFamily{$MimeHashLib{$ext}[0]} || "";
 			print "<td"
-			  . ( $count ? "" : " width=\"$WIDTHCOLICON\"" )
 			  . "><img src=\"$DirIcons\/mime\/$nameicon.png\""
+			  . " height=\"14\" width=\"14\""
 			  . AltTitle("")
 			  . "$endtag</td>";
 		}
@@ -13995,7 +14189,7 @@
 #------------------------------------------------------------------------------
 sub HTMLMainHours{
 	if ($Debug) { debug( "ShowHoursStats", 2 ); }
-	print "$Center<a name=\"hours\">&nbsp;</a><br$endtag\n";
+#	print "$Center<a name=\"hours\">&nbsp;</a><br$endtag\n";
 	my $title = "$Message[20]";
 	if ( $PluginsLoaded{'GetTimeZoneTitle'}{'timezone'} ) {
 		$title .= " (GMT "
@@ -14004,7 +14198,7 @@
 	}
 	&tab_head( "$title", 19, 0, 'hours' );
 	print "<tr><td align=\"center\">\n";
-	print "<center>\n";
+#	print "<center>\n";
 
 	my $max_h = my $max_k = 1;
 	for ( my $ix = 0 ; $ix <= 23 ; $ix++ ) {
@@ -14044,7 +14238,8 @@
 	}
 	if (! $graphdone)
 	{
-		print "<table>\n";
+		print "<table summary=\"Show data array for month\" style=\"margin-left:auto;margin-right:auto\">\n";
+		print "<col width=\"22\" span=\"24\"$endtag";
 		print "<tr valign=\"bottom\">\n";
 		for ( my $ix = 0 ; $ix <= 23 ; $ix++ ) {
 			my $bredde_p = 0;
@@ -14065,19 +14260,19 @@
 			print "<td>";
 			if ( $ShowHoursStats =~ /P/i ) {
 				print
-"<img align=\"bottom\" src=\"$DirIcons\/other\/$BarPng{'vp'}\" height=\"$bredde_p\" width=\"6\""
+"<img class=\"bottom\" src=\"$DirIcons\/other\/$BarPng{'vp'}\" height=\"$bredde_p\" width=\"6\""
 				  . AltTitle( "$Message[56]: " . int( $_time_p[$ix] ) )
 				  . "$endtag";
 			}
 			if ( $ShowHoursStats =~ /H/i ) {
 				print
-"<img align=\"bottom\" src=\"$DirIcons\/other\/$BarPng{'vh'}\" height=\"$bredde_h\" width=\"6\""
+"<img class=\"bottom\" src=\"$DirIcons\/other\/$BarPng{'vh'}\" height=\"$bredde_h\" width=\"6\""
 				  . AltTitle( "$Message[57]: " . int( $_time_h[$ix] ) )
 				  . "$endtag";
 			}
 			if ( $ShowHoursStats =~ /B/i ) {
 				print
-"<img align=\"bottom\" src=\"$DirIcons\/other\/$BarPng{'vk'}\" height=\"$bredde_k\" width=\"6\""
+"<img class=\"bottom\" src=\"$DirIcons\/other\/$BarPng{'vk'}\" height=\"$bredde_k\" width=\"6\""
 				  . AltTitle(
 					"$Message[75]: " . Format_Bytes( $_time_k[$ix] ) )
 				  . "$endtag";
@@ -14089,7 +14284,7 @@
 		# Show hour lib
 		print "<tr" . Tooltip(17) . ">";
 		for ( my $ix = 0 ; $ix <= 23 ; $ix++ ) {
-			print "<th width=\"19\">$ix</th>\n"
+			print "<th abbr=\"$ix\">$ix</th>\n"
 			  ;   # width=19 instead of 18 to avoid a MacOS browser bug.
 		}
 		print "</tr>\n";
@@ -14101,33 +14296,38 @@
 			my $hre = ( $ix >= 12 ? $ix - 11 : $ix + 1 );
 			my $apm = ( $ix >= 12 ? "pm"     : "am" );
 			print
-"<td><img src=\"$DirIcons\/clock\/hr$hre.png\" width=\"12\" alt=\"$hrs:00 - $hre:00 $apm\"$endtag</td>\n";
+"<td><img src=\"$DirIcons\/clock\/hr$hre.png\" width=\"12\" height=\"10\" alt=\"$hrs:00 - $hre:00 $apm\"$endtag</td>\n";
 		}
 		print "</tr>\n";
 		print "</table>\n";
 	}
-	print "<br$endtag\n";
+#	print "<br$endtag\n";
 
 	# Show data array for hours
 	if ($AddDataArrayShowHoursStats) {
-		print "<table width=\"650\"><tr>\n";
-		print "<td align=\"center\"><center>\n";
+		print "<table width=\"650\" summary=\"Show data array for hour\" style=\"margin-left:auto;margin-right:auto\">\n";
+		print "<tr><td align=\"center\">\n";
 
-		print "<table>\n";
+		print "<table summary=\"Show data array for hour\" style=\"margin-left:auto;margin-right:auto\">\n";
+		print "<col width=\"50\"$endtag";
+		if ($ShowHoursStats =~ /P/i) { print "<col width=\"$WIDTHPAGE\"$endtag";}
+		if ($ShowHoursStats =~ /H/i) { print "<col width=\"$WIDTHHIT\"$endtag";}
+		if ($ShowHoursStats =~ /B/i) { print "<col width=\"$WIDTHBANDWIDTH\"$endtag";}
+		print "\n";
 		print
-"<tr><td width=\"80\" bgcolor=\"#$color_TableBGRowTitle\">$Message[20]</td>";
+"<tr><td class=\"colortab\">$Message[20]</td>";
 		if ( $ShowHoursStats =~ /P/i ) {
-			print "<td width=\"80\" bgcolor=\"#$color_p\""
+			print "<td class=\"colorp\""
 			  . Tooltip(3)
 			  . ">$Message[56]</td>";
 		}
 		if ( $ShowHoursStats =~ /H/i ) {
-			print "<td width=\"80\" bgcolor=\"#$color_h\""
+			print "<td class=\"colorh\""
 			  . Tooltip(4)
 			  . ">$Message[57]</td>";
 		}
 		if ( $ShowHoursStats =~ /B/i ) {
-			print "<td width=\"80\" bgcolor=\"#$color_k\""
+			print "<td class=\"colork\""
 			  . Tooltip(5)
 			  . ">$Message[75]</td>";
 		}
@@ -14154,25 +14354,29 @@
 		}
 		print "</table>\n";
 
-		print "</center></td>";
-		print "<td width=\"10\"></td>";
-		print "<td align=\"center\"><center>\n";
+		print "</td>";
+		print "<td align=\"center\">\n";
 
-		print "<table>\n";
+		print "<table summary=\"Show data array for month\" style=\"margin-left:auto;margin-right:auto\">\n";
+		print "<col width=\"50\"$endtag";
+		if ($ShowHoursStats =~ /P/i) { print "<col width=\"$WIDTHPAGE\"$endtag";}
+		if ($ShowHoursStats =~ /H/i) { print "<col width=\"$WIDTHHIT\"$endtag";}
+		if ($ShowHoursStats =~ /B/i) { print "<col width=\"$WIDTHBANDWIDTH\"$endtag";}
+		print "\n";
 		print
-"<tr><td width=\"80\" bgcolor=\"#$color_TableBGRowTitle\">$Message[20]</td>";
+"<tr><td class=\"colortab\">$Message[20]</td>";
 		if ( $ShowHoursStats =~ /P/i ) {
-			print "<td width=\"80\" bgcolor=\"#$color_p\""
+			print "<td class=\"colorp\""
 			  . Tooltip(3)
 			  . ">$Message[56]</td>";
 		}
 		if ( $ShowHoursStats =~ /H/i ) {
-			print "<td width=\"80\" bgcolor=\"#$color_h\""
+			print "<td class=\"colorh\""
 			  . Tooltip(4)
 			  . ">$Message[57]</td>";
 		}
 		if ( $ShowHoursStats =~ /B/i ) {
-			print "<td width=\"80\" bgcolor=\"#$color_k\""
+			print "<td class=\"colork\""
 			  . Tooltip(5)
 			  . ">$Message[75]</td>";
 		}
@@ -14199,11 +14403,10 @@
 		}
 		print "</table>\n";
 
-		print "</center></td></tr></table>\n";
-		print "<br$endtag\n";
+		print "</td></tr></table>\n";
 	}
 
-	print "</center></td></tr>\n";
+	print "</td></tr>\n";
 	&tab_end();
 }
 
@@ -14219,7 +14422,7 @@
 	my $NewLinkTarget = shift;
 
 	if ($Debug) { debug( "ShowDomainsStats", 2 ); }
-	print "$Center<a name=\"countries\">&nbsp;</a><br$endtag\n";
+#	print "$Center<a name=\"countries\">&nbsp;</a><br$endtag\n";
 	my $title =
 "$Message[25] ($Message[77] $MaxNbOf{'Domain'}) &nbsp; - &nbsp; <a href=\""
 	  . (
@@ -14230,6 +14433,11 @@
 	  )
 	  . "\"$NewLinkTarget>$Message[80]</a>";
 	&tab_head( "$title", 19, 0, 'countries' );
+	print "<col width=\"$WIDTHCOLICON\"$endtag<col width=\"80\"$endtag<col width=\"40\"$endtag";
+	if ($ShowDomainsStats =~ /P/i) {print "<col width=\"$WIDTHPAGE\"$endtag";}
+	if ($ShowDomainsStats =~ /H/i) {print "<col width=\"$WIDTHHIT\"$endtag";}
+	if ($ShowDomainsStats =~ /B/i) {print "<col width=\"$WIDTHBANDWIDTH\"$endtag";}
+	print "<col$endtag\n";
 
 	my $total_u = my $total_v = my $total_p = my $total_h = my $total_k = 0;
 	my $max_h = 1;
@@ -14260,7 +14468,7 @@
 				$cnt++;
 				if ($cnt > 99) { last; }
 			}
-			print "<tr><td colspan=\"7\" align=\"center\">";
+			print "<tr><th colspan=\"7\" align=\"center\" abbr=\"AWStatsCountryMap\">";
 			my $function = "ShowGraph_$pluginname";
 			&$function(
 				"AWStatsCountryMap",              "countries_map",
@@ -14269,40 +14477,40 @@
 				0,              		0,
 				0,          			\@valdata
 			);
-			print "</td></tr>";
+			print "</th></tr>";
 		}
 	}
 
 	print
-"<tr bgcolor=\"#$color_TableBGRowTitle\"><th width=\"$WIDTHCOLICON\">&nbsp;</th><th colspan=\"2\">$Message[17]</th>";
+"<tr class=\"colortab\"><td></td><th colspan=\"2\" abbr=\"$Message[17]\">$Message[17]</th>";
 
 	## to add unique visitors and number of visits by calculation of average of the relation with total
 	## pages and total hits, and total visits and total unique
 	## by Josep Ruano @ CAPSiDE
 	if ( $ShowDomainsStats =~ /U/i ) {
-		print "<th bgcolor=\"#$color_u\" width=\"80\""
+		print "<th class=\"coloru\""
 		  . Tooltip(2)
-		  . ">$Message[11]</th>";
+		  . " abbr=\"$Message[11]\">$Message[11]</th>";
 	}
 	if ( $ShowDomainsStats =~ /V/i ) {
-		print "<th bgcolor=\"#$color_v\" width=\"80\""
+		print "<th class=\"colorv\""
 		  . Tooltip(1)
-		  . ">$Message[10]</th>";
+		  . " abbr=\"$Message[10]\">$Message[10]</th>";
 	}
 	if ( $ShowDomainsStats =~ /P/i ) {
-		print "<th bgcolor=\"#$color_p\" width=\"80\""
+		print "<th class=\"colorp\""
 		  . Tooltip(3)
-		  . ">$Message[56]</th>";
+		  . " abbr=\"$Message[56]\">$Message[56]</th>";
 	}
 	if ( $ShowDomainsStats =~ /H/i ) {
-		print "<th bgcolor=\"#$color_h\" width=\"80\""
+		print "<th class=\"colorh\""
 		  . Tooltip(4)
-		  . ">$Message[57]</th>";
+		  . " abbr=\"$Message[57]\">$Message[57]</th>";
 	}
 	if ( $ShowDomainsStats =~ /B/i ) {
-		print "<th bgcolor=\"#$color_k\" width=\"80\""
+		print "<th class=\"colork\""
 		  . Tooltip(5)
-		  . ">$Message[75]</th>";
+		  . " abbr=\"$Message[75]\">$Message[75]</th>";
 	}
 	print "<td></td>";
 	print "</tr>\n";
@@ -14333,13 +14541,13 @@
 		my $newkey = lc($key);
 		if ( $newkey eq 'ip' || !$DomainsHashIDLib{$newkey} ) {
 			print
-"<tr><td width=\"$WIDTHCOLICON\"><img src=\"$DirIcons\/flags\/ip.png\" height=\"14\""
+"<tr><td><img src=\"$DirIcons\/flags\/ip.png\" height=\"14\" width=\"14\""
 			  . AltTitle("$Message[0]")
 			  . "$endtag</td><td class=\"aws\">$Message[0]</td><td>$newkey</td>";
 		}
 		else {
 			print
-"<tr><td width=\"$WIDTHCOLICON\"><img src=\"$DirIcons\/flags\/$newkey.png\" height=\"14\""
+"<tr><td><img src=\"$DirIcons\/flags\/$newkey.png\" height=\"14\" width=\"14\""
 			  . AltTitle("$newkey")
 			  . "$endtag</td><td class=\"aws\">$DomainsHashIDLib{$newkey}</td><td>$newkey</td>";
 		}
@@ -14373,7 +14581,7 @@
 
 		if ( $ShowDomainsStats =~ /P/i ) {
 			print "<td>"
-			  . ( $_domener_p{$key} ? Format_Number($_domener_p{$key}) : '&nbsp;' )
+			  . ( $_domener_p{$key} ? Format_Number($_domener_p{$key}) : '' )
 			  . "</td>";
 		}
 		if ( $ShowDomainsStats =~ /H/i ) {
@@ -14387,19 +14595,19 @@
 		if ( $ShowDomainsStats =~ /P/i ) {
 			print
 "<img src=\"$DirIcons\/other\/$BarPng{'hp'}\" width=\"$bredde_p\" height=\"5\""
-			  . AltTitle("")
+			  . AltTitle("$bredde_p")
 			  . "$endtag<br$endtag\n";
 		}
 		if ( $ShowDomainsStats =~ /H/i ) {
 			print
 "<img src=\"$DirIcons\/other\/$BarPng{'hh'}\" width=\"$bredde_h\" height=\"5\""
-			  . AltTitle("")
+			  . AltTitle("$bredde_h")
 			  . "$endtag<br$endtag\n";
 		}
 		if ( $ShowDomainsStats =~ /B/i ) {
 			print
 "<img src=\"$DirIcons\/other\/$BarPng{'hk'}\" width=\"$bredde_k\" height=\"5\""
-			  . AltTitle("") . "$endtag";
+			  . AltTitle("$bredde_k") . "$endtag";
 		}
 		print "</td>";
 		print "</tr>\n";
@@ -14423,7 +14631,7 @@
 		|| $rest_k > 0 )
 	{    # All other domains (known or not)
 		print
-"<tr><td width=\"$WIDTHCOLICON\"></td><td colspan=\"2\" class=\"aws\"><span style=\"color: #$color_other\">$Message[2]</span></td>";
+"<tr><td></td><td colspan=\"2\" class=\"aws\"><span style=\"color: #$color_other\">$Message[2]</span></td>";
 		if ( $ShowDomainsStats =~ /U/i ) { print "<td>$rest_u</td>"; }
 		if ( $ShowDomainsStats =~ /V/i ) { print "<td>$rest_v</td>"; }
 		if ( $ShowDomainsStats =~ /P/i ) { print "<td>$rest_p</td>"; }
@@ -14449,7 +14657,7 @@
 	my $NewLinkTarget = shift;
 
 	if ($Debug) { debug( "ShowHostsStats", 2 ); }
-	print "$Center<a name=\"visitors\">&nbsp;</a><br$endtag\n";
+#	print "$Center<a name=\"visitors\">&nbsp;</a><br$endtag\n";
 	my $title =
 "$Message[81] ($Message[77] $MaxNbOf{'HostsShown'}) &nbsp; - &nbsp; <a href=\""
 	  . (
@@ -14474,6 +14682,13 @@
 	  )
 	  . "\"$NewLinkTarget>$Message[45]</a>";
 	&tab_head( "$title", 19, 0, 'visitors' );
+	print "<col$endtag";
+	&HTMLShowHostInfo('__col__');
+	if ($ShowHostsStats =~ /P/i) {print "<col width=\"$WIDTHPAGE\"$endtag";}
+	if ($ShowHostsStats =~ /H/i) {print "<col width=\"$WIDTHHIT\"$endtag";}
+	if ($ShowHostsStats =~ /B/i) {print "<col width=\"$WIDTHBANDWIDTH\"$endtag";}
+	if ($ShowHostsStats =~ /L/i) {print "<col width=\"$WIDTHFULLDATE\"$endtag";}
+	print "\n";
 
 	&BuildKeyList( $MaxNbOf{'HostsShown'}, $MinHit{'Host'}, \%_host_h,
 		\%_host_p );
@@ -14492,7 +14707,7 @@
 				$cnt++;
 				if ($cnt > 4) { last; }
 			}
-			print "<tr><td colspan=\"7\">";
+			print "<tr><th colspan=\"7\" abbr=\"Host stats\">";
 			my $function = "ShowGraph_$pluginname";
 			&$function(
 				"Hosts",              "hosts",
@@ -14501,12 +14716,12 @@
 				0,              		0,
 				0,          			\@valdata
 			);
-			print "</td></tr>";
+			print "</th></tr>";
 		}
 	}
 
-	print "<tr bgcolor=\"#$color_TableBGRowTitle\">";
-	print "<th>";
+	print "<tr class=\"colortab\">";
+	print "<th abbr=\"Host stats\">";
 	if ( $MonthRequired ne 'all' ) {
 		print
 "$Message[81] : ".Format_Number($TotalHostsKnown)." $Message[82], ".Format_Number($TotalHostsUnknown)." $Message[1]<br$endtag".Format_Number($TotalUnique)." $Message[11]</th>";
@@ -14516,22 +14731,22 @@
 	}
 	&HTMLShowHostInfo('__title__');
 	if ( $ShowHostsStats =~ /P/i ) {
-		print "<th bgcolor=\"#$color_p\" width=\"80\""
+		print "<th class=\"colorp\""
 		  . Tooltip(3)
-		  . ">$Message[56]</th>";
+		  . " abbr=\"$Message[56]\">$Message[56]</th>";
 	}
 	if ( $ShowHostsStats =~ /H/i ) {
-		print "<th bgcolor=\"#$color_h\" width=\"80\""
+		print "<th class=\"colorh\""
 		  . Tooltip(4)
-		  . ">$Message[57]</th>";
+		  . " abbr=\"$Message[57]\">$Message[57]</th>";
 	}
 	if ( $ShowHostsStats =~ /B/i ) {
-		print "<th bgcolor=\"#$color_k\" width=\"80\""
+		print "<th class=\"colork\""
 		  . Tooltip(5)
-		  . ">$Message[75]</th>";
+		  . " abbr=\"$Message[75]\">$Message[75]</th>";
 	}
 	if ( $ShowHostsStats =~ /L/i ) {
-		print "<th width=\"120\">$Message[9]</th>";
+		print "<th abbr=\"$Message[9]\">$Message[9]</th>";
 	}
 	print "</tr>\n";
 	my $total_p = my $total_h = my $total_k = 0;
@@ -14542,7 +14757,7 @@
 		print "<td class=\"aws\">$key</td>";
 		&HTMLShowHostInfo($key);
 		if ( $ShowHostsStats =~ /P/i ) {
-			print '<td>' . ( Format_Number($_host_p{$key}) || "&nbsp;" ) . '</td>';
+			print '<td>' . ( Format_Number($_host_p{$key}) || "" ) . '</td>';
 		}
 		if ( $ShowHostsStats =~ /H/i ) {
 			print "<td>".Format_Number($_host_h{$key})."</td>";
@@ -14551,7 +14766,7 @@
 			print '<td>' . Format_Bytes( $_host_k{$key} ) . '</td>';
 		}
 		if ( $ShowHostsStats =~ /L/i ) {
-			print '<td nowrap="nowrap">'
+			print '<td class="nowrap">'
 			  . (
 				$_host_l{$key}
 				? Format_Date( $_host_l{$key}, 1 )
@@ -14597,7 +14812,7 @@
 	my $NewLinkTarget = shift;
 
 	if ($Debug) { debug( "ShowAuthenticatedUsers", 2 ); }
-	print "$Center<a name=\"logins\">&nbsp;</a><br$endtag\n";
+#	print "$Center<a name=\"logins\">&nbsp;</a><br$endtag\n";
 	my $title =
 "$Message[94] ($Message[77] $MaxNbOf{'LoginShown'}) &nbsp; - &nbsp; <a href=\""
 	  . (
@@ -14618,26 +14833,33 @@
 		  . "\"$NewLinkTarget>$Message[9]</a>";
 	}
 	&tab_head( "$title", 19, 0, 'logins' );
-	print "<tr bgcolor=\"#$color_TableBGRowTitle\"><th>$Message[94] : "
+	print "<col$endtag";
+	&HTMLShowUserInfo('__col__');
+	if ($ShowAuthenticatedUsers =~ /P/i) { print "<col width=\"$WIDTHPAGE\"$endtag";}
+	if ($ShowAuthenticatedUsers =~ /H/i) { print "<col width=\"$WIDTHHIT\"$endtag";}
+	if ($ShowAuthenticatedUsers =~ /B/i) { print "<col width=\"$WIDTHBANDWIDTH\"$endtag";}
+	if ($ShowAuthenticatedUsers =~ /L/i) { print "<col width=\"$WIDTHFULLDATE\"$endtag";}
+	print "\n";
+	print "<tr class=\"colortab\"><th abbr=\"$Message[94]\>$Message[94] : "
 	  . Format_Number(( scalar keys %_login_h )) . "</th>";
 	&HTMLShowUserInfo('__title__');
 	if ( $ShowAuthenticatedUsers =~ /P/i ) {
-		print "<th bgcolor=\"#$color_p\" width=\"80\""
+		print "<th class=\"colorp\""
 		  . Tooltip(3)
-		  . ">$Message[56]</th>";
+		  . " abbr=\"$Message[56]\">$Message[56]</th>";
 	}
 	if ( $ShowAuthenticatedUsers =~ /H/i ) {
-		print "<th bgcolor=\"#$color_h\" width=\"80\""
+		print "<th class=\"colorh\""
 		  . Tooltip(4)
-		  . ">$Message[57]</th>";
+		  . " abbr=\"$Message[57]\">$Message[57]</th>";
 	}
 	if ( $ShowAuthenticatedUsers =~ /B/i ) {
-		print "<th bgcolor=\"#$color_k\" width=\"80\""
+		print "<th class=\"colork\""
 		  . Tooltip(5)
-		  . ">$Message[75]</th>";
+		  . " abbr=\"$Message[75]\">$Message[75]</th>";
 	}
 	if ( $ShowAuthenticatedUsers =~ /L/i ) {
-		print "<th width=\"120\">$Message[9]</th>";
+		print "<th abbr=\"$Message[9]\">$Message[9]</th>";
 	}
 	print "</tr>\n";
 	my $total_p = my $total_h = my $total_k = 0;
@@ -14669,7 +14891,7 @@
 		&HTMLShowUserInfo($key);
 		if ( $ShowAuthenticatedUsers =~ /P/i ) {
 			print "<td>"
-			  . ( $_login_p{$key} ? Format_Number($_login_p{$key}) : "&nbsp;" )
+			  . ( $_login_p{$key} ? Format_Number($_login_p{$key}) : "" )
 			  . "</td>";
 		}
 		if ( $ShowAuthenticatedUsers =~ /H/i ) {
@@ -14706,7 +14928,7 @@
 		  . "</span></td>";
 		&HTMLShowUserInfo('');
 		if ( $ShowAuthenticatedUsers =~ /P/i ) {
-			print "<td>" . ( $rest_p ? Format_Number($rest_p) : "&nbsp;" ) . "</td>";
+			print "<td>" . ( $rest_p ? Format_Number($rest_p) : "" ) . "</td>";
 		}
 		if ( $ShowAuthenticatedUsers =~ /H/i ) {
 			print "<td>".Format_Number($rest_h)."</td>";
@@ -14734,7 +14956,7 @@
 	my $NewLinkTarget = shift;
 
 	if ($Debug) { debug( "ShowRobotStats", 2 ); }
-	print "$Center<a name=\"robots\">&nbsp;</a><br$endtag\n";
+#	print "$Center<a name=\"robots\">&nbsp;</a><br$endtag\n";
 	&tab_head(
 "$Message[53] ($Message[77] $MaxNbOf{'RobotShown'}) &nbsp; - &nbsp; <a href=\""
 		  . (
@@ -14753,20 +14975,25 @@
 		  . "\"$NewLinkTarget>$Message[9]</a>",
 		19, 0, 'robots'
 	);
-	print "<tr bgcolor=\"#$color_TableBGRowTitle\""
-	  . Tooltip(16) . "><th>"
+	print "<col$endtag";
+	if ($ShowRobotsStats =~ /H/i) {print "<col width=\"$WIDTHHIT\"$endtag";}
+	if ($ShowRobotsStats =~ /B/i) {print "<col width=\"$WIDTHBANDWIDTH\"$endtag";}
+	if ($ShowRobotsStats =~ /L/i) {print "<col width=\"$WIDTHFULLDATE\"$endtag";}
+	print "\n";
+	print "<tr class=\"colortab\""
+	  . Tooltip(16) . "><th abbr=\"$Message[51]\">"
 	  . Format_Number(( scalar keys %_robot_h ))
 	  . " $Message[51]*</th>";
 	if ( $ShowRobotsStats =~ /H/i ) {
 		print
-		  "<th bgcolor=\"#$color_h\" width=\"80\">$Message[57]</th>";
+		  "<th class=\"colorh\" abbr=\"$Message[57]\">$Message[57]</th>";
 	}
 	if ( $ShowRobotsStats =~ /B/i ) {
 		print
-		  "<th bgcolor=\"#$color_k\" width=\"80\">$Message[75]</th>";
+		  "<th class=\"colork\" abbr=\"$Message[75]\">$Message[75]</th>";
 	}
 	if ( $ShowRobotsStats =~ /L/i ) {
-		print "<th width=\"120\">$Message[9]</th>";
+		print "<th abbr=\"$Message[9]\">$Message[9]</th>";
 	}
 	print "</tr>\n";
 	my $total_p = my $total_h = my $total_k = my $total_r = 0;
@@ -14846,22 +15073,27 @@
 #------------------------------------------------------------------------------
 sub HTMLMainWorms{
 	if ($Debug) { debug( "ShowWormsStats", 2 ); }
-	print "$Center<a name=\"worms\">&nbsp;</a><br$endtag\n";
+#	print "$Center<a name=\"worms\">&nbsp;</a><br$endtag\n";
 	&tab_head( "$Message[163] ($Message[77] $MaxNbOf{'WormsShown'})",
 		19, 0, 'worms' );
-	print "<tr bgcolor=\"#$color_TableBGRowTitle\"" . Tooltip(21) . ">";
-	print "<th>" . Format_Number(( scalar keys %_worm_h )) . " $Message[164]*</th>";
-	print "<th>$Message[167]</th>";
+	print "<col$endtag";
+	if ($ShowWormsStats =~ /H/i) { print "<col width=\"$WIDTHHIT\"$endtag"; }
+	if ($ShowWormsStats =~ /B/i) { print "<col width=\"$WIDTHBANDWIDTH\"$endtag"; }
+	if ($ShowWormsStats =~ /L/i) { print "<col width=\"$WIDTHFULLDATE\"$endtag"; }
+	print "\n";
+	print "<tr class=\"colortab\"" . Tooltip(21) . ">";
+	print "<th abbr=\"$Message[164]*\">" . Format_Number(( scalar keys %_worm_h )) . " $Message[164]*</th>";
+	print "<th abbr=\"$Message[167]\">$Message[167]</th>";
 	if ( $ShowWormsStats =~ /H/i ) {
 		print
-		  "<th bgcolor=\"#$color_h\" width=\"80\">$Message[57]</th>";
+		  "<th class=\"colorh\" abbr=\"$Message[57]\">$Message[57]</th>";
 	}
 	if ( $ShowWormsStats =~ /B/i ) {
 		print
-		  "<th bgcolor=\"#$color_k\" width=\"80\">$Message[75]</th>";
+		  "<th class=\"colork\" abbr=\"$Message[75]\">$Message[75]</th>";
 	}
 	if ( $ShowWormsStats =~ /L/i ) {
-		print "<th width=\"120\">$Message[9]</th>";
+		print "<th abbr=\"$Message[9]\">$Message[9]</th>";
 	}
 	print "</tr>\n";
 	my $total_p = my $total_h = my $total_k = 0;
@@ -14938,9 +15170,10 @@
 #------------------------------------------------------------------------------
 sub HTMLMainSessions{
 	if ($Debug) { debug( "ShowSessionsStats", 2 ); }
-	print "$Center<a name=\"sessions\">&nbsp;</a><br$endtag\n";
+#	print "$Center<a name=\"sessions\">&nbsp;</a><br$endtag\n";
 	my $title = "$Message[117]";
 	&tab_head( $title, 19, 0, 'sessions' );
+	print "<col$endtag<col width=\"$WIDTHHIT\"$endtag<col width=\"$WIDTHPARCENT\"$endtag";
 	my $Totals = 0;
 	my $average_s = 0;
 	foreach (@SessionsRange) {
@@ -14949,9 +15182,9 @@
 	}
 	if ($Totals) { $average_s = int( $average_s / $Totals ); }
 	else { $average_s = '?'; }
-	print "<tr bgcolor=\"#$color_TableBGRowTitle\""
+	print "<tr class=\"colortab\""
 	  . Tooltip(1)
-	  . "><th>$Message[10]: ".Format_Number($TotalVisits)." - $Message[96]: ".Format_Number($average_s)." s</th><th bgcolor=\"#$color_s\" width=\"80\">$Message[10]</th><th bgcolor=\"#$color_s\" width=\"80\">$Message[15]</th></tr>\n";
+	  . "><th abbr=\"$Message[10]\">$Message[10]: ".Format_Number($TotalVisits)." - $Message[96]: ".Format_Number($average_s)." s</th><th class=\"colors\" abbr=\"$Message[10]\">$Message[10]</th><th class=\"colors\" abbr=\"$Message[15]\">$Message[15]</th></tr>\n";
 	$average_s = 0;
 	my $total_s   = 0;
 	my $count = 0;
@@ -14963,9 +15196,9 @@
 		$total_s += $_session{$key} || 0;
 		print "<tr><td class=\"aws\">$key</td>";
 		print "<td>"
-		  . ( $_session{$key} ? Format_Number($_session{$key}) : "&nbsp;" ) . "</td>";
+		  . ( $_session{$key} ? Format_Number($_session{$key}) : "" ) . "</td>";
 		print "<td>"
-		  . ( $_session{$key} ? "$p %" : "&nbsp;" ) . "</td>";
+		  . ( $_session{$key} ? "$p %" : "" ) . "</td>";
 		print "</tr>\n";
 		$count++;
 	}
@@ -14979,7 +15212,7 @@
 		  . Tooltip(20)
 		  . "><td class=\"aws\"><span style=\"color: #$color_other\">$Message[0]</span></td>";
 		print "<td>".Format_Number($rest_s)."</td>";
-		print "<td>" . ( $rest_s ? "$p %" : "&nbsp;" ) . "</td>";
+		print "<td>" . ( $rest_s ? "$p %" : "" ) . "</td>";
 		print "</tr>\n";
 	}
 	&tab_end();
@@ -15003,8 +15236,8 @@
 		);
 	}
 	my $regext         = qr/\.(\w{1,6})$/;
-	print
-"$Center<a name=\"urls\">&nbsp;</a><a name=\"entry\">&nbsp;</a><a name=\"exit\">&nbsp;</a><br$endtag\n";
+#	print
+#"$Center<a name=\"urls\">&nbsp;</a><a name=\"entry\">&nbsp;</a><a name=\"exit\">&nbsp;</a><br$endtag\n";
 	my $title =
 "$Message[19] ($Message[77] $MaxNbOf{'PageShown'}) &nbsp; - &nbsp; <a href=\""
 	  . (
@@ -15035,27 +15268,34 @@
 		  . "\"$NewLinkTarget>$Message[116]</a>";
 	}
 	&tab_head( "$title", 19, 0, 'urls' );
+	print "<col$endtag";
+	if ($ShowMonthStats =~ /P/i && $LogType ne 'F') {print "<col width=\"$WIDTHHIT\"$endtag";}
+	if ($ShowPagesStats =~ /[PH]/i && $LogType eq 'F') {print "<col width=\"$WIDTHHIT\"$endtag";}
+	if ($ShowPagesStats =~ /B/i) {print "<col width=\"$WIDTHBANDWIDTH\"$endtag";}
+	if ($ShowPagesStats =~ /E/i) {print "<col width=\"$WIDTHHIT\"$endtag";}
+	if ($ShowPagesStats =~ /X/i) {print "<col width=\"$WIDTHHIT\"$endtag";}
+	print "\n";
 	print
-"<tr bgcolor=\"#$color_TableBGRowTitle\"><th>".Format_Number($TotalDifferentPages)." $Message[28]</th>";
+"<tr class=\"colortab\"><th abbr=\"$Message[28]\">".Format_Number($TotalDifferentPages)." $Message[28]</th>";
 	if ( $ShowPagesStats =~ /P/i && $LogType ne 'F' ) {
 		print
-		  "<th bgcolor=\"#$color_p\" width=\"80\">$Message[29]</th>";
+		  "<th class=\"colorp\" abbr=\"$Message[29]\">$Message[29]</th>";
 	}
 	if ( $ShowPagesStats =~ /[PH]/i && $LogType eq 'F' ) {
 		print
-		  "<th bgcolor=\"#$color_h\" width=\"80\">$Message[57]</th>";
+		  "<th class=\"colorh\" abbr=\"$Message[57]\">$Message[57]</th>";
 	}
 	if ( $ShowPagesStats =~ /B/i ) {
 		print
-		  "<th bgcolor=\"#$color_k\" width=\"80\">$Message[106]</th>";
+		  "<th class=\"datasize colork\" abbr=\"$Message[106]\">$Message[106]</th>";
 	}
 	if ( $ShowPagesStats =~ /E/i ) {
 		print
-		  "<th bgcolor=\"#$color_e\" width=\"80\">$Message[104]</th>";
+		  "<th class=\"colore\" abbr=\"$Message[104]\">$Message[104]</th>";
 	}
 	if ( $ShowPagesStats =~ /X/i ) {
 		print
-		  "<th bgcolor=\"#$color_x\" width=\"80\">$Message[116]</th>";
+		  "<th class=\"colorx\" abbr=\"$Message[116]\">$Message[116]</th>";
 	}
 
 	# Call to plugins' function ShowPagesAddField
@@ -15124,17 +15364,17 @@
 				? Format_Bytes(
 					$_url_k{$key} / ( $_url_p{$key} || 1 )
 				  )
-				: "&nbsp;"
+				: ""
 			  )
 			  . "</td>";
 		}
 		if ( $ShowPagesStats =~ /E/i ) {
 			print "<td>"
-			  . ( $_url_e{$key} ? Format_Number($_url_e{$key}) : "&nbsp;" ) . "</td>";
+			  . ( $_url_e{$key} ? Format_Number($_url_e{$key}) : "" ) . "</td>";
 		}
 		if ( $ShowPagesStats =~ /X/i ) {
 			print "<td>"
-			  . ( $_url_x{$key} ? Format_Number($_url_x{$key}) : "&nbsp;" ) . "</td>";
+			  . ( $_url_x{$key} ? Format_Number($_url_x{$key}) : "" ) . "</td>";
 		}
 
 		# Call to plugins' function ShowPagesAddField
@@ -15203,15 +15443,15 @@
 			  . (
 				$rest_k
 				? Format_Bytes( $rest_k / ( $rest_p || 1 ) )
-				: "&nbsp;"
+				: ""
 			  )
 			  . "</td>";
 		}
 		if ( $ShowPagesStats =~ /E/i ) {
-			print "<td>" . ( $rest_e ? Format_Number($rest_e) : "&nbsp;" ) . "</td>";
+			print "<td>" . ( $rest_e ? Format_Number($rest_e) : "" ) . "</td>";
 		}
 		if ( $ShowPagesStats =~ /X/i ) {
-			print "<td>" . ( $rest_x ? Format_Number($rest_x) : "&nbsp;" ) . "</td>";
+			print "<td>" . ( $rest_x ? Format_Number($rest_x) : "" ) . "</td>";
 		}
 
 		# Call to plugins' function ShowPagesAddField
@@ -15241,7 +15481,7 @@
 	my $NewLinkTarget = shift;
 
 	if ($Debug) { debug( "ShowOSStats", 2 ); }
-	print "$Center<a name=\"os\">&nbsp;</a><br$endtag\n";
+#	print "$Center<a name=\"os\">&nbsp;</a><br$endtag\n";
 	my $Totalh   = 0;
 	my %new_os_h = ();
   OSLOOP: foreach my $key ( keys %_os_h ) {
@@ -15271,6 +15511,8 @@
 	  )
 	  . "\"$NewLinkTarget>$Message[0]</a>";
 	&tab_head( "$title", 19, 0, 'os' );
+	print
+"<col width=\"$WIDTHCOLICON\"$endtag<col$endtag<col width=\"$WIDTHHIT\"$endtag<col width=\"$WIDTHPARCENT\"$endtag\n";
 
 	&BuildKeyList( $MaxNbOf{'OsShown'}, $MinHit{'Os'}, \%new_os_h,
 		\%new_os_h );
@@ -15301,7 +15543,7 @@
 				$cnt++;
 				if ($cnt > 4) { last; }
 			}
-			print "<tr><td colspan=\"5\">";
+			print "<tr><th colspan=\"5\" abbr=\"Top 5 Operating Systems\">";
 			my $function = "ShowGraph_$pluginname";
 			&$function(
 				"Top 5 Operating Systems",       "oss",
@@ -15310,27 +15552,26 @@
 				0,              		0,
 				0,          			\@valdata
 			);
-			print "</td></tr>";
+			print "</th></tr>";
 		}
 	}
 
 	print
-"<tr bgcolor=\"#$color_TableBGRowTitle\"><th width=\"$WIDTHCOLICON\">&nbsp;</th><th>$Message[59]</th><th bgcolor=\"#$color_h\" width=\"80\">$Message[57]</th><th bgcolor=\"#$color_h\" width=\"80\">$Message[15]</th></tr>\n";
+"<tr class=\"colortab\"><th colspan=\"2\" abbr=\"$Message[59]\">$Message[59]</th><th class=\"colorh\" abbr=\"$Message[57]\">$Message[57]</th><th class=\"colorh\" abbr=\"$Message[15]\">$Message[15]</th></tr>\n";
 	my $total_h = 0;
 	my $count = 0;
 
 	foreach my $key (@keylist) {
-		my $p = '&nbsp;';
+		my $p = '';
 		if ($Totalh) {
 			$p = int( $new_os_h{$key} / $Totalh * 1000 ) / 10;
 			$p = "$p %";
 		}
 		if ( $key eq 'Unknown' ) {
 			print "<tr><td"
-			  . ( $count ? "" : " width=\"$WIDTHCOLICON\"" )
 			  . "><img src=\"$DirIcons\/os\/unknown.png\""
-			  . AltTitle("")
-			  . "$endtag</td><td class=\"aws\"><span style=\"color: #$color_other\">$Message[0]</span></td><td>".Format_Number($_os_h{$key})."</td><td>$p</td></tr>\n";
+			  . AltTitle("unknown")
+			  . " width=\"14\" height=\"14\"$endtag</td><td class=\"aws\"><span style=\"color: #$color_other\">$Message[0]</span></td><td>".Format_Number($_os_h{$key})."</td><td>$p</td></tr>\n";
 		}
 		else {
 			my $keywithoutcumul = $key;
@@ -15343,10 +15584,9 @@
 				$libos = "<strong>" . $OSFamily{$keywithoutcumul} . "</strong>";
 			}
 			print "<tr><td"
-			  . ( $count ? "" : " width=\"$WIDTHCOLICON\"" )
 			  . "><img src=\"$DirIcons\/os\/$nameicon.png\""
-			  . AltTitle("")
-			  . "$endtag</td><td class=\"aws\">$libos</td><td>".Format_Number($new_os_h{$key})."</td><td>$p</td></tr>\n";
+			  . AltTitle("$nameicon")
+			  . " width=\"14\" height=\"14\"$endtag</td><td class=\"aws\">$libos</td><td>".Format_Number($new_os_h{$key})."</td><td>$p</td></tr>\n";
 		}
 		$total_h += $new_os_h{$key};
 		$count++;
@@ -15379,7 +15619,7 @@
 	my $NewLinkTarget = shift;
 
 	if ($Debug) { debug( "ShowBrowsersStats", 2 ); }
-	print "$Center<a name=\"browsers\">&nbsp;</a><br$endtag\n";
+#	print "$Center<a name=\"browsers\">&nbsp;</a><br$endtag\n";
 	my $Totalh        = 0;
 	my %new_browser_h = ();
   BROWSERLOOP: foreach my $key ( keys %_browser_h ) {
@@ -15409,6 +15649,7 @@
 	  )
 	  . "\"$NewLinkTarget>$Message[0]</a>";
 	&tab_head( "$title", 19, 0, 'browsers' );
+	print "<col width=\"$WIDTHCOLICON\"$endtag<col$endtag<col width=\"$WIDTHYESNO\"$endtag<col width=\"$WIDTHHIT\"$endtag<col width=\"$WIDTHPARCENT\"$endtag\n";
 
 	&BuildKeyList(
 		$MaxNbOf{'BrowsersShown'}, $MinHit{'Browser'},
@@ -15441,7 +15682,7 @@
 				$cnt++;
 				if ($cnt > 4) { last; }
 			}
-			print "<tr><td colspan=\"5\">";
+			print "<tr><th colspan=\"5\" abbr=\"Top 5 Browsers\">";
 			my $function = "ShowGraph_$pluginname";
 			&$function(
 				"Top 5 Browsers",       "browsers",
@@ -15450,25 +15691,24 @@
 				0,              		0,
 				0,          			\@valdata
 			);
-			print "</td></tr>";
+			print "</th></tr>\n";
 		}
 	}
 	print
-"<tr bgcolor=\"#$color_TableBGRowTitle\"><th width=\"$WIDTHCOLICON\">&nbsp;</th><th>$Message[21]</th><th width=\"80\">$Message[111]</th><th bgcolor=\"#$color_h\" width=\"80\">$Message[57]</th><th bgcolor=\"#$color_h\" width=\"80\">$Message[15]</th></tr>\n";
+"<tr class=\"colortab\"><th colspan=\"2\" abbr=\"$Message[21]\">$Message[21]</th><th abbr=\"$Message[111]\">$Message[111]</th><th class=\"colorh\" abbr=\"$Message[57]\">$Message[57]</th><th class=\"colorh\" abbr=\"$Message[15]\">$Message[15]</th></tr>\n";
 	my $total_h = 0;
 	my $count = 0;
 	foreach my $key (@keylist) {
-		my $p = '&nbsp;';
+		my $p = '';
 		if ($Totalh) {
 			$p = int( $new_browser_h{$key} / $Totalh * 1000 ) / 10;
 			$p = "$p %";
 		}
 		if ( $key eq 'Unknown' ) {
 			print "<tr><td"
-			  . ( $count ? "" : " width=\"$WIDTHCOLICON\"" )
 			  . "><img src=\"$DirIcons\/browser\/unknown.png\""
-			  . AltTitle("")
-			  . "$endtag</td><td class=\"aws\"><span style=\"color: #$color_other\">$Message[0]</span></td><td width=\"80\">?</td><td>".Format_Number($_browser_h{$key})."</td><td>$p</td></tr>\n";
+			  . AltTitle("unknown")
+			  . " width=\"14\" height=\"14\"$endtag</td><td class=\"aws\"><span style=\"color: #$color_other\">$Message[0]</span></td><td>?</td><td>$_browser_h{$key}</td><td>$p</td></tr>\n";
 		}
 		else {
 			my $keywithoutcumul = $key;
@@ -15481,10 +15721,9 @@
 				$libbrowser = "<strong>$libbrowser</strong>";
 			}
 			print "<tr><td"
-			  . ( $count ? "" : " width=\"$WIDTHCOLICON\"" )
 			  . "><img src=\"$DirIcons\/browser\/$nameicon.png\""
-			  . AltTitle("")
-			  . "$endtag</td><td class=\"aws\">"
+			  . AltTitle("$nameicon")
+			  . " width=\"14\" height=\"14\"$endtag</td><td class=\"aws\">"
 			  . ( $PageDir eq 'rtl' ? "<span dir=\"ltr\">" : "" )
 			  . "$libbrowser"
 			  . ( $PageDir eq 'rtl' ? "</span>" : "" )
@@ -15524,21 +15763,22 @@
 #------------------------------------------------------------------------------
 sub HTMLMainScreenSize{
 	if ($Debug) { debug( "ShowScreenSizeStats", 2 ); }
-	print "$Center<a name=\"screensizes\">&nbsp;</a><br$endtag\n";
+#	print "$Center<a name=\"screensizes\">&nbsp;</a><br$endtag\n";
 	my $Totalh = 0;
 	foreach ( keys %_screensize_h ) { $Totalh += $_screensize_h{$_}; }
 	my $title =
 	  "$Message[135] ($Message[77] $MaxNbOf{'ScreenSizesShown'})";
 	&tab_head( "$title", 0, 0, 'screensizes' );
+	print "<col$endtag<col width=\"80\"$endtag\n";
 	print
-"<tr bgcolor=\"#$color_TableBGRowTitle\"><th>$Message[135]</th><th bgcolor=\"#$color_h\" width=\"80\">$Message[15]</th></tr>\n";
+"<tr class=\"colortab\"><th abbr=\"$Message[135]\">$Message[135]</th><th class=\"colorh\" abbr=\"$Message[15]\">$Message[15]</th></tr>\n";
 	my $total_h = 0;
 	my $count   = 0;
 	&BuildKeyList( $MaxNbOf{'ScreenSizesShown'},
 		$MinHit{'ScreenSize'}, \%_screensize_h, \%_screensize_h );
 
 	foreach my $key (@keylist) {
-		my $p = '&nbsp;';
+		my $p = '';
 		if ($Totalh) {
 			$p = int( $_screensize_h{$key} / $Totalh * 1000 ) / 10;
 			$p = "$p %";
@@ -15564,7 +15804,7 @@
 		if ($Totalh) { $p = int( $rest_h / $Totalh * 1000 ) / 10; }
 		print
 "<tr><td class=\"aws\"><span style=\"color: #$color_other\">$Message[2]</span></td>";
-		print "<td>" . ( $rest_h ? "$p %" : "&nbsp;" ) . "</td>";
+		print "<td>" . ( $rest_h ? "$p %" : "" ) . "</td>";
 		print "</tr>\n";
 	}
 	&tab_end();
@@ -15582,7 +15822,7 @@
 	my $NewLinkTarget = shift;
 
 	if ($Debug) { debug( "ShowOriginStats", 2 ); }
-	print "$Center<a name=\"referer\">&nbsp;</a><br$endtag\n";
+#	print "$Center<a name=\"referer\">&nbsp;</a><br$endtag\n";
 	my $Totalp = 0;
 	foreach ( 0 .. 5 ) {
 		$Totalp +=
@@ -15616,15 +15856,19 @@
 		$p_h[4] = int( $_from_h[4] / $Totalh * 1000 ) / 10;
 		$p_h[5] = int( $_from_h[5] / $Totalh * 1000 ) / 10;
 	}
+	print "<col$endtag";
+	if ($ShowMonthStats =~ /P/i) {print "<col width=\"$WIDTHPAGE\"$endtag<col width=\"$WIDTHPARCENT\"$endtag";}
+	if ($ShowMonthStats =~ /H/i) {print "<col width=\"$WIDTHHIT\"$endtag<col width=\"$WIDTHPARCENT\"$endtag";}
+	print "\n";
 	print
-	  "<tr bgcolor=\"#$color_TableBGRowTitle\"><th>$Message[37]</th>";
+	  "<tr class=\"colortab\"><th abbr=\"$Message[37]\">$Message[37]</th>";
 	if ( $ShowOriginStats =~ /P/i ) {
 		print
-"<th bgcolor=\"#$color_p\" width=\"80\">$Message[56]</th><th bgcolor=\"#$color_p\" width=\"80\">$Message[15]</th>";
+"<th class=\"colorp\" abbr=\"$Message[56]\">$Message[56]</th><th class=\"colorp\" abbr=\"$Message[15]\">$Message[15]</th>";
 	}
 	if ( $ShowOriginStats =~ /H/i ) {
 		print
-"<th bgcolor=\"#$color_h\" width=\"80\">$Message[57]</th><th bgcolor=\"#$color_h\" width=\"80\">$Message[15]</th>";
+"<th class=\"colorh\" abbr=\"$Message[57]\">$Message[57]</th><th class=\"colorh\" abbr=\"$Message[15]\">$Message[15]</th>";
 	}
 	print "</tr>\n";
 
@@ -15632,15 +15876,15 @@
 	print "<tr><td class=\"aws\"><strong>$Message[38]</strong></td>";
 	if ( $ShowOriginStats =~ /P/i ) {
 		print "<td>"
-		  . ( $_from_p[0] ? Format_Number($_from_p[0]) : "&nbsp;" )
+		  . ( $_from_p[0] ? Format_Number($_from_p[0]) : "" )
 		  . "</td><td>"
-		  . ( $_from_p[0] ? "$p_p[0] %" : "&nbsp;" ) . "</td>";
+		  . ( $_from_p[0] ? "$p_p[0] %" : "" ) . "</td>";
 	}
 	if ( $ShowOriginStats =~ /H/i ) {
 		print "<td>"
-		  . ( $_from_h[0] ? Format_Number($_from_h[0]) : "&nbsp;" )
+		  . ( $_from_h[0] ? Format_Number($_from_h[0]) : "" )
 		  . "</td><td>"
-		  . ( $_from_h[0] ? "$p_h[0] %" : "&nbsp;" ) . "</td>";
+		  . ( $_from_h[0] ? "$p_h[0] %" : "" ) . "</td>";
 	}
 	print "</tr>\n";
 
@@ -15654,12 +15898,17 @@
 		? XMLEncode("$AWScript${NewLinkParams}output=refererse")
 		: "$StaticLinks.refererse.$StaticExt"
 	  )
-	  . "\"$NewLinkTarget>$Message[80]</a><br$endtag\n";
+	  . "\"$NewLinkTarget>$Message[80]</a></td>\n";
+	if ($ShowOriginStats =~ /P/i) { print "<td valign=\"top\">".($_from_p[2]?$_from_p[2]:"")."</td><td valign=\"top\">".($_from_p[2]?"$p_p[2] %":"")."</td>"; }
+	if ($ShowOriginStats =~ /H/i) { print "<td valign=\"top\">".($_from_h[2]?$_from_h[2]:"")."</td><td valign=\"top\">".($_from_h[2]?"$p_h[2] %":"")."</td>"; }
+	print "</tr>\n";
 	if ( scalar keys %_se_referrals_h ) {
-		print "<table>\n";
+#		print "<table>\n";
 		my $total_p = 0;
 		my $total_h = 0;
 		my $count = 0;
+		my $p_pt;
+		my $p_ht;
 		&BuildKeyList(
 			$MaxNbOf{'RefererShown'},
 			$MinHit{'Refer'},
@@ -15673,12 +15922,20 @@
 		foreach my $key (@keylist) {
 			my $newreferer = $SearchEnginesHashLib{$key}
 			  || CleanXSS($key);
+			if ($Totalp > 0) { $p_pt=int($_se_referrals_p{$key}/$Totalp*1000)/10; }
+			if ($Totalh > 0) { $p_ht=int($_se_referrals_h{$key}/$Totalh*1000)/10; }
 			print "<tr><td class=\"aws\">- $newreferer</td>";
+			if ($ShowOriginStats =~ /P/i) {
 			print "<td>"
 			  . (
 				Format_Number($_se_referrals_p{$key} ? $_se_referrals_p{$key} : '0' ))
 			  . "</td>";
-			print "<td> / ".Format_Number($_se_referrals_h{$key})."</td>";
+				print "<td>$p_pt %</td>";
+			}
+			if ($ShowOriginStats =~ /H/i) {
+				print "<td> ".Format_Number($_se_referrals_h{$key})."</td>";
+				print "<td>$p_ht %</td>";
+			}
 			print "</tr>\n";
 			$total_p += $_se_referrals_p{$key};
 			$total_h += $_se_referrals_h{$key};
@@ -15692,29 +15949,19 @@
 		}
 		my $rest_p = $TotalSearchEnginesPages - $total_p;
 		my $rest_h = $TotalSearchEnginesHits - $total_h;
+		if ($Totalp > 0) { $p_pt=int($rest_p/$Totalp*1000)/10; }
+		if ($Totalh > 0) { $p_ht=int($rest_h/$Totalh*1000)/10; }
 		if ( $rest_p > 0 || $rest_h > 0 ) {
 			print
 "<tr><td class=\"aws\"><span style=\"color: #$color_other\">- $Message[2]</span></td>";
 			print "<td>".Format_Number($rest_p)."</td>";
-			print "<td> / ".Format_Number($rest_h)."</td>";
+			print "<td>$p_pt %</td>";
+			print "<td>".Format_Number($rest_h)."</td>";
+			print "<td>$p_ht %</td>";
 			print "</tr>\n";
 		}
-		print "</table>";
+#		print "</table>";
 	}
-	print "</td>\n";
-	if ( $ShowOriginStats =~ /P/i ) {
-		print "<td valign=\"top\">"
-		  . ( $_from_p[2] ? Format_Number($_from_p[2]) : "&nbsp;" )
-		  . "</td><td valign=\"top\">"
-		  . ( $_from_p[2] ? "$p_p[2] %" : "&nbsp;" ) . "</td>";
-	}
-	if ( $ShowOriginStats =~ /H/i ) {
-		print "<td valign=\"top\">"
-		  . ( $_from_h[2] ? Format_Number($_from_h[2]) : "&nbsp;" )
-		  . "</td><td valign=\"top\">"
-		  . ( $_from_h[2] ? "$p_h[2] %" : "&nbsp;" ) . "</td>";
-	}
-	print "</tr>\n";
 
 	#------- Referrals by external HTML link
 	print "<tr"
@@ -15726,12 +15973,27 @@
 		? XMLEncode("$AWScript${NewLinkParams}output=refererpages")
 		: "$StaticLinks.refererpages.$StaticExt"
 	  )
-	  . "\"$NewLinkTarget>$Message[80]</a><br$endtag\n";
+	  . "\"$NewLinkTarget>$Message[80]</a>\n";
+	print "</td>\n";
+	if ($ShowOriginStats =~ /P/i) {
+		print "<td valign=\"top\">"
+		  . ( $_from_p[3] ? Format_Number($_from_p[3]) : "" )
+		  . "</td><td valign=\"top\">"
+		  . ( $_from_p[3] ? "$p_p[3] %" : "" ) . "</td>";
+	}
+	if ($ShowOriginStats =~ /H/i) {
+		print "<td valign=\"top\">"
+		  . ( $_from_h[3] ? Format_Number($_from_h[3]) : "" )
+		  . "</td><td valign=\"top\">"
+		  . ( $_from_h[3] ? "$p_h[3] %" : "" ) . "</td>";
+	}
+	print "</tr>\n";
 	if ( scalar keys %_pagesrefs_h ) {
-		print "<table>\n";
+#		print "<table>\n";
 		my $total_p = 0;
 		my $total_h = 0;
 		my $count = 0;
+		my $p_pt; my $p_ht;
 		&BuildKeyList(
 			$MaxNbOf{'RefererShown'},
 			$MinHit{'Refer'},
@@ -15746,10 +16008,14 @@
 			print "<tr><td class=\"aws\">- ";
 			&HTMLShowURLInfo($key);
 			print "</td>";
+			if ($Totalp > 0) { $p_pt=int($_pagesrefs_p{$key}/$Totalp*1000)/10; }
+			if ($Totalh > 0) { $p_ht=int($_pagesrefs_h{$key}/$Totalh*1000)/10; }
 			print "<td>"
 			  . Format_Number(( $_pagesrefs_p{$key} ? $_pagesrefs_p{$key} : '0' ))
 			  . "</td>";
+			print "<td>$p_pt %</td>";
 			print "<td>".Format_Number($_pagesrefs_h{$key})."</td>";
+			print "<td>$p_ht %</td>";
 			print "</tr>\n";
 			$total_p += $_pagesrefs_p{$key};
 			$total_h += $_pagesrefs_h{$key};
@@ -15763,67 +16029,57 @@
 		}
 		my $rest_p = $TotalRefererPages - $total_p;
 		my $rest_h = $TotalRefererHits - $total_h;
+		if ($Totalp > 0) { $p_pt=int($rest_p/$Totalp*1000)/10; }
+		if ($Totalh > 0) { $p_ht=int($rest_h/$Totalh*1000)/10; }
 		if ( $rest_p > 0 || $rest_h > 0 ) {
 			print
 "<tr><td class=\"aws\"><span style=\"color: #$color_other\">- $Message[2]</span></td>";
 			print "<td>".Format_Number($rest_p)."</td>";
+			print "<td>$p_pt %</td>";
 			print "<td>".Format_Number($rest_h)."</td>";
+			print "<td>$p_ht %</td>";
 			print "</tr>\n";
 		}
-		print "</table>";
+#		print "</table>";
 	}
-	print "</td>\n";
-	if ( $ShowOriginStats =~ /P/i ) {
-		print "<td valign=\"top\">"
-		  . ( $_from_p[3] ? Format_Number($_from_p[3]) : "&nbsp;" )
-		  . "</td><td valign=\"top\">"
-		  . ( $_from_p[3] ? "$p_p[3] %" : "&nbsp;" ) . "</td>";
-	}
-	if ( $ShowOriginStats =~ /H/i ) {
-		print "<td valign=\"top\">"
-		  . ( $_from_h[3] ? Format_Number($_from_h[3]) : "&nbsp;" )
-		  . "</td><td valign=\"top\">"
-		  . ( $_from_h[3] ? "$p_h[3] %" : "&nbsp;" ) . "</td>";
-	}
-	print "</tr>\n";
 
 	#------- Referrals by internal HTML link
 	if ($IncludeInternalLinksInOriginSection) {
 		print "<tr><td class=\"aws\"><strong>$Message[42]</strong></td>";
 		if ( $ShowOriginStats =~ /P/i ) {
 			print "<td>"
-			  . ( $_from_p[4] ? Format_Number($_from_p[4]) : "&nbsp;" )
+			  . ( $_from_p[4] ? Format_Number($_from_p[4]) : "" )
 			  . "</td><td>"
-			  . ( $_from_p[4] ? "$p_p[4] %" : "&nbsp;" ) . "</td>";
+			  . ( $_from_p[4] ? "$p_p[4] %" : "" ) . "</td>";
 		}
 		if ( $ShowOriginStats =~ /H/i ) {
 			print "<td>"
-			  . ( $_from_h[4] ? Format_Number($_from_h[4]) : "&nbsp;" )
+			  . ( $_from_h[4] ? Format_Number($_from_h[4]) : "" )
 			  . "</td><td>"
-			  . ( $_from_h[4] ? "$p_h[4] %" : "&nbsp;" ) . "</td>";
+			  . ( $_from_h[4] ? "$p_h[4] %" : "" ) . "</td>";
 		}
 		print "</tr>\n";
 	}
 
 	#------- Referrals by news group
 	#print "<tr><td class=\"aws\"><strong>$Message[107]</strong></td>";
-	#if ($ShowOriginStats =~ /P/i) { print "<td>".($_from_p[5]?$_from_p[5]:"&nbsp;")."</td><td>".($_from_p[5]?"$p_p[5] %":"&nbsp;")."</td>"; }
-	#if ($ShowOriginStats =~ /H/i) { print "<td>".($_from_h[5]?$_from_h[5]:"&nbsp;")."</td><td>".($_from_h[5]?"$p_h[5] %":"&nbsp;")."</td>"; }
+	#if ($ShowOriginStats =~ /P/i) { print "<td>".($_from_p[5]?$_from_p[5]:"")."</td><td>".($_from_p[5]?"$p_p[5] %":"")."</td>"; }
+	#if ($ShowOriginStats =~ /H/i) { print "<td>".($_from_h[5]?$_from_h[5]:"")."</td><td>".($_from_h[5]?"$p_h[5] %":"")."</td>"; }
 	#print "</tr>\n";
 
 	#------- Unknown origin
 	print "<tr><td class=\"aws\"><strong>$Message[39]</strong></td>";
 	if ( $ShowOriginStats =~ /P/i ) {
 		print "<td>"
-		  . ( $_from_p[1] ? Format_Number($_from_p[1]) : "&nbsp;" )
+		  . ( $_from_p[1] ? Format_Number($_from_p[1]) : "" )
 		  . "</td><td>"
-		  . ( $_from_p[1] ? "$p_p[1] %" : "&nbsp;" ) . "</td>";
+		  . ( $_from_p[1] ? "$p_p[1] %" : "" ) . "</td>";
 	}
 	if ( $ShowOriginStats =~ /H/i ) {
 		print "<td>"
-		  . ( $_from_h[1] ? Format_Number($_from_h[1]) : "&nbsp;" )
+		  . ( $_from_h[1] ? Format_Number($_from_h[1]) : "" )
 		  . "</td><td>"
-		  . ( $_from_h[1] ? "$p_h[1] %" : "&nbsp;" ) . "</td>";
+		  . ( $_from_h[1] ? "$p_h[1] %" : "" ) . "</td>";
 	}
 	print "</tr>\n";
 	&tab_end();
@@ -15848,21 +16104,21 @@
 	my $NewLinkTarget = shift;
 
 	if ($ShowKeyphrasesStats) {
-		print "$Center<a name=\"keyphrases\">&nbsp;</a>";
+#		print "$Center<a name=\"keyphrases\">&nbsp;</a>";
 	}
 	if ($ShowKeywordsStats) {
-		print "$Center<a name=\"keywords\">&nbsp;</a>";
+#		print "$Center<a name=\"keywords\">&nbsp;</a>";
 	}
-	if ( $ShowKeyphrasesStats || $ShowKeywordsStats ) { print "<br$endtag\n"; }
+#	if ( $ShowKeyphrasesStats || $ShowKeywordsStats ) { print "<br$endtag\n"; }
 	if ( $ShowKeyphrasesStats && $ShowKeywordsStats ) {
 		print
-		  "<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\"><tr>";
+"<table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" summary=\"Key Words\" id=\"KEYS\">\n<col width=\"50%\"$endtag<col$endtag<col width=\"50%\"$endtag\n<tr>";
 	}
 	if ($ShowKeyphrasesStats) {
 
 		# By Keyphrases
 		if ( $ShowKeyphrasesStats && $ShowKeywordsStats ) {
-			print "<td width=\"50%\" valign=\"top\">\n";
+			print "<td class=\"vtop\">\n";
 		}
 		if ($Debug) { debug( "ShowKeyphrasesStats", 2 ); }
 		&tab_head(
@@ -15878,9 +16134,10 @@
 			( $ShowKeyphrasesStats && $ShowKeywordsStats ) ? 95 : 70,
 			'keyphrases'
 		);
-		print "<tr bgcolor=\"#$color_TableBGRowTitle\""
+		print "<col$endtag<col width=\"$WIDTHHIT\"$endtag<col width=\"$WIDTHPARCENT\"$endtag";
+		print "<tr class=\"colortab\""
 		  . Tooltip(15)
-		  . "><th>$TotalDifferentKeyphrases $Message[103]</th><th bgcolor=\"#$color_s\" width=\"80\">$Message[14]</th><th bgcolor=\"#$color_s\" width=\"80\">$Message[15]</th></tr>\n";
+		  . "><th abbr=\"$TotalDifferentKeyphrases $Message[103]\">$TotalDifferentKeyphrases $Message[103]</th><th class=\"colors\" abbr=\"$Message[14]\">$Message[14]</th><th class=\"colors\" abbr=\"$Message[15]\">$Message[15]</th></tr>\n";
 		my $total_s = 0;
 		my $count = 0;
 		&BuildKeyList( $MaxNbOf{'KeyphrasesShown'},
@@ -15918,7 +16175,7 @@
 				$p = int( $rest_s / $TotalKeyphrases * 1000 ) / 10;
 			}
 			print
-"<tr><td class=\"aws\"><span style=\"color: #$color_other\">$Message[124]</span></td><td>$rest_s</td>";
+"<tr><td class=\"aws\"><span style=\"color: #$color_other\">$Message[124]</span></td><td>".Format_Number($rest_s)."</td>";
 			print "<td>$p&nbsp;%</td></tr>\n";
 		}
 		&tab_end();
@@ -15933,7 +16190,7 @@
 
 		# By Keywords
 		if ( $ShowKeyphrasesStats && $ShowKeywordsStats ) {
-			print "<td width=\"50%\" valign=\"top\">\n";
+			print "<td class=\"vtop\">\n";
 		}
 		if ($Debug) { debug( "ShowKeywordsStats", 2 ); }
 		&tab_head(
@@ -15949,9 +16206,10 @@
 			( $ShowKeyphrasesStats && $ShowKeywordsStats ) ? 95 : 70,
 			'keywords'
 		);
-		print "<tr bgcolor=\"#$color_TableBGRowTitle\""
+		print "<col$endtag<col width=\"$WIDTHHIT\"$endtag<col width=\"$WIDTHPARCENT\"$endtag\n";
+		print "<tr class=\"colortab\""
 		  . Tooltip(15)
-		  . "><th>$TotalDifferentKeywords $Message[13]</th><th bgcolor=\"#$color_s\" width=\"80\">$Message[14]</th><th bgcolor=\"#$color_s\" width=\"80\">$Message[15]</th></tr>\n";
+		  . "><th abbr=\"$TotalDifferentKeywords $Message[13]\">$TotalDifferentKeywords $Message[13]</th><th class=\"colors\" abbr=\"$Message[14]\">$Message[14]</th><th class=\"colors\" abbr=\"$Message[15]\">$Message[15]</th></tr>\n";
 		my $total_s = 0;
 		my $count = 0;
 		&BuildKeyList( $MaxNbOf{'KeywordsShown'},
@@ -15988,7 +16246,7 @@
 				$p = int( $rest_s / $TotalKeywords * 1000 ) / 10;
 			}
 			print
-"<tr><td class=\"aws\"><span style=\"color: #$color_other\">$Message[30]</span></td><td>$rest_s</td>";
+"<tr><td class=\"aws\"><span style=\"color: #$color_other\">$Message[30]</span></td><td>".Format_Number($rest_s)."</td>";
 			print "<td>$p %</td></tr>\n";
 		}
 		&tab_end();
@@ -16010,13 +16268,14 @@
 #------------------------------------------------------------------------------
 sub HTMLMainMisc{
 	if ($Debug) { debug( "ShowMiscStats", 2 ); }
-	print "$Center<a name=\"misc\">&nbsp;</a><br$endtag\n";
+#	print "$Center<a name=\"misc\">&nbsp;</a><br$endtag\n";
 	my $title = "$Message[139]";
 	&tab_head( "$title", 19, 0, 'misc' );
+	print "<col$endtag<col width=\"150\"$endtag<col width=\"$WIDTHPARCENT\"$endtag\n";
 	print
-	  "<tr bgcolor=\"#$color_TableBGRowTitle\"><th>$Message[139]</th>";
-	print "<th width=\"100\">&nbsp;</th>";
-	print "<th width=\"100\">&nbsp;</th>";
+	  "<tr class=\"colortab\"><th abbr=\"$Message[139]\">$Message[139]</th>";
+	print "<td></td>";
+	print "<td></td>";
 	print "</tr>\n";
 	my %label = (
 		'AddToFavourites'           => $Message[137],
@@ -16061,10 +16320,10 @@
 			  . " / ".Format_Number($total)." $Message[18]</td>";
 		}
 		if ( $MiscListCalc{$key} eq 'hm' ) { print "<td>-</td>"; }
-		print "<td>" . ( $total ? "$p %" : "&nbsp;" ) . "</td>";
+		print "<td>" . ( $total ? "$p %" : "" ) . "</td>";
 		print "</tr>\n";
 	}
-	&tab_end();
+	&tab_end("* $Message[221]");
 }
 
 #------------------------------------------------------------------------------
@@ -16079,9 +16338,10 @@
 	my $NewLinkTarget = shift;
 
 	if ($Debug) { debug( "ShowHTTPErrorsStats", 2 ); }
-	print "$Center<a name=\"errors\">&nbsp;</a><br$endtag\n";
+#	print "$Center<a name=\"errors\">&nbsp;</a><br$endtag\n";
 	my $title = "$Message[32]";
 	&tab_head( "$title", 19, 0, 'errors' );
+	print "<col width=\"40\"$endtag<col$endtag<col width=\"$WIDTHHIT\"$endtag<col width=\"$WIDTHPARCENT\"$endtag<col width=\"$WIDTHBANDWIDTH\"$endtag\n";
 
 	&BuildKeyList( $MaxRowsInHTMLOutput, 1, \%_errors_h, \%_errors_h );
 
@@ -16113,7 +16373,7 @@
 	}
 
 	print
-"<tr bgcolor=\"#$color_TableBGRowTitle\"><th colspan=\"2\">$Message[32]*</th><th bgcolor=\"#$color_h\" width=\"80\">$Message[57]</th><th bgcolor=\"#$color_h\" width=\"80\">$Message[15]</th><th bgcolor=\"#$color_k\" width=\"80\">$Message[75]</th></tr>\n";
+"<tr class=\"colortab\"><th colspan=\"2\" abbr=\"$Message[32]*\">$Message[32]*</th><th class=\"colorh\" abbr=\"$Message[57]\">$Message[57]</th><th class=\"colorh\" abbr=\"$Message[15]\">$Message[15]</th><th class=\"colork\" abbr=\"$Message[75]\">$Message[75]</th></tr>\n";
 	my $total_h = 0;
 	my $count = 0;
 	foreach my $key (@keylist) {
@@ -16129,7 +16389,7 @@
 			  )
 			  . "\"$NewLinkTarget>$key</a></td>";
 		}
-		else { print "<td valign=\"top\">$key</td>"; }
+		else { print "<td class=\"vtop\">$key</td>"; }
 		print "<td class=\"aws\">"
 		  . (
 			$httpcodelib{$key} ? $httpcodelib{$key} : 'Unknown error' )
@@ -16154,11 +16414,12 @@
 	my $NewLinkTarget = shift;
 
 	if ($Debug) { debug( "ShowSMTPErrorsStats", 2 ); }
-	print "$Center<a name=\"errors\">&nbsp;</a><br$endtag\n";
+#	print "$Center<a name=\"errors\">&nbsp;</a><br$endtag\n";
 	my $title = "$Message[147]";
 	&tab_head( "$title", 19, 0, 'errors' );
+	print "<col span=\"2\"$endtag<col width=\"80\"$endtag<col width=\"$WIDTHPARCENT\"$endtag<col width=\"$WIDTHBANDWIDTH\"$endtag\n";
 	print
-"<tr bgcolor=\"#$color_TableBGRowTitle\"><th colspan=\"2\">$Message[147]</th><th bgcolor=\"#$color_h\" width=\"80\">$Message[57]</th><th bgcolor=\"#$color_h\" width=\"80\">$Message[15]</th><th bgcolor=\"#$color_k\" width=\"80\">$Message[75]</th></tr>\n";
+"<tr class=\"colortab\"><th colspan=\"2\" abbr=\"$Message[147]\">$Message[147]</th><th class=\"colorh\" abbr=\"$Message[57]\">$Message[57]</th><th class=\"colorh\" abbr=\"$Message[15]\">$Message[15]</th><th class=\"colork\" abbr=\"$Message[75]\">$Message[75]</th></tr>\n";
 	my $total_h = 0;
 	my $count = 0;
 	&BuildKeyList( $MaxRowsInHTMLOutput, 1, \%_errors_h, \%_errors_h );
@@ -16166,7 +16427,7 @@
 	foreach my $key (@keylist) {
 		my $p = int( $_errors_h{$key} / $TotalHitsErrors * 1000 ) / 10;
 		print "<tr" . Tooltip( $key, $key ) . ">";
-		print "<td valign=\"top\">$key</td>";
+		print "<td class=\"vtop\">$key</td>";
 		print "<td class=\"aws\">"
 		  . (
 			$smtpcodelib{$key} ? $smtpcodelib{$key} : 'Unknown error' )
@@ -16191,9 +16452,14 @@
 	my $NewLinkTarget = shift;
 
 	if ($Debug) { debug( "ShowClusterStats", 2 ); }
-	print "$Center<a name=\"clusters\">&nbsp;</a><br$endtag\n";
+#	print "$Center<a name=\"clusters\">&nbsp;</a><br$endtag\n";
 	my $title = "$Message[155]";
 	&tab_head( "$title", 19, 0, 'clusters' );
+	print "<col span=\"2\"$endtag";
+	if ($ShowClusterStats =~ /P/i) {print "<col width=\"$WIDTHPAGE\"$endtag<col width=\"$WIDTHPARCENT\"$endtag";}
+	if ($ShowClusterStats =~ /H/i) {print "<col width=\"$WIDTHHIT\"$endtag<col width=\"$WIDTHPARCENT\"$endtag";}
+	if ($ShowClusterStats =~ /B/i) {print "<col width=\"$WIDTHBANDWIDTH\"$endtag<col width=\"$WIDTHPARCENT\"$endtag";}
+	print "\n";
 
 	&BuildKeyList( $MaxRowsInHTMLOutput, 1, \%_cluster_p, \%_cluster_p );
 
@@ -16225,19 +16491,19 @@
 	}
 
 	print
-	  "<tr bgcolor=\"#$color_TableBGRowTitle\"><th>$Message[155]</th>";
+	  "<tr class=\"colortab\"><th abbr=\"$Message[155]\">$Message[155]</th>";
 	&HTMLShowClusterInfo('__title__');
 	if ( $ShowClusterStats =~ /P/i ) {
 		print
-"<th bgcolor=\"#$color_p\" width=\"80\">$Message[56]</th><th bgcolor=\"#$color_p\" width=\"80\">$Message[15]</th>";
+"<th class=\"colorp\" abbr=\"$Message[56]\">$Message[56]</th><th class=\"colorp\" abbr=\"$Message[15]\">$Message[15]</th>";
 	}
 	if ( $ShowClusterStats =~ /H/i ) {
 		print
-"<th bgcolor=\"#$color_h\" width=\"80\">$Message[57]</th><th bgcolor=\"#$color_h\" width=\"80\">$Message[15]</th>";
+"<th class=\"colorh\" abbr=\"$Message[57]\">$Message[57]</th><th class=\"colorh\" abbr=\"$Message[15]\">$Message[15]</th>";
 	}
 	if ( $ShowClusterStats =~ /B/i ) {
 		print
-"<th bgcolor=\"#$color_k\" width=\"80\">$Message[75]</th><th bgcolor=\"#$color_k\" width=\"80\">$Message[15]</th>";
+"<th class=\"colork\" abbr=\"$Message[75]\">$Message[75]</th><th class=\"colork\" abbr=\"$Message[15]\">$Message[15]</th>";
 	}
 	print "</tr>\n";
 	my $total_p = my $total_h = my $total_k = 0;
@@ -16259,7 +16525,7 @@
 		&HTMLShowClusterInfo($key);
 		if ( $ShowClusterStats =~ /P/i ) {
 			print "<td>"
-			  . ( $_cluster_p{$key} ? Format_Number($_cluster_p{$key}) : "&nbsp;" )
+			  . ( $_cluster_p{$key} ? Format_Number($_cluster_p{$key}) : "" )
 			  . "</td><td>$p_p %</td>";
 		}
 		if ( $ShowClusterStats =~ /H/i ) {
@@ -16289,11 +16555,17 @@
 	my $extranum = shift;
 
 	if ($Debug) { debug( "ExtraName$extranum", 2 ); }
-	print "$Center<a name=\"extra$extranum\">&nbsp;</a><br$endtag";
+#	print "$Center<a name=\"extra$extranum\">&nbsp;</a><br$endtag";
 	my $title = $ExtraName[$extranum];
 	&tab_head( "$title", 19, 0, "extra$extranum" );
-	print "<tr bgcolor=\"#$color_TableBGRowTitle\">";
-	print "<th>" . $ExtraFirstColumnTitle[$extranum];
+	print "<col$endtag";
+	if ($ExtraStatTypes[$extranum] =~ m/P/i) { print "<col width=\"$WIDTHPAGE\"$endtag"; }
+	if ($ExtraStatTypes[$extranum] =~ m/H/i) { print "<col width=\"$WIDTHHIT\"$endtag"; }
+	if ($ExtraStatTypes[$extranum] =~ m/B/i) { print "<col width=\"$WIDTHBANDWIDTH\"$endtag"; }
+	if ($ExtraStatTypes[$extranum] =~ m/L/i) { print "<col width=\"$WIDTHFULLDATE\"$endtag"; }
+	print "\n";
+	print "<tr class=\"colortab\">";
+	print "<th abbr=\"$ExtraFirstColumnTitle[$extranum]\">" . $ExtraFirstColumnTitle[$extranum];
 	print "&nbsp; - &nbsp; <a href=\""
 	  . (
 		$ENV{'GATEWAY_INTERFACE'} || !$StaticLinks
@@ -16306,18 +16578,18 @@
 
 	if ( $ExtraStatTypes[$extranum] =~ m/P/i ) {
 		print
-		  "<th bgcolor=\"#$color_p\" width=\"80\">$Message[56]</th>";
+		  "<th class=\"colorp\" abbr=\"$Message[56]\">$Message[56]</th>";
 	}
 	if ( $ExtraStatTypes[$extranum] =~ m/H/i ) {
 		print
-		  "<th bgcolor=\"#$color_h\" width=\"80\">$Message[57]</th>";
+		  "<th class=\"colorh\" abbr=\"$Message[57]\">$Message[57]</th>";
 	}
 	if ( $ExtraStatTypes[$extranum] =~ m/B/i ) {
 		print
-		  "<th bgcolor=\"#$color_k\" width=\"80\">$Message[75]</th>";
+		  "<th class=\"colork\" abbr=\"$Message[75]\">$Message[75]</th>";
 	}
 	if ( $ExtraStatTypes[$extranum] =~ m/L/i ) {
-		print "<th width=\"120\">$Message[9]</th>";
+		print "<th abbr=\"$Message[9]\">$Message[9]</th>";
 	}
 	print "</tr>\n";
 	my $total_p = my $total_h = my $total_k = 0;
@@ -16403,16 +16675,16 @@
 		print "<td class=\"aws\"><strong>$Message[96]</strong></td>";
 		if ( $ExtraStatTypes[$extranum] =~ m/P/i ) {
 			print "<td>"
-			  . ( $count ? Format_Number(( $total_p / $count )) : "&nbsp;" ) . "</td>";
+			  . ( $count ? Format_Number(( $total_p / $count )) : "" ) . "</td>";
 		}
 		if ( $ExtraStatTypes[$extranum] =~ m/H/i ) {
 			print "<td>"
-			  . ( $count ? Format_Number(( $total_h / $count )) : "&nbsp;" ) . "</td>";
+			  . ( $count ? Format_Number(( $total_h / $count )) : "" ) . "</td>";
 		}
 		if ( $ExtraStatTypes[$extranum] =~ m/B/i ) {
 			print "<td>"
 			  . (
-				$count ? Format_Bytes( $total_k / $count ) : "&nbsp;" )
+				$count ? Format_Bytes( $total_k / $count ) : "" )
 			  . "</td>";
 		}
 		if ( $ExtraStatTypes[$extranum] =~ m/L/i ) {
@@ -16866,6 +17138,9 @@
 	}
 	$Lang = 'en';
 }
+foreach (keys %LangBrowserToLangAwstats) {
+	if ($Lang eq $LangBrowserToLangAwstats{$_}) { $LangHTML = $_; }   #convert Lang to LangHTML
+}
 
 # Check and correct bad parameters
 &Check_Config();
@@ -16896,12 +17171,16 @@
 	&Read_Language_Data($Lang);
 	if ( $FrameName ne 'mainleft' ) {
 		my %datatoload = ();
+		my $tmpLang = $Lang;
+		if ($tmpLang ne "jp") {
+			$tmpLang = "en";
+		}
 		my (
 			$filedomains, $filemime, $filerobots, $fileworms,
 			$filebrowser, $fileos,   $filese
 		  )
 		  = (
-			'domains',  'mime',
+			"domains-$tmpLang",  "mime-$tmpLang",
 			'robots',   'worms',
 			'browsers', 'operating_systems',
 			'search_engines'
@@ -17455,7 +17734,7 @@
 	my $regmisc        = qr/^$miscquoted/;
 	my $regfavico      = qr/\/favicon\.ico$/i;
 	my $regrobot       = qr/\/robots\.txt$/i;
-	my $regtruncanchor = qr/#(\w*)$/;
+	my $regtruncanchor = qr/#([A-Za-z0-9\-_:\.]*)$/;
 	my $regtruncurl    = qr/([$URLQuerySeparators])(.*)$/;
 	my $regext         = qr/\.(\w{1,6})$/;
 	my $regdefault;
@@ -17465,16 +17744,17 @@
 	my $regipv4l          = qr/^::ffff:\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/;
 	my $regipv6           = qr/^[0-9A-F]*:/i;
 	my $regvermsie        = qr/msie([+_ ]|)([\d\.]*)/i;
+	my $regverie          = qr/(?: |")ie([+_ ]|)([\d\.]+)/i;
 	my $regvernetscape    = qr/netscape.?\/([\d\.]*)/i;
 	my $regverfirefox     = qr/firefox\/([\d\.]*)/i;
-	my $regveropera       = qr/opera\/([\d\.]*)/i;
+	my $regveropera       = qr/opera(?:\/|\s)([\d\.]*)/i;
 	my $regversafari      = qr/safari\/([\d\.]*)/i;
-	my $regversafariver   = qr/version\/([\d\.]*)/i;
+	my $regversafariver   = qr/version\/([\d\.]+)/i;
 	my $regverchrome      = qr/chrome\/([\d\.]*)/i;
 	my $regverkonqueror   = qr/konqueror\/([\d\.]*)/i;
 	my $regversvn         = qr/svn\/([\d\.]*)/i;
-	my $regvermozilla     = qr/mozilla(\/|)([\d\.]*)/i;
-	my $regnotie          = qr/webtv|omniweb|opera/i;
+	my $regvermozilla     = qr/mozilla(\/| |)([\d\.]+)/i;
+	my $regnotie          = qr/webtv|omniweb|opera|sleipnir|avant browser|lunascape/i;
 	my $regnotnetscape    = qr/gecko|compatible|opera|galeon|safari|charon/i;
 	my $regnotfirefox     = qr/flock/i;
 	my $regnotsafari      = qr/android|arora|chrome|shiira/i;
@@ -18334,15 +18614,10 @@
 			{    # HTTP record or Stream record
 				if ( $ValidHTTPCodes{ $field[$pos_code] } ) {    # Code is valid
 					if ( int($field[$pos_code]) == 304 && $pos_size>0) { $field[$pos_size] = 0; }
-					# track downloads
-					if (int($field[$pos_code]) == 200 && $MimeHashLib{$extension}[1] eq 'd'){
-						$_downloads{$urlwithnoquery}->{'AWSTATS_HITS'}++;
-						$_downloads{$urlwithnoquery}->{'AWSTATS_SIZE'} += ($pos_size>0 ? int($field[$pos_size]) : 0);
-						if ($Debug) { debug( " New download detected: '$urlwithnoquery'", 2 ); }
-					}
 				# handle 206 download continuation message IF we had a successful 200 before, otherwise it goes in errors
 				}elsif(int($field[$pos_code]) == 206
 					#&& $_downloads{$urlwithnoquery}->{$field[$pos_host]}[0] > 0
+					&& ( $urlwithnoquery !~ /$regrobot/o )
 					&& ($MimeHashLib{$extension}[1] eq 'd')){
 					$_downloads{$urlwithnoquery}->{'AWSTATS_SIZE'} += ($pos_size>0 ? int($field[$pos_size]) : 0);
 					$_downloads{$urlwithnoquery}->{'AWSTATS_206'}++;
@@ -18519,6 +18794,14 @@
 				if ($pos_size>0){$_time_nv_k[$hourrecord] += int( $field[$pos_size] );}
 			}
 		}
+		# track downloads
+		if ( !$countedtraffic ) {
+			if ( $ValidHTTPCodes{ $field[$pos_code]} && $MimeHashLib{$extension}[1] eq 'd'){
+				$_downloads{$urlwithnoquery}->{'AWSTATS_HITS'}++;
+				$_downloads{$urlwithnoquery}->{'AWSTATS_SIZE'} += ($pos_size>0 ? int($field[$pos_size]) : 0);
+				if ($Debug) { debug( " New download detected: '$urlwithnoquery'", 2 ); }
+			}
+		}
 
 		# Analyze: File type - Compression
 		#---------------------------------
@@ -18994,7 +19277,9 @@
 
 			# Analyze: Browser - OS
 			#----------------------
-			if ( $pos_agent >= 0 ) {
+			if ($countedtraffic == 6) {
+				;
+			} elsif ( $pos_agent >= 0 ) {
 
 				if ($LevelForBrowsersDetection) {
 
@@ -19049,8 +19334,9 @@
 						}
 
 						# IE ? (must be at end of test)
-						elsif ($UserAgent =~ /$regvermsie/o
-							&& $UserAgent !~ /$regnotie/o )
+						elsif ((($UserAgent =~ /$regvermsie/o)
+							|| ($UserAgent =~ /$regverie/o))
+							&& ($UserAgent !~ /$regnotie/o ))
 						{
 							$_browser_h{"msie$2"}++;
 							$TmpBrowser{$UserAgent} = "msie$2";
@@ -19277,7 +19563,7 @@
 								$_from_h[2]++;
 								$_se_referrals_h{$tmprefererserver}++;
 								$found = 1;
-								if ( $PageBool && $LevelForKeywordsDetection ) {
+								if ( $LevelForKeywordsDetection ) {
 
 									# we will complete %_keyphrases hash array
 									my @refurl =
@@ -19290,6 +19576,7 @@
 											$SearchEnginesKnownUrl{
 												$tmprefererserver} )
 										{  # Search engine with known URL syntax
+											my $keyphrasep = "";
 											foreach my $param (
 												split(
 													/&/,
@@ -19309,6 +19596,7 @@
 													$param =~
 s/^(cache|related):[^\+]+//
 													  ; # Should be useless since this is for hit on 'not pages'
+#													$param = &DecodeEncodedString($param);	# %nnをutf-8にして格納
 													&ChangeWordSeparatorsIntoSpace
 													  ($param)
 													  ; # Change [ aaa+bbb/ccc+ddd%20eee'fff,ggg ] into [ aaa bbb/ccc ddd eee fff ggg]
@@ -19317,11 +19605,15 @@
 													$param =~ tr/ /\+/s;
 													if ( ( length $param ) > 0 )
 													{
-														$_keyphrases{$param}++;
+														if ( $keyphrasep eq "") {
+															$keyphrasep = "$param";
+														} else {
+															$keyphrasep = $keyphrasep . "+" . "$param";
+														}
 													}
-													last;
 												}
 											}
+												if ((length $keyphrasep) > 0) { $_keyphrases{$keyphrasep}++; }
 										}
 										elsif (
 											$LevelForKeywordsDetection >= 2 )
@@ -19357,6 +19649,7 @@
 												$param =~
 												  s/^(cache|related):[^\+]+//
 												  ; # Should be useless since this is for hit on 'not pages'
+#												$param = &DecodeEncodedString($param);	# %nnをutf-8にして格納
 												&ChangeWordSeparatorsIntoSpace(
 													$param)
 												  ; # Change [ aaa+bbb/ccc+ddd%20eee'fff,ggg ] into [ aaa bbb/ccc ddd eee fff ggg ]
@@ -19378,10 +19671,11 @@
 #										debug("xxx".$refurl[0]);
 # If search engine with key inside page url like a9 (www.a9.com/searchkey1%20searchkey2)
 										if ( $refurl[0] =~
-/$SearchEnginesKnownUrl{$tmprefererserver}(.*)$/
+/$SearchEnginesKnownUrl{$tmprefererserver}(.*)$SearchEnginesKnownUrlTrail{$tmprefererserver}$/
 										  )
 										{
 											my $param = $1;
+#											$param = &DecodeEncodedString($param);	# %nnをutf-8にして格納
 											&ChangeWordSeparatorsIntoSpace(
 												$param);
 											$param =~ tr/ /\+/s;
@@ -20136,7 +20430,7 @@
 
 	# HTMLHeadSection
 	if ( $FrameName ne 'index' && $FrameName ne 'mainleft' ) {
-		print "<a name=\"top\"></a>\n\n";
+#		print "<a name=\"top\"></a>\n\n";
 		my $newhead = $HTMLHeadSection;
 		$newhead =~ s/\\n/\n/g;
 		print "$newhead\n";
@@ -20355,10 +20649,10 @@
 	{
 		# to add unique visitors & number of visits, by J Ruano @ CAPSiDE
 		if ( $ShowDomainsStats =~ /U/i ) {
-			print "<th bgcolor=\"#$color_u\" width=\"80\">$Message[11]</th>";
+			print "<th class=\"coloru\" abbr=\"$Message[11]\">$Message[11]</th>";
 		}
 		if ( $ShowDomainsStats =~ /V/i ) {
-			print "<th bgcolor=\"#$color_v\" width=\"80\">$Message[10]</th>";
+			print "<th class=\"colorv\" abbr=\"$Message[10]\">$Message[10]</th>";
 		}
 
 		my $function = "AddHTMLContentHeader_$pluginname";
@@ -20437,7 +20731,7 @@
 
 		if ( $HTMLOutput{'info'} ) {
 			# TODO Not yet available
-			print "$Center<a name=\"info\">&nbsp;</a><br$endtag";
+#			print "$Center<a name=\"info\">&nbsp;</a><br$endtag";
 			&html_end(1);
 		}
 
@@ -20508,7 +20802,7 @@
 			&HTMLMainMonthly();
 		}
 
-		print "\n<a name=\"when\">&nbsp;</a>\n\n";
+#		print "\n<a name=\"when\">&nbsp;</a>\n\n";
 
 		# BY DAY OF MONTH
 		#---------------------------------------------------------------------
@@ -20529,7 +20823,7 @@
 			&HTMLMainHours();
 		}
 
-		print "\n<a name=\"who\">&nbsp;</a>\n\n";
+#		print "\n<a name=\"who\">&nbsp;</a>\n\n";
 
 		# BY COUNTRY/DOMAIN
 		#---------------------------
@@ -20573,7 +20867,7 @@
 			&HTMLMainWorms();
 		}
 
-		print "\n<a name=\"how\">&nbsp;</a>\n\n";
+#		print "\n<a name=\"how\">&nbsp;</a>\n\n";
 
 		# BY SESSION
 		#----------------------------
@@ -20623,7 +20917,7 @@
 			&HTMLMainScreenSize();
 		}
 
-		print "\n<a name=\"refering\">&nbsp;</a>\n\n";
+#		print "\n<a name=\"refering\">&nbsp;</a>\n\n";
 
 		# BY REFERENCE
 		#---------------------------
@@ -20631,7 +20925,7 @@
 			&HTMLMainReferrers($NewLinkParams, $NewLinkTarget);
 		}
 
-		print "\n<a name=\"keys\">&nbsp;</a>\n\n";
+#		print "\n<a name=\"keys\">&nbsp;</a>\n\n";
 
 		# BY SEARCH KEYWORDS AND/OR KEYPHRASES
 		#-------------------------------------
@@ -20639,7 +20933,7 @@
 			&HTMLMainKeys($NewLinkParams, $NewLinkTarget);
 		}
 
-		print "\n<a name=\"other\">&nbsp;</a>\n\n";
+#		print "\n<a name=\"other\">&nbsp;</a>\n\n";
 
 		# BY MISC
 		#----------------------------
diff -u -b -r D:\awstats-7.0-mod\/wwwroot/cgi-bin/lang/awstats-en.txt D:\AWStats70t_Jpn/wwwroot/cgi-bin/lang/awstats-en.txt
--- D:\awstats-7.0-mod\/wwwroot/cgi-bin/lang/awstats-en.txt	2010-06-22 22:13:02.000000000 +0900
+++ D:\AWStats70t_Jpn/wwwroot/cgi-bin/lang/awstats-en.txt	2010-12-17 14:16:37.625000000 +0900
@@ -1,5 +1,6 @@
 ﻿# English message file (eldy@users.sourceforge.net)
 # $Revision: 1.90 $ - $Date: 2010/06/09 14:46:20 $
+# ホビット 2010/12/17
 PageCode=utf-8
 message0=Unknown
 message1=Unknown (unresolved ip)
@@ -178,5 +179,47 @@
 message174=Safari versions
 message175=Chrome versions
 message176=Konqueror versions
-message177=,
+message177=
 message178=Downloads
\ No newline at end of file
+message179=
+message180=
+message181=
+message182=
+message183=
+message184=
+message185=
+message186=
+message187=
+message188=
+message189=
+message190=
+message191=
+message192=
+message193=
+message194=
+message195=
+message196=
+message197=
+message198=
+message199=
+message200=dd mmm yyyy
+message201=mmmbreakyyyy
+message202=mmm yyyy
+message203=ddbreakmmm
+message204=Unknown robot (identified by 'robot')
+message205=Unknown robot (identified by 'crawl')
+message206=Unknown robot (identified by 'spider')
+message207=Unknown robot (identified by 'bot*')
+message208=Unknown robot (identified by '*bot')
+message209=Unknown robot (identified by empty user agent string)
+message210=Unknown robot (identified by hit on 'robots.txt')
+message211=Often spam bot
+message212=Unknown or unspecified distribution
+message213=unknown version
+message214=Unknown Unix system
+message215=Unknown search engines
+message216=Unknown robot (identified by 'checker')
+message217=Unknown robot (identified by 'discovery')
+message218=Unknown robot (identified by 'hunter')
+message219=Unknown robot (identified by 'scanner')
+message220=Unknown robot (identified by 'sucker')
diff -u -b -r D:\awstats-7.0-mod\/wwwroot/cgi-bin/lang/awstats-jp.txt D:\AWStats70t_Jpn/wwwroot/cgi-bin/lang/awstats-jp.txt
--- D:\awstats-7.0-mod\/wwwroot/cgi-bin/lang/awstats-jp.txt	2004-06-07 20:04:36.000000000 +0900
+++ D:\AWStats70t_Jpn/wwwroot/cgi-bin/lang/awstats-jp.txt	2010-12-28 16:16:02.500000000 +0900
@@ -1,66 +1,68 @@
 ﻿# Japanese message file (info@kchosting.jp)
 # $Revision: 1.9 $ - $Date: 2004/06/07 19:04:36 $
+# Modified by Ryu 2004.07.20
+# Modified by makoto_hobbit 2010.12.17
 PageCode=UTF-8
 message0=不明
-message1=不明(ipが解りません)
+message1=名前解決ができないホスト
 message2=その他
-message3=詳細を見る
+message3=詳細の閲覧
 message4=日
-message5=月
-message6=年
-message7=統計
+message5=月次
+message6=年次
+message7=統計対象サイト
 message8=最初の訪問
 message9=最後の訪問
-message10=訪問数
-message11=訪問者
+message10=訪問回数
+message11=一意な訪問者数
 message12=訪問
-message13=キーワード
-message14=検索
-message15=パーセント
+message13=種類の検索語
+message14=検索回数
+message15=割合
 message16=容量
 message17=ドメイン/国名
 message18=訪問者
-message19=URLページ
-message20=時間
+message19=ページ数/URL
+message20=時間帯
 message21=ブラウザ
-message22=HTTPエラー
-message23=参照
+message22=
+message23=参照元
 message24=更新なし
-message25=訪問者・ドメイン/国名
+message25=訪問者のドメイン/国名
 message26=ホスト
 message27=ページ
-message28=ページ
-message29=アクセス
-message30=他の言葉
-message31=ページが見つかりません
-message32=HTTPエラーコード
-message33=Netscapeバージョン
-message34=IEバージョン
-message35=最終の更新 
-message36=このサイトへのアクセス元
-message37=アクセス元
-message38=直接URLを入力/お気に入りからのアクセス
-message39=起点が不明
-message40=インターネット検索エンジンからのリンク
-message41=外部ページからのリンク(検索エンジンを除く他のホームページ)
-message42=内部ページからのリンク(同じサイトの他のページ)
-message43=検索エンジンの文字列（キーフレーズ）
-message44=検索エンジンの文字列（キーワード）
-message45=不明なIPアドレス 
-message46=不明なOS(参照フィールド)
-message47=要求されたURLは見つかりません(HTTPコード404)
-message48=未解決のIPアドレス 
-message49=エラー&nbsp;件数
-message50=不明ブラウザ(参照フィールド) 
-message51=ロボットの訪問
+message28=種類のページ
+message29=閲覧
+message30=上記以外の検索語
+message31=見つからなかったページ
+message32=HTTPステータスコード
+message33=Netscapeのバージョン
+message34=Internet Explorerのバージョン
+message35=最後の更新
+message36=このサイトへの接続元
+message37=接続元
+message38=直接URLを入力/ブックマーク/e-mailのリンク
+message39=不明な接続元
+message40=検索エンジンからのリンク
+message41=外部ページからのリンク(検索エンジンを除くWebサイト)
+message42=内部ページからのリンク(同一サイトの他のページ)
+message43=検索エンジンで利用された検索文
+message44=検索エンジンで利用された検索語
+message45=名前解決できないIPアドレス
+message46=不明なOS(UserAgentフィールド)
+message47=要求されたが存在しなかったURL(HTTPコード404)
+message48=IPアドレス
+message49=エラー&nbsp;ヒット
+message50=不明なブラウザ(UserAgentフィールド)
+message51=種類のロボット
 message52=訪問/訪問者
 message53=ロボット/スパイダーの訪問者
-message54=上級web統計のフリーリアルタイムログファイル分析 
-message55=の
+message54=一歩進んだアクセス解析を可能にするフリーなリアルタイムログ解析スクリプト
+message55=(日本語では不要)
 message56=ページ
-message57=件数
+message57=ヒット
 message58=バージョン
-message59=オペレーティングシステム
+message59=OS
 message60=1月
 message61=2月
 message62=3月
@@ -73,17 +75,17 @@
 message69=10月
 message70=11月
 message71=12月
-message72=ナビゲーション
+message72=アクセス状況
 message73=ファイルの種類
-message74=更新する
-message75=バイト
+message74=今すぐ更新
+message75=帯域
 message76=メインページに戻る
-message77=トップ
-message78= yyyy年 mmm dd日 - HH:MM 
-message79=フィルター
+message77=上位
+message78=yyyy年 mmm dd日 - HH:MM
+message79=フィルタ
 message80=全リスト
-message81=ホスト
-message82=既知
+message81=ホスト名
+message82=既知のホスト
 message83=ロボット
 message84=日曜日
 message85=月曜日
@@ -93,79 +95,133 @@
 message89=金曜日
 message90=土曜日
 message91=曜日
-message92=だれ
-message93=いつ
-message94=認証されたユーザー
+message92=訪問者の属性
+message93=訪問日時
+message94=認証されたユーザ
 message95=最小
 message96=平均
 message97=最大
-message98=Web圧縮
-message99=帯域幅の保存
+message98=mod_zipによる圧縮
+message99=節約されたバイト数
 message100=圧縮前
 message101=圧縮後
 message102=合計
-message103=キーフレーズ
-message104=入り口
+message103=種類の検索文
+message104=最初に閲覧
 message105=コード
-message106=平均サイズ
+message106=平均データ長
 message107=ニュースグループからのリンク
-message108=Kｂ
-message109=Mｂ
-message110=Gｂ
+message108=kB
+message109=MB
+message110=GB
 message111=Grabber
 message112=Yes
 message113=No
-message114=WhoIs情報
+message114=WhoIsDBの情報
 message115=OK
-message116=出口
-message117=訪問の長さ
-message118=ウィンドーを閉じる
-message119=バイト
-message120=検索文字列（キーフレーズ）
-message121=検索文字列（キーワード）
-message122=検索エンジン
-message123=ホームページ
-message124=他のフレーズ
-message125=他のログイン
-message126=検索エンジン
-message127=ホームページ
-message128=サマリー
-message129=「年」ビューでは精密な数字はありません
+message116=最後に閲覧
+message117=滞在時間
+message118=このウィンドウを閉じる
+message119=B
+message120=検索文
+message121=検索語
+message122=の検索エンジンから登録されている
+message123=このサイトにリンクしているWebページ
+message124=上記以外の検索文
+message125=他のユーザ(もしくは匿名ユーザ)のログイン
+message126=参照検索エンジン
+message127=参照サイト
+message128=サマリ
+message129=年単位の統計では正確な値は表示されません
 message130=データ配列関数
 message131=送信者のEMail
 message132=受信者のEMail
 message133=表示するレポート
 message134=エキストラ/マーケティング
 message135=画面解像度
-message136=ワーム/ウィルス攻撃
-message137=お気に入りに追加
-message138=日付
-message139=その他
-message140=Java 対応ブラウザー
-message141=Macromedia Director 対応ブラウザー
-message142=Flash 対応ブラウザー
-message143=Real Audio 対応ブラウザー
-message144=Quicktime Audio 対応ブラウザー
-message145=Windows Media 対応ブラウザー
-message146=PDF 対応ブラウザー
+message136=ワーム/ウィルスによる攻撃
+message137=favicon.icoへのヒット(成功のみ)
+message138=日別の統計
+message139=その他の情報
+message140=Java 対応ブラウザ
+message141=Macromedia Director 対応ブラウザ
+message142=Flash 対応ブラウザ
+message143=Real Audio 対応ブラウザ
+message144=Quicktime Audio 対応ブラウザ
+message145=Windows Media 対応ブラウザ
+message146=PDF 対応ブラウザ
 message147=SMTP エラーコード
 message148=国
 message149=メール
 message150=サイズ
 message151=最初
 message152=最後
-message153=除外フィルター
-message154=このチャートのコードは訪問者によるアクセスではありませんので他のチャートに含まれていません。
-message155=クラスター
-message156=ロボットによるアクセスは訪問者の閲覧とは違いますので他のチャートに含まれていません。
-message157=＋の後の数字は「robots.txt」の表示が成功した回数です。
-message158=ワームによるアクセスは訪問者の閲覧とは違いますので他のチャートに含まれていません。
-message159=閲覧に含まれないアクセスはロボット、ワームなどによるものです。
-message160=閲覧アクセス
-message161=閲覧に含まれないアクセス
-message162=月
+message153=除外フィルタ
+message154=ここにリストされているコードは不可視な訪問者としてカウントされているため、サマリの不可視トラフィック以外のチャートの数値には含まれていません。
+message155=クラスタ
+message156=ここにリストされているロボットは不可視な訪問者としてカウントされているため、サマリの不可視トラフィック以外のチャートの数値には含まれていません。
+message157=+の後に表示されている数値は、“robots.txt”ファイルへの参照で検出されたヒット数です。
+message158=ここにリストされているワームは不可視な訪問者としてカウントされているため、サマリの不可視トラフィック以外のチャートの数値には含まれていません。
+message159=不可視トラフィックとは、ワームやロボット、あるいは特殊なHTTPステータスコードを持つ応答などによって生成されたトラフィックのことです。
+message160=可視トラフィック
+message161=不可視トラフィック
+message162=月別の統計
 message163=ワーム
-message164=その他のワーム
-message165=Mails successfully sent
-message166=Mails failed/refused
+message164=種類のワーム
+message165=送信成功メール
+message166=失敗メール
 message167=Sensitive targets
\ No newline at end of file
+message168=Javascript disabled
+message169=生成
+message170=プラグイン
+message171=地域
+message172=都市
+message173=Operaバージョン
+message174=Safariバージョン
+message175=Chromeバージョン
+message176=Konquerorバージョン
+message177=,
+message178=ダウンロード
+message179=
+message180=
+message181=
+message182=
+message183=
+message184=
+message185=
+message186=
+message187=
+message188=
+message189=
+message190=
+message191=
+message192=
+message193=
+message194=
+message195=
+message196=
+message197=
+message198=
+message199=
+message200=yyyy年 mmm dd日
+message201=yyyy年breakmmm
+message202=yyyy年 mmm
+message203=mmmbreakdd日
+message204=未分類のrobot (名前に'robot'を含む)
+message205=未分類のrobot (名前に'crawl'を含む)
+message206=未分類のrobot (名前に'spider'を含む)
+message207=未分類のrobot (名前に'bot*'を含む)
+message208=未分類のrobot (名前に'*bot'を含む)
+message209=未分類のrobot (user agent文字列がない)
+message210=未分類のrobot ('robots.txt'への参照で検出)
+message211=SPAM botによく使われる
+message212=特定できないディストリビューション
+message213=バージョン不明
+message214=特定できないUnixシステム
+message215=未知のサーチエンジン
+message216=未分類のrobot (名前に'checker'を含む)
+message217=未分類のrobot (名前に'discovery'を含む)
+message218=未分類のrobot (名前に'hunter'を含む)
+message219=未分類のrobot (名前に'scanner'を含む)
+message220=未分類のrobot (名前に'sucker'を含む)
+message221=ここにリストされているヒットは不可視な訪問者としてカウントされているため、サマリの不可視トラフィック以外のチャートの数値には含まれていません。
diff -u -b -r D:\awstats-7.0-mod\/wwwroot/cgi-bin/lang/tooltips_w/awstats-tt-jp.txt D:\AWStats70t_Jpn/wwwroot/cgi-bin/lang/tooltips_w/awstats-tt-jp.txt
--- D:\awstats-7.0-mod\/wwwroot/cgi-bin/lang/tooltips_w/awstats-tt-jp.txt	2008-10-05 12:13:14.000000000 +0900
+++ D:\AWStats70t_Jpn/wwwroot/cgi-bin/lang/tooltips_w/awstats-tt-jp.txt	2008-09-20 09:00:00.000000000 +0900
@@ -1,63 +1,73 @@
-<!-- $Revision: 1.2 $ - $Date: 2008/10/05 11:13:13 $ -->
+<!-- $Revision: 1.6 $ - $Date: 2003/09/16 18:58:16 $ -->
 <!-- Japanese message file (info@kchosting.jp) -->
+<!-- Modified by Ryu 2004.07.20 -->
 <div class="CTooltip" id="tt1">
-<b>#VisitTimeOut# 分</b>前までの訪問数。
+新しい訪問者とは、過去<strong>#VisitTimeOut#分間</strong>にこのサイトに接続しておらず、新たにこのサイトを閲覧した<strong>外部から訪れた訪問者</strong>です。
 </div>
 <div class="CTooltip" id="tt2">
-最低<b>１ページ</b>を訪問したクライアントホスト（<b>IPアドレス</b>)。<br />
-これは訪問者の実数です。
-<br />
+このサイトを訪れ(かつ最低1<strong>ページ</strong>を閲覧し)たクライアントホスト(<strong>IPアドレス</strong>)の数。#br#
+この数字はこのサイトに訪れた<strong>重複を除いた訪問者</strong>の合計を示します。
 </div>
 <div class="CTooltip" id="tt3">
-ページが表示された回数（すべての訪問者と訪問の合計）。<br />
-このデータは「件数」とは違い、HTMLファイルのみが入っています。
+このサイト内の<strong>ページ</strong>が閲覧された回数(全ての訪問者の全ての訪問の延べ回数)。#br#
+この数字はイメージやその他のファイルまで数える"ヒット"とは異なり、HTMLファイルのページ数のみを数えます。
 </div>
 <div class="CTooltip" id="tt4">
-<b>ページ、画像、ファイル</b>が表示された回数。<br />
-参照程度にお使いください。
+このサイト内の<strong>ページ</strong>、<strong>イメージ</strong>、<strong>ファイル</strong>が<strong>閲覧</strong>もしくは<strong>ダウンロード</strong>された回数。#br#
+閲覧された"ページ数"の方がマーケティングデータとして好まれるため、この数字はあくまで参考です。
 </div>
 <div class="CTooltip" id="tt5">
-すべての<b>ページ、画像、ファイル</b>のダウンロードによるデータ転送量。<br />
-単位は KB 、MB または GB 。
+このサイトからダウンロードされた、全ての<strong>ページ</strong>、<strong>イメージ</strong>、<strong>ファイル</strong>の総量。#br#
+単位はKB, MB, GB(それぞれキロバイト, メガバイト, ギガバイト)です。
 </div>
 <div class="CTooltip" id="tt13">
-人気のある検索エンジン(Yahoo、Altavista、Lycos、Google、Voilaなど）での検索によるアクセス。
+#PROG#は、<strong>#SearchEnginesArray#の主要な検索エンジンやディレクトリ</strong>(Yahoo, Altavista, Lycos, Google, Gooなど)で<strong>検索</strong>した結果として、あなたのサイトを訪れたアクセスを認識します。
 </div>
 <div class="CTooltip" id="tt14">
-ユーザー(コンピュータ)がこのサイトについての情報を得た外部ページ。
+あなたのサイトへリンク(訪問)するために利用された全ての<strong>外部のページ</strong>のリスト(最も良く利用された<strong>#MaxNbOfRefererShown#</strong>の外部のページのみが表示されています)。
+検索エンジンの結果として生成されたリンクは、このテーブルの前列の数字に既に含まれているため、除外されています。
 </div>
 <div class="CTooltip" id="tt15">
-このサイトにアクセスするために検索エンジンで入力された<b>キーワード</b>のリスト。
+このテーブルは、検索エンジンやディレクトリであなたのサイトを捜し出すために最もよく利用された<strong>キーワード</strong>の一覧です。
+(Yahoo, AltaVista, Lycos, Google, Gooなど、<strong>#SearchEnginesArray#</strong>の主要な検索エンジンで利用されたキーワードです。)#br#
+検索語の集計値が検索文の集計値(検索が行われた回数)よりも大きくなる場合があります。これは、一回の検索で複数の検索語が使用された場合、それぞれ別個の検索語として集計されるからです。
 </div>
 <div class="CTooltip" id="tt16">
-ロボット（別名スパイダー）とは、ウェブ中を動き回って全てのコンテンツを中央サーバー上に保存するコンピューター・プログラム。</div>
+ロボット(スパイダーと呼ばれることもあります)は、あなたのサイトをインデックス化/ランク付けしたり、インターネットに存在するWebサイトの統計を取ったり、あなたのサイトがまだ存在するかどうかを確認したりするためにスキャンを行う、多くの検索エンジンで利用されている<strong>自動巡回プログラム</strong>のことです。#br#
+#PROG#は最大<strong>#RobotArray#</strong>のロボットを認識することができます。
+</div>
 <div class="CTooltip" id="tt17">
-これらのデータはサーバー時間に基づいています。
+統計に利用されるすべての日時は、サーバーの日時を利用しています。
 </div>
 <div class="CTooltip" id="tt18">
-最初から最後までの訪問で集めたデータによって計算した<b>平均数</b>。 
+ここに表示されている数値は: <strong>平均値</strong>です (最初の訪問から最後の訪問の間の全データより算出)
 </div>
 <div class="CTooltip" id="tt19">
-最初から最後までの訪問で集めたデータによって計算した<b>総数</b>。 
+ここに表示されている数値は: <strong>累積値</strong>です (最初の訪問から最後の訪問の間の全データより算出)
+</div>
+<div class="CTooltip" id="tt20">
+<strong>滞在時間</strong>は正確にはわからない場合があります。これは、必ずしも正確に計算で きるとは限らないからです。以下にその主な理由を示します。:#br#
+- 訪問は、"更新"が発生した際に終了するわけではない。#br#
+- 月末日の最後の1時間(23時以降)に訪問が開始された場合(技術的な理由で#PROG#はこのようなセッションの滞在時間を計算できない)。
 </div>
 
-<div class="CTooltip" id="tt201"> POST が成功。またはPUT が新しいオブジェクトを作成。</div>
-<div class="CTooltip" id="tt202"> 要求は、受付たが、処理未完了。</div>
-<div class="CTooltip" id="tt204"> サーバーは要求を受付けたが、返す情報がない。</div>
-<div class="CTooltip" id="tt206"> サーバーは、情報の一部を得た。</div>
-<div class="CTooltip" id="tt301"> 要求された情報は、恒久的に移動した。</div>
-<div class="CTooltip" id="tt302"> 要求された情報は、一時的に移動した。</div>
-<div class="CTooltip" id="tt400"> 要求を実行できない。（構文が不正） </div>
-<div class="CTooltip" id="tt401"> 情報の要求に認証を必要とする。または、認証の拒否。</div>
-<div class="CTooltip" id="tt403"> 要求の拒否。認証が不完全。</div>
-<div class="CTooltip" id="tt404"> 要求された情報（ファイル）がない。</div>
-<div class="CTooltip" id="tt408"> サーバーが待機時間内にクライアントが要求を送れなかった。</div>
-<div class="CTooltip" id="tt500"> 予期しないサーバーエラーのため、要求を実行できなかった。</div>
-<div class="CTooltip" id="tt501"> サーバーは、要求された機能をサポートしていない。</div>
-<div class="CTooltip" id="tt502"> クライアントより見て、ゲートウエイまたはプロキシーサーバの接続先サーバの応答が妥当でないことを示す。</div>
-<div class="CTooltip" id="tt503"> サービス（サーバー）が高負荷。Retry-Afterヘッダに示す時間後には緩和される。応答文中にRetry-Afterヘッダがなければ、クライアントは応答を500番と同等に扱う必要がある。 </div>
-<div class="CTooltip" id="tt504"> ゲートウエイまたはプロキシの応答がゲートウエイの指定時間内に得られない。</div>
-<div class="CTooltip" id="tt505"> HTTP バージョンをサポートしていない。</div>
+<div class="CTooltip" id="tt201"> ファイルが作成されました。</div>
+<div class="CTooltip" id="tt202"> リクエストをサーバーは受け付けましたが、処理は後で行われます。</div>
+<div class="CTooltip" id="tt204"> WebDAV機能でファイルの削除が成功しました。</div>
+<div class="CTooltip" id="tt206"> サーバーはリソースに対するGETリクエストを部分的に実行しました。</div>
+<div class="CTooltip" id="tt301"> 要求されたドキュメントは移動されており、返答に含まれている別のアドレスに現在は存在します。</div>
+<div class="CTooltip" id="tt302"> このエラーは定義されていません。</div>
+<div class="CTooltip" id="tt400"> 文法的なエラー。サーバーはリクエストを理解できませんでした。 </div>
+<div class="CTooltip" id="tt401"> <strong>ユーザー名/パスワードが必要とされるURL</strong>にアクセスしようとしました。#br#この項目が高い数字を示している場合、クラッカーなどがクラックを試みているか、あなたのサイトに不正に侵入しようとしている事を示している可能性があります(セキュアな領域に色々なユーザー名/パスワードを利用して侵入しようとしているなど)。</div>
+<div class="CTooltip" id="tt403"> <strong>ユーザー名/パスワードがあったとしてもアクセスできるようには設定されていないURL</strong>にアクセスしようとしました("閲覧可能"とされていないディレクトリを示すURLなど)。</div>
+<div class="CTooltip" id="tt404"> <strong>存在しないURL</strong>にアクセスしようとしました。このエラーはあなたのサイトのどこかに無効なリンクがあるか、訪問者が特定のURLをミスタイプしたかのいずれかを意味します。</div>
+<div class="CTooltip" id="tt408"> サーバーがリクエストに応答するために費した時間が<strong>長過ぎました</strong>。このエラーは、CGIスクリプトの動作が遅すぎてそのジョブをサーバーがkillする必要があった場合や、サーバーに対する負荷が高すぎた場合に頻繁に発生します。</div>
+<div class="CTooltip" id="tt500"> 内部エラー。このエラーはCGIスクリプトが不正に終了した場合に頻繁に発生します(コアダンプなど)。</div>
+<div class="CTooltip" id="tt501"> 実装されていないメソッドによるリクエスト。</div>
+<div class="CTooltip" id="tt502"> Proxyサーバーもしくはゲートウェイとして動作するHTTPサーバーが、目的のサーバーがクライアントの要求に対して正常に応答できなかった場合に返されるエラーコード。</div>
+<div class="CTooltip" id="tt503">  内部サーバーエラー。 </div>
+<div class="CTooltip" id="tt504"> ゲートウェイのタイムアウト。</div>
+<div class="CTooltip" id="tt505"> サポートされていないHTTPのバージョン。</div>
 
 
 
diff -u -b -r D:\awstats-7.0-mod\/wwwroot/cgi-bin/lib/blacklist.txt D:\AWStats70t_Jpn/wwwroot/cgi-bin/lib/blacklist.txt
--- D:\awstats-7.0-mod\/wwwroot/cgi-bin/lib/blacklist.txt	2005-09-19 22:46:36.000000000 +0900
+++ D:\AWStats70t_Jpn/wwwroot/cgi-bin/lib/blacklist.txt	2011-02-02 14:15:07.593750000 +0900
@@ -35,6 +35,11 @@
 .gb.com
 .lycos.de
 .static.net
+001webs.com
+007-spy.com
+007sites.com
+007webs.com
+00freehost.com
 01-beltonen.com
 01-klingeltoene.at
 01-klingeltoene.de
@@ -60,6 +65,7 @@
 0casino-online.com
 0casinoonline.com
 0catch.com
+0fees.net
 0free-hentai.com
 0freehentai.com
 0hentai-anime.com
@@ -67,9 +73,11 @@
 0hentaimanga.com
 0internet-casino.com
 0livesex.com
+0pornos.com
 0manga-porno.com
 0manga-sesso.com
 0manga.com
+0no0.com
 0sesso-amatoriale.com
 0sesso-orale.biz
 0sesso.biz
@@ -88,29 +96,60 @@
 1-bignaturals.com
 1-cumfiesta.com
 1-klingeltone.com
+1-online-casino-portal.info
 1-online-poker.us
 1-poker-games.biz
 1-welivetogether.com
 1-wholesale-distributor.com
 100-sex.com
+10000loans.com
+10001mb.com
 100free.com
 100hgh.com
+100webspace.net
 101pills.com
 108bikes.com
+10fast.net
+110mb.com
 123-home-improvement-equity-loans.com
 123-sign-making-equipment-and-supplies.com
+123bemyhost.com
+123fastdiet.com
 123onlinepoker.com
+123peppy.com
 123sessogratis.com
 125mb.com
+150m.com
 15668.com
 16pp.com
+18sex18.info
+18wkcf.com
 1a1merchantaccounts.com
 1asphost.com
+1best-pharmacy.com
+1best-poker.com
 1concerttickets.com
+1day-poker.com
+1extra-pharmacy.com
 1footballtickets.com
+1free-poker.com
 1freespot.com
+1freewebspace.com
+1gb.bg
+1koolcat.com
+1ktvuk.com
+1more-betting.com
+1more-casino.com
+1more-loan.com
+1moremortgage.com
+1net-poker.com
+1new-poker.com
 1on8.co.uk
 1on8.com
+1onlinecasino.org
+1onlinepharmacy4u.net
+1rounded-casino.com
+1sexdatingsite.com
 1st-advantage-credit-repair.com
 1st-auto-insurance-4u.com
 1st-host.org
@@ -119,65 +158,115 @@
 1st-poker-online.com
 1st-printer-ink-cartridge.com
 1st-shemale-sex.com
+1stcbank.com
 1stincomeracing.co.uk
 1stindustrialdirectory.com
 1stlookcd.com
+1stmagi.com
+1time-mortgage.com
+1unique-insurance.com
+1x.net
 1xp6z.com
+2002sogwipo.com
+2009world5.biz
+200-cash.com
 20fr.com
 216.130.167.230
+21aarena.com
+22web.net
 24-hour-fitness-online.com
 247-rx.net
+247ihost.com
+24hours-credit.com
 2ndmortgageinterestrates.com
 2teens.net
 2twinks.com
+2u-poker.com
 2y.net
 2zj.cn
 3-day-diet-plan.com
 321cigarettes.com
+325mb.com
 333-casino.com
 333-poker.com
 3333.ws
 365jp.com
+375-phentermine-pharmacy-2003.info
+375mgphentermine.com
 38ha.com
 3host.com
 3sixtyfour.com
 3yaoi.com
+4-credit-report.com
 404host.com
 404servers.com
 41b.net
 42tower.ws
 444-casino.com
 444-poker.com
+4888poker.com
+4all-doctor.com
+4all-poker.com
+4best-health.com
 4hs8.com
+4internetpokerroom.com
 4mg.com
+4mk.org
 4result.net
+4t.com
 4u-topshelfpussy.com
 4womenoftheworld.com
+50webs.com
 51.net
 51asa.com
 555-poker.com
 5amateurs.com
+5nxs.com
+5webs.net
 65.217.108.182
 666-casino.com
 666-gambling.com
+66ghz.com
 69.61.11.163
 6p.org.uk
+6q.org
 6x.to
+700megs.com
+741.com
+777newcasino.in
 7host.com
 7p.org.uk
+7rated-insurance.com
+7u.cz
+7x24-casino.com
+7x24-poker.com
 7yardsweb.com
+888-casinos.be
 888-online-poker.com
 888cas.com
 888jack.com
+888onlinepacificpoker.com
+888pacificonlinepoker.com
+888pacificonlinepokercasino.com
+888pacificonlinepokerroom.com
+888pacificpokeronline.com
+888pacificpokerroomonline.com
+888pokercasinoonline.com
 88aabb.com
 8bit.co.uk
 8gold.com
 8k.com
+8m.com
+8m.net
 8th\S*street\S*latina\S*\.[a-z]{2,}
 8yardsweb.com
 911easymoney.com
 911pills.info
+977mb.com
 989888.com
+99k.org
+9bb.ru
+9ix.net
 9p.org.uk
 \bby\.ru\b
 \bda\.ru\b
@@ -197,22 +286,67 @@
 a1metalbuildings.info
 a1steelbuildings.info
 a1timemanagement.info
+aadipexdietpill.com
+aadipexdietpills.com
+aadipexonline.com
+aadipexpills.com
+aahbears.com
+aappetitesuppressants.com
+aautoinsurancepolicies.com
+abateoforegon-ne.com
 abc3x.com
+abccosmo.info
+abcmariage.com
+abestdietpill.com
+abestdietpills.com
+abestweightlosspills.com
+abestweightlossproducts.com
+abismael.com
+ablejobs.com
+abncasino.com
 abnehmen-ganz-sicher.com
 abocams.de
 aboutgrouphomes.com
+absinthebri.com
+absintheradio.net
 abymetro.org.uk
 academyofmusic.us
+acampainginsurance.com
+acarinsuranceservices.com
+acasinoonnetpoker.com
+accept-money.com
 acceptcreditcardsonlineinternetmerchantaccountservices.com
 acceptcreditcardsrealtime.com
 accompagnatrici.cc
+acetyl.cn
+achara.cn
+achlan.cn
+achron.cn
 achtung.hopto.org
 acornfm.com
 acornwebdesign.co.uk
+acqualina.cn
+acquisto.cn
+acrilica.cn
+acrilicas.cn
+acrilico.cn
+acroix.cn
 acrs.us
+actionmortgage1.com
+active.com
 activerx.com
+actorsseattle.com
 acyclovir.net
+ad4each.com
 addictinggames.com
+adietdrugs.com
+adietpillphentermine.com
+adietpillsphentermine.com
+adietproducts.com
+adipex90tablets.com
+adipexe.com
+adl-online.org
+adspoll.com
 aducasher.spb.ru
 adult-dvd-dot.com
 adult-dvds-dot.com
@@ -232,34 +366,70 @@
 adultporncentral.net
 adultserviceproviders.com
 adultshare.com
+advanced-poker.com
+advancediet.com
 advantage-quotes.com
+adventuretripsperu.com
 aektschen.de
+aempirepoker.com
+aequityloan.com
 aesthetics.co.il
+afastweightlosspills.com
 affilino.net
 afreeserver.com
+ageiconinsurance.com
+agentpro.net
+aginghomeservice.com
+agribrokerindia.com
 ahbabe.com
+ahdb.com
 aimite.com
+aimtrust.com
+ainternetpokerroom.com
+ainternetpokerrooms.com
+aircarall.org
 airfare-links.net
 airshow-china.com.cn
+akingsolomonspoker.com
+akingssolomonspoker.com
 alawna.blogspot.com
+alice.it
 all-calmortgage.com
 all-debt-consolidation.org
 all-fioricet.com
 all-gay-porn.us
 all-poker-online
 all-we-live-together.com
+all-4poker.com
+allabout-poker.com
+allabout-poker.net
+alladultonline.info
 allago.de
+allarc.org
+allcamsguide.info
+alleghenydist.net
 allfind.us
+allfreewww.org
 allinsurancetype.com
+allkinds-pills.com
 allmagic.ru
 alloha.info
 allohaweb.com
+allsexchat.info
 allthediets.com
 allthroating.com
 almacenpc.com
+aloanrefinancemortgage.com
+alotofpics.com
 alphacarolinas.org
+alqo.info
 alright.com.ru
+also-hotel.com
+also-insurance.com
+also-mortgage.com
 alumnicards.com
+always-casino.com
+always-credit.com
 amateur-lesbian.us
 amateur-movie.us
 amateur-naked.us
@@ -272,21 +442,32 @@
 amateurs-xxx.us
 amateurs.r00m.com
 amateursuite.com
+amazing-credit.com
 amazing-satellite-tv-deals.info
+amazingselfreviews.com
 americacashfast.com
+american-internet-casino.com
 american-single-dating.com
 americancdduplication.com
 americanpaydayloans.net
+americasdiet.com
 americastgp.com
+amorgagesonline.com
 amoxicillin-online.net
+amydphoto.com
 anal-sex-pictures.us
 analloverz.com
 andyedf.de
+anewjerseymortgage.com
+anewpage.com
+angelasians.com
+angelfire.com
 angenehmen-aufenthalt.de
 animal-fuck.org
 animal-porn.ws
 animalsex-movies-archive.com
 animalsex-pics-gallery.com
+animasvalleyinsurance.com
 anime-adult.us
 anime-hentai-porn.com
 anime-manga.us
@@ -300,51 +481,113 @@
 annunci-sesso.org
 annunci-sesso.us
 annuncisesso.us
+anonlineblackjack.com
+anonomogon.com
 anonsi.com
 anonymous-blogger.com
 ansar-u-deen.org
+anslots.com
 anti-exploit.com
 anticlick.com.ru
+antidiabeticpills.com
+antikpwr.org
+antiquefactory.com
+antiquejunkyard.com
+antiquemarketplace.net
+antiquesforsalebyowner.com
+antikwiki.org
 anuntisinmobiliaria.com
 anxietydisorders.biz
+anyhow5.com
 anylight4u.com
 anything4health.com
 anzwers.org
 aol-com.us
+aonlinephentermine.com
 ap8.com
 apecceosummit2003.com
+aphentermine.com
+aphentermine30mg.com
+aphentermine375.com
+aphentermine375mg.com
+aphentermine375mgdietpills.com
+aphenterminedietpill.com
+aphenterminedietpills.com
+aphenterminehcl.com
+aphenterminehydrochloride.com
+aphentermineonline.com
+aphenterminepharmacy.com
+aphenterminepills.com
+apokertitan.com
 apollopatch.com
+aponte.net
 apornhost.com
 apply-to-green-card.org
+apply4-mortgage.com
 appollo.org
 approval-loan.com
+aprescriptiondietpills.com
 aquari.ru
 aquatyca.net
+aquickweightlosspills.com
+arapidweightlosspills.com
+arayoine.org
+arch21.com
+archive.org
 arcsecurity.co.uk
 area-code-npa-nxx.com
+arefinancing.com
+arefinancingcalifornia.com
+aremortgages.com
 argendrom.com
 armor2net.com
 aromacc.com
+artisticlandscapes.net
 artsculpture.org
+asa-dachi.net
+asblackjack.com
 aseman.weblogs.us
+asian-flu-vaccine.com
 asian-girls-porn-sex.com
 asian-girls.name
 asian-nude.blogspot.com
 asian-sex-woman.com
 asianbum.com
+asiatenn-asimantonn.info
+asorn.net
+aspas1.org
 ass-picture.us
+assfuckdolls.com
+asslots.com
 assserver.com
+asuperfastweightloss.com
 at-capstone.com
+atal-dirs.cn
+atdesign.ru
+ath.cx
+athletic-doctor.com
 atkins-diet-center.com
 atkinsexpert.com
 atkpremium.net
 atkpremium.org
 atlanta2000.org
+atlantis-asia.com
 atlas-pharmacy.com
+atonlineroulette.com
+atract-com.info
+atroulette.com
+atrouletteonline.com
+atslotmachine.com
+atslotmachines.com
+atslotsmachines.com
+atwebpages.com
+au.nf
 auctionmoneymakers.com
 auktions-uebersicht.de
+austingirights.org
 australia-online-travel.com
 austria-travels.info
+authorsden.com
 auto-insurance-links.net
 auto-loans-usa.biz
 autodetailproducts.com
@@ -352,18 +595,44 @@
 autofinanzierung-autokredit.de
 autofinanzierung-zum-festzins.de
 autohandelsmarktplatz.de
+autoinsuranceba.com
+autoinsurancef.com
+autoinsurancej.com
+autoinsurancem.com
 autokredit-autofinanzierung.de
 autokredit-tipp.de
 automotive.com
+autosafetylab.org
+autotua.org
 autumn-jade.com
+available-betting.com
+available-casino.com
+available-credit.com
+available-loans.com
+available-pharmacy.com
+available-prescription.com
+aviary.com
 avon-one.com
+avto-market.net
+awardspace.info
+aweightlossmedication.com
+aweightlosspill.com
+aweightlosspills.com
+aweightlossproducts.com
+ayellowphentermine.com
+az-greenvalley.com
 azian.org
+azzaa.com
+b-fish.com
 b-witchedcentral.co.uk
 ba2000.com
 babes-d.com
 babes-plus.com
+baby-casino.com
+baby-mortgage.com
 baby-perfekt.de
 babymarktplatz-aktiv.de
+babynn.ru
 back-room-facials.angelcities.com
 background-check.info
 backroom-facials.150m.com
@@ -371,14 +640,17 @@
 bad-movies.net
 bad-passion.com
 bahraichfun.com
+bakililar.az
 bali-dewadewi-tours.com
 bali-hotels.co.uk
 balidiscovery.org
 balivillas.net
+ballstateinsurance.com
 balltaas.com
 banialoba3w.150m.com
 banned-pics.com
 bannedhome.com
+barbax.info
 barcodes.cn
 bare.org
 barely-legal-teenb.com
@@ -386,17 +658,23 @@
 barelylegalgirlsex.com
 bargainfindsonebay.com
 bargeld-tipp.de
+barvih.ru
+base-poker.com
 basi-musicali.com
 basketball--betting.net
 bast3.ru
 batukaru\.[a-z]{2,}
+bayfronthomes.net
+bbs2org.org
 bbwclips.com
+bbweb-arena.com
 bccinet.org
 bdsm-story.blogspot.com
 beastiality-animal-sex-stories.com
 beastiality-stories.net
 beastsex-movies.com
 beauty-farm.net
+bebcussaon.cn
 bedding-etc.com
 belinking.com
 belle-donne.biz
@@ -408,9 +686,18 @@
 bellissime-donne.net
 bellissimedonne.com
 bellissimedonne.org
+beon.ru
+belsaw.com
 beltonen-logos-spel.com
 benessere.us
+beninwatch.com
+bentrecords.net
+berkeley.edu
+bertacss.org
 berwickfoundation.org
+beslotmachine.com
+beslotmachines.com
+beslots.com
 best-buy-cialis.com
 best-cell-phone-batteries.info
 best-cialis-source.com
@@ -420,7 +707,9 @@
 best-deals-diet.info
 best-deals-flowers.info
 best-deals-hotels.info
+best-deals-levitra.info
 best-deals-online-gambling.info
+best-deals-online-pills.info
 best-deals-online-poker.info
 best-deals-poker.info
 best-deals-roulette.info
@@ -431,7 +720,9 @@
 best-internet-bingo.com
 best-pharmacy.us
 best-result-fast.com
+best-tanning.com
 bestasianteens.com
+bestcigarettesshop.com
 bestdims.com
 bestdvdclubs.com
 bestgamblinghouseonline.com
@@ -439,14 +730,30 @@
 bestiality-pics.org
 bestialitylinks.org
 bestits.net
+bestloaninc.com
 bestlowmortgagerates
 bestonline-medication.com
 bestonline-medication.net
 bestonline-shopping.com
+bestpacificpoker.com
 bestpornhost.com
+bestqualityproducts.net
+bestsexyes.info
 bet-on-horseracing.com
+bethamtx.org
+bethelspringfield.com
+betterbn.com
+betterclientbureau.com
+bettercomputersvcsinc.com
+betterdx.com
+betterfc.com
+bettermk.com
+betterwq.com
 beverlyhillspimpandhos.com
 beverlyhillspimpsandhos.com
+bfora.com
+bhampoker.com
+bienpagado.com
 biexperience.org
 big-black-butts.net
 big-breast-success.com
@@ -455,16 +762,27 @@
 big-naturals-4u.com
 big-rant.com
 bigbras-club.com
+bigelspoker.com
 bigmag.com.ua
 bigmoms.com
+bignews.biz
+bigpaysites.com
 bigtitchaz.com
+bigtoptv.com
 bigyonet.com
+bikeinsuranceguy.com
 bildmitteilung.us
 billigfluege-billige-fluege.de
 bingo-net.com
+bingohotspot.com
 bio-snoop.com
+bird-flu-prevention-pharmacy.com
+birdfluprotectionhome.com
 birth-control-links.com
+bitcomet.com
+bitlocker.net
 bizhat.com
+bizhosting.com
 bj-cas.cn
 bj-fyhj.com
 bj-hchy.com
@@ -478,13 +796,17 @@
 black-girls.blowsearch.ws
 black-jack-4u.net
 black-jack-trx.com
+black-poker.com
+blackactions.com
 blackbusty.com
+blackhistoryquiz.com
 blackjack-123.com
 blackjack-21.ws
 blackjack-4u.net
 blackjack-777.net
 blackjack-8.com
 blackjack-dot.com
+blackjack-games-888.com
 blackjack-homepage.com
 blackjack-p.com
 blackjack-play-blackjack.com
@@ -492,55 +814,98 @@
 blackjack.fm
 blackjack777.net
 blackjacksite.net
+blackplanet.com
 blahblah.tk
+blast-poker.com
+blaxkexcel.org
+blazingadventures.com
+blender-too.cn
+blest-poker.com
+blevensdamman.com
+blest-casino.com
+blingtickets.com
 blk-web.de
 bllogspot.com
 blog-tips.com
+blog.com
+blog.ru
+blogging.co.uk
 bloglabs.biz
 blogman.biz
 blogmen.net
+blogonline.ru
+blogsfordjs.com
 blogspam.org
+blogspot.com
+blogtext.org
 blonde-pussy.us
 blonde-video.us
 blonde-xxx.us
 blondes2fuck.com
+blondevideos.com
+bluepillsadipex.com
 blumengruss-onlineshop.de
 blumenshop-versand.de
+bmwz.ru
 bnetsol.com
 body-jewelry.reestr.net
 body-piercing.softinterop.com
 bodyjock.com
+boincstats.com
 bon-referencement.com
 bondage-story.blogspot.com
+bonstroct.cn
 boobmorning.com
 boobspost.com
+booknn.ru
 booktextone.com
 boom.ru
 borindonaragara.com
+boxerproperty.org
 boysgonebad.net
+bplaced.net
+brahamsuniversal.com
+bravehost.com
+bravepages.com
 brazilbang.biz
+brb-pp.com
 breast-augmentation.top-big-tits.com
+brehault.net
 briana-banks-dot.com
+bridgetolls.org
+brigittas-buis.info
 british-hardcore.net
+bromikof-anetonf.info
 bszz.com
+buckhouston.com
+budgethawaii.net
 bueroversand-xxl.de
 bugaboo-stroller.com
 build-penis.com
 bulkemailsoft.com
+bumpzee.com
+burguporn.info
+burksautohaus.com
+burn-cellulite.com
 burningcar.net
+burton.com
 burundonamagara.com
 business-grants.org
 business-web-site.net
 businessgrants.biz
+businessnn.ru
 busty-models.us
 bustyangelique.com
 bustydustystash.com
 bustykerrymarie.com
+bustyplace.com
 butalbital.org
 buy-2005-top.com
 buy-2005.com
 buy-adult-sex-toys.com
 buy-adult-toys.biz
+buy-apcalis.net
+buy-avatar-costumes.com
 buy-car-insurance-4-us.com
 buy-ceramics.com
 buy-cheapest-lexapro-side-effects-noprescription.biz
@@ -548,20 +913,66 @@
 buy-computer-memory.net
 buy-computer.us
 buy-discount-airline-tickets.com
+buy-ed.info
+buy-edrx.info
+buy-edvigra.info
 buy-laptop.biz
+buy-levitra-worldwide.us
+buy-pharmacy-pills.com
+buy-phentermine-cheap-phetermine-pharmacy-2003.info
+buy-phentermine-on-line-pharmacy-2003.info
+buy-phentermine-online-here.com
+buy-phentermine-pay-cod-pharmacy-2003.info
+buy-phentermine-without-a-prescription-pharmacy-2003.info
+buy-pill.info
+buy-pillrx.info
+buy-pills-2005.com
+buy-pillsrx.info
 buy-rx-usa.com
+buy-rxpills.info
 buy-sex-toys.net
+buy-vaigara.info
+buy-vigara.info
+buy-vigra.info
+buy-vigra-rx.info
 buycheapcialis
+buycheappill.info
+buycheappills.info
 buycheappills.net
+buycialisrx.info
+buycialisrxusa.info
 buyhgh
 buylipitor
+buyphentermine-1.com
+buypill-rx.info
+buypillrx.info
+buypills-rx.info
+buypillsrx.info
 buyprilosec
+buyrx-pill.info
+buyrx-pills.info
+buyrx-vigra.info
+buyrxcheap.info
+buyrxed.info
+buyrxpills.info
+buyrxvigra.info
 buystuffpayless.com
+buyvigara.info
+buyvigrarx.info
+buyvigravigara.info
 buyzocor
+byethost31.com
+byg.jp
+bypillsrx.info
 byronbayinternet.com
+byrxpill.info
+byynonline.com
+c.pl
 c-start.net
 ca-america.com
 ca-s-ino.com
+cafesnsw.com
+cafexml.com
 calendari-donne.com
 calendari-donne.net
 calendaridonne.com
@@ -570,7 +981,10 @@
 callingcardchoice.com
 cambridgetherapynotebook.co.uk
 camemberts.org
+camenaetheatre.org
+cameralover.net
 canadianlabels.net
+canrefinance.com
 cantwell2000.com
 canzoni-italiane.com
 canzoni-italiane.net
@@ -582,6 +996,9 @@
 canzoni.cc
 canzonisanremo.com
 canzonistraniere.com
+capblackbirdsquadron.org
+capcom-unity.com
+capillarychromatogr.org
 capital-credit-cards.com
 capquella.com
 captain-stabbin-4u.com
@@ -592,10 +1009,24 @@
 car-rental-search.com
 car-rentals-2go.com
 card-games-tfx.com
+card-holdem-odds-texas-games.info
 cardsloansmortgages.com
+careermosaci.com
+careershopt.com
 caribbean-poker-web.com
+carinsuranceba.com
+carinsurancef.com
+carinsurancem.com
+carinsurancequotesi.com
+carloanbadcredithistory.net
+carluncover.com
+carmda.org
+carmelgrp.com
 carnalhost.com
+carnegieexchange.org
 carnumbers.ru
+carolnowicki.org
+carrickminescastle.org
 cars-links.com
 cartoni-animati.com
 cartoni-hentai.com
@@ -605,52 +1036,101 @@
 cartonierotici.com
 cartonigiapponesi.com
 cartonihentai.net
+cartoonfreek.com
+cartoonwav.com
 cartopia.com
 cas7.net
+cash-2u.com
 cash-advance-quick.com
+cash-net.biz
+cash-services.com
 cashadvanceclub.com
+casino-2000.com
+casino-24x7.biz
+casino-2u.com
+casino-4beginners.com
+casino-4me.com
+casino-500.com
+casino-555.com
+casino-amusement.com
+casino-attraction.com
 casino-bet-casino.com
+casino-bu.com
+casino-builders.com
 casino-cash.net
+casino-copy.com
+casino-denotation.com
 casino-en-ligne.fr.vu
+casino-ext.com
+casino-extras.com
 casino-game-trx.com
 casino-games-4-us.com
 casino-games-i.com
 casino-gaming-trx.com
+casino-go.com
 casino-in-linea.it.st
 casino-jp.com
+casino-light.com
+casino-lust.com
 casino-on-net.com
 casino-online-i.com
 casino-online-on-line.com
 casino-onnet-bonus.com
+casino-plans.com
+casino-ppp.com
+casino-results.com
+casino-ride.com
+casino-run.com
 casino-slot.ws
+casino-smile.com
+casino-solution.com
+casino-startup.com
+casino-stuff.com
+casino-underground.com
 casino-wins.net
+casino-y.com
 casino.150m.com
 casino.menegum.co.uk
+casino.ru
+casino7-online.com
 casino747.net
 casinochique.com
 casinoequipmentsalesandrental.com
 casinolasvegas-online.com
+casinolasveges.com
+casinoonlineok.com
 casinoplaces.net
 casinos-8.com
 casinos-jp.com
 casinos-plus.com
+casinos4spain.com
+casinowa.com
+casinoxa.com
 castingagentur2004.de
+catalystmag.org
 catchathief.org
+cba.pl
 cbitech.com
 ccie-ccnie.com
 ccie130.com
 ccna-ccna.com
 ccna130.com
+cbnozo.or.kr
 ccnp-ccnp.com
 ccnp130.com
+cdmaitaly.org
 cds-xxl.de
 cdshop-guenstig.de
+ceallisrx.info
 celebrexonline.us
 celebritylust.blog-city.com
 celebritypics.ws
 celebskin.com
 celebtastic.com
 cell-phone-accessories-dot.com
+cellsea.com
+center-prestige.ru
+centrotimarineo.com
 ceramics-store.com
 certificationking.net
 certified-new-autos.com
@@ -660,49 +1140,109 @@
 certified-used-suvs.com
 cesew.org
 charisma.dyndns.dk
+chartford.com
+chartfordinsurance.com
 chat-l.de
+chat-nett.com
+chat.ru
+chatexchange.com
 chatten.bilder-j.de
 chauffeurtours.co.uk
+cheap-24h.com
+cheap-adipex-here.com
 cheap-adult-sex-toys.com
 cheap-airfare-airline-ticket.com
 cheap-celebrex-prescriptions.com
 cheap-christmas-gifts.co.uk
 cheap-cigarettes.com
 cheap-laptop-notebook.netdims.com
+cheap-medicine.info
 cheap-online-pharmacy.org
+cheap-pill.info
+cheap-pillrx.info
 cheap-pills-online.com
+cheap-pillsrx.info
 cheap-web-hosting-companies.com
 cheapacyclovir.com
 cheapcodeine.biz
 cheapdrugpharmacy.com
+cheapedpill.info
 cheaper-digital-cameras.uk.com
 cheaper-loans.eu.com
 cheapest-pills-online.com
+cheapestbuyviagra.com
+cheapestrx.info
 cheapgenericsoma.info
+cheaponlinepharmacy.org
+cheapphentermine-1.com
+cheappills-rx.info
+cheaprx.info
+cheaprxbuy.info
 cheapsomaonline.biz
+cheapsunglassess.org
 cheaptabs.envy.nu
+cheaptabs.info
+cheapvigra.info
+cheat-elite.com
 checkmeds.com
 cherrybrady.com
+chez.com
+chicagodefender.com
+chicken-flu-medications.com
 chickz.com
 chillout.bpa.nu
 chinaaircatering.com
 chinagoldcoininc.com
 chineseapesattack
+chiquillasv-desnudasv.info
 chloesworld.com
 choose-online-university.com
 chrislaker.co.uk
 christmas-casino.spb.ru
+chubbyblondes.com
+chueca.com
 cialis-buy.com
 cialis-dot.com
 cialis-express.com
 cialis-weekend-pills.com
 cialis.homeip.net
 cialisapcalis.com
+cialise.info
+cialiserx.info
 cialisnetwork.com
+cialisonlined.com
+cialisonlinee.com
+cialisonliner.com
+cialiss.info
+cialissrx.info
 cialisusa.bravehost.com
+ciallisbuy.info
+cialos.info
+cialosrx.info
+cials.info
+cialsis.info
+cialsisrx.inf
+cialsusa.info
+cieaura.com
+cieauracontests.com
+cieauraevents.com
+cieauraforum.com
+cigarettesbuyer.com
+ciialis.info
+ciialisrx.info
+cilalis.info
+cilesusa.info
+cilias-order.info
+cillis-ed.info
+cillised.info
+cillisrx.info
+cillisusarx.info
 ciscochina.com
 clamber.de
 clanbov.com
+clanteam.com
+clarke.edu
+classical-casino.com
 classifiche-italiane.org
 classifiche-musicali.com
 classifiche-musicali.net
@@ -714,79 +1254,123 @@
 cleannbright.co.uk
 click-or-not.de
 click-poker.com
+clipx-mujerx-meandox.info
+clmnet.es
 clophillac.org.uk
 closed-network.com
+clpik-studio.pl
+cltorisz-sessoz.info
 club-online-poker
 club69.net
 clubatlantiscasino.com
+clubcarmah.com
 cmeontv.de
+cmsdj.info
 cnbjflower.com
 cngangqiu.com
 cntoplead.com
+co.cc
 coed-girls.com
 coffee-delivered.com
 college-girl-pic.com
 college-links.net
+college-paid.net
 college-scholarships-grants.biz
+coloman.co.tv
+com2net.biz
 combaltec.com
 comeback.com
 cometojapan.com
 cometomalaysia.com
 cometosingapore.com
 cometothailand.com
+comicspace.com
+commandandconquer.com
+communityserver.com
+compatible-printer-ink.info
+completegif.info
+completely-poker.com
+completely-sport.com
 completelycars.com
 completelyherbal.com
 comptershops-online.de
 computer-onlinebestellung.de
 computer-und-erotische-spiele-download.com
+computers-casino.com
 computerversand-xxl.de
+computerxchange.com
 condodream.com
 condosee.com
+confessionpoint.com
 conjuratia.com
 consolidate-debt-usa.net
 consolidation-loans.com
+consultanthub.com
 container-partner.de
+contentmanagementsoftware.info
 cool-extreme.com
 cool-mix.com
 cool-poker.com
+coolblog.ws
 coolp.biz
 coolp.net
 coolp.org
+coreoneon.org
 coresleep.com
 cosmeticsurgery.us
 cosmeticsurgery.us.com
 couponmountain.com
 cover-your-feet.com
+cpplok.org
+craigslistpm.cn
+crazy-vids.net
 crazyfrog.wtf.la
 creamfilledholes.biz
+create-mortgage.com
+credit-card-verification.com
 credit-cards-credit-cards-credit-cards.net
+credit-dreams.com
 credit-factor.com
 credit-links.net
 credit-loans-2005.com
 credit-report-links.net
 creditcardpost.com
 creditrepairsoft.com
+creditreportbuddy.net
+creditscorerevue.net
 creditsharpie.com
 crepesuzette.com
 crescentarian.net
+crescentfinancialpartners.com
+crowdconversion3.org
 crpublish.com
 cum-facials.us
 cumfiesta-4u.com
 cumfietavideos.com
 cumlogin.com
+cures-for-hemorrhoids.net
+curshen.info
 customer-reviews.org
 cutpricepills.com
+cyallis.info
+cyallisrx.info
 cyberfreehost.com
 cycatki.com
 cyclo-cross.co.uk
+cycloped.org
 cykanax.com
+cz.cc
+d0m.us
 dad-daughter-incest.com
 daiiuvwx.com
 dailyliving.info
+dalin-ina.com
 dallmayr.de
+dalmortgage.com
 damianer.top-100.pl
 danni.com
 darest.de
+dare-poker.com
 darkangelclan.com
 darzgx.com
 datestop.net
@@ -799,47 +1383,72 @@
 dating999.com
 davidtaylor.topcities.com
 day4sex.com
+daystar-forum.com
+dcasinoonline.com
 de.hm
 de\.sr
+dealloan.info
+deblackjack.com
+debolex-capezzolox.info
 debt-consolidation-i
 debt-consolidation-i.biz
 debt-consolidation-kick-a.com
 debt-consolidation-low-rates.biz
 debt-consolidation-now-online.com
+debt-counseling-service-consultant.info
 debt-disappear.com
 debt-help-bill-consolidation-elimination.com
+debt-settlement-agency.com
 debt-solution-tips.com
 debtconsolidationfirm.net
 debtconsolidationloans
 debtconsolidationusa.org
 debtmanagementcompanyonline.com
+decoratordepotusa.com
+decrease-debt.com
+dedicated-poker.com
 dedichepersonali.com
 deep-ice.com
 deikmann.de
+delicious.com
+denmcd.org
 dental-insurance-plan.freeservers.com
 dental-plan-source
 dentalinsurancehealth.com
+dentalnn.ru
 department-storez.com
+depaul.edu
 design4u.ws
+designcarthosting.com
 desiraesworld.com
 deutschlandweite-immobilienangebote.de
+deville-les-rouen.info
 devilofnights.net
 devilofnights.org
 devon-daniels.com
 devonanal.com
+devtestprod.com
+dhomeinsurance.com
 dia-host.com
 dianepoppos.com
 diarypeople.com
 dick-deputy.com
 diecastdot.com
 diet-doctor.net
+diet-phentermine-pharmacy-2003.info
+diet-pills-bontril-great-price.info
+diet-pills-online-for-you.info
 diet-pills-now
+diet123works.com
+diet356.com
 dieta-dimagrante.net
 dieta-mediterranea.net
 dieta-zona.com
 dieta.cc
+dietary-tips.com
 diete-dimagranti.com
 diete.bz
+dietpharm.info
 diethost.net
 dieting-review.com
 dietpage.net
@@ -848,9 +1457,15 @@
 diets-health.com
 diets-plan.net
 dietway.net
+digital-cameras-esite.info
+digital-camera-esite.info
 digital-projector.net
+digitaldivide.net
 digitale-teile.de
+digitaljournal.com
 digitaltwist.co.uk
+dinform-ip.cn
+dipologpress.com
 direct-contact.com
 direct-deals-for-you.info
 direct-tv-for-free.com
@@ -864,20 +1479,35 @@
 discount-cheap-dental-insurance.com
 discount-life-insurance.us
 discountprinterrefill.com
+discountrx.info
+discountviagrapills.info
 discoveryofusa.com
 dish-network-w.com
 dish-network.org
 disigncn.com
 disney-hentai.org
+diversitycoalition.org
 divorce-links.com
+djsdesigns.net
 dlctc.com
 dnpose.com
 dns110.com
 dns2008.cn
+doctor-4all.com
+doctor-duty.com
+doctor-here.com
+doctor-pills.com
+doctor-test.com
+doctorfor.com
+doctorrr.com
+documentaryfilms.net
 dogfartmovieclips.com
 dogfartmovieclips.com
 dogolz.de
+domain-autoinsuranceetc.com
+domain-poker.com
 domkino.com.ua
+donnatos.net
 donne-belle.net
 donne-famose.biz
 donne-muscolose.net
@@ -900,11 +1530,18 @@
 donnesexy.org
 donnevogliose.net
 donnevogliose.org
+dontstayin.com
 doo.pl
 doobu.com
+doodlekit.com
+doorway.ru
 doorway-page-software
+doras.us
+doshettain.cn
 dostweb.com
 dotcomup.com
+double-insurance.com
+dousetsu.com
 downloadzipcode.com
 dr\.ag
 dragonball-porno.com
@@ -913,24 +1550,38 @@
 dragonballporno.net
 dragonballx.cc
 dragonballxxx.biz
+dreamhosters.com
+dreni.net
 dressagehorseinternational.co.uk
+drifterpoker.com
 drive-backup.com
 drochka.com
+drugs-24h.com
+drugs-order.com
+drugs-rx.info
 drugsexperts.com
+drugshome.org
 drugstore-online.us
 drugstore.st
+drugtramadolsite.biz
+drugtramadolsite.info
+drugvigera.info
 drunk-girls-flashing.com
 drunk-girls-party.us
+drunkstrategy.info
+dst-town.cn
 dunecliffesaunton.co.uk
 dvd-copier.info
 dvd-home-theatre.com
 dvd-top-shop.info
 dvd2.us
 dwoq.com
+dyubel.org
 dzwonki-polifoniczne-motorola.webpark.pl
 e--pics.com
 e-best-poker.com
 e-bookszone.com
+e-buy-2004.com
 e-casino-bonus.com
 e-cialis.net
 e-credit-card-debt.com
@@ -944,19 +1595,34 @@
 e-lemonlaw.com
 e-news.host.sk
 e-online-bingo.com
+e-online-poker-4u.org
 e-order-propecia.com
 e-personalinjurylawyers
 e-personalinjurylawyers.com
+e-pills-4u.com
 e-pills-buy.com
 e-play-bingo.com
+e-poker-2005.com
+e-poker-4u.com
+e-poker-4u.net
+e-poker-777.com
+e-poker-888.com
 e-poker-games.info
+e-poker-winner.com
 e-southbeachdiet.com
 e-top-pharmacy.com
 e-tutor.com
 e-virtual-casino.com
+e0louise.info
 e40.nl
+eadipexdietpill.com
+eadipexonline.com
+eadipexpills.com
+earnmine.com
+earumiki.org
 easy-application-credit-cards.com
 easygo.hn.org
+easyjournal.com
 easyrecorder.com
 easyseek.us
 ebanking.info
@@ -967,39 +1633,63 @@
 ebookers.co.uk
 ecblast.com
 eccentrix.com/members/casinotips
+eccessivod-swingerd.info
 echofourdesign.com
 eclexion.net
 ecologix.co.uk
+ecometro.com
+ed-cheap.info
+ed-pillsrx.info
+edcealis.info
 eddiereva.com
 edietplans.net
 edmontgomeryministries.org
+edpillrx.info
 edpowerspasswords.com
 edrugstore.md
+edu.ms
+edu.pl
 education-line.com
+edviagrrx.info
 edwardbaskett.com
 effexor-web.com
 effexor.cc
 eggesfordhotel.co.uk
 egygift.com
+ehrlichisbush.com
 einfach-wunschgewicht.com
 elcenter-s.ru
 eldorado.com.ua
 electricscooterland.com
 electromark-uk.co.uk
+electroniccigarette0.com
 electronics-info.com
 elegant-candles.com
 elektronikshop-xxl.de
 elite-change.com
 elitecities.com
+eliteclubcasino.com
+elitefreehost.com
+emakkinf.org
+emenace.com
 emmasarah.com
 emmss.com
+emortgagebusiness.com
+empireonlinepokercasino.com
 enacre.net
+encorewiki.org
 enjoy-blackjack.com
 enlargement-for-penis.com
+environmentaldefence.ca
 envoyer-des-fleurs.com
 eonsystems.com
 epaycash.com
+ephentermine30mg.com
+ephentermine375mg.com
+ephentermineonline.com
+epraha.info
 erbium12.com
+erealtystore.com
 erosway.com
 erotic-free.com
 erotic-lesbian-story.blogspot.com
@@ -1009,27 +1699,46 @@
 escort-links.net
 escorts-links.com
 esesso-gratis.com
+esilive.org
+esliupn.org
 esmartdesign.com
+esnips.com
+estatefarmer.com
+eteksupport.com
 ethixsouthwest.com
+eu.gg
+euro-cscl.org
 evananderson.topcities.com
 evanstonpl.org
 event-kalendarium.de
+every-mortgage.com
 everyvoice.net
+evilplots.com
 evromaster.ru
+eweightlosspills.com
+eweightpills.com
+excellent-health.com
+exciting-casino.com
 exclaim4creditcardprocessingmerchantaccount.com
+exclusive-music-dj.com
 exdrawings.com
 exoticdvds.co.uk
 exoticmoms.com
+expertsacademies.com
+expired-insurance.com
+explorandomexico.com.mx
 expoze.com
 extrasms.de
 extreme-rape.org
 extreme-sex.org
+extremetravelinsurance.com
 f-z-a.com
 f2g.net
 f2s.be
 fabida.net
 fabulos.de
 fabuloussextoys.com
+fasesuka.co.cc
 facial-skin-care-center.com
 family-incest-stories.com
 family-incest.us
@@ -1041,6 +1750,7 @@
 fast-cash-quick-money-easy-loan.com
 fast-fioricet.com
 fast-mortgage-4-u.com
+faster-credit.com
 fasthost.tv
 fat-cash.com
 fat-lesbians.net
@@ -1049,18 +1759,32 @@
 fatty-liver.cn
 fatwarfare.com
 favilon.net
+favorite-casino.com
+faxless-cash.com
+faxless-loan.com
+fc2.com
+fcpages.com
 fda.com.cn
 fearcrow.com
 federalgovernmentgrants.net
 feidenfurniture.com
 female-orgasms.org
+fetishforum.net
+feyalegria.org
+fgcard.com
 fidelityfunding.net
 fielit.de
 figa.nu
+fildenafil.info
+fildenafilrx.info
+filedude.com
 film-porno.us
 film456.com
 filthserver.com
 final-fantasy-hentai.org
+finance-2u.com
+finance-4all.com
+finance-ways.com
 finance-world.net
 finanzen-marktplatz.de
 find-cheap-dental-plans.com
@@ -1072,6 +1796,8 @@
 finddatingsites.com
 findsexxx.us
 findyouruni.com
+fine-poker.com
+finestrealty.net
 finger-bobs.com
 fioricet-dot.com
 fioricet-online-here.com
@@ -1083,30 +1809,61 @@
 first-poker.com
 first-time-story.blogspot.com
 firstchoicebanksandpremiercredit.com
+firstfriends.us
+firstlink.ru
 firsttimeaddition.com
 fishoilmiracle.com
 fitness-links.net
 fitnessx.net
+fizwig.com
+fix-mortgage.com
 flafeber.com
+flash-insurance.com
 flatbedshipping.com
+fleetairarmarchive.net
 fleshlight.org
 fleshlight.ro
 flexeril-web.com
+flickr.com
 flirt08.de
+flop-holdem-odds-pre-texas-game.info
+flower-tattoo-designs.in
+flower4us.com
 flowertobj.com
+flvgood.info
 fly-sky.com
+fobanany2008.com
+foderick.com
+follandow-perrasw.info
+foosci.com
 football--betting.net
 football-betting-nfl.com
+forbes4homes.com
+forblackjackonline.com
 forceful.de
 foreskin-restoration.net
+forever-casino.com
 forex-online-now.com
 forex.inc.ru
 forexintroducer.com
+forgetc.com
+forinternetblackjack.com
 forlovedones.com
+foronlineblackjack.com
+foronlineroulette.com
+forroulette.com
+forrouletteonline.com
+forslotmachine.com
+forslotsmachine.com
+forslotsmachines.com
 fortisenterprises.co.uk
+forumkubani.ru
+forumnn.ru
 foto-gay.us
 foto-porno.us
 foto-porno.ws
+fotox-videox-sexox.info
+fracestal.co.cc
 frangelicasplace.org
 frankpictures.com
 freak-view.com
@@ -1125,9 +1882,11 @@
 free-games-links.com
 free-gay-video-clip.com
 free-hilton-paris-sex-video.com
+free-holdem-downloads-games.info
 free-horoscopes.biz
 free-incest-stories-site.com
 free-net-sex.com
+free-no-dowload-holdem-poker-win.info
 free-online-poker
 free-paris-nikki-hilton.blogspot.com
 free-poker-download-i.com
@@ -1139,30 +1898,58 @@
 free-texashold-em.us
 free-texasholdem.us
 free-traffic-generation.com
+free-vigra.info
 freeadult.de
+freecities.com
+freecodesource.com
 freedvdplayer.cjb.net
 freeeads.co.uk
 freegovmoney.net
 freegovmoney.us
+freehostia.com
 freehostingpeople.com
+freehostingz.com
+freehostking.com
+freehostnow.org
+freehostwebs.com
 freehustlersex.com
+freeipadandiphone.com
+freeliveporno.org
 freeminimacs.com
 freenetshopper.com
 freenudegallery.org
+freeoda.com
 freepicsdaily.com
+freepolls.com
 freepornday.com
+freepornhosting.com
+freeserverweb.com
 freeteenpicsandmovies.com
 freeweb-hosting.com
+freeweb7.com
+freewebhostx.com
 freewebpage.org
+freewebpages.org
+freewebportal.com
 freewebs.com
+freewebsitehosting.com
+freeweightloss.com
 freewhileshopping.com
+fresh-holes.com
 freshsexhosting.com
+fresnay.net
+frih.net
 friko.pl
+frili.info
+front.ru
 fsearch.dtdns.net
 fuck-animals.com
 full-access.net
 fumetti-porno.org
 fumettiporno.org
+fumiroom.com
+funchain.com
+fundingsys.net
 furrios.de
 furry-kinks-looking.com
 furry-kinks-looking.net
@@ -1180,14 +1967,20 @@
 gambling-card.ws
 gambling-casinos-trx.com
 gambling-homepage.com
+gambling-webmasters.org
 gambling\Sgames.cc
 gamblingguidance.co.uk
+gamebip.com
 gamefinder.de
 games-advanced.de
+gamesonfree.info
+gamingcasinopoker.com
 gang-rape.org
 gangbangbusgallery.com
+gardenaccentsllc.com
 gargzdai.net
 garment-china.com
+garrem.com
 gartenshopper.de
 garthfans.co.uk
 gay-asian-porn.com
@@ -1195,20 +1988,28 @@
 gay-boy.us
 gay-male-story.blogspot.com
 gay-nude.us
+gay-porno.us
 gay-sex-videos.com
 gay-twinks-sex.com
 gay1ncest.com
+gayc-roulottec.info
 gayfamilyincest.net
 gayfunplaces.com
 gays-porno-men-twinks-boys-sex.biz
 gays-sex-gay-sex-gays.us
 gayx.us
+gazetann.ru
 gb.com
+gblackh.org
+gcminternational.org
 gdgc.org
 gelago.de
+gelij.ru
 gem2.de
 gemtienda.co.uk
 generic-propecia.net
+genericusa.info
+genericviagracheapest.com
 genimat.220v.org
 genimat.cjb.net
 geocities.com/alexgolddphumanrbriar
@@ -1226,56 +2027,83 @@
 geocities.com/pautovalexasha_kagal
 geocities.com/reutovoalexeypetrovseverin5
 geocities.com/timryancompassmedius
+geoserver.org
 gesundheit-total.com
 gesundheitsshop-kosmetik.de
 get-cell-phone-accessories.com
+get-discount.info
 get-free-catalogs.com
 get-freetrial.us
 get-hardcore-sex.com
 get-insurance-quotes.com
+get-phentermine-without-prescription-pharmacy-2003.info
 get-satellite-tv-dish.com
+get-sport-betting.com
 get-your-dish-tv.info
 get-zoo.com
 getaprescription.net
+getclialis.info
 getdomainsandhosting.com
+getgirlfriends.com
 gethelp24x7.net
+getholidayinnexpress.com
 getmoregiveless.com
 getrxscripts.biz
+getslotsmachine.com
 getstarted24x7.net
 getyourlyrics.com
 gfind.de
 ghettoinc.com
+giaiphapseo.com
 giantipps.de
+giatrons-thrasyns.info
 gifs-clipart-smiley.de
 giochi-hentai.com
 giochi-online.us
 giochix.com
+giovanissimek-pompinik.info
 girls-get-crazy.org
+girlsbrigade4thnut.org.uk
 girlshost.net
 give-u-the-perfect-mortgage.com
 giveramp.com
+glamur-for-yor.org
 glendajackson.co.uk
 global-verreisen.de
 globalwebbrain.com
 glory-vision.com
 gloryhole-girls.angelcities.com
 glucophagepharmacy.com
+go2poll.com
 goapplyonline.com
 godere.org
 godwebdesign.com
 gogito.com
 gogof-ck.com
 gojerk.com
+gold-collection.biz
+golden-pharm.com
 goldpills.net
+golfshoot.com
 gomvents.com
+gonetwork45.org
 gongi.pl
 goodlife2000-geheimtipp.com
 goodsexy.com
 goodtv.cn
 google163.net
 google8.net
+googlepages.com
+googleplacesunleashed.org
+goonlineslots.com
+goonlineslotsmachine.com
+gorgeousgalls.com
 gorilka.atspace.com
+gorillawiki.org
+goslotmachinesonline.com
+gotelli.cn
 gotooa.com
+gotscratchmp3.net
 gotsw.net
 gourmondo.de
 govermentgrants.net
@@ -1288,30 +2116,57 @@
 governmentgrants.tv
 governmentgrants.ws
 governmentgrantsresources.com
+gpsnn.ru
+grab-mortgage.com
 grannypictgp.com
 grannysexthumbs.com
 grants.biz
 grantseekerpro
+gravatar.com
 great-cialis.com
 great-dish-tv-deals.info
+great-finance.com
+great-money.com
+greatmortgageidea.com
 greatnow.com
+greats-poker.com
 greecehotels-discount.com
 green-tx.com
 greenwood.ddns.ms
+grindtv.com
+grounding.co.za
 group-eurosex.com
+groupfg.com
+grouphb.com
+groupij.com
+groupxq.com
+groupyt.com
 growtech.cn
+grumpyant.com
+gst12.com
+gst123.com
+guarantee-money.com
 guardami.org
 guenstige-krankenversicherung.com
 guenstige-onlineshops.de
 guenstige-sportartikel.de
 guenstige-versicherungstarife.de
+guhj.info
+guide4mortgage.com
+gulagaram.com
+gulfcoast.edu
 gunit.gotdns.com
+guns.ru
 guttermag.com
+hackerssupply.com
 hair-loss-cure-x.com
 hair-loss-cure.net
 hairy-pussy-sex.net
+half-price-pharmacy.com
 hallo-tierfreund.de
 hand-job.us
+handbagreplicawatch.net
+handcar.org
 handjoblessons.org
 handmade2000.co.uk
 handsm.servehttp.com
@@ -1332,20 +2187,31 @@
 hardcore-sex.bz
 hardcore-video.us
 hardcorecash.net
+harmonyware.com
 hasslerenterprises.net
 hasslerenterprises.org
+hatenat.org
 hautesavoieimmobilier.com
+hawaiiansurvey.org
+hbsnwa.org
 hchcinc.com
+hcihomeloans.com
 hdic.net
 hdic.org
 headachetreatment.net
+headspill.com
+health-livening.com
 health-pills-online.com
 health-pills.net
+healthandpills.com
 healthmore.net
+healthrevisited.com.au
 healthrules.org
 heartbeatofhealing.org
+hebei-gelatin.com
 helpful-forum.com
 helpful-pills-blog.com
+henselinsuranceagencyinc.com
 hentai-anime.us
 hentai-gratis.us
 hentai-hard.com
@@ -1360,13 +2226,18 @@
 herbal-source.net
 hermosa.us
 herpies.net
+hetramadolworld.info
 heydo.com
 hghadvisor.com
 hghplanet.com
 hgxweb.de
 hi-finder.com
+hi5.com
 high-risk-merchant-account.org
+highenergyforlife.org
+highest-credit.com
 highprofitclub.com
+hill1pipe.org
 hilton-nicky-paris.blogspot.com
 hion.cn
 hit-logo-klingelton.com
@@ -1382,9 +2253,14 @@
 hlopci.w5.pl
 hobbs-farm.com
 hold-em-big.com
+hold-em-statistics-best-winning-chances.info
 hold-pok.com
+holdem-poker-rules-win.info
 holdem-texaspoker.com
+holdeman-mennonite-games.info
 holding.errorworld.org
+holecardpoker.com
+holodnn.ru
 home-design.ws
 home-equity-loans-mortgage-refinancing.com
 home-loans-inc.com
@@ -1392,10 +2268,25 @@
 home-videos.net
 home.pages.at
 home\.ro\b
+homebythesea.net
+homeformule1.com
+homeinns.com
+homeinsurancem.com
+homeinsuranceok.com
 homelivecams.com
+homemoviesworld.info
 homenetworkingsolutions.co.uk
+homeownersinsurancei.com
+homeownersinsurancej.com
+homepage.lc
+homesbysellers.net
+homesta.com
+homesweethomeduluth.com
 hometeaminspection.net
 hometeaminspection.org
+honeymoon-destination-a.us
+honeywhores.com
+honsttuct.cn
 hoodia--gardonii.com
 hoodia.belleity.com
 horny-honey.com
@@ -1406,34 +2297,54 @@
 horse-racebetting.com
 horse-racing--betting.net
 horse-sex.ws
+hort.net
+hostaim.com
+hostico.net
 hostingplus.com
+hostrator.com
+hostsexblog.com
 hostultra.com
 hot-cialis.com
 hot-escort-services.com
+hot-porn-clips.com
 hot-mates.info
 hot-naked-guys.net
+hotbox.ru
+hotel-2all.com
+hotel-4trip.com
+hotel-4us.com
+hotel-4vacation.com
 hotel-bordeaux.cjb.net
+hotel-immediately.com
 hotelbookingserver.com
 hotelsaficionado.com
 hotelsplustours.com
 hotfunsingles.com
+hotmail.ru
 hotsexys.com
+hotsitessearch.com
 hotusa.org
 houseofsevengables.com
 how-quit-smoking.com
 how-to-play-poker-quick.com
+howtramadol.info
+hpage.com
 hq-pictures.org
 hs168.com
+hscale.org
 hswin.com
 htmldiff.com
 huazhangmba.com
+huge-casino.com
 humangrowthhormone.org
+humblevoice.com
 hunksandbabes.com
 hustler.bz
 hustlerbarelylegalteen.com
 hustlerw.com
 hxlll.net
 hyper-sex.com
+hypexrit.org
 hypnobabies.co.uk
 i--cialis.net
 i-black-jack.com
@@ -1461,17 +2372,27 @@
 i-wellbutrin.com
 i-will-find-the-best-mortgage-lead.com
 i-win-bingo.com
+iacsoft.com
+iapppz.com
+iblogger.org
 idebtconsolidation.org
+idoo.com
 idp4u.com
+iepills.com
 ifreepages.com
+ihavewedding.com
+ihomebroker.com
 iipgoulkdfghj.com
 illegalhome.com
 illegalspace.com
 im-naked.com
 imagenes-tops.com.mx
+imbarazzatog-filmg.info
 imess.net
+imiaweb2taskforce.org
 imitrex-web.com
 immagini-hentai.org
+immediately-credit.com
 immobilien-auswaehlen.de
 immobilienangebote-auswahl.de
 immobilienmakler-angebote.de
@@ -1494,6 +2415,8 @@
 incest-taboo.net
 incest-videos-collection.com
 inceststories.ws
+including-poker.com
+incomeautomationsystems.com
 incredishop.com
 incsx.com
 indian-sex-porno-movies-stories.com
@@ -1503,27 +2426,59 @@
 industrialresource.biz
 inescudna.com
 inexpensiverx.net
+infoabad.org
 infocenter-crm.com
+infodmagion.cn
+infooq.com
 inforceable.com
 inforceables.com
+informe.com
+infostore.org
+infoui.com
+infoxd.com
+infoxz.com
+infoyh.com
+infsync.org
 ingyensms.net
 ingyensms.org
+ininsideit.info
+inioz.org
 innfg.de
+inonlineblackjack.com
 insatiablepussy.com
 inside.afraid.org
+insidershqreview.com
 instant-quick-money-cash-advance-personal-loans-until-pay-day.com
+instantfreehosting.com
 instantsatellite.com
+insurance-ahead.com
+insurance-option.com
 insurance-quotes-fast.com
+insurance-value.com
+insuranceba.com
 insurancecompanies4you.com
 insurancehere.net
+insuranceya.com
 int-fed-aromatherapy.co.uk
 inter-ross.ru
 international-candle-shop.com
 international-cheese-shop.com
+Internet-Casinos-Download.info
 internet-meds.biz
 internet-merchant-account-pro.com
 internet-poker-online-4-u.com
+internet-poker.de
+internetcdpoker.com
+internetclubdicepokerroom.com
+internetkingssolomonspokercasino.com
+internetkingssolomonspokerroom.com
+internetowewrozby.info
+internetpacificpoker888.com
+internetpacificpokerroom888.com
 internette-anbieter.de
+internettexashold.com
+internettitanpoker.com
+interni-serial.ru
 interracial-sex.ws
 inthevip-4u.com
 inthevip-sex.com
@@ -1531,7 +2486,9 @@
 intymnie.com
 inviare-mms.net
 invio-mms.us
+ionlineslotsmachine.com
 ipaddressworld.com
+ipeddle.com
 ipharmacy.com     # Catchall for many spam sites
 ipmotor.com
 ipsnihongo.org
@@ -1539,58 +2496,122 @@
 irianjaya.co.uk
 irs-us.net
 isacommie.com
+isafyouthworld2003.com
 iservice.eu.com
+isgreat.org
+ishomeloan.com
+isinternetblackjack.com
+island-angel.jp
+islotmachineonline.com
+islotsmachineonline.com
+islotsmachinesonline.com
+ismymovies.com
+isonlineblackjack.com
+isonlineroulette.com
 isparkl.com
+isroulette.com
+isrouletteonline.com
+isslotsmachine.com
+isti-fr.com
+it-cits.cn
+it98net.org
 itgo.com
+itishardmoney.com
+itasks.org
 iul-online.de
+ivreo.org
 iwebbroker.com
+j-legend.jp
 jack-x.com
+jacksshacks.com
 jade.bilder-i.de
+jaja-jak-globusy.com
+jamendo.com
+jamespot.com
 japan-partner.com
+javajigi.net
+jawsindia.net
+jed.pl
 jenniferconnor.com
+jepice.cz
+jessica-alba.com
 jewelry4navel.com
 jfcadvocacy.net
+jimind.com
 jinlong.co.uk
+jucard.com
+jmhic.com
 jmsimonr.com
 job-interview-questions-tips.com
+jobruler.com
 jobsearchlegal.com
+joe-and-connie.com
 johnhowesatty.com
 johnhuron.com
+joncard.com
 jokeria.de
 jordanand.topcities.com
 josephlied.com
+josiahcarberry.com
+journalnn.ru
 judahskateboards.com
 juega-al-casino.com
 juliamiles.co.uk
+jump2-insurance.com
 jungfrauen-sex.com
 junyuan.com.cn
+juris-net.com
+just-doctor.com
+just-pharmacy.com
+just-pills.com
 justasex.com
+justfree.com
+justin.tv
 jytouch.com
+k2free.com
+kaboodle.com
+kadanito.co.cc
+kaisd.info
+kaistapi.org
 kantorg.h10.ru
 kapsociety.org
 kardtoons.co.uk
 karibubaskets.com
+karisma.org.co
 karmicdebtconsolidation.com
+kaskus.us
 kcufrecnac.com
 keikoasura.com
 keithandrew.co.uk
+kenwoods.ru
 kewl-links.com
 kewler.net
 kinggimp.org
+kingsolomononlinepoker.com
+kingsolomonpokercasino.com
+kingssolomononlinepokerroom.com
 kinky-teen-videos.com
 kinkyhosting.com
 kiranthakrar.co.uk
+kissarmysweden.com
 kleinkinder-shop.de
 klik-search.com
 klingeltoene-handylogos.de.be
 klingeltone-logo.com
+klinsk.com
 klitoris.ca
 kmsenergy.com
+knockout-poker.com
+knowtax.net
+kogaryu.com
 kohost.us
 koihoo.com
+konlinecasino.com
 kontaktanzeigen-bild.de.ms
 kontaktlinsen-partner.de
+kopharm.com
 kostenlose-sexkontakte.org
+kp-tp-tunstallp.info
 krantas.org
 kraskidliavas.ru
 kredit-ratenkredit-sofortkredit.de
@@ -1598,17 +2619,31 @@
 kredite-portal.de
 kredite-sofortzusage.de
 kreditkarten-sofort.de.ms
+kreditortut.ru
+kremlnn.ru
+krop.com
+krovatka.su
+kudenn.com
 kupibuket.ru
+kupitdevok.ru
+kwiz.biz
 kyed.com
 kyfarmhouse.org
 lablog.biz
 lacetongue.com
 lach-ab.de
+lachezvos.com
+lagilifi.co.cc
 lakesideartonline.com
+lalasukapoka.tk
+lalish.ru
 lambethcouncil.com
+land.ru
+landkeepers.ca
 landscape-painting.as.ro
 langsrestaurant.com
 lanreport.com
+laptopnn.ru
 laptopy.biz.pl
 las-vegas-real-estate-1.com
 lastminute-blitz.de
@@ -1618,11 +2653,16 @@
 latina-hot-girls.com
 latina-sex.ws
 lavalifedating.com
+laverood.org
 leadbanx.com
+leaderpharmacies.net
 learnhowtoplay.com
 lebonpost.com
 lechery-family.com
 legalblonde.com
+legalsoundz.com
+lemoi.net
+lenovonn.ru
 lesbian-girl.us
 lesbian-sex-porn-pics-stories.com
 lesbichex.com
@@ -1630,24 +2670,47 @@
 leseratten-wunderland.de
 letemgo.de
 leveltendesign.com
+levetria.info
+levetriarx.info
+levitra-123.com
+levtria.info
+levtriarx.info
 lexapro-web.com
 lexfinance.com
+lfoa.info
 lgt-clan.ru
+libcom.org
+libertyreserveinvestments.biz
+lidersuper.com
 life-insurance-advisor.com
+life-insurance-articles.info
+lifefinanceinsurance.com
 lifeinsurancefinders.com
+lifemoneyinsurance.com
+like-hotel.com
 likesmature.com
+lilaleemcrightrealty.com
 lingerie-land.com
 link-dir.com
+linkedin.com
 linkliste-geschenke.de
 linseysworld.com
 linuxwaves.net
 lipitordiscount.biz
 lipitordiscount.com
 lir.dk
+lisaandjamie.com
 lisaber.com
 list1st.com
 listbanx.com
+literaforum.com
+lithografeio.info
+littledevildoubt.com
 live-casino.com
+live-products.com
+livedoor.jp
+livejournal.com
+livelog.com
 livetexasholdem.com
 livetexasholdem.com
 livetexasholdem.com
@@ -1655,14 +2718,22 @@
 livetreff.tv
 livevents.de
 lizardofoz.com
+lizscottrawson.com
 lizzie.dyndsl.com
 lizziemills.com
 loan-king.com
 loan-superstore.com
+loan.name
+loanaccept.com
+loanatweb.com
 loaninfotoday.com
+loanonlinedirect.com
+loans-4-u.info
 loans-4all.com
 loans-no-fax.com
 loans.de.vu
+loans.name
+loanwebworld.com
 locationcorse.free.fr
 logo-beltonen.com
 logo-free.com
@@ -1693,29 +2764,51 @@
 logosik.pl
 logotyper-mobil.com
 lolika.net
+long-term-effects-of-phentermine-pharmacy-2003.info
 longslabofjoy.com
+look4-poker.com
 lookforukhotels.com
 loraxe.com
+lot-cash.com
+loveryou.net
 low-low-rates.com
+low-tek.com
 lowclass.de
 lowcost.us.com
+lowest-interest-rate-credit-cards-online.com
+lowest-price-phentermine-leading-pharmacy.info
 lowest-rates-mortgages.com
 lowinterestratecreditcards.net
+luckypolls.com
 luffassociates.co.uk
+lumiing.org
+luth.se
 luxus-gourmetartikel.de
 lvcpa.net
 lvcpa.org
 lvrealty.net
+luxuryrenting.net
 lynskey-admiration.org.uk
 lyriclovers.com
+lyricsmarket.com
+m-itc.net
 macinstruct.net
+madesukadana.com
+madhunks.com
+madrea-figliaa.info
+mail-order-bridrs.Co.CC
+mail15.su
 mail333.com
 mainentrypoint.com
 mainjob.ru
 majorapplewhite.info
+male-ed.info
+male-edrx.info
 male-enlargement.com
+male-rxpills.info
 mallorycoatings.co.uk
 maloylawn.com
+mamandos-nenass.info
 mandysdiary.biz
 mandysdiary.ws
 manga-free.net
@@ -1724,37 +2817,55 @@
 manga-x.biz
 manga-xxx.org
 manufacturers-blog.com
+mar-gosha.ru
 march--madness.biz
 march--madness.info
 march--madness.org
 marcomdeal.com
+margincars.info
+marldb.org
 marshallsupersoft.com
 marshallyachts.org
+mart01.com
 marteq-on.com
+massmoneymakersystem.com
 match-me-up.com
+matmice.com
 mature-big-tits.net
 mature-old-mature.com
 mature-sex-moms-porn.com
 matureacts.com
 maturefolk.com
+maturehotlinks.com
 maturetours.com
+maturetrack.com
 maxigenweb.com
+mazdacommunity.com
+mazikao.net
 mbgeezers.com
 mcdortaklar.com
 mcfimortgage.com
+meblackjack.com
 medcenterstore.com
 mediaaustralia.com.au
 mediavisor.com
+medical-4you.com
 medical4order.com
 medications-4all.com
 medicine-supply.com
 medicinecheaper.com
 medicinetrail.org
+medpils-rx.info
+medpilsrx.info
 meds-pill.com
+medsleader.net
 medweightloss
 medyep.com
+meesai.com
 mega-spass.com
+megabyet.net
 megapornstation.com
+megotemko.co.tv
 melincs.org
 melodias-logos-juegos.com
 members.fortunecity.com/kennetharmstrong
@@ -1770,8 +2881,13 @@
 merditer.com
 merseine.nu
 mesothelioma-asbestos-help.com
+mesothelioma-asbestosis.info
 mesothelioma-health.com
 mesothelioma.net
+metadir1.cn
+metasart.com
+metatowr.org
+metloansonline.com
 metroshopperguide.com
 mettle.com.cn
 michigan-attorney.lbgo.com
@@ -1780,56 +2896,98 @@
 middlecay.net
 middlecay.org
 midget-porn-sex.com
+midlands.ru
+midnightgalls.com
+mielno.pl
 mietangebote-domain.de
 migraine-relief.com
 mikebunton.com
+milehighdiva.blogdrive.com
 milesscaffolding.co.uk
 milf-hardcore.net
 milf-rider.us
 milfporn.org
+militarywebcom.org
+mine-credit-cards.com
 mingholee.com
+miniblogger.org
+miroriflame.ru
+misfit.com.ar
+mista-x.net
 misterwolf.net
+mk7.org
 mmorpg-headlines.com
 mmsanimati.com
 mneuron.com
 mobile-repondeur-logo.com
 mobile-repondeurs-logos.com
 mobilefamilydental.com
+mobilenn.ru
 mobilequicksale.com
 mobilesandringtones.com
+mobyportal.com
 mode-domain.de
 mode-einkaufsbummel.de
+molotok-gvozd.ru
 moltobene.ru
 monavaletoys.com
+monbe.be
+money-4me.com
 money-cash-loans.com
+money-lovers.com
+money-marketplace.com
+money-plans.com
 money-room.com
 moneybg.com
+moneydetails.net
+monsterpenetrate.com
 montaguefineart.com
 mookyong.com
 mor-lite.net
 mor-lite.org
+morascorner.com
+more-debt.com
+more-doctor.com
+more-payday.com
+moreholdempoker.com
 moris-dada.com
+morosartistes.com
 mortage-4all.com
+mortgage-4me.com
+mortgage-4you.com
 mortgage-info-center.com
 mortgage-rates-guide.net
+mortgagecentredirect.com
 mortgagemarketinginc.com
 mortgagequestaz.com
 mortgagerates4all.com
 mortgages-links.net
 mortloan.com
+mostgeod.cn
 mostika.us
 mother-son-incest-sex.net
+mothershope.com
 motonet.pl
+motorcyclemyplace.com
+mountaincasadeglos.com
 movies6.com
 mp-forum.com
 mp3download.bz
+mp3skylines.com
+mp3vio.com
 mp3x.biz
 mpeg2pci.com
+mqualls.com
 mrgoicoechea.com
 mrn.vip.sina.com
 mrpiercing.com
+msaok-it.org
+msdinc.com
+msu.edu
+multiply.com
 multipurpose-plants.net
 multiservers.com
+museumlm.cn
 music-downloads-links.com
 musica-da-scaricare.net
 musica-gratis.biz
@@ -1840,28 +2998,46 @@
 musicbox1.com
 musiccheap.us
 musicenergy.com
+musicxclusive.net
 muxa.ru
 mxbearings.com
+mxstud-io.org
 my-age.net
+my-casino.biz
 my-dating-agency.com
 my-discount-cigarettes.com
+my-dom.info
+my-health.us
 my-sex-toys-store.com
 myasiahotels.com
 mybestcasinos.net
 mybestclick.com
 mycasinohome.com
+mycatalog001.info
 mycheapcigstore.com
 mycialispharmacy.com
+mycommunitynow.com
 mydatingagency.com
+mydebtmanagementonline.com
 mydietdoctor.com
+mydivx.info
 myeuropehotels.com
+myfabolouslife.com
 myfavlinks.de
+myfriendstephanie.net
+myftp.biz
+myftp.org
 mygenericrx.com
+myhealthcare.com
+mynet-poker.com
+myplayvideopoker.com
 myrice.com
 myrtlejones.com
 myslimpatch.com
 mystify2001.com
+myvnc.com
 naar.be
+nabble.com
 nabm(il|li)or.com     # Home to spammed drug subdomains
 nabpak.org
 naked-gay.us
@@ -1869,32 +3045,47 @@
 naked-womens-wrestling-league-dvds.com
 naked-womens-wrestling-league-videos.com
 nakedboysfirsttime.com
+namasex.co.tv
 nancyflowerswilson.com
 narod.ru
 nasty-pages.com
 natel-mobiles.com
+natural-acne-treatment-and-products.com
 natural-barleygreen.com
 natural-breasts-enhancement.net
 naturalknockers.net
+naymz.com
 nehrucollege.org
 neiladams.org.uk
+nemasoft.com
+neopage.net
 net-mature.com
 net-von-dir.de
 netdims.com
+netinfo103.org
 netizen.org
 netleih.de
 netlogo.us
+netmasterz.com
 netsx.org
+netvibes.com
 neurogenics.co.uk
 new-cialis.com
+new-doctor.com
 neweighweb.net
 neweighweb.org
+newest-hotel.com
 newfurnishing.com
 newgallery.co.uk
 newmail.ru
+newmyspacelive.info
+newshealth.org
+newsmedicine.ru
 newsnewsmedia.com
+newsua.org
 newtruths.com
 newxwave.com
+nfcares.org
 nfl-football-tickets.biz
 nice-pussy.us
 nicepages.biz
@@ -1905,31 +3096,60 @@
 nicolepeters.com
 nieruchomosci.biz.pl
 nifty-erotic-story-archive.blogspot.com
+nightmail.ru
 niibacca.afraid.org
 nikkiwilliams.info
+ning.com
+nipview.com
+nissanpavilionhotels.com
+nj-magic-show.com/
 njhma.com
 njunite.net
+nlstar.cn
+nm.ru
+nn.ru
+nnfamily.ru
+nnseo.ru
 no-cavities.com
+no-hands-holdem-win.info
+no-ip.biz
+no-ip.info
+no-ip.org
 no-title.de
 no1pics.com
 nohassle-loans.com
+nohomepage.org
+noidpage.org
+nokia6131.ru
 noni-jungbrunnen.com
 noni-top-chance.com
 noni-vitalgetraenk.com
 noniexpert.com
 nonstop-casino.com
 nonstopsex.org
+noprescriptiondrugstore.com
+northstamford.info
+northstarcafe.net
+norwichwriters.org
 noslip-picks.com
+nosweating.com
+notlong.com
 notsure.de
 novacspacetravel.com
+now-betting.com
+now-cash.com
 now-hiringsluts.com
 nr-challenges.org
+nsucar.org
 nude-black.us
 nude-celebrity-dvd.com
 nude-movies.us
 nude-teens.name
 nude-video.us
+nudeunion.com
 nudevol.us
+number1-poker.com
+nurserywater.com
 nutritional-supplements.ws
 nutritionalsupplementstoday.com
 nutzu.com
@@ -1937,14 +3157,24 @@
 nwwl-videos.com
 nylonex.com
 nz.com.ua
+nztravelaccommodation.com
+o-f.com
+ob.by
+od.ua
+odpv.cn
 odrducmibedfghj.com
 officexl.de
+officezealot.com
 officezl.com
 officialdarajoy.com/wwwboard
 officialdentalplan.com
 officialsatellitetv.com
 offseasonelves.com
 ohamerica.org
+ohhmoms.com
+ohmygov.com
+oiline.com
+okcshows.com
 okuk.org
 old-sexy-sluts.com
 olderr.4t.com
@@ -1957,6 +3187,8 @@
 on-line-degree.org
 on-line-kasino-de.com
 on-pok.com
+on.cm
+oncyberblackjack.com
 one-blackjack.com
 one-cialis.com
 one-debt-consolidation.com
@@ -1966,15 +3198,21 @@
 onepiecex.net
 oneseo.com
 onexone.org
+onhomeinsuranceseattle.com
+oninternetslotsmachine.com
 online-----poker
 online--blackjack.info
 online--pharmacy.us
 online--sports-betting.com
+online-134-poker-kiszka-blada.com
+online-525-poker-kiszka-blada.com
 online-auction-tricks.com
 online-background-check.biz
 online-black-jack-download.com
 online-blackjack-online.com
+online-blackjack888.com
 online-buy-plavix.com
+online-casino-gambling-000.com
 online-credit-report-online.com
 online-dating-com.com
 online-dating-singles-service.com
@@ -1982,6 +3220,7 @@
 online-dot.com
 online-escort-service.com
 online-flexeril.com
+online-forex-trading-currency-exchange.com
 online-gambling-123.biz
 online-gambling-123.us
 online-gambling-online.org
@@ -1995,6 +3234,7 @@
 online-pharmacy-online-pharmacies.com
 online-pharmacy-order.com
 online-photo-print.com
+online-pills-for-you.com
 online-poker--tips.com
 online-poker-200
 online-poker-333.com
@@ -2014,31 +3254,109 @@
 online-prescription.st
 online-prescriptions-internet-pharmacy.com
 online-propecia-buyer.com
+online-shop-site-pills.info
 online-sports--betting
 online-sports-betting-source
+online-viagra-shop-best-offer.info
+online20.org
+online888pacificpokercasino.com
+online888pacificpokerroom.com
+online888pokerroom.com
+onlineayz.com
+onlinecarsinsurance.com
+onlinecasino-center.com
+onlinecasinook.com
+onlinecasinoonnetpoker.com
+onlinecdpokerroom.com
 onlinedegreehq.com
+onlineempirepokerroom.com
+onlinefe.com
+onlinegames-zz.com
 onlinegamingassociation.com
 onlinegamingassociation.com
 onlinehgh.com
+onlinekingssolomonspokercasino.com
+onlinekspokercasino.com
+onlinekspokerroom.com
+onlinenoblepokercasino.com
+onlinenoblepokerroom.com
+onlinepacificpokerroom.com
+onlinepartypokercasino.com
+onlinepharmacy-4u.net
 onlinepharmacy2004.net
 onlinepoker-dot.com
 onlinepoker-i.com
+onlinepokerok.com
 onlineshop.us.com
 onlineslotsarcade.com
 onlinesmoker.com
+onlinetexashold.com
+onlinetopsite.info
+onlinevi.com
+onlinewebshop.net
+onlinexq.com
+only-casino.com
+only1-insurance.com
+only1-poker.com
+only4mortgage.com
+onlycreditcardoffers.com
+ononlineblackjack.com
+ononlineslotsmachine.com
+onslotmachinesonline.com
+onslotsmachineonline.com
+onslotsonline.com
+onvirtualblackjack.com
+onvirtualslotsmachines.com
+onwebblackjack.com
+onwebslotsmachine.com
+op-clan.com
+openqa.org
 opensorcerer.org
+opensprout.org
 operazione-trionfo.net
+opisnet.com
 optimumpenis.com
 oral-sex-cum.com
+order-adipex-i.biz
+order-adipex-now.com
+order-cheap.info
 order-claritin.net
+order-doctor.com
 order-effexor.net
+order-phentermine-now.com
+order-pill.info
+order-pillrx.info
+order-vigara.info
+order-vigera.info
+order-vigra.info
+order-vigrarx.info
+ordercialisa.com
+ordercialisb.com
+ordercialiss.com
 ordernaturals.com
+orderpills.info
+orderuk.info
+orderusa.info
+ordervaiagra.info
+orderviarabuy.info
+orgfree.com
+orjinalpaylasim.net
+orkeor.cn
 orlandodominguez.com
 orospu.us
+orringtonhotel.com
+osteriaportanova.com
+osxdir.org
+otele.info
 otito.com
 ottawavalleyag.org
+otticarikcars.com
+our-credit-card.com
+our-payday.com
 our-planet.org
 ourhealthylife.net
+ours-casino.com
+ours-pharmacy.com
 ourtownhelps.org
 outoff.de
 overseaspharmacy.com
@@ -2052,14 +3370,23 @@
 p8.org.uk
 p9.org.uk
 pacific-poker-top-place.com
+pacificcreditrepair.com
+pacificonlinepokerroom888.com
+pacificpokercasino888.com
+pacificpokerroom888online.com
 pages4people.com
 pagetwo.org
 pai-gow-keno.com
 painkillersonline.biz
+painterfactory.com
 paisleydevelopmentassociation.org
 pamperedchef-online.com
+pantagraph.com
+paolivetcare.com
 paololinks.porkyhost.com
+paparoach.com
 paperscn.com
+paradiseballroom.org
 paramountseedfarms.net
 paramountseedfarms.org
 paris-and-nicky-hilton-pictures.blogspot.com
@@ -2071,6 +3398,8 @@
 paris-nikki-hilton.blogspot.com
 parkviewsoccer.net
 parkviewsoccer.org
+paroselm.org
+partipokercasino.com
 partnersmanager.com
 partnersuche-partnervermittlung.com
 party-poker-e.com
@@ -2079,14 +3408,20 @@
 party-poker-player.com
 party-poker-x
 partybingo.com
+partyonlinepokerroom.com
 partypoker-i
 partypoker-i.us
 partypoker.com
+partypokercasinocodes.net
+partypokerok.com
 partypokeronline.org
+partystampers.com
+pasica.ru
 passende-klamotten.de
 passwordspussynudity.com
 pastramisandwich.us
 pasuquinio.com
+pawnauctions.net
 payday-cash-loans
 payday-loan
 payday-loan-payday.com
@@ -2094,19 +3429,27 @@
 paylesspaydayloans.com
 payment-processing.com
 paysites.info
+pbworks.com
 pc-choices.com
 pcdweb.com
+pdthewlis.com
 pedronetwork.com
 pedronetwork.com
 peepissing.com
+pegspoker.com
 penelopeschenk.com
+pengfans.com
 penilestretch.com
 penis-enlargment.net
 penisimprovement.com
 penisresearch.com
+peods.cn
+peopleos.org
+per-debt.com
 perfect-dedicated-server.com
 perfect-mortgage-lead-4-u.com
 perkyoneplace.com
+perrasm-colombianasm.info
 personal-finance-tips.com
 personal-injuries-law.com
 personal-injury-lawyer.us.com
@@ -2114,17 +3457,47 @@
 personales.com
 personals-online-personals.com
 personalserotic.com
+perversej-bagascej.info
 petlesbians.com
 petroglyphx.com
 phantadu.de
 pharmaceicall.com
+pharmacy-generic.org
 pharmacy-links.net
+pharmacy-top-ranked.com
 pharmacy2003.com
+pharmacyff.com
+pharmacyh.com
 pharmacyprices.net
+pharmarx.info
+phentermine---ability-to-concieve-leading-pharmacy.info
+phentermine-24-hour-delivery-leading-pharmacy.info
+phentermine-and-375-and-cheap-leading-pharmacy.info
+phentermine-cod-delivery-am-delivery-leading-pharmacy.info
+phentermine-diet-pills-diet-pills-leading-pharmacy.info
+phentermine-online-here.com
+phentermine-order-and-ship-florida-address-top-deals.info
+phentermine-ordering-online-top-deals.info
+phentermine-overnight-c-o-d-top-deals.info
+phentermine-overnight-delivery-top-deals.info
+phentarmine-pharmacy-2003.info
+phentermine-pharmacy-cod-top-deals.info
+phentermine-quick-top-deals.info
+phentermine-resin-top-deals.info
+phentermine375dietpills.com
+phentermine375mgdietpills.com
+phentermine375mgtabs.com
+phenterminefree-overnight-fedex-pharmacy-2003.info
+phentermineonline-1.com
 philippestarckwatches.co.uk
+phistoinf.org
 phone-cards-globe.pushline.com
+phonenn.ru
+phongcach.com
 phono.co.il
 photobloggy.buzznet.com
+photonn.ru
+php-soft.com
 php5.sk
 phrensy.org
 picnic-basket.more.at
@@ -2144,35 +3517,56 @@
 piercing-magic.com
 piercingx.com
 piggi.descom.es
+piilsrx.info
+pileband.com
 pill-buy.com
 pillblue.com
 pillchart.com
+pillcheap-rx.info
+pillcheap.info
 pillexchange.net
 pillfever.com
 pillgrowth.com
+pillh.com
 pillhub.com
 pillhunt.com
 pillinc.com
 pillmarket.net
+pills-best.com
 pills-for-penis.com
+pills-home.com
+pills-sale.com
+pills-usa.info
 pillsbestbuy.com
+pillsbuyrx.info
 pillsdomain.com
 pillsking.com
 pillslim.com
+pillsofdesire.com
+pillsrx.info
 pillsupplier.com
+pillsvigra.info
 pilltip.com
+pillvigra.info
+pillvv.com
 pimpcasino.com
 pimphos.com
 pimpspace.com
 pinkzoo.com
+pips4idiots.org
 piranho.com
 pisangrebus.com
+pizdporno.com
 pj-city.com
+plainrice.com
+planetastonia.co.uk
 planetluck.com
+plasmagate910.cn
 plasticmachinery.net.cn
 play-7-card-stud-poker.com
 play-7-card-stud-poker.us
 play-cash-bingo-online.com
+play-e-poker.com
 play-online-poker-z.com
 play-partypoker.us
 play-poker-i.com
@@ -2185,65 +3579,150 @@
 playgay.biz
 playmydvd.com
 playnowpoker.com
+playtechonlinepokerroom.com
 playweb.blogspot.com
+plenty-cash.com
+plus-casino.com
+pluth.cn
 plygms.de
+pochta.ru
 pocketsound.org
+podbean.com
+podomatic.com
+pogovorok.net
+pohmelie.org
 pok7.com
 pokemon-hentai.com
 pokemon-hentai.org
 pokemonhentai.net
 pokemonx.biz
+poker-24x7.com
+poker-24x7.net
+poker-24x7.us
+poker-4-u.com
+poker-4all.com
+poker-4free.com
+poker-4u.biz
+poker-4us.com
+poker-7.com
 poker-8.com
 poker-888-e.com
+poker-ahead.com
+poker-available.com
+poker-blvd.com
+poker-boulevard.com
+poker-check.com
+poker-checking.com
 poker-e-win.com
 poker-e-wins.com
+poker-files.com
+poker-freak.com
+poker-freeway.com
 poker-games-bonus.com
 poker-games-top-ranked.com
 poker-games.cjb.net
 poker-hands-secrets.com
 poker-homepage.com
+poker-images-best-place.info
 poker-magic.org
 poker-me-up.com
+poker-new.com
+poker-odds-hold-em-4-win.info
+poker-on-line-best-place.info
 poker-on-web.com
 poker-online-anytime.com
+poker-org.com
+poker-palace-best-place.info
+poker-places.net
+poker-places-4u.com
+poker-places-4u.net
+poker-plans.com
+poker-protection.com
 poker-rooms-777
 poker-rooms-777.com
 poker-rules-easy-4u.com
+poker-scan.com
+poker-set-best-place.info
+poker-sites-best-place.info
+poker-spanish.com
+poker-stadium.com
+poker-sys.com
+poker-t-shirts-best-place.info
+poker-table-and-chairs-best-place.info
+poker-table-best-place.info
+poker-table-plans-best-place.info
+poker-table-texas-best-place.info
+poker-table-top-best-place.info
 poker-tables-best-deals.com
+poker-tables-buy-poker-tables-best-place.info
+poker-unique.com
+poker-valley.com
 poker-w.com
+poker-way.com
+poker-winning-hands-best-place.info
 poker-wsop-2005.com
+poker-year.com
+poker4spain.com
 poker777game
 poker79.com
+pokerdingo.com
+pokerforeal.com
+pokerfuchs.com
+pokernx.com
 pokerorg.net
 pokerpage.biz
 pokerpartnership.com
+pokerpartyclothes.com
 pokerqu.com
+pokerroomscasino.com
+pokerrules-best-place.info
 pokerweb.be
+pokerxa.com
+polfaw.info
 polifoniczne.org
+poll4you.com
 polyphone.us
+pomorze.pl
 pompini.nu
+pompinib-befanab.info
+pompinir-gemidosr.info
+pop3.ru
+popdrugstore.com
+popular-hotels.com
 popwow.com
 porevo.lookin.at
 porn-4u.net
 porn-dvds-dot.com
 porn-house.us
+porn-pussy-world.info
 porn-sites-list.com
 porn-stars.org
 porn-stud-search.org
 pornevalution.com
+pornfilmssales.com
 porngrub.com
 pornlane.com
+pornmovies.co.in
+porno-haus.com
+porno-house.net
 porno-v.com
 pornogratis.bz
+pornon-sexon-analn.info
 pornosexbest.com
 pornostars.cc
 pornovideos-versand.com
 pornstar4all.com
 pornwww.com
+poskot.com
+posteezy.com
 poster-shop.us
 postersshop.us
 power-rico.de
+pp.ua
+prakashcommunication.com
+praznekeba.tk
 pregnant-sex-free.us
+premium10adult.info
 prepaylegalinsurance.com
 prescription-drugs.st
 prescriptions.md
@@ -2251,17 +3730,25 @@
 preteen-sex.info
 preteen-young.net
 prettypiste.com
+prevent-asian-flu.com
 princeofprussia.org
+pringlepowervac.com
 printerinkseller.com
 prism-lupus.org
 privacy-online.biz
 private-krankenversicherung-uebersicht.com
 private-network.net
 privatediet.com
+pro.vg
+pro-board.com
 pro-collegefootballbetting.com
 pro-rolex-replica-watches
 pro-rolex-replica-watches.com
+prodit.org
 product-paradise.com
+professional-doctor.com
+progressliveautoinsurance.com
+progressiveupdate.net
 projector-me.com
 prom-prepared.com
 promindandbody.com
@@ -2273,8 +3760,12 @@
 propecia.bravehost.com
 propeciaonline.biz
 propeciapower.com
+prorasstanovki.ru
 prosearchs.com
+prweb.com
+prwo.info
 pryporn.com
+ps2cool.com
 pseudobreccia60.tripod.com.ve
 psites.biz
 psites.net
@@ -2283,77 +3774,130 @@
 psxtreme.com
 psychexams.net
 psychexams.org
+pull-poker.com
 punksongslyrics.com
 puppyduk.com
+purchaserx.info
 pureteenz.com
 pushline.com
 pussy-cum.us
 pussy-d.com
 pussy-movies.us
+putfilein.org
+pxbonline.com
+pzmind.com
+qacasinos.com
+qapibiwe.co.cc
 qinsi.com
 qqba.com
+quality-poker.com
 quangoweb.com
+quark.com
+queryguild.com
 quick-drugs.biz
 quick-drugs.com
 quickdomainnameregistration.com
 quickie-quotes.com
+quickweightlosepills.com
+quinteblogs.com
 r-300.com
 r-3100.com
 r-400.com
 r-4100.com
 r00m.com
+rabroad.com
+rabstroi.ru
 racconti-gay.org
+rack111.com
+radionn.ru
+radcraft.com
 radsport-artikel.de
 raf-ranking.com
 ragazze.bz
+rakm.jp
 rampantrabbitvibrator.co.uk
 randyblue.info
 randysrealtyreview.com
+rankbuilderx.com
+racepointfunding.com
+racyspace.com
 rape--stories
 rape-fantasy-pics.com
 rape-stories.biz
 rapestoriespics
 rapid-merchant-account.com
 rapid.myserver.org
+rashacash.info
+rated-casino.com
+ratemyit.org
 ratenkredit-center.de
 ratenkredit-shop.de
 raw-pussy.us
+raypharma.com
+razordude.com
+rbcmail.ru
 rbfanz.com
+reachcasino.com
+readingfestival.org
 real-online-poker
 real-sex.us
+realcheapviagra.com
+realestatepr.org
 realestateslaws.com
 realisticforeignpolicy.org
 reality-xxx.biz
 reallyhot.org
 realmilfgangbang.biz
+realms.biz
 realtickling.com
+realtorlist.net
+realtorx2.com
+realtysite.net
+reaxtelo4ki.co.tv
 rebjorn.co.uk
+rebuildsanmateohighschool.org
+reclamann.ru
 redcentre.org
 redi.tk
+redmassalud.com
+redscustom.info
 refinance-mortgage-home-equity-loan.com
 reggaeboyzfanz.com
+registered-casino.com
+registrarprice.com
 registerxonline.com
 registrarprice.com
 reglament-np.ru
+regnew.ru
 reisen-domain.de
+relatosj-coprofiliaj.info
 relievepain.org
+remontmash.ru
+removed.com
+renaissance-faire.com
 rent-games-movies.com
 rental-2004.com
 rentalcarsplus.com
+reonlineblackjack.com
 repair-restore-bad-credit-report-identity-theft.com
 repaircreditonline.net
 repondeurs-logos-mobile.com
 republika.pl
 reservedining.net
 reservedining.org
+resistg20.org
 restaurant-l.de
 rethyassociates.net
 rethyassociates.org
+returnmaximizer.com
 reviewonlinedating.com
+rgmrecords.com
+rhapsodyofwords.com
 rhinoslinks.com
 rhinosthumbs.com
 ricettegolose.com
 richshemales.com
+ridgeviewelem.org
 rifp.org
 rightdebt.com
 ringsignaler-ikon-spel.com
@@ -2362,11 +3906,16 @@
 ringtonespy.com
 rittenhouse.ca
 rmg.com.cn
+ro7kalbe.com
+robertapesce.com
 robinson-entertainment.com
 robosapiensource
 robosapiensource.com
 roboticmilking.com
+rohkalby.com
+rohkalby.net
 romane-buecher.de
+romanticmaui.net
 romeo-ent.com
 ronnieazza.com
 rossmann.de
@@ -2375,23 +3924,57 @@
 royaladult.com
 royalfreehost.com/teen/amymiller
 royalmailhotel.com
+rproom.ru
 ru21.to
 ruitai88.com
 rulo.biz
+runatserver.com
+rusbyte.com
+rusbyte.ru
+rx-buypills.info
 rx-central.net
+rx-cheap.info
 rx-lexapro.biz
+rx-order.info
 rx-pills-r.us
 rx-store.com     # Catchall for many spam sites
+rx-vigra.info
+rxbuy-pills.info
+rxbuycheap.info
+rxbuypill.info
+rxbuypills.info
+rxcialasbuy
+rxcilais.info
+rxcillis.info
 rxpainrelief.net
+rxpharmaci.info
+rxpharmacy-usa.com
+rxpill.info
 rxpills.biz
+rxpillsbuy.info
+rxpillsby.info
+rxpillusa.info
+rxpurchase.info
+rxsale.info
+rxsildenafil.info
+rxviagraabuy.info
+rxvigarausa.info
+rxvigrausa.info
 rxweightloss.org
 rydoncycles.co.uk
 s-fuck.com
 s-sites.net
+s5.com
+sadlyno.com
 safecreditonline.com
 sailor-moon-hentai.org
 sailor-moon-hentai.us
+sakura.ne.jp
+sakurafx.org
 salcia.co.uk
+sale-xenical-a.biz
+sales-rx.info
+salisbury.edu
 salute-bellezza.net
 salute-bellezza.org
 salute-benessere.org
@@ -2400,8 +3983,10 @@
 salute-malattie.com
 salute-malattie.net
 samiuls.com
+samkitut.ru
 sandhillaudio.com
 sandrabre.de
+sangirooms.com
 sapphicerotica.biz
 sarennasworld.com
 sat-direct.net
@@ -2411,11 +3996,16 @@
 satellite.bravehost.com
 satellitetv-reviewed.tripod.com
 satellitetvboutique.com
+save4-insurance.com
 saveondentalplans.com
 saveonpills.net
 sbdforum.com
+sbki.info
+sbko.info
 sbt-scooter.com
 sc10.net
+scan-diet.net
+scan-diet.org
 scarica-mp3.biz
 scarica-mp3.com
 scarica-musica-mp3.org
@@ -2427,34 +4017,62 @@
 scaricare-canzoni.org
 scaricare-mp3.org
 scatporn.info
+scenestealers.net
 scent-shopper.com
 schanee.de
+schizzaten-lesben.info
 schmuck-domain.de
+scitechtronics.com
 scottneiss.net
+screwy-casino.com
+scribd.com
+sculpturessence.com
 se-traf.com
 se24h.com
+sea-poker.com
 search-1.info
 search-engine-optimization-4-us.com
 search-milf.com
 search722.com
 searchinsurance.net
+searchpaysites.net
 searchtypo.com
+seat208.com
+secretsofthereef.com
+secured-casino.com
+secured-hotel.com
 secureroot.org
 security-result.com
+sedenafil.info
+sedenafilrx.info
 sedonaretreat.org
 seekartist.com
 seeker-milf.com
+seesaa.net
+seethishome
+sefat.cn
+seite.lv
 seitensprung-gratis.com
 selectedsex.com
+selectpoll.com
 selena-u.ru
+sell-vigrarx.info
 selten-angeklickt.de
 semax14.info
 semax15.info
 semax16.info
 sempo-tahoe.com
 senior.mine.nu
+seniordate.net
 seoy.com
+sempoipedia.com
+septeto.cn
+seriousofdating.co.cc
+serveblog.net
 servepics.com
+servequake.com
+serveru.ru
+servetown.com
 servicesdating.net
 sesso-gratis.cc
 sesso-online.net
@@ -2485,7 +4103,11 @@
 sexingitup.com
 sexmuch.com
 sexo9.com
+sexob-gayb-jovenesb.info
+sexoc-fotoc-caserac.info
+sexpantyhose.org
 sexplanets.com
+sexpropills.com
 sexschlucht.de
 sexshop-sexeshop.com
 sexshop.tk
@@ -2493,7 +4115,9 @@
 sextoyssexvideos.com
 sexual-shemales.com
 sexual-story.blogspot.com
+sexuallyexplicit.net
 sexushost.com
+sexvidworld.info
 sexvoyager.com
 sexwebclub.com
 sexwebsites.com
@@ -2503,9 +4127,11 @@
 sexy-girls.org
 sexy-lesbian.us
 sexy-pussy.us
+sexyavenue.com
 sexynudea.com
 sfondi--gratis.com
 sfondi-desktop-gratis.com
+sgambati.cn
 shadowbaneguides.net
 shannon-e.co.uk
 shareint-store.com
@@ -2515,29 +4141,55 @@
 shemalesland.com
 shemalezhost.com
 shemalki.com
+sheratonnorthcharleston.com
 shfx-bj.com
 shhilight.com
 shirts-t-shirts.com
+shivapage.com
+shkolka.ru
 shop-opyt.com
 shop.tc
 shop24x7.net
+shoppills.info
 shopping-liste.de
+shopping2000.com
 shoppingideen-xxl.de
 shoppyix.com
+shotin.org
+showcasegifts.net
+showcaserealestate.net
 showsontv.com
+shrunk.net
+siagra.info
+siagra-usa.info
+siagrarx.info
 sicarrow.co.uk
+sigmapiscu.org
+sildanefil.info
+sildenafil-usa.info
+sildenfilrx.info
+sildenofil.info
+sildenofil-usa.info
+sildenofilrx.info
+sildenophil.info
+sildenophilrx.info
 silky-smooth-pussy.com
 simon-scans.com
 simple-pharmacy.com
 simplemeds.com
+simply-poker.com
 simpsonowen.co.uk
 sindyhalliday.com
 sinfree.net
 site-mortgage.com
+sitesfreesex.info
+siterealestateonline.com
 sitesarchive.com
 siti-porno.us
+sitotop.com
 ski-resorts-guide.com
 skidman.com
+skityr.com
 slatersdvds.co.uk
 slng.de
 slot-machines-slots.com
@@ -2554,32 +4206,44 @@
 smartdot.com
 smartonlineshop.com
 smerfy.pl
+smithtownelementarypta.org
+sml338.org
+smogless.com
 sms-sms-sms.org
 sms-sprueche-4fun.de
 sms-sprueche.com
 sms.pl
+smsportali.net
+smtp.ru
 smutwebsites.com
 sneakysleuth.com
+socialmediamarketingmachinesreviews.com
+society-health.com
 socoplan.org
 sofort-mitgewinnen.de
 sofortkredit-tipps.de
 soft-industry.com
 soft.center.prv.pl
 software-einkaufsmarkt.de
+software-keylogger.com
 software-linkliste.de
 software-review-center.org
 software.thedir.net
 softwaredevelopmentindia.com
 soittoaanet-logot-peli.com
 sol-web.de
+solarplast.com
+solidwebhost.com
 soma-cheap-soma.com
 soma-solution.com
 soma-web.com
 soma.st
 somacheap
 somaspot.com
+some-mortgage.com
 sommerreisen-2004.de
 sonderpreis.de.com
+soniccash.net
 sonnerie-compositeur.com
 sonnerie-hifi-sms.com
 sonnerie-logo-jeu.com
@@ -2597,19 +4261,32 @@
 sonneries-sonnerie-logo.com
 sonneries-sonnerie-logos.com
 sonneries.fr
+sonomasoda.com
 sorglos-kredit.de
+sosalovo.tk
 soulfulstencils.com
+sour-mirror.jp
 southbeachdiet.us.com
 southbeachdietrecipe.biz
 spacige-domains.de
+spanish-casino-4u.com
 spannende-spiele.de
 spassmaker.de
+specific-casino.com
 speedsurf.to
 speedy-insurance-quotes.com
 spermincreasingpills.com
+spiel2010.info
 spiele-kostenlose.com
 spiele-planet.com
+spinxpress.com
+splendid-casino.com
+splinder.com
 spoodles.com
+sporshok.org
+sport-betting-2u.com
+sport-betting-now.com
+sport-betting-site.com
 sportartikel-auswahl.de
 sportecdigital.com
 sportingcolors.org
@@ -2619,19 +4296,30 @@
 sports-betting-a.com
 sports-inter-action.com
 sportsbettingexpert.com
+sportscribe.com
+sportsexpert.net
 sportsorg.biz
 sportsparent.com
 spp-net.de
 spy-patrol.com
+spy-search.com
 spyshots.bpa.nu
 spyware-links.com
+spywitnessnews.org
 staffordshires.net
+standard-casino.com
+standard-poker.com
 staplethis.de
+starlogic.biz
 starpills.com
+start-insurance.com
+statbrain.com
 statusforsale.de
+steadywebs.com
 steelstockholder.co.uk
 stellenangebote-checken.de
 stellenangebote-l.de
+step-consulting.com
 stevespoliceequipment.com
 stfc-isc.org
 sting.cc
@@ -2663,9 +4351,15 @@
 storiespics.homeunix.com
 storiespics.homeunix.net
 storiespics.homeunix.org
+straightforwardinsurance.com
+streamingy-videoy.info
+street-poker.com
+strefa.pl
+strega.us
 striemline.de
 stripclubexposed.info
 strivectinsd.com
+studio89.org
 stunningsextoys.com
 styrax-benzoin.com
 success-biz-replica.com
@@ -2682,15 +4376,21 @@
 super-bowl-bet.biz
 super-celebs.com
 super-cialis.com
+super-nails.org
 superbowl--betting.com
 superdolphins.org
+superinvestmentsonline.com
+supermedsdrugstore.net
 superpornlist.com
+supertramadoldirect.info
 surfe-und-staune.de
 susiewildin.com
 sutra-sex.com
 suttonjames.net
 suttonjames.org
 svitonline.com
+svoevideo.co.tv
+svsting.org
 swedenet.com
 swedenetwork.com
 sweet-horny.com
@@ -2706,9 +4406,27 @@
 sysaud.com
 t35.com
 t3n.org
+ta.pl
 tabsinc.com
+tadacip-order.info
+tadacip-rx.info
+tadacip-usa.info
+tadacip.info
+tadacippills.info
+tadaciprx.info
+tadenafil.info
+tadenafil-usa.info
+tadenafilrx.info
 take-credit-cards.com
+take-mortgage.com
+take-poker.com
+takegirls.com
+taldalafil.info
+taldalafilrx.info
+talentbroker.net
+talented-doctor.com
 taliesinfellows.org
+talismankpi.com
 talktobabes.com
 tanganyikan-cichlids.co.uk
 tapbuster.co.uk
@@ -2722,11 +4440,15 @@
 tatuaggi.cc
 tatuaggi.us
 tatuaggitribali.com
+taxlow.net
+taxmagic.net
 tclighting.net
 tclighting.org
 tdk-n.com
 teambeck.org
 teamregules.com
+techlabmodels.com
+techlinepodcast.com
 tecrep-inc.net
 tecrep-inc.org
 teddbot.com
@@ -2747,15 +4469,23 @@
 teensluts.org
 teentopanga.name
 teenxxxpix.net
+tekcelsolar.com
 telechargement-logiciel.com
+tellurideskiresort.com
+tenmortgage.com
+terashells.com
+teriandersonandassoc.com
 terminator-sales.com
 terra.es/personal2/dee7boquo
 terra.es/personal2/markus69
+test4ada.info
+test5ada.info
 testi-canzoni.com
 testi-canzoni.net
 testi-musicali.com
 testi-musicali.net
 testi.cc
+testriffic.com
 tests-shop.com
 tette.bz
 tettone.cc
@@ -2765,50 +4495,134 @@
 texas-hold-em
 texas-holdem
 texas-poker
+texasholdemcenteral.com
+texasholdfun.com
+texasholdinternet.com
+texasholdpokeronline.com
 texasproptax.com
 tgplist.us
+thatshiphop.com
 thatwhichis.com
 the-boys-first-time.net
 the-boysfirsttime.com
+the-credit-card.biz
 the-date.com
+the-discount-store.com
 the-first-time-auditions
+the-gambling-casinos--2342.us
 the-hun-site.com
 the-hun-yellow-page-tgp.com
+the-jackpot-857.us
 the-pill-bottle.com
 the-proxy.com
+the-slot-2072.us
 the1930shome.co.uk
+the21online.com
+the888pokeronline.com
+theamateur.us
 thebans.com
+thebest-pills
 theblackfoxes.com
+theblackjackonline.com
+thebossburger.com
+thebrainstormer.com
+thecasinoonnetpokercasino.com
+thecasinoonnetpokerroom.com
+thecasinopokerroom.com
+thecasinopokerrooms.com
 theceleb.com
 thecraftersgallery.com
+theebest.com
+theempireformulas.com
+theempireonlinepokerroom.com
+theempirepokerroom.com
 thefreecellphone.com
 thehadhams.net
+theinsurancedirect.com
+theinternetclubdicepoker.com
+theinternetholdem.com
+theinternetpokerroom.com
+theinternetpokerrooms.com
+theinternetslotmachines.com
+theinternetslotsmachine.com
+theinternettitanpokerroom.com
+theinvestblog.com
+thejvattractionformula.com
+theloansline.com
+thelostboysatl.com
+theloveland.ru
 themadpiper.net
+theonline888poker.com
+theonlinecasinoonnetpokerroom.com
+theonlinekspoker.com
+theonlinepacificpokerroom.com
+theonlinepokerrooms.com
+theonlineslotmachines.com
+theonlineslotsmachines.com
+theonlinetwentyone.com
+thepacificonlinepoker.com
+thepartypokercasino.com
+thepokerroompacific.com
+thepokerroomscasino.com
 thepornhost.com
 thepurplepitch.com
 therosygarden.com
+therouletteonline.com
+theshaarp.com
+theslotsmachine.com
+theslotsmachineonline.com
+theslotsmachinesonline.com
+thesmart-casino.com
 thesoftwaregarage.co.uk
 thespecialweb.com
+thetop-pharmacy.com
+thetrafficmayhem.com
+thevirtual21.com
+thevirtualslotmachines.com
+theweb21.com
+thewebblackjack.com
 thewebbrains.com
+thewebroulette.com
+thewebslotmachine.com
+thewebslotmachines.com
+thewebslotsmachines.com
+thewebtwentyone.com
+thexmlguys.com
+thinkrealty.net
+this-casino.com
 thorcarlson.com
+threethreethree.org
+threethreethree.us
 thumbscape.com
 ticket-marktplatz.de
 tickets4events.de
 tiere-futter.de
 tiffany-towers.com
+tigblog.org
 tigerspice.com
+tigweb.org
 tikattack.com
+time-4mortgages.com
+time-4poker.com
+time4pokerrooms.com
 timescooter.com
 tina4re.com
+tinyurl.com
 tips-1a.de
+tips-4poker.com
+titanonlinepokerroom.com
 tits-center.com
 tits-cumshots.net
 tm258.com
 tmsathai.org
 tofik.pl
+tointernetblackjack.com
 tokyojoes.info
+tonlinepoker.com
 tonos-celulares.com.mx
 tonos-nokia.com.mx
+toobigforthatpussy.com
+toonlineroulette.com
 top-blackjack-game
 top-blackjack.net
 top-casinos-net.com
@@ -2827,21 +4641,33 @@
 top-online-slots.com
 top-pharmacy.net
 top-poker-21.com
+top-rooms-2005.com
 top-sex-base.com
 top-skelaxin.com
 top-soma.com
 top-the-best.de
 top-video-poker.info
+top-web-site-pills.info
 top-wins-2005.com
 topaktuelle-tattos.de
 topcialis.com
+topklick.cn
 topmeds.net
 toques-logos-jogos.com
+torim-penism.info
+torouletteonline.com
 toshain.com
+toslotsmachine.com
 total-verspielt.de
+totalloansdirect.com
+totally-4poker.com
 totallyfreecreditreport.org
+touchdown-casino.com
 touchwoodmagazine.org.uk
 tournamentpoker.biz
+toylane.net
+tpageagv.org
+trafficfaker.com
 training-one.co.uk
 trannies.angelcities.com
 tranny-pic-free.com
@@ -2850,11 +4676,14 @@
 trannys.blowsearch.ws
 trannysexmovie.com
 transbestporn.com
+transcendentalartscouncil.org
 transestore.com
 transpire.de
 traum-pcs.de
 treocat.com
 triadindustries.co.uk
+tripod.com
+trisourcetitle.com
 trixieteen.org
 troggen.de
 troie.bz
@@ -2862,37 +4691,73 @@
 trucchi-giochi.us
 trueuninstall.com
 trumpetmission.org
+trust-home-improvement.com
+tryelec.co.jp
+tsukishima.cn
 tt33tt.com
 tt7.org
 tubegator.com
 tuff-enuff.fnpsites.com
+tumblr.com
 turist.com.pl
 tvforum.org
+tvsetmp3.com
 twinky.org
+twinpharm.cn
+txdeathpenaltymor.org
 tygef.org
+typepad.com
 u-w-m.ru
+ua-princeton.com
 uaeecommerce.com
+uccpp.org
+uclaaud.org
+ucsbgop.com
 ufosearch.net
 uk-virtual-office-solutions.com
 uk.net
+ukconstitution.org
+ukfpipe.org
 ukrainewife.net
+uky.edu
+ulcerdrugsonline.com
 ultra-shop.info
 ultracet-web.com
 ultrampharmacy.com
 unbeatablecellphones.com
 unbeatablemobiles.co.uk
 unbeatablerx.com
+unbelievable-poker.com
+unc.edu
 unccd.ch
+unco.edu
 underage-pussy.net
+understand-poker.com
 undonet.com
 uni-card.ru
+unicauca.edu.co
+unifloor.com.ua
+unique-casino.net
+unique-pills.com
+unique-poker.com
+uniqueinternetholdempoker.com
+uniqueonlineholdem.com
+uniquetexasholdem.com
 united-cash.com
 unitedarchive.com
+unitedinchristchurch.org
+univision.com
+unlimitedantiques.com
 unrisd.com
 unscramble.de
 unterm-rock.us
+uo.pl
+uphentermine.com
 upsms.de
+upthekazoo.com
+url.ms
 urlaubssonne-tanken.de
+urlcutter.com
 us-cash.com
 us-meds.com
 usa-birthday-flowers.com
@@ -2900,15 +4765,42 @@
 usa-car-loans.com
 usa-cash-advance.com
 usa-escorts-123.com
+usa-pills.info
+usacialus.info
+usacilisusa.info
+usagoodhotel.com
+usatadafilbuy.info
+usaviara.info
+usaviararx.info
 usbitches.com
 uscashloan.com
+useboards.org
 usedcarsforsale
+useddomainsforsale.com
+useful-pills.com
+usemodi.org
+usvigra.info
+utcodecamp.com
+uvadi.cz
 v27.net
 v29.net
 v3.be
 vacation-rentals-guide.com
+vadoptions.com
+vajinasm-18m.info
 valeofglamorganconservatives.org
+varied-poker.com
+vayagra.info
+vayagrarx.info
+vcats.com
 vcialis.com
+vcontacts.com
+vdbimageworks.com
+vdiplomas.com
+vdirections.com
+vdude.com
+vegas-hair.com
+vegas-online-casino.bi
 venera-agency.com
 veranstaltungs-tickets.de
 vergleich-versicherungsangebote.de
@@ -2918,7 +4810,19 @@
 verybrowse.com
 verycd.com
 verycheapdentalinsurance.com
+vexpert.com
+viacra.info
+viacrarx.info
+viagararx.info
+viagerausa.info
+viagerausarx.info
 viaggix.com
+viagr-rx.info
+viagr-usa.info
+viagra-buy.in
+viagra-canada.in
+viagra-new.in
+viagra-sale.in
 viapaxton.com
 video-n.com
 video-poker
@@ -2927,37 +4831,94 @@
 video-porno.nu
 videohentai.org
 videoportfolios.com
+videosm-ostionesm.info
+vidsz-tiasz-defecandoz.info
+viegrarx.info
+vigara-usa.info
+vigarabuy.info
+vigaraus.info
+vigera-rx.info
+vigorx.info
+vigra-buy.info
+vigra-dose.info
+vigra-drug.info
+vigra-get.info
+vigra-now.info
+vigra-pill.info
+vigra-sale.info
+vigra-soft.info
+vigrabuy.info
+vigrabuyrx.info
+vigranewyorkcity.info
+vigrapillrx.info
+vigrasale.info
 vilentium.de
+vilki.info
 villagesx.com
 vimax.lx.ro
 vimax.topcities.com
+vinhas.net
 vip-condom.com
 vip-online-pharmacy.com
+virb.com
+vita-apteka.ru
+vitais.info
 vitamins-for-each.com
 vivalatinmag.com
+viviti.com
 vivlart.com
 vixensisland.com
 vladgorlum.gotdns.com
 vladstepanov.brunst.dk
+vmailman.com
+vmasterpiece.com
+vmillionaire.com
+vmousetrap.com
+vmtoolkit.com
+vneighbor.com
+vnovel.com
+vnsoul.org
+vocentr.ru
 vod-solutions.com
 voiphone.cn
+volny.cz
 vonormytexas.us
+vox.com
+vp888.net
+vpartnerships.com
+vpawnshop.com
+vplaymate.com
 vpmt.com
 vpshs.com
+vpxledrx.info
+vquality.com
 vrajitor.com
+vreporters.com
+vselling.com
+vside.com
+vsymphony.com
+vthought.com
+vtoyshop.com
 vtsae.org
 w-ebony.com
 w5.pl
 wake.rlights.com
 waldner-msa.co.uk
+waltsellsbuckscounty.com
 wancheng.cn
 warblog.net
+warning-prozac-and-phentermine-top-deals.info
+warrenzanes.com
+warriorforum.com
 washere.de
 watches-sales.com
 waterbeds-dot.com
+waukeshanow.com
+wavelet2.cn
 wayshell.co.uk
 wblogs.com
 wcgaaa.org
+we.bs
 we-live-together-4u.com
 weareconfused.org.uk
 wearethechampions.com
@@ -2967,59 +4928,111 @@
 web-cialis.com
 web-revenue.com
 webanfragen.de
+webbaster.com
 webblogs.biz
+webbv.com
 webcam-erotiche.com
 webcenter.pl
 webcindario.com
 webcopywizard.net
 webhgh.com
+webimagineer.net
+webkn.com
+weblj.com
+webng.com
 webpark.pl
+webpollcentral.com
+webqk.com
+webqw.com
 webrank.cn
 websitedesigningpromotion.com
+websiteinfo.net
 weddings-info.com
 weddings-links.com
 weekend-cialis
 weighlessrx.com
 weight-loss-central.org
 weight-loss-links.net
+weightlossonlinepills.com
 weightlossplace.net
 weitere-stellenangebote.de
+weknowterminsurance.com
 wellness-getraenk.de
+westerncatv.com
+westvalleyhigh.us
 wet-4all.com
 wet-pantie.net
 wet-pussy.us
+wetpaint.com
 wethorny.com
+wetupn.org
+wfmtintroductions.com
+wfnx.com
 whackingpud.com
+what-does-phentermine-do-top-deals.info
+white-pills.com
 white-shadow-nasty-story.blogspot.com
 whitehouse.com
 whizzkidsuk.co.uk
 wholesalepocketbike.com
+whvc.net
+wielun.pl
+wikinn.ru
+wikipatterns.com
 wild-porno-girls.com
+wildpartythemusical.com
 willcommen.de
+win-2005.com
+win-fix.com
 win-in-poker.com
+win-poker-games.com
 wincmd.ru
 wincrestal.com
 windcomesdown.com
+winning-e-poker.com
+winwinnow1.com
 wirenorth.com
 wiset-online.com
 wisskie.cx
 witch-watch.com
 witz-net.de
 wizardsoul.com
+wkelleylucas.com
 woodyracing.co.uk
+wordoctor.com
+wordpress.com
+wordsofmine.com
 workfromhome-homebasedbusiness.com
 world-candle.com
 world-cheese.com
+world-credit-card.com
+world-ofn.org
+world-poker-tour-1998.com
 world-series-of-poker-1996.com
+worldfq.com
+worldll.com
 worldmusic.com
 worldsexi.com
+worlduu.com
+worldvb.com
 worldwide-deals.net
 worldwide-games.net
 worldwide-holdem.com
 worldwide-online-pharmacy.net
 worldwide-sources.com
 worldwidecasinosearch.com
+worldya.com
 wotcher.de
+wow-insurance.com
+wow-poker.com
+wox.cc
+ws-op.com
+wslp24.com
+wso2.org
+wsop-allabout.com
+wszystkie-projekty.pl
+wtcsites.com
+www-keylogger.com
 www-sesso     # Catchall for many spam sites
 www-webspace.de
 x-baccarat.com
@@ -3030,6 +5043,7 @@
 x-craps.us
 x-fioricet.com
 x-free-casino-games.com
+x-hack.ru
 x-internet-casino.com
 x-jack.us
 x-pictures.net
@@ -3044,9 +5058,14 @@
 x-stories.org
 x-video-poker.com
 x-video-poker.us
+x10.mx
+x10hosting.com
 xadulthosting.com
 xadultpersonals.com
+xanga.com
 xaper.com
+xdietpill.com
+xdietpills.com
 xdolar.com
 xfreehosting.com
 xgsm.org
@@ -3056,7 +5075,11 @@
 xlboobs.net
 xmilf.us
 xmix.net
+xmlguy.com
+xn--c1ab0c.net
+xnnov.ru
 xnxxx.com
+xonlinepokerroom.com
 xpictx.com
 xprescription.com
 xprv.com
@@ -3080,40 +5103,79 @@
 xxx-spanking-story.blogspot.com
 xxx-stories.net
 xxx-story.blogspot.com
+xxx.org
 xxxchan.com
 xxxseeker.com
 xxxwashington.com
 xz9.com
+y2kwhistlestop.com
+yabeda.net
 yaboo.dk
+yachtdurak.com
 yaninediaz.com
+yazow.com
 ybuano.org
+ydilo.ru
 yellowmonkey.com
 yellowmonkey2.com
 yellowmonkey55.com
 yelucie.com
 yisosky.vip.sina.com
 ymf.name
+yoasobi.co.jp
 yoga-mats.freeservers.com
+yolasite.com
 yoll.net
 you-date.com
 young-ass.us
+youngnakednude.net
+your-sport-betting.com
 your-tattoo.de
+yourda4a.info
 yourcialis.info
 yourdentalinsuranceonline.com
+yourestate.info
+yourfreehosting.net
+yourlipstickhome.com
+yourmeditationcenter.com
 yourowncolours.co.uk
+yourpsychic.net
+yours-cash.com
+yours-credit-card.com
+yours-credit.com
+yours-loans.com
+yours-poker.info
 yourserver.com
+yoursite.com
+yourwincasino.com
+yourzoloft.com
+youtube.com
 ypoker.net
 yubatech.com
 yukka.inc.ru
+yuku.com
+yunzarestaurant.com
 zalaszentgrot.com
+zalogdamascus.ru
 zaotao.com
+zapto.org
+zaraq.cn
+zazaporevo.co.tv
 zazlibrary.com
+zazzle.com
+zehnders.cn
+zelmira.cn
 zenno.info
+zenxengine.cn
+zeppenfeld.cn
+zetaboards.com
 zfgfz.net
+zindagi.us
 zipcodedownload.com
 zipcodesmap.com
 zithromax-online.net
 zj.com
+zonderbkrtoetsinglenen.nl
 zone-b51.com
 zoo-sex-pics.com
 zoo-sex.biz
@@ -3123,11 +5185,23 @@
 zoofil.com
 zoofilia-fotos.com
 zoomaniz.flnet.org
+zoomers.cn
 zoosex-motion-videos.com
 zoosex-pictures.com
 zoosx.net
+zotth.cn
+zowada.cn
 zpics.net
 zt148.com
+zubba.cn
+zugeritten.cn
+zukav.cn
 zum-bestpreis.de
+zuzanna.cn
 zweree.com
+zwitech.com
+zxq.net
 zxyzxy.com
\ No newline at end of file
+zymichost.com
+zz.tc
+zzl.org
\ No newline at end of file
diff -u -b -r D:\awstats-7.0-mod\/wwwroot/cgi-bin/lib/browsers.pm D:\AWStats70t_Jpn/wwwroot/cgi-bin/lib/browsers.pm
--- D:\awstats-7.0-mod\/wwwroot/cgi-bin/lib/browsers.pm	2011-02-03 16:30:29.848377500 +0900
+++ D:\AWStats70t_Jpn/wwwroot/cgi-bin/lib/browsers.pm	2010-12-24 16:40:54.187500000 +0900
@@ -4,6 +4,7 @@
 # you must add an entry in BrowsersSearchIDOrder and in BrowsersHashIDLib.
 #-------------------------------------------------------
 # $Revision: 1.66 $ - $Author: manolamancha $ - $Date: 2010/05/17 12:35:58 $
+# Modified by makoto_hobbit 2010.12.17
 
 # 2006-05-15 Sean Carlos http://www.antezeta.com/awstats.html
 # 				akregator (rss)
@@ -43,6 +44,14 @@
 # Note: Regex IDs are in lower case and ' ' and '+' are changed into '_'
 #-------------------------------------------------------
 @BrowsersSearchIDOrder = (
+# Japanese Browsers
+# Added by Ryu 2007.01.06
+'avant\sbrowser',
+'sleipnir',
+'lunascape',
+'j\-phone',
+'softbank',
+'kddi',
 # Most frequent standard web browsers are first in this list except the ones hardcoded in awstats.pl:
 # firefox, opera, chrome, safari, konqueror, svn, msie, netscape
 'elinks',
@@ -148,6 +157,15 @@
 'xine',
 'xmms',
 'gstreamer',
+# RSS Readers added by Makoto Takahashi
+'apple\-pubsub',
+'fenrir\_headline\-reader',
+'goo\srss\sreader',
+'headline\-reader',
+'movabletype',
+'mt\-rssfeed',
+'rssbar',
+'webryreader',
 # RSS Readers
 'abilon',
 'aggrevator',
@@ -260,6 +278,14 @@
 # List of browser's name ('browser id in lower case', 'browser text')
 #---------------------------------------------------------------
 %BrowsersHashIDLib = (
+# Japanese Browsers
+# Added by Ryu 2007.01.06
+'avant\sbrowser','Avant Browser',
+'sleipnir','Sleipnir',
+'lunascape','Lunascape',
+'j\-phone','Vodafone (Non-3G)',
+'softbank','Softbank (3G)',
+'kddi','au by KDDI (HTML Compatible)',
 # Common web browsers text, included the ones hard coded in awstats.pl
 # firefox, opera, chrome, safari, konqueror, svn, msie, netscape
 'firefox','Firefox',
@@ -289,7 +315,7 @@
 'charon', 'Charon',
 'donzilla','Donzilla',
 'seamonkey','SeaMonkey',
-'flock','Flock',
+'flock','<a href="http://flock.com" title="Browser home page">Flock</a>',
 'minefield','Minefield (Firefox 3.0 development)',
 'bonecho','BonEcho (Firefox 2.0 development)',
 'granparadiso','GranParadiso (Firefox 3.0 development)',
@@ -374,6 +400,15 @@
 'xine','Xine, a free multimedia player (media player)',
 'xmms','XMMS (media player)',
 'gstreamer','GStreamer (media library)',
+# RSS Readers added by Makoto Takahashi
+'apple\-pubsub','<a href="http://www.apple.com/jp/macosx/features/safari.html" title="Browser home page">Apple-PubSub (RSS Reader)</a>',
+'fenrir\_headline\-reader','Fenrir Headline-Reader Plugin',
+'goo\srss\sreader','Goo_RSS_Reader',
+'headline\-reader', 'Headline-Reader (RSS Reader)',
+'movabletype','MovableType (RSS Reader)',
+'mt\-rssfeed','mt-rssfeed (RSS Reader)',
+'rssbar','RssBar (RSS Reader)',
+'webryreader','WebryReader (RSS Reader)',
 # RSS Readers
 'abilon','Abilon (RSS Reader)',
 'aggrevator', 'Aggrevator (RSS Reader)',
@@ -508,6 +543,15 @@
 # file for this browser.
 #---------------------------------------------------------------------------
 %BrowsersHashIcon = (
+# Japanese Browsers
+# Added by Ryu 2007.01.06
+'avant\sbrowser','avant',
+'sleipnir','sleipnir',
+'lunascape','lunascape',
+'j\-phone','vodafone',
+'softbank','softbank',
+'kddi','au',
+'vodafone','vodafone',
 # Common web browsers text, included the ones hard coded in awstats.pl
 # firefox, opera, chrome, safari, konqueror, svn, msie, netscape
 'firefox','firefox',
@@ -592,6 +636,16 @@
 'xaudio','mediaplayer',
 'xine','mediaplayer',
 'xmms','mediaplayer',
+# RSS Readers added by Makoto Takahashi
+'apple\-pubsub', 'rss',
+'applesyndication', 'rss',
+'fenrir\_headline\-reader','rss',
+'goo\srss\sreader', 'rss',
+'headline\-reader', 'rss',
+'movabletype', 'rss',
+'mt\-rssfeed','rss',
+'rssbar','rss',
+'webryreader','rss',
 # RSS Readers
 'abilon', 'abilon',
 'aggrevator', 'rss',
@@ -691,49 +745,90 @@
     '74' 		=> '1.0b2',
     '85'        => '1.0',
 	'85.5'      => '1.0',
+'85.6'=>'1.0.1',
 	'85.7'      => '1.0.2',
 	'85.8'      => '1.0.3',
 	'85.8.1'    => '1.0.3',
+'85.8.5'=>'1.0.3',
 	'100'       => '1.1',
 	'100.1'     => '1.1.1',
+'125'=>'1.2',
+'125.1'=>'1.2',
 	'125.7'     => '1.2.2',
 	'125.8'     => '1.2.2',
 	'125.9'     => '1.2.3',
 	'125.11'    => '1.2.4',
 	'125.12'    => '1.2.4',
+'148'=>'1.3',
+'168'=>'1.3',
+'188'=>'1.3',
 	'312'       => '1.3',
 	'312.3'     => '1.3.1',
 	'312.3.1'   => '1.3.1',
+'312.3.3'=>'1.3.1',
 	'312.5'     => '1.3.2',
 	'312.6'     => '1.3.2',
+'321.3.3'=>'1.3.2',
 	'412'       => '2.0',
 	'412.2'     => '2.0',
 	'412.2.2'   => '2.0',
 	'412.5'     => '2.0.1',
 	'413'       => '2.0.1',
+'416.11'=>'2.0.2',
 	'416.12'    => '2.0.2',
 	'416.13'    => '2.0.2',
+'417.2'=>'2.0.3',
 	'417.8'     => '2.0.3',
+'417.9'=>'2.0.3',
 	'417.9.2'   => '2.0.3',
 	'417.9.3'   => '2.0.3',
 	'419.3'     => '2.0.4',
+'420'=>'2.0.4',
+'521.24'=>'3.0',
+'522'=>'3.0',
+'522.5'=>'3.0',
+'522.11'=>'3.0',
 	'522.11.3'  => '3.0',
 	'522.12'    => '3.0.2',
 	'523.10'    => '3.0.4',
 	'523.12'    => '3.0.4',
+'522.12.1'=>'3.0.3',
+'522.12.2'=>'3.0.1',
+'522.13.1'=>'3.0.2',
+'522.15.5'=>'3.0.3',
 	'525.13'    => '3.1',
+'523.13.2'=>'3.0.4',
+'523.15'=>'3.0.4',
+'525.13'=>'3.1',
+'525.13.3'=>'3.1',
 	'525.17'    => '3.1.1',
+'525.18'=>'3.1.1',
+'525.19'=>'3.1.1',
 	'525.20'    => '3.1.1',
 	'525.20.1'  => '3.1.2',
 	'525.21'    => '3.1.2',
 	'525.22'    => '3.1.2',
 	'525.26'    => '3.2',
+'525.26.12'=>'3.2',
 	'525.26.13' => '3.2',
 	'525.27'    => '3.2.1',
 	'525.27.1'  => '3.2.1',
+'525.28'=>'3.2.3',
+'525.28.1'=>'3.2.3',
+'525.28.3'=>'3.2.3',
+'525.29'=>'3.2.3',
 	'526.11.2'  => '4.0',
 	'528.1'     => '4.0',
-	'528.16'    => '4.0'
+'528.7'=>'4.0',
+'528.8'=>'4.0',
+	'528.16'    => '4.0',
+'528.17'=>'4.0',
+'530.0'=>'4.0',
+'530.1'=>'4.0',
+'530.5'=>'4.0',
+'530.11'=>'4.0',
+'530.17'=>'4.0',
+'530.18'=>'4.001'
 );
 
 
Only in D:\AWStats70t_Jpn/wwwroot/cgi-bin/lib: domains-en.pm
Only in D:\AWStats70t_Jpn/wwwroot/cgi-bin/lib: domains-jp.pm
Only in D:\awstats-7.0-mod\/wwwroot/cgi-bin/lib: domains.pm
Only in D:\AWStats70t_Jpn/wwwroot/cgi-bin/lib: mime-en.pm
Only in D:\AWStats70t_Jpn/wwwroot/cgi-bin/lib: mime-jp.pm
Only in D:\awstats-7.0-mod\/wwwroot/cgi-bin/lib: mime.pm
diff -u -b -r D:\awstats-7.0-mod\/wwwroot/cgi-bin/lib/operating_systems.pm D:\AWStats70t_Jpn/wwwroot/cgi-bin/lib/operating_systems.pm
--- D:\awstats-7.0-mod\/wwwroot/cgi-bin/lib/operating_systems.pm	2011-02-03 16:33:01.989002500 +0900
+++ D:\AWStats70t_Jpn/wwwroot/cgi-bin/lib/operating_systems.pm	2010-12-17 14:52:25.328125000 +0900
@@ -4,7 +4,7 @@
 # you must add an entry in OSSearchIDOrder, in OSHashID and in OSHashLib.
 #-------------------------------------------------------
 # $Revision: 1.31 $ - $Author: eldy $ - $Date: 2010/08/04 10:55:08 $
-
+# ホビット 2010/12/17
 # 2005-08-19 Sean Carlos http://www.antezeta.com/awstats.html
 #              - added specific Linux distributions in addition to
 #              the generic Linux.
@@ -117,6 +117,7 @@
 'microsoft',									# Pushed down to prevent mis-identification
 'msie[_+ ]',									# by other OS spoofers.
 'ms[_+ ]frontpage',
+'sleipnir',
 'windows'
 );
 
@@ -142,6 +143,7 @@
 'microsoft','winunknown',
 'msie[_+ ]','winunknown',
 'ms[_+ ]frontpage','winunknown',
+'sleipnir','winunknown',
 # Macintosh OS family
 'mac[_+ ]os[_+ ]x','macosx', 'vienna', 'macosx', 'newsfire', 'macosx', 'applesyndication', 'macosx',
 'mac[_+ ]?p','macintosh','mac[_+ ]68','macintosh','macweb','macintosh','macintosh','macintosh',
@@ -200,7 +202,7 @@
 'cp/m','cp/m',
 'crayos','crayos',
 'dreamcast','dreamcast',
-'iphone[_+ ]os','ios',
+'iphone','ios',
 'risc[_+ ]?os','riscos',
 'symbian','symbian',
 'webtv','webtv',
@@ -228,35 +230,35 @@
 'win95','<a href="http://support.microsoft.com/ph/7864" title="Windows 95 support page">Windows 95</a>',
 'win16','<a href="http://www.microsoft.com/windows/WinHistoryDesktop.mspx#E1B" title="Windows 3.xx history page">Windows 3.xx</a>',
 'wince','<a href="http://www.microsoft.com/windowsmobile/" title="Windows Mobile home page">Windows Mobile</a>',
-'winunknown','Windows (unknown version)',
+'winunknown',"Windows ($Message[213])",
 'winxbox','<a href="http://www.xbox.com" title="Microsoft XBOX home page">Microsoft XBOX</a>',
 # Macintosh OS
 'macosx','<a href="http://www.apple.com/macosx/" title="Mac OS X home page">Mac OS X</a>',
 'macintosh','<a href="http://www.apple.com" title="Mac OS home page">Mac OS</a>',
 # Linux
 'linuxandroid','<a href="http://code.google.com/android/" title="Google Android home page">Google Android</a>',
-'linuxasplinux','<a href="http://www.asplinux.ru" title="ASPLinux home page">ASPLinux</a>',
+'linuxasplinux','<a href="http://www.asplinux.ru/" title="ASPLinux home page">ASPLinux</a>',
 'linuxcentos','<a href="http://www.centos.org" title="Centos home page">Centos</a>',
 'linuxdebian','<a href="http://www.debian.org" title="Debian home page">Debian</a>',
 'linuxfedora','<a href="http://fedora.redhat.com" title="Fedora home page">Fedora</a>',
 'linuxgentoo','<a href="http://www.gentoo.org" title="Gentoo home page">Gentoo</a>',
 'linuxmandr','<a href="http://www.mandriva.com" title="Mandriva (former Mandrake) home page">Mandriva (or Mandrake)</a>',
-'linuxmomonga','<a href="http://www.momonga-linux.org" title="Momonga Linux home page">Momonga Linux</a>',
-'linuxpclinuxos','<a href="http://www.pclinuxos.com" title="PCLinuxOS home page">PCLinuxOS</a>',
+'linuxmomonga','<a href="http://www.momonga-linux.org/" title="Momonga Linux home page">Momonga Linux</a>',
+'linuxpclinuxos','<a href="http://www.pclinuxos.com/" title="PCLinuxOS home page">PCLinuxOS</a>',
 'linuxredhat','<a href="http://www.redhat.com" title="Red Hat home page">Red Hat</a>',
 'linuxsuse','<a href="http://www.novell.com/linux/suse/" title="Suse home page">Suse</a>',
 'linuxubuntu','<a href="http://www.ubuntulinux.org" title="Ubuntu home page">Ubuntu</a>',
 'linuxvector','<a href="http://vectorlinux.com" title="VectorLinux home page">VectorLinux</a>',
 'linuxvine','<a href="http://www.vinelinux.org/index-en.html" title="Vine Linux home page">Vine Linux</a>',
-'linuxwhitebox','<a href="http://whiteboxlinux.org" title="White Box Linux home page">White Box Linux</a>',
-'linuxzenwalk','<a href="http://www.zenwalk.org" title="Zenwalk GNU Linux home page">Zenwalk GNU Linux</a>',
-'linux','<a href="http://www.distrowatch.com" title="Linux DistroWatch home page. Useful if you find the associated user agent string in your logs.">Linux (Unknown/unspecified)</a>',
-'linux','GNU Linux (Unknown or unspecified distribution)',
+'linuxwhitebox','<a href="http://whiteboxlinux.org/" title="White Box Linux home page">White Box Linux</a>',
+'linuxzenwalk','<a href="http://www.zenwalk.org/" title="Zenwalk GNU Linux home page">Zenwalk GNU Linux</a>',
+'linux',"<a href=\"http://www.distrowatch.com\" title=\"Linux DistroWatch home page. Useful if you find the associated user agent string in your logs.\">Linux ($Message[212])</a>",
+'linux',"GNU Linux ($Message[212])",
 # Hurd
 'gnu','<a href="www.gnu.org/software/hurd/hurd.html" title="GNU Hurd home page">GNU Hurd</a>',
 # BSDs
 'bsdi','<a href="http://en.wikipedia.org/wiki/BSDi" title="BSDi home page">BSDi</a>',
-'bsdkfreebsd','<a href="http://www.debian.org/ports/kfreebsd-gnu/" title="Debian GNU/kFreeBSD" target="_blank">GNU/kFreeBSD</a>',
+'bsdkfreebsd','<a href="http://www.debian.org/ports/kfreebsd-gnu/" title="Debian GNU/kFreeBSD">GNU/kFreeBSD</a>',
 'freebsd','<a href="http://www.freebsd.org" title="FreeBSD home page">FreeBSD</a>',    # For backard compatibility
 'bsdfreebsd','<a href="http://www.freebsd.org" title="FreeBSD home page">FreeBSD</a>',
 'openbsd','<a href="http://www.openbsd.org" title="OpenBSD home page">OpenBSD</a>',    # For backard compatibility
@@ -270,7 +272,7 @@
 'irix','<a href="http://www.sgi.com/products/software/irix/" title="Irix home page">Irix</a>',
 'osf','<a href="http://www.tru64.org" title="OSF Unix home page">OSF Unix</a>',
 'hp\-ux','<a href="http://www.hp.com/products1/unix/operating/" title="HP UX home page">HP UX</a>',
-'unix','Unknown Unix system',
+'unix',"$Message[214]",
 # Other famous OS
 'beos','<a href="http://www.beincorporated.com" title="BeOS home page">BeOS</a>',
 'os/2','<a href="http://www.ibm.com/software/os/warp/" title="OS/2 home page">OS/2</a>',
@@ -278,12 +280,12 @@
 'atari','<a href="http://www.atarimuseum.com/computers/computers.html" title="Atari home page">Atari</a>',
 'vms','<a href="http://h71000.www7.hp.com" title="VMS home page">VMS</a>',
 'commodore','<a href="http://en.wikipedia.org/wiki/Commodore_64" title="Commodore 64 wikipedia page">Commodore 64</a>',
-'j2me','<a href="http://mobile.java.com" title="Java Mobile home page">Java Mobile</a>',
-'java','<a href="http://www.java.com" title="Java home page">Java</a>',
+'j2me','<a href="http://mobile.java.com/" title="Java Mobile home page">Java Mobile</a>',
+'java','<a href="http://www.java.com/" title="Java home page">Java</a>',
 'qnx','<a href="http://www.qnx.com/products/neutrino_rtos/" title="QNX home page">QNX</a>',
 'inferno','<a href="http://www.vitanuova.com/inferno/" title="Inferno home page">Inferno</a>',
-'palmos','<a href="http://www.palm.com" title="Palm OS home page">Palm OS</a>',
-'syllable','<a href="http://www.syllable.org" title="Syllable home page">Syllable</a>',
+'palmos','<a href="http://www.palm.com/" title="Palm OS home page">Palm OS</a>',
+'syllable','<a href="http://www.syllable.org/" title="Syllable home page">Syllable</a>',
 # Miscellanous OS
 'blackberry','BlackBerry',
 'cp/m','<a href="http://www.digitalresearch.biz/CPM.HTM" title="CP/M home page">CP/M</a>',
diff -u -b -r D:\awstats-7.0-mod\/wwwroot/cgi-bin/lib/robots.pm D:\AWStats70t_Jpn/wwwroot/cgi-bin/lib/robots.pm
--- D:\awstats-7.0-mod\/wwwroot/cgi-bin/lib/robots.pm	2011-02-03 15:42:28.770252500 +0900
+++ D:\AWStats70t_Jpn/wwwroot/cgi-bin/lib/robots.pm	2010-12-17 14:59:47.281250000 +0900
@@ -4,6 +4,7 @@
 # you must add an entry in RobotsSearchIDOrder_listx and RobotsHashIDLib.
 #-------------------------------------------------------
 # $Revision: 1.62 $ - $Author: manolamancha $ - $Date: 2010/04/30 14:02:44 $
+# Modified by makoto_hobbit　ホビット 2010.12.17
 
 # 2005-08-19 Sean Carlos http://www.antezeta.com/awstats.html
 #              added dipsie (not tested with real data).
@@ -332,22 +333,167 @@
 # Note: Robots IDs are in lower case, '_', ' ' and '+' are changed into '[_+ ]' and are quoted.
 #-------------------------------------------------------
 @RobotsSearchIDOrder_list1 = (
+# Japanese Robots+alpha
+# Added by Ryu 2007.01.06
+'another_html\-lint',
+'adsenserbot',
+'adsbot\-google',
+'amfibibot',
+'baiduimagespider',
+'baidumobaider',
+'becomejpbot',
+'bibliotheca',
+'bingbot',
+'bizpal\srss\saggregator',
+'bookmark\srenewal\scheck\sagent',
+'camelstampede',
+'camontspider',
+'cazoodlebot',
+'charlotte',
+'coast\swebmaster',
+'cococ',
+'comaneci_bot',
+'crooz',
+'daumoa',
+'dealgates\sbot',
+'depspid\/',
+'diffbrowser\/',
+'discobot\/',
+'dotbot',
+'ec_favorite',
+'empas_robot',
+'e\-societyrobot',
+'everyfeed-spider',
+'faedit\/',
+'fast\smetaweb\scrawler',
+'fastladder\sfeedfetcher',
+'feed24\.com',
+'feedbringer',
+'feedchecker',
+'feed\sparser',
+'feedpath',
+'feedshow',
+'fly\/',
+'freshreader',
+'fsbot',
+'g10\sreader',
+'gingercrawler',
+'goorssreader',
+'grub\-client',
+'gsa\-crawler',
+'hailoobot',
+'hatena',
+'headline\-reader',
+'hobbit\sbbtest\-net',
+'html\sget',
+'hyperestraier',
+'hyperrobot',
+'icc\-crawler',
+'ilissurf',
+'indexpert',
+'internal\sdummy\sconnection',
+'jetbot',
+'just\-crawler',
+'kb\.rmail',
+'keybot',
+'keywalkerbot',
+'klsh\-pageget\/',
+'kotoha\.co\.jp',
+'libghttp\/',
+'linguee\sbot',
+'livedoorcheckers',
+'livedoor\sfeedfetcher',
+'livedoor\sscreenshot\/',
+'livedoor\shttpclient\/',
+'logict\sipv6\scrawler\/',
+'maldive\scrawler',
+'masagool',
+'maxamine\.com\-robot',
+'mfcrawler',
+'mogimogi\/',
+'metalogger',
+'mlbot',
+'mqbot',
+'msr\-isrccrawler',
+'multicrawler',
+'naver',
+'niyonizer',
+'ndl\-japan\-research\-robot',
+'netresearchserver',
+'nettracker',
+'netvibes',
+'newsalloy',
+'^obot',
+'onetszukaj',
+'openbot',
+'oracle\ssecure\senterprise\ssearch',
+'outfoxbot',
+'page_verifier',
+'pear\shttp_request\sclass',
+'paipo\-bot',
+'pathtraq',
+'pingdom\sgigrib',
+'pipeliner',
+'playon\srss\sreader\/',
+'pockey\-gethtml',
+'protopage\/',
+'purebot\/',
+'research\-spider',
+'search\-hp_bot',
+'seo\.cug\.net\slink\schecker',
+'shopwiki\/',
+'sitesucker',
+'smart\.apnoti\.com',
+'snapbot',
+'snoopy\sv',
+'sogou\sweb\sspider',
+'sonar\/', #Added by toshi 2006.04.09
+'sonarplus\/',
+'spamrobot@126\.com',
+'^spider\/',
+'sproose\/',
+'stackrambler',
+'strategic\sboard\sbot',
+'statbot@gmail\.com',
+'technoratisnoop',
+'techrigybot',
+'tencenttraveler', # Must be before msiecrawler
+'toread\-crawler\/',
+'trackback\/',
+'umn\/',
+'useragent',
+'w3crobot',
+'wadaino\.jp\-crawler',
+'webalta',
+'webauto',
+'webaroobot',
+'webdigity\swhois\sservice',
+'website\sexplorer',
+'wish\-la',
+'wish\-project',
+'wiwi',
+'wwwster\/',
+'yahoo!-adcrawler',
+'yeti\/',
+'zao\-crawler',
+'zibber',
+'^-$',
 # Common robots (In robot file)
 'appie',
 'architext',
-'jeeves',
+'jeeves\/',
 'bjaaland',
 'contentmatch',
 'ferret',
 'googlebot',
 'google\-sitemaps',
 'gulliver',
-'virus[_+ ]detector',		# Must be before harvest
+'virus\_detector',		# Must be before harvest
 'harvest',
 'htdig',
 'linkwalker',
 'lilina',
-'lycos[_+ ]',
+'lycos_',
 'moget',
 'muscatferret',
 'myweb',
@@ -497,7 +643,7 @@
 'kapsi',
 'katipo',
 'kilroy',
-'ko[_+ ]yappo[_+ ]robot',
+'ko_yappo_robot',
 'kummhttp',
 'labelgrabber\.txt',
 'larbin',
@@ -583,7 +729,7 @@
 'snooper',
 'solbot',
 'speedy',
-'spider[_+ ]monkey',
+'spider_monkey',
 'spiderbot',
 'spiderline',
 'spiderman',
@@ -674,8 +820,8 @@
 'betabot',
 'biglotron',
 'bittorrent_bot',
-'biz360[_+ ]spider',
-'blogbridge[_+ ]service',
+'biz360\sspider',
+'blogbridge\sservice',
 'bloglines',
 'blogpulse',
 'blogsearch',
@@ -688,9 +834,9 @@
 'bookmark\-manager',
 'boris',
 'bumblebee',
-'candlelight[_+ ]favorites[_+ ]inspector',
+'candlelight\_favorites\_inspector',
 'cbn00glebot',
-'cerberian_drtrs',
+'cerberian\sdrtrs',
 'cfnetwork',
 'cipinetbot',
 'checkweb_link_validator',
@@ -719,7 +865,7 @@
 'edgeio\-retriever',
 'ets_v',
 'exactseek',
-'extreme[_+ ]picture[_+ ]finder',
+'extreme\_picture\_finder',
 'eventax',
 'everbeecrawler',
 'everest\-vulcan',
@@ -729,7 +875,7 @@
 'fast_enterprise_crawler.*crawleradmin\.t\-info@telekom\.de',
 'fast_enterprise_crawler.*t\-info_bi_cluster_crawleradmin\.t\-info@telekom\.de',
 'matrix_s\.p\.a\._\-_fast_enterprise_crawler', # must come before fast enterprise crawler
-'fast_enterprise_crawler',
+'fast\senterprise\scrawler',
 'fast\-search\-engine',
 'favicon',
 'favorg',
@@ -762,7 +908,7 @@
 'hoowwwer',
 'hpprint',
 'htmlparser',
-'html[_+ ]link[_+ ]validator',
+'html\_link\_validator',
 'httrack',
 'hundesuche\.com\-bot',
 'ichiro',
@@ -771,14 +917,14 @@
 'infociousbot',
 'infomine',
 'insurancobot',
-'internet[_+ ]ninja',
+'internet\_ninja',
 'internetarchive',
 'internetseer',
 'internetsupervision',
 'irlbot',
 'isearch2006',
 'iupui_research_bot',
-'jrtwine[_+ ]software[_+ ]check[_+ ]favorites[_+ ]utility',
+'jrtwine\_software\_check\_favorites\_utility',
 'justview',
 'kalambot',
 'kamano\.de_newsfeedverzeichnis',
@@ -810,7 +956,7 @@
 'mediapartners\-google',
 'megite',
 'metaspinner',
-'microsoft[_+ ]url[_+ ]control',
+'microsoft\surl\scontrol',
 'mini\-reptile',
 'minirank',
 'missigua_locator',
@@ -820,7 +966,7 @@
 'mj12bot',
 'mojeekbot',
 'msiecrawler',
-'ms_search_4\.0_robot',
+'ms\ssearch\s4\.0\srobot',
 'msrabot',
 'msrbot',
 'mt::telegraph::agent',
@@ -839,8 +985,8 @@
 'nutch',  # Must come after other nutch versions
 'ocelli',
 'octora_beta_bot',
-'omniexplorer[_+ ]bot',
-'onet\.pl[_+ ]sa',
+'omniexplorer\_bot',
+'onet\.pl\_sa',
 'onfolio',
 'opentaggerbot',
 'openwebspider',
@@ -852,7 +998,7 @@
 'pear_http_request_class',
 'peerbot',
 'perman',
-'php[_+ ]version[_+ ]tracker',
+'php\sversion\stracker',
 'pictureofinternet',
 'ping\.blo\.gs',
 'plinki',
@@ -875,9 +1021,9 @@
 'sbider',
 'schizozilla',
 'scumbot',
-'searchguild[_+ ]dmoz[_+ ]experiment',
+'searchguild\_dmoz\_experiment',
 'seekbot',
-'sensis_web_crawler',
+'sensis\sweb\scrawler',
 'seznambot',
 'shim\-crawler',
 'shoutcast',
@@ -886,7 +1032,7 @@
 'sohu\-search',
 'sohu', # "sohu agent"
 'snappy',
-'sphere_scout',
+'sphere\sscout',
 'spip',
 'sproose_crawler',
 'steeler',
@@ -901,7 +1047,7 @@
 'tcl_http_client_package',
 'technoratibot',
 'teragramcrawlersurf',
-'test_crawler',
+'test\scrawler',
 'testbot',
 't\-h\-u\-n\-d\-e\-r\-s\-t\-o\-n\-e',
 'topicblogs',
@@ -924,7 +1070,7 @@
 'vortex',
 'vse\/',
 'w3c\-checklink',
-'w3c[_+ ]css[_+ ]validator[_+ ]jfouffa',
+'w3c\_css\_validator\_jfouffa',
 'w3c_validator',
 'watchmouse',
 'wavefire',
@@ -936,14 +1082,14 @@
 'webfilter',
 'webindexer',
 'webminer',
-'website[_+ ]monitoring[_+ ]bot',
+'website\_monitoring\_bot',
 'webvulncrawl',
 'wells_search',
 'wonderer',
 'wume_crawler',
 'wwweasel',
 'xenu\'s_link_sleuth',
-'xenu_link_sleuth',
+'xenu\slink\ssleuth',
 'xirq',
 'y!j', # Must come after keyoshid Y!J
 'yacy',
@@ -968,8 +1114,11 @@
 'exabot',  # put at end to avoid false positive
 # Other id that are 99% of robots
 'wget',
-'libwww',
-'java\/[0-9]'   # put at end to avoid false positive
+'libwww\-perl',
+'w3c\-webcon',
+'lwp',
+'java\/[0-9]',  # put at end to avoid false positive
+'uri::fetch'
 );
 @RobotsSearchIDOrder_listgen = (
 # Generic robot
@@ -992,22 +1141,167 @@
 # List of robots names ('robot id','robot clear text')
 #-------------------------------------------------------
 %RobotsHashIDLib   = (
+# Japanese Robots+alpha
+# Added by Ryu 2006.03.15
+'another_html\-lint','Another HTML-lint',
+'adsenserbot','<a href="http://adsenser.jp">AdSenserBot</a>',
+'adsbot\-google','<a href="http://www.google.com/adsbot.html">Google AdWords Bot</a>',
+'amfibibot','Amfibibot',
+'baiduimagespider','<a href="http://www.baidu.com/search/spider.html">BaiduImageSpider</a>',
+'baidumobaider','<a href="http://www.baidu.jp/spider/">BaiduMobaider</a>',
+'becomejpbot','<a href="http://www.become.co.jp/site_owner.html">BecomeJPBot</a>',
+'bibliotheca','<a href="http://www.hitachi.co.jp/Prod/comp/soft1/textsearch/product/component/bib21/">Bibliotheca</a>',
+'bingbot','<a href="http://www.bing.com/bingbot.htm">Bingbot</a>',
+'bizpal\srss\saggregator','<a href="http://bizpal.jp">BizPal RSS Aggregator</a>',
+'bookmark\srenewal\scheck\sagent','<a href="http://www.bookmark.ne.jp">Bookmark Renewal Check Agent</a>',
+'camelstampede','CamelStampede',
+'camontspider','<a href="http://epweb2.ph.bham.ac.uk/user/slater/camont/info.html">CamontSpider</a>',
+'cazoodlebot','<a href="http://www.cazoodle.com">CazoodleBot</a>',
+'charlotte','<a href="http://www.searchme.com/support/">Charlotte</a>',
+'coast\swebmaster','COAST WebMaster',
+'cococ','<a href="http://am13.net/wiki/index.php?cococ">cococ</a>',
+'comaneci_bot','<a href="http://help.i-know.jp/?crawler">Comaneci bot</a>',
+'crooz','DoCoMo CROOZ',
+'daumoa','<a href="http://www.daum.net">DAUMOA</a>',
+'dealgates\sbot','<a href="http://spider.dealgates.com/bot.html">DealGates Bot</a>',
+'depspid\/','<a href="http://about.depspid.net">DepSpid</a>',
+'diffbrowser\/','<a href="http://www010.upp.so-net.ne.jp/suede/diffbrowser.html">DiffBrowser</a>',
+'discobot\/','<a href="http://discoveryengine.com/discobot.html">discobot</a>',
+'dotbot','<a href="http://www.dotnetdotcom.org">Dotbot</a>',
+'ec_favorite','eC_favorite',
+'empas_robot','EMPAS ROBOT',
+'e\-societyrobot','<a href="http://www.yama.info.waseda.ac.jp/~yamana/es/">e-SocietyRobot</a>',
+'everyfeed-spider','Everyfeed Spider',
+'faedit\/','<a href="http://www.srcw.net/wiki/index.php?FaEdit">FaEdit</a>',
+'fast\smetaweb\scrawler','<a href="http://fastsearch.com">FAST MetaWeb Crawler</a>',
+'fastladder\sfeedfetcher','<a href="http://fastladder.com">Fastladder FeedFetcher</a>',
+'feed24\.com','<a href="http://feed24.com">Feed24.com</a>',
+'feedbringer','<a href="http://feedbringer.net" title="Bot home page">FEEDBRINGER</a>',
+'feedchecker','FeedChecker',
+'feed\sparser','<a href="http://rss-search.net">Feed Parser</a>',
+'feedpath','<a href="http://feedpath.jp" title="Bot home page">Feedpath</a>',
+'feedshow','<a href="http://www.feedshow.com" title="Bot home page">Feedshow</a>',
+'fly\/','fly sinet.ad.jp',
+'freshreader','<a href="http://www.freshreader.com" title="Bot home page">FreshReader</a>',
+'fsbot','<a href="http://www.adin.co.jp/fs/">Flex Search</a>',
+'g10\sreader','<a href="http://wordg10.com" title="Bot home page">G10 Reader</a>',
+'gingercrawler','<a href="http://www.gingersoftware.com/crawler_agent.htm" title="Bot home page">GingerCrawler</a>',
+'goorssreader','goo RSS Reader',
+'grub\-client','Grub Client',
+'gsa\-crawler','<a href="http://www.google.com/enterprise/gsa/index.html" title="Bot home page">GSA Crawler</a>',
+'hailoobot','<a href="http://www.hailoo.com/spider.html" title="Bot home page">Hailoobot</a>',
+'hatena','<a href="http://a.hatena.ne.jp/help" title="Bot home page">はてなアンテナ</a>',
+'headline\-reader','Headline-Reader',
+'hobbit\sbbtest\-net','<a href="http://hobbitmon.sourceforge.net" title="Bot home page">Hobbit bbtest-net</a>',
+'html\sget','HTML Get(SPAM)',
+'hyperestraier','<a href="http://hyperestraier.sourceforge.net/index.html" title="Bot home page">HyperEstraier</a>',
+'hyperrobot','HyperRobot InfoWeb',
+'icc\-crawler','<a href="http://kc.nict.go.jp/icc/crawl-ja.html">ICC-Crawler</a>',
+'ilissurf','<a href="http://software.fujitsu.com/jp/ilis_univ/surf/" title="iLisSurf - FUJITSU Japan">iLisSurf</a>',
+'indexpert','indexpert',
+'internal\sdummy\sconnection','internal dummy connection for <a href="http://httpd.apache.org/docs/2.0/mod/mod_dav.html" title="Apache モジュール mod_dav">Apache WebDAV</a>',
+'jetbot','<a href="http://www.jetrun.jp">jetbot</a>',
+'just\-crawler','<a href="http://www.justsystems.com/jp/tech/crawler/">JUST-CRAWLER</a>',
+'kb\.rmail','<a href="http://www.r-mail.org">kb.Rmail</a>',
+'keybot','<a href="http://www.keybot.com">Keybot Translation Search Machine</a>',
+'keywalkerbot','<a href="http://www.keywalker.co.jp/crawl/bot.html">Keywalkerbot</a>',
+'klsh\-pageget\/','<a href="http://www.kondo-net.gr.jp/klsh/">KLSH-PageGet</a>',
+'kotoha\.co\.jp','コトハコ',
+'libghttp\/','libghttp(SPAM?)',
+'linguee\sbot','<a href="http://www.linguee.com">Linguee Bot</a>',
+'livedoorcheckers','Livedoor Checkers',
+'livedoor\sfeedfetcher','<a href="http://reader.livedoor.com" title="Bot home page">livedoor FeedFetcher</a>',
+'livedoor\sscreenshot\/','<a href="http://reader.livedoor.com" title="Bot home page">livedoor ScreenShot</a>',
+'livedoor\shttpclient\/','livedoor HttpClient',
+'logict\sipv6\scrawler\/','<a href="http://logict.net" title="Bot home page">Logict IPv6 Crawler</a>',
+'maldive\scrawler','Maldive crawler',
+'masagool','<a href="http://sagool.jp">MaSagool</a>',
+'maxamine\.com\-robot','maxamine.com-robot',
+'metalogger','Metalogger',
+'mfcrawler','MFcrawler',
+'mogimogi\/','mogimogi',
+'mlbot','<a href="http://www.metadatalabs.com">MLBot</a>',
+'mqbot','<a href="http://metaquerier.cs.uiuc.edu">MQbot</a>',
+'msr\-isrccrawler','MSR-ISRCCrawler',
+'multicrawler','<a href="http://sw.deri.org/2006/04/multicrawler/robots.html">MultiCrawler</a>',
+'naver','NaverBot',
+'niyonizer','NIYONIZER',
+'ndl\-japan\-research\-robot','国立国会図書館',
+'netresearchserver','<a href="http://loopimprovements.com/robot.html">Net Research Server (NRS)</a>',
+'nettracker','NetTracker',
+'netvibes','<a href="http://www.netvibes.com" title="Bot home page">Netvibes</a>',
+'newsalloy','<a href="http://www.NewsAlloy.com" title="Bot home page">NewsAlloy</a>',
+'^obot','oBot',
+'onetszukaj','<a href="http://szukaj.onet.pl">OnetSzukaj</a>',
+'openbot','Openfind data gatherer',
+'oracle\ssecure\senterprise\ssearch','Oracle Secure Enterprise Search',
+'outfoxbot','<a href="http://www.yodao.com/help/webmaster/spider/" title="YodaoBot">old OutfoxBot</a>',
+'page_verifier','<a href="http://www.securecomputing.com/PageVerifier.cfm">page_verifier</a>',
+'pear\shttp_request\sclass','<a href="http://pear.php.net">PEAR HTTP_Request class</a>',
+'paipo\-bot','<a href="http://paipo.jp">PAIPO-Bot</a>',
+'pathtraq','<a href="http://pathtraq.com/about">Pathtraq</a>',
+'pingdom\sgigrib','<a href="http://www.pingdom.com">Pingdom GIGRIB</a>',
+'pipeliner','PipeLine Spider',
+'playon\srss\sreader\/','<a href="http://playon.jp/rss/">PLAYON RSS READER</a>',
+'pockey\-gethtml','Pockey GetHTML',
+'protopage\/','<a href="http://www.protopage.com">Protopage</a>',
+'purebot\/','<a href="http://www.puritysearch.net">Purebot</a>',
+'research\-spider','<a href="http://www.freedownloadscenter.com/Network_and_Internet/Web_Searching_Tools/Research_Spider.html">Research Spider</a>',
+'search\-hp_bot','<a href="http://search-hp.com" title="Bot home page">search-hp_bot</a>',
+'seo\.cug\.net\slink\schecker','<a href="http://seo.cug.net">seo.cug.net link checker</a>',
+'shopwiki\/','<a href="http://www.shopwiki.com/wiki/Help:Bot">ShopWiki</a>',
+'sitesucker','<a href="http://www.sitesucker.us">SiteSucker</a>',
+'smart\.apnoti\.com','<a href="http://smart.apnoti.com/index/aboutApnotiWebCrawler">smart.apnoti.com Robot</a>',
+'snapbot','Snapbot',
+'snoopy\sv','<a href="http://sourceforge.net/projects/snoopy/">Snoopy</a>',
+'sogou\sweb\sspider','<a href="http://www.sogou.com/docs/help/webmasters.htm#07">Sogou web spider</a>',
+'sonar\/','<a href="http://boxer.ne.jp/product_list/sonar/">Sonar Crawler</a>', #Added by toshi 2006.04.09
+'sonarplus\/','<a href="http://boxer.ne.jp/product_list/sonar_plus/">Sonar PLUS Crawler</a>',
+'spamrobot@126\.com','126.com',
+'^spider\/','Spider',
+'sproose\/','<a href="http://www.sproose.com/bot.html" title="Bot home page">sproose bot</a>',
+'stackrambler','StackRambler',
+'statbot@gmail\.com','Gmail Com (Google)',
+'strategic\sboard\sbot','<a href="http://www.strategicboard.com" title="Bot home page">Strategic Board Bot</a>',
+'technoratisnoop','TechnoratiSnoop(SPAM?)',
+'techrigybot','<a href="http://www.techrigy.com" title="Bot home page">TechrigyBot</a>',
+'tencenttraveler','TencentTraveler', 	# Must be before msiecrawler.
+'toread\-crawler\/','<a href="http://news.toread.cc/crawler.php" title="Bot home page">Toread-Crawler</a>',
+'trackback\/','TrackBack(SPAM?)',
+'umn\/','<a href="http://www.nori-s.net/soft/umn/">URLマネージャ</a>',
+'useragent','USERAGENT(SPAM?)',
+'w3crobot','Webbot - the Libwww Robot',
+'wadaino\.jp\-crawler','<a href="http://wadaino.jp">話題の.jpクローラー</a>',
+'webalta','<a href="http://www.webalta.net/ru/about_webmaster.html">WebAlta Crawler</a>',
+'webauto','<a href="http://www.yanasoft.co.jp/webautodoc.html">WebAuto</a>',
+'webaroobot','<a href="http://www.webaroo.com/rooSiteOwners.html">Webaroo Bot</a>',
+'webdigity\swhois\sservice','<a href="http://www.webdigity.com/ws/">webdigity whois service</a>',
+'website\sexplorer','<a href="http://www.umechando.com/webex/">Website Explorer</a>',
+'wish\-la','<a href="http://wish.slis.tsukuba.ac.jp/jp/">Wish Project(wish la)</a>',
+'wish\-project','<a href="http://wish.slis.tsukuba.ac.jp/jp/">Wish Project</a>',
+'wiwi','<a href="http://wi2.jp">WiWi</a>',
+'wwwster\/','<a href="mailto:gue@cis.uni-muenchen.de">wwwster</a>',
+'yahoo!-adcrawler','<a href="http://help.yahoo.com/yahoo_adcrawler">Yahoo! Ad Crawler</a>',
+'yeti\/','Yeti',
+'zao\-crawler','Zao Crawler',
+'zibber','<a href="http://www.zibb.com/CrawlerInformaion.aspx">Zibb Crawler</a>',
+'^-$','-(SPAM?)',
 # Common robots (In robot file)
 'appie','<a href="http://www.walhello.com" title="Bot home page">Walhello appie</a>',
 'architext','ArchitextSpider',
-'jeeves','<a href="http://sp.ask.com/docs/about/tech_crawling.html" title="Bot home page">Ask</a>',
+'jeeves\/','<a href="http://about.ask.com/en/docs/about/webmasters.shtml" title="Bot home page">Ask</a>',
 'bjaaland','Bjaaland',
 'ferret','Wild Ferret Web Hopper #1, #2, #3',
 'contentmatch','<a href="http://p4p.cn.yahoo.com">Yahoo!China ContentMatch Crawler</a>',
 'googlebot','<a href="http://www.google.com/bot.html" title="Bot home page">Googlebot</a>',
 'google\-sitemaps', 'Google Sitemaps',
 'gulliver','Northern Light Gulliver',
-'virus[_+ ]detector','<a href="http://www.securecomputing.com" title="virus_harvester@securecomputing.com; Bot home page">virus_detector</a>',
+'virus\_detector','<a href="http://www.securecomputing.com" title="virus_harvester@securecomputing.com; Bot home page">virus_detector</a>',
 'harvest','Harvest',
 'htdig','ht://Dig',
 'linkwalker','LinkWalker',
 'lilina','Lilina',
-'lycos[_+ ]','Lycos',
+'lycos_','Lycos',
 'moget','moget',
 'muscatferret','Muscat Ferret',
 'myweb','Internet Shinchakubin',
@@ -1104,7 +1398,7 @@
 'felix','Felix IDE',
 'fetchrover','FetchRover',
 'fido','fido',
-'finnish','H���ki',
+'finnish','Hämähäkki',
 'fireball','KIT-Fireball',
 'fouineur','Fouineur',
 'francoroute','Robot Francoroute',
@@ -1127,9 +1421,9 @@
 'htmlgobble','HTMLgobble',
 'hyperdecontextualizer','Hyper-Decontextualizer',
 'iajabot','iajaBot',
-'iaskspider','<a href="http://www.iask.com" target="_blank">Sina Iask Spider</a>',
-'hl_ftien_spider','<a href="http://www.hylanda.com" target="_blank">Hylanda</a>',
-'sogou','<a href="http://www.sogou.com" target="_blank">Sogou Spider</a>',
+'iaskspider','<a href="http://www.iask.com">Sina Iask Spider</a>',
+'hl_ftien_spider','<a href="http://www.hylanda.com">Hylanda</a>',
+'sogou','<a href="http://www.sogou.com">Sogou Spider</a>',
 'iconoclast','Popular Iconoclast',
 'ilse','Ingrid',
 'imagelock','Imagelock',
@@ -1154,8 +1448,8 @@
 'kapsi','image.kapsi.net',
 'katipo','Katipo',
 'kilroy','Kilroy',
-'ko[_+ ]yappo[_+ ]robot','KO_Yappo_Robot',
-'kummhttp','<a href="http://www.psychedelix.com/cgi-bin/csv2html.pl?data=allagents.csv&template=detail.html&match=\bid_g_l_301105_2\b" title="Bot documentation page">KummHttp</a>',
+'ko_yappo_robot','KO_Yappo_Robot',
+'kummhttp','<a href="http://www.psychedelix.com/cgi-bin/csv2html.pl?data=allagents.csv&amp;template=detail.html&amp;match=\bid_g_l_301105_2\b" title="Bot documentation page">KummHttp</a>',
 'labelgrabber\.txt','LabelGrabber',
 'larbin','<a href="http://para.inria.fr/~ailleret/larbin/index-eng.html" title="Bot home page">larbin</a>',
 'legs','legs',
@@ -1211,8 +1505,8 @@
 'plumtreewebaccessor','PlumtreeWebAccessor',
 'poppi','Poppi',
 'portalb','PortalB Spider',
-'psbot','<a href="http://www.picsearch.com/bot.html" title="Bot home page" target="_blank">psbot</a>',
-'python','<a href="http://docs.python.org/library/urllib.html" title="Tools developed using a Python library" target="_blank">Python-urllib</a>',
+'psbot','<a href="http://www.picsearch.com/bot.html" title="Bot home page">psbot</a>',
+'python','<a href="http://docs.python.org/library/urllib.html" title="Tools developed using a Python library">Python-urllib</a>',
 'raven','Raven Search',
 'rbse','RBSE Spider',
 'resumerobot','Resume Robot',
@@ -1243,15 +1537,15 @@
 'snooper','Snooper',
 'solbot','Solbot',
 'speedy','<a href="http://www.entireweb.com/about/search_tech/speedyspider/" title="Speedy Spider home page">Speedy Spider</a>',
-'spider[_+ ]monkey','Spider monkey',
+'spider_monkey','Spider monkey',
 'spiderbot','SpiderBot',
 'spiderline','Spiderline Crawler',
 'spiderman','<a href="http://www.iscrawling.com" title="Spiderman home page">Spiderman</a>',
-'spiderview','SpiderView(tm)',
+'spiderview','SpiderView&trade;',
 'spry','Spry Wizard Robot',
 'ssearcher','Site Searcher',
-'sqworm','<a href="http://www.websense.com" title="Bot home page (source: http://www.pgts.com.au/)">Sqworm</a>',
-'suke','Suke',
+'sqworm','<a href="http://www.websense.com" title="Bot home page (source: http://www.pgts.com.au)">Sqworm</a>',
+'suke','<a href="http://kensaku.org" title="Bot home page">Suke</a>',
 'sunrise','<a href="http://www.sunrisexp.com" title="Sunrise home page">Sunrise</a>',
 'suntek','suntek search engine',
 'sven','Sven',
@@ -1308,7 +1602,7 @@
 'wordpress','<a href="http://wordpress.org" title="WordPress home page">WordPress</a>',
 'worm','The World Wide Web Worm',
 'woozweb','Woozweb Monitoring',
-'wwwc','WWWC Ver 0.2.5',
+'wwwc','WWWC',
 'wz101','WebZinger',
 'xget','XGET',
 # Other robots reported by users
@@ -1334,8 +1628,8 @@
 'betabot','BetaBot',
 'biglotron','<a href="http://www.biglotron.com/robot.html" title="Bot home page">Biglotron</a>',
 'bittorrent_bot','<a href="http://www.bittorrent.com" title="Bot home page">BitTorrent Bot</a>',
-'biz360[_+ ]spider','<a href="http://www.biz360.com" title="blogsmanager@biz360.com Bot home page">Biz360 spider</a>',
-'blogbridge[_+ ]service','<a href="http://www.blogbridge.com" title="Bot home page">BlogBridge Service</a>',
+'biz360\sspider','<a href="http://www.biz360.com" title="blogsmanager@biz360.com Bot home page">Biz360 spider</a>',
+'blogbridge\sservice','<a href="http://www.blogbridge.com" title="Bot home page">BlogBridge Service</a>',
 'bloglines','<a href="http://www.bloglines.com" title="Bot home page">Bloglines</a>',
 'blogpulse','<a href="http://www.intelliseek.com" title="Bot home page">BlogPulse ISSpider intelliseek.com</a>',
 'blogsearch','<a href="http://www.icerocket.com" title="Bot home page">BlogSearch</a>',
@@ -1348,9 +1642,9 @@
 'bookmark\-manager','<a href="http://bkm.sourceforge.net" title="Bookmark-Manager home page">Bookmark-Manager</a>',
 'boris', 'Boris',
 'bumblebee', 'Bumblebee (relevare.com)',
-'candlelight[_+ ]favorites[_+ ]inspector','<a href="http://www.candlelight.com/home.html" title="Candlelight_Favorites_Inspector  home page">Candlelight_Favorites_Inspector</a>',
+'candlelight\_favorites\_inspector','<a href="http://www.candlelight.com/home.html" title="Candlelight_Favorites_Inspector  home page">Candlelight_Favorites_Inspector</a>',
 'cbn00glebot','cbn00glebot',
-'cerberian_drtrs','<a href="http://www.pgts.com.au/cgi-bin/psql?robot_info=25240" title="Bot home page">Cerberian Drtrs</a>',
+'cerberian\sdrtrs','<a href="http://www.pgts.com.au/cgi-bin/psql?robot_info=25240" title="Bot home page">Cerberian Drtrs</a>',
 'cfnetwork','<a href="http://www.cocoadev.com/index.pl?CFNetwork" title="CFNetwork home page">CFNetwork</a>',
 'cipinetbot','<a href="http://www.cipinet.com/bot.html" title="CipinetBot home page">CipinetBot</a>',
 'checkweb_link_validator','<a href="http://p.duby.free.fr/chkweb.htm" title="CheckWeb link validator home page">CheckWeb link validator</a>',
@@ -1378,7 +1672,7 @@
 'edgeio\-retriever','<a href="http://www.edgeio.com" title="Bot home page">edgeio-retriever</a>',
 'ets_v','<a href="http://www.freetranslation.com/help/" title="ETS home page">ETS</a> Enterprise Translation Server',
 'exactseek','ExactSeek Crawler',
-'extreme[_+ ]picture[_+ ]finder','<a href="http://www.exisoftware.com" title="Extreme_Picture_Finder home page">Extreme_Picture_Finder</a>',
+'extreme\_picture\_finder','<a href="http://www.exisoftware.com" title="Extreme_Picture_Finder home page">Extreme_Picture_Finder</a>',
 'eventax','<a href="http://www.eventax.de" title="eventax home page">eventax</a>',
 'everbeecrawler','EverbeeCrawler',
 'everest\-vulcan','<a href="http://everest.vulcan.com/crawlerhelp" title="Bot home page">Everest-Vulcan</a>',
@@ -1386,7 +1680,7 @@
 'enteprise','<a href="http://www.fastsearch.com" title="Bot home page">Fast Enteprise Crawler</a>',
 'facebook','FaceBook bot',
 'fast\-search\-engine','<a href="http://www.fast-search-engine.com" title="Bot home page">Fast-Search-Engine</a> (not fastsearch.com)',
-'fast_enterprise_crawler','<a href="http://www.fast.no" title="FAST Enterprise Crawler home page">FAST Enterprise Crawler</a>',
+'fast\senterprise\scrawler','<a href="http://www.fast.no" title="FAST Enterprise Crawler home page">FAST Enterprise Crawler</a>',
 'fast_enterprise_crawler.*scrawleradmin\.t\-info@telekom\.de','<a href="http://www.telekom.de" title="FAST Enterprise Crawler * crawleradmin.t-info@telekom.de home page">FAST Enterprise Crawler * crawleradmin.t-info@telekom.de</a>',
 'matrix_s\.p\.a\._\-_fast_enterprise_crawler','<a href="http://tin.virgilio.it" title="Matrix S.p.A. - FAST Enterprise Crawler home page">Matrix S.p.A. - FAST Enterprise Crawler</a>',
 'fast_enterprise_crawler.*t\-info_bi_cluster_crawleradmin\.t\-info@telekom\.de','<a href="http://www.telekom.de" title="FAST Enterprise Crawler * T-Info_BI_cluster crawleradmin.t-info@telekom.de home page">FAST Enterprise Crawler * T-Info_BI_cluster crawleradmin.t-info@telekom.de</a>',
@@ -1412,32 +1706,32 @@
 'gnodspider','GNOD Spider',
 'goforit\.com','<a href="http://www.goforit.com/about/" title="GoForIt.com home page">GoForIt.com</a>',
 'goforitbot','<a href="http://www.goforit.com/about/" title="GOFORITBOT home page">GOFORITBOT</a>',
-'gonzo','<a href="http://www.suchen.de/faq.html" title="Bot home page [new windows]" target="_blank">suchen.de</a>',
+'gonzo','<a href="http://www.suchen.de/faq.html" title="Bot home page">suchen.de</a>',
 'gpu_p2p_crawler','<a href="http://gpu.sourceforge.net/search_engine.php" title="Bot home page">GPU p2p crawler</a>',
-'grub','Grub.org',
+'grub','<a href="http://www.grub.org">Grub.org</a>',
 'henrythemiragorobot', '<a href="http://www.miragorobot.com/scripts/mrinfo.asp" title="Bot home page">Mirago</a>',
 'heritrix','<a href="http://crawler.archive.org" title="(used by a few different companies) Bot home page">Heritrix</a>',
 'holmes', 'Holmes',
 'hoowwwer','<a href="http://cosco.hiit.fi/search/hoowwwer/" title="HooWWWer home page">HooWWWer</a>',
 'hpprint','HPPrint',
 'htmlparser','<a href="http://htmlparser.sourceforge.net" title="HTMLParser home page">HTMLParser</a>',
-'html[_+ ]link[_+ ]validator','<a href="http://www.lithopssoft.com/ " title="Html_Link_Validator home page">Html_Link_Validator</a>',
+'html\_link\_validator','<a href="http://www.lithopssoft.com " title="Html_Link_Validator home page">Html_Link_Validator</a>',
 'httrack','<a href="http://www.httrack.com" title="Bot home page">HTTrack off-line browser</a>',
 'hundesuche\.com\-bot','<a href="http://www.hundesuche.com" title="Hundesuche.com-Bot home page">Hundesuche.com-Bot</a>',
 'ichiro','<a href="http://help.goo.ne.jp/door/crawlerE.html" title="Bot home page">ichiro</a>',
 'iltrovatore\-setaccio','<a href="http://www.iltrovatore.it/aiuto/motore_di_ricerca.html" title="bot@iltrovatore.it IlTrovatore-Setaccio home page">IlTrovatore-Setaccio</a>',
 'infobot','<a href="http://www.infobot.org" title="InfoBot home page">InfoBot</a>',
 'infociousbot','<a href="http://corp.infocious.com/tech_crawler.php" title="InfociousBot home page">InfociousBot</a>',
-'infomine','<a href="http://infomine.ucr.edu/useragents" title="Bot home page">INFOMINE VLCrawler</a>',
+'infomine','<a href="http://infomine.ucr.edu/useragents/" title="Bot home page">INFOMINE VLCrawler</a>',
 'insurancobot','<a href="http://www.fastspywareremoval.com" title="InsurancoBot home page">InsurancoBot</a>',
-'internet[_+ ]ninja','<a href="http://www.dti.ne.jp/  " title="Internet_Ninja home page">Internet_Ninja </a>',
+'internet\_ninja','<a href="http://www.dti.ne.jp" title="Internet_Ninja home page">Internet_Ninja </a>',
 'internetarchive','<a href="http://lucene.apache.org/nutch/bot.html " title="InternetArchive home page">InternetArchive</a>',
 'internetseer', 'InternetSeer',
 'internetsupervision','<a href="http://internetsupervision.com" title="InternetSupervision home page">InternetSupervision</a>',
 'irlbot','<a href="http://irl.cs.tamu.edu/crawler" title="Bot home page">IRLbot</a>',
 'isearch2006','<a href="http://www.yahoo.com.cn" title="isearch2006 home page">isearch2006</a>',
 'iupui_research_bot','<a href="http://spamhuntress.com/2005/04/25/a-mail-harvester-visits/" title="IUPUI_Research_Bot home page">IUPUI_Research_Bot</a>',
-'jrtwine[_+ ]software[_+ ]check[_+ ]favorites[_+ ]utility','<a href="http://www.jrtwine.com/Products/CheckFavs/" title="JRTwine_Software_Check_Favorites_Utility  home page">JRTwine_Software_Check_Favorites_Utility</a>',
+'jrtwine\_software\_check\_favorites\_utility','<a href="http://www.jrtwine.com/Products/CheckFavs/" title="JRTwine_Software_Check_Favorites_Utility  home page">JRTwine_Software_Check_Favorites_Utility</a>',
 'justview', 'JustView',
 'kalambot','<a href="http://64.124.122.251/feedback.html" title="KalamBot home page">KalamBot</a>',
 'kamano\.de_newsfeedverzeichnis','<a href="http://www.kamano.de" title="kamano.de NewsFeedVerzeichnis home page">kamano.de NewsFeedVerzeichnis</a>',
@@ -1462,11 +1756,11 @@
 'magpierss', 'MagpieRSS',
 'mail\.ru', 'Mail.ru bot',
 'mapoftheinternet\.com','<a href="http://MapoftheInternet.com" title="MapoftheInternet.com home page">MapoftheInternet.com</a>',
-'mediapartners\-google','<a href="https://adwords.google.com/" title="Bot home page">Google AdSense</a>',
+'mediapartners\-google','<a href="https://adwords.google.com" title="Bot home page">Google AdSense</a>',
 'megite','<a href="http://www.megite.com" title="Megite home page">Megite</a>',
 'metager\-linkchecker','MetaGer LinkChecker',
 'metaspinner','<a href="http://index.meta-spinner.de" title="Metaspinner home page">Metaspinner</a>',
-'microsoft[_+ ]url[_+ ]control','<a href="http://www.webmasterworld.com/forum11/1005.htm" title="Microsoft URL Control  home page">Microsoft URL Control</a>',
+'microsoft\surl\scontrol','<a href="http://www.webmasterworld.com/forum11/1005.htm" title="Microsoft URL Control  home page">Microsoft URL Control</a>',
 'minirank','<a href="http://minirank.com" title="miniRank home page">miniRank</a>',
 'mini\-reptile','Mini-reptile',
 'missigua_locator','<a href="http://www.webmasterworld.com/forum11/2690.htm" title="Missigua_Locator  home page">Missigua_Locator</a>',
@@ -1476,7 +1770,7 @@
 'mj12bot','<a href="http://majestic12.co.uk/bot.php" title="Bot home page.">MJ12bot</a>',
 'mojeekbot','<a href="http://www.mojeek.com/bot.html" title="Bot home page.">MojeekBot</a>',
 'msiecrawler','<a href="http://msdn.microsoft.com/workshop/delivery/offline/linkrel.asp" title="Bot home page.">MSIECrawler</a>',
-'ms_search_4\.0_robot','<a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;284022" title="Bot home page.">MS SharePoint Portal Server - MS Search 4.0 Robot</a>',
+'ms\ssearch\s4\.0\srobot','<a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;284022" title="Bot home page.">MS SharePoint Portal Server - MS Search 4.0 Robot</a>',
 'msrabot','msrabot',
 'msrbot','<a href="http://research.microsoft.com/research/sv/msrbot/" title="MSRBOT home page">MSRBOT</a>',
 'mt::telegraph::agent','MT::Telegraph::Agent',
@@ -1495,10 +1789,10 @@
 'nutch','<a href="http://lucene.apache.org/nutch/" title="Bot home page. Used by many, including Looksmart.">Nutch</a>',
 'ocelli','<a href="http://www.globalspec.com/Ocelli/" title="Ocelli home page">Ocelli</a>',
 'octora_beta_bot','<a href="http://www.octora.com" title="Bot home page">Octora Beta Bot</a>',
-'omniexplorer[_+ ]bot','<a href="http://www.omni-explorer.com" title="Bot home page.">OmniExplorer Bot</a>',
-'onet\.pl[_+ ]sa','<a href="http://szukaj.onet.pl" title="Onet.pl_SA home page">Onet.pl_SA</a>',
-'onfolio','<a href="http://www.onfolio.com" title="Bot home page [new window]">Onfolio</a>',
-'opentaggerbot','<a href="http://www.opentagger.com/opentaggerbot.htm" title="Bot home page [new window]">OpenTaggerBot</a>',
+'omniexplorer\_bot','<a href="http://www.omni-explorer.com" title="Bot home page.">OmniExplorer Bot</a>',
+'onet\.pl\_sa','<a href="http://szukaj.onet.pl" title="Onet.pl_SA home page">Onet.pl_SA</a>',
+'onfolio','<a href="http://www.onfolio.com" title="Bot home page">Onfolio</a>',
+'opentaggerbot','<a href="http://www.opentagger.com/opentaggerbot.htm" title="Bot home page">OpenTaggerBot</a>',
 'openwebspider','<a href="http://www.openwebspider.org" title="OpenWebSpider home page">OpenWebSpider</a>',
 'oracle_ultra_search','<a href="http://www.oracle.com/technology/products/ultrasearch/index.html" title="Oracle Ultra Search home page">Oracle Ultra Search</a>',
 'orbiter','<a href="http://www.dailyorbit.com/bot.htm" title="Orbiter home page">Orbiter</a>',
@@ -1507,8 +1801,10 @@
 'passwordmaker\.org','<a href="http://passwordmaker.org" title="passwordmaker.org home page">passwordmaker.org</a>',
 'pear_http_request_class','<a href="http://pear.php.net" title="PEAR HTTP Request class home page">PEAR HTTP Request class</a>',
 'peerbot','<a href="http://www.peerbot.com" title="PEERbot home page">PEERbot</a>',
-'perman', 'Perman surfer',
-'php[_+ ]version[_+ ]tracker','<a href="http://www.nexen.net/phpversion/bot.php" title="PHP Version Tracker home page">PHP version tracker</a>',
+# Modified by Ryu 2006.03.15
+#'perman', 'Perman surfer',
+'perman', '<a href="http://www.bug.co.jp/nami-nori/" title="Bot home page.">波乗野郎</a>',
+'php\sversion\stracker','<a href="http://www.nexen.net/phpversion/bot.php" title="PHP version tracker home page">PHP version tracker</a>',
 'pictureofinternet','<a href="http://malfunction.org/poi/" title="PictureOfInternet home page">PictureOfInternet</a>',
 'ping\.blo\.gs','<a href="http://blo.gs/ping.php" title="Bot home page.">ping.blo.gs</a>',
 'plinki','<a href="http://www.plinki.com" title="plinki home page">plinki</a>',
@@ -1521,7 +1817,7 @@
 'projectwf\-java\-test\-crawler','ProjectWF-java-test-crawler',
 'proodlebot','<a href="http://www.proodle.com" title="proodleBot home page">proodleBot</a>',
 'pyquery','<a href="http://sourceforge.net/projects/pyquery/" title="PyQuery home page">PyQuery</a>',
-'rambler','<a href="http://www.rambler.ru/doc/faq.shtml" title="Bot home page [new window]">StackRambler</a>',
+'rambler','<a href="http://www.rambler.ru/doc/faq.shtml" title="Bot home page">StackRambler</a>',
 'redalert','Red Alert',
 'relevantnoise\.com', '<a href="http://www.relevantnoise.com" title="Relevant Noise">Relevant Noise</a>',
 'rojo','<a href="http://rojo.com" title="Bot home page">RoJo</a> aggregator',
@@ -1532,9 +1828,9 @@
 'sbider','<a href="http://www.sitesell.com/sbider.html" title="Bot home page">SBIder</a>',
 'schizozilla','<a href="http://spamhuntress.com/2005/03/18/gizmo/ " title="Schizozilla home page">Schizozilla</a>',
 'scumbot','Scumbot',
-'searchguild[_+ ]dmoz[_+ ]experiment','<a href="http://www.searchguild.com" title="SearchGuild_DMOZ_Experiment  home page">SearchGuild_DMOZ_Experiment</a>',
-'seekbot','<a href="http://www.seekbot.net/bot.html" title="Bot home page [new window]">Seekbot</a>',
-'sensis_web_crawler','<a href="http://www.sensis.com.au" title="Sensis Web Crawler home page">Sensis Web Crawler</a>',
+'searchguild\_dmoz\_experiment','<a href="http://www.searchguild.com" title="SearchGuild_DMOZ_Experiment  home page">SearchGuild_DMOZ_Experiment</a>',
+'seekbot','<a href="http://www.seekbot.net/bot.html" title="Bot home page">Seekbot</a>',
+'sensis\sweb\scrawler','<a href="http://www.sensis.com.au" title="Sensis Web Crawler home page">Sensis Web Crawler</a>',
 'seznambot','<a href="http://fulltext.seznam.cz" title="Bot home page">SeznamBot</a>',
 'shim\-crawler','<a href="http://www.logos.ic.i.u-tokyo.ac.jp/crawler/" title="crawl@logos.ic.i.u-tokyo.ac.jp Bot home page">Shim-Crawler</a>',
 'shoutcast','Shoutcast Directory Service',
@@ -1543,11 +1839,11 @@
 'sohu\-search','<a href="http://corp.sohu.com" title="Bot home page">sohu-search</a>',
 'sohu','<a href="http://corp.sohu.com" title="Bot home page">sohu agent</a>',
 'snappy','<a href="http://www.urltrends.com/faq.php" title="Bot home page">Snappy</a>',
-'sphere_scout','<a href="http://www.sphere.com" title="Bot home page">Sphere Scout</a>',
+'sphere\sscout','<a href="http://www.sphere.com" title="Bot home page">Sphere Scout</a>',
 'spip','<a href="http://www.spip.net" title="SPIP home page">SPIP</a>',
 'sproose_crawler','<a href="http://www.sproose.com/bot.html" title="Bot home page">sproose crawler</a>',
 'steroid__download','<a href="http://faqs.org.ru/progr/pascal/delphi_internet2.htm" title="STEROID  Download home page">STEROID  Download</a>',
-'steeler','<a href="http://www.tkl.iis.u-tokyo.ac.jp/~crawler/ " title="Steeler home page">Steeler</a>',
+'steeler','<a href="http://www.tkl.iis.u-tokyo.ac.jp/~crawler/" title="Steeler home page">Steeler</a>',
 'suchfin\-bot','<a href="http://www.suchfin.de" title="Suchfin-Bot home page">Suchfin-Bot</a>',
 'superbot','<a href="http://www.sparkleware.com/superbot/" title="SuperBot home page">SuperBot</a>',
 'surveybot','SurveyBot',
@@ -1558,11 +1854,11 @@
 'tcl_http_client_package','<a href="http://www.tcl.tk/man/tcl8.4/TclCmd/http.htm" title="Tcl http client package home page">Tcl http client package</a>',
 'technoratibot', 'Technoratibot',
 'teragramcrawlersurf','<a href="http://www.teragram.com" title="TeragramCrawlerSURF home page">TeragramCrawlerSURF</a>',
-'test_crawler','<a href="http://netp.ath.cx" title="Test Crawler home page">Test Crawler</a>',
+'test\scrawler','<a href="http://netp.ath.cx" title="Test Crawler home page">Test Crawler</a>',
 'testbot','<a href="http://www.agbrain.com" title="TestBot home page">TestBot</a>',
 't\-h\-u\-n\-d\-e\-r\-s\-t\-o\-n\-e','<a href="http://www.thunderstone.com" title="Bot home page. Used by many.">T-H-U-N-D-E-R-S-T-O-N-E</a>',
 'topicblogs', '<a href="http://www.topicblogs.com" title="Bot home page">topicblogs</a>',
-'turnitinbot','Turn It In',
+'turnitinbot','<a href="http://www.turnitin.com/robot/crawlerinfo.html">TurnitinBot</a>',
 'turtle', 'Turtle',
 'turtlescanner', 'Turtle',
 'tutorgigbot','<a href="http://www.tutorgig.info" title="TutorGigBot home page">TutorGigBot</a>',
@@ -1581,7 +1877,7 @@
 'vortex','<a href="http://marty.anstey.ca/projects/robots/vortex/" title="Bot home page">VORTEX</a>',
 'vse\/','<a href="http://www.vivisimo.com" title="VSE home page">VSE</a>',
 'w3c\-checklink','<a href="http://validator.w3.org/checklink/" title="Bot home page">W3C Link Checker</a>',
-'w3c[_+ ]css[_+ ]validator[_+ ]jfouffa', '<a href="http://jigsaw.w3.org/css-validator/" title="Bot home page">W3C jigsaw CSS Validator</a>',
+'w3c\_css\_validator\_jfouffa', '<a href="http://jigsaw.w3.org/css-validator/" title="Bot home page">W3C jigsaw CSS Validator</a>',
 'w3c_validator','<a href="http://validator.w3.org" title="Bot home page">W3C Validator</a>',
 'watchmouse', '<a href="http://www.watchmouse.com/en/" title="WatcMouse">WatchMouse Website Monitor</a>',
 'wavefire','<a href="http://www.wavefire.com" title="info@wavefire.com; Bot home page">Wavefire</a>',
@@ -1593,14 +1889,14 @@
 'webfilter','<a href="http://www.verso.com/enterprise/netspective/webfilter.asp" title="Bot home page">WebFilter</a>',
 'webindexer','<a href="mailto://webindexerv1@yahoo.com" title="WebIndexer home page">WebIndexer</a>',
 'webminer','<a href="http://64.124.122.252/feedback.html" title="WebMiner home page">WebMiner</a>',
-'website[_+ ]monitoring[_+ ]bot','<a href="http://InternetSupervision.com/UrlMonitor/3/" title="Website_Monitoring_Bot home page">Website_Monitoring_Bot</a>',
+'website\_monitoring\_bot','<a href="http://InternetSupervision.com/UrlMonitor/3/" title="Website_Monitoring_Bot home page">Website_Monitoring_Bot</a>',
 'webvulncrawl', 'WebVulnCrawl',
 'wells_search','<a href="http://www.psychedelix.com/cgi-bin/csv2html.pl?data=allagents.csv&amp;template=detail.html&amp;match=\bid_t_z_1484\b " title="Wells Search home page">Wells Search</a>',
 'wonderer', 'Web Wombat Redback Spider',
 'wume_crawler','<a href="http://wume.cse.lehigh.edu/~xiq204/crawler/ " title="wume crawler home page">wume crawler</a>',
 'wwweasel',,'<a href="http://wwweasel.de" title="Website_Monitoring_Bot home page">WWWeasel</a>',
 'xenu\'s_link_sleuth','<a href="http://home.snafu.de/tilman/xenulink.html" title="Xenu Link Sleuth home page">Xenu Link Sleuth</a>',
-'xenu_link_sleuth','<a href="http://home.snafu.de/tilman/xenulink.html" title="Xenu Link Sleuth home page">Xenu Link Sleuth</a>',
+'xenu\slink\ssleuth','<a href="http://home.snafu.de/tilman/xenulink.html" title="Xenu Link Sleuth home page">Xenu Link Sleuth</a>',
 'xirq','<a href="http://www.xirq.com" title="xirq home page">xirq</a>',
 'y!j', '<a href="http://help.yahoo.co.jp/help/jp/search/indexing/indexing-15.html" title="Bot home page">Y!J Yahoo Japan</a>',
 'yacy','<a href="http://www.yacy.net/yacy" title="Bot home page">yacy</a>',
@@ -1609,15 +1905,15 @@
 'yahoofeedseeker', '<a href="http://publisher.yahoo.com/rssguide" title="Bot home page">Yahoo Feed Seeker</a>',
 'yahooseeker\-testing', '<a href="http://search.yahoo.com" title="Bot home page">YahooSeeker-Testing</a>',
 'yahooseeker', '<a href="http://help.yahoo.com/help/us/ysearch/crawling/crawling-02.html" title="Bot home page">YahooSeeker Yahoo! Blog crawler</a>',
-'yahoo\-mmcrawler', '<a href="mailto:mms-mmcrawler-support@yahoo-inc.com?subject=Yahoo-MMCrawler Information" title="E-mail Bot">Yahoo-MMCrawler</a>',
-'yahoo!_mindset','<a href="http://mindset.research.yahoo.com" title="Bot home page [new window]">Yahoo! Mindset</a>',
+'yahoo\-mmcrawler', '<a href="mailto:mms-mmcrawler-support@yahoo-inc.com?subject=Yahoo-MMCrawler_Information" title="E-mail Bot">Yahoo-MMCrawler</a>',
+'yahoo!_mindset','<a href="http://mindset.research.yahoo.com" title="Bot home page">Yahoo! Mindset</a>',
 'yandex', 'Yandex bot',
 'flexum', 'Flexum Search Engine',
 'yanga', 'Yanga WorldSearch Bot',
 'yooglifetchagent','<a href="http://www.yoogli.com" title="yoogliFetchAgent home page">yoogliFetchAgent</a>',
 'z\-add_link_checker','<a href="http://w3.z-add.co.uk/linkcheck/" title="Z-Add Link Checker home page">Z-Add Link Checker</a>',
 'zealbot','ZealBot',
-'zhuaxia','<a href="http://www.zhuaxia.com"  target="_blank">ZhuaXia</a>',
+'zhuaxia','<a href="http://www.zhuaxia.com">ZhuaXia</a>',
 'zspider','<a href="http://feedback.redkolibri.com" title="Bot home page">zspider</a>',
 'zeus','<a href="http://www.webmasterworld.com/forum11/1840.htm" title="Bot documentation">Zeus Webster Pro</a>',
 'ng\/1\.','<a href="http://www.exabot.com" title="Bot home page">NG 1.x (Exalead)</a>', # put at end to avoid false positive
@@ -1625,22 +1921,25 @@
 'exabot','<a href="http://www.exabot.com" title="Bot home page">Exabot</a>', # put at end to avoid false positive
 # Other id that are 99% of robots
 'wget','WGet tools',
-'libwww','Perl tool',
-'java\/[0-9]','<a href="http://www.projecthoneypot.org/harvester_useragents.php" title="Bot home page">Java (Often spam bot)</a>', # put at end to avoid false positive
+'libwww\-perl','Perl tool',
+'w3c\-webcon','WebCon - the Libwww Command Line Tool',
+'lwp','LibWWW-perl',
+'java\/[0-9]',"<a href=\"http://www.projecthoneypot.org/harvester_useragents.php\" title=\"Bot home page\">Java ($Message[211])</a>", # put at end to avoid false positive
 # Generic robot
-'robot', 'Unknown robot (identified by \'robot\')',
-'checker', 'Unknown robot (identified by \'checker\')',
-'crawl', 'Unknown robot (identified by \'crawl\')',
-'discovery', 'Unknown robot (identified by \'discovery\')',
-'hunter', 'Unknown robot (identified by \'hunter\')',
-'scanner', 'Unknown robot (identified by \'scanner\')',
-'spider', 'Unknown robot (identified by \'spider\')',
-'sucker', 'Unknown robot (identified by \'sucker\')',
-'bot[\s_+:,\.\;\/\\\-]','Unknown robot (identified by \'bot*\')',
-'[\s_+:,\.\;\/\\\-]bot','Unknown robot (identified by \'*bot\')',
-'no_user_agent','Unknown robot (identified by empty user agent string)',
+'robot', "$Message[204]",
+'checker', "$Message[216]",
+'crawl', "$Message[205]",
+'discovery', "$Message[217]",
+'hunter', "$Message[218]",
+'scanner', "$Message[219]",
+'spider', "$Message[206]",
+'sucker', "$Message[220]",
+'bot[\s_+:,\.\;\/\\\-]',"$Message[207]",
+'[\s_+:,\.\;\/\\\-]bot',"$Message[208]",
+'no_user_agent',"$Message[209]",
+'uri::fetch','URI::Fetch',
 # Unknown robots identified by hit on robots.txt
-'unknown', 'Unknown robot (identified by hit on \'robots.txt\')'
+'unknown', "$Message[210]"
 );
 
 
diff -u -b -r D:\awstats-7.0-mod\/wwwroot/cgi-bin/lib/search_engines.pm D:\AWStats70t_Jpn/wwwroot/cgi-bin/lib/search_engines.pm
--- D:\awstats-7.0-mod\/wwwroot/cgi-bin/lib/search_engines.pm	2011-02-03 15:34:16.973377500 +0900
+++ D:\AWStats70t_Jpn/wwwroot/cgi-bin/lib/search_engines.pm	2011-02-03 14:53:29.567127500 +0900
@@ -6,7 +6,7 @@
 # An entry if known in SearchEnginesKnownUrl is also welcome.
 #------------------------------------------------------------------------------
 # $Revision: 1.52 $ - $Author: eldy $ - $Date: 2010/05/30 21:29:55 $
-
+# Modified by ホビット 2010/12/17
 # 2005-08-19 Sean Carlos http://www.antezeta.com/awstats.html
 #            added minor italian search engines
 #                  arianna http://arianna.libero.it/
@@ -154,6 +154,87 @@
 # Note: Regex IDs are in lower case and ' ' and '+' are changed into '_'
 #------------------------------------------------------------------------------
 @SearchEnginesSearchIDOrder_list1=(
+# Japanese Search Engines
+# Added by Ryu 2007.01.06
+'66\.102\.11\.104',
+'64\.233\.179\.99',
+'72\.14\.235\.132',
+'74\.125\.(77|95|113|153|155)\.132',
+'74\.125\.113\.104',
+'209\.85\.(129|135|165|173|175|207)\.104',
+'209\.85\.(129|135|173|175|229)\.132',
+'216\.239\.(37\.99|39\.104|41\.104|63\.104)',
+'webcache\.googleusercontent\.com',
+'www\.answers\.com',
+'search\.allabout\.co\.jp',
+'search\.aol\.jp',
+'search\.auone\.jp',
+'avabox\.jp',
+'biglobe\.ne\.jp',
+'search\.cashback\.ne\.jp',
+'search\.kbg\.jp',
+'\.cometsystems\.com',
+'\.cybozu\.net',
+'cache\.yahoofs\.jp',
+'clusty\.jp',
+'docomo\.ne\.jp',
+'eniro\.fi',
+'excite\.co\.jp',
+'excite-cache\.jp',
+'ezsch\.ezweb\.ne\.jp',
+'www\.fastbrowsersearch\.com',
+'fc2\.super-search\.jp',
+'find\.x0\.to',
+'search\.fresheye\.com',
+'dir\.fresheye\.com',
+'goo\.ne\.jp',
+'google\.co\.jp',
+'search\.idol-photo\.com',
+'iug\.newsing\.jp',
+'search\.1pa2\.info',
+'search\.juno\.com',
+'jword\.jp',
+'s\.luna\.tv',
+#'msnscache\.com',
+'www\.marsflag\.com',
+'meta2\.the-search\.jp',
+'myway\.com',
+'naver\.co\.jp',
+'naver\.com',
+'search\.lifemile\.jp',
+'search\.50pt\.jp',
+'search\.point-box\.jp',
+'sitesearch\.nikkei\.co\.jp',
+'search\.okodukai\.jp',
+'search\.jp\.aol\.com',
+'search\.livedoor\.com',
+'search\.nifty\.com',
+'search\.msn\.co\.jp',
+'search\.odn\.ne\.jp',
+'search-hp\.com',
+'niwango.jp',
+'olane\.jp',
+'picsearch\.com',
+'picsearch\.sk',
+'picmy\.jp',
+'www\.prsearch\.',
+'websearch\.rakuten\.co\.jp',
+'www\.so-net\.ne\.jp',
+'m\.technorati\.jp',
+'www\.technorati\.jp',
+'technorati\.jp',
+'technorati\.com',
+'tocc\.co\.jp',
+'www\.baidu\.jp',
+'image\.baidu\.jp',
+'www\.ceek\.jp',
+'www\.dir\.bg',
+'www\.infoseek\.co\.jp',
+'www\.megite\.com',
+'www\.seochat\.com',
+'www\.websearch\.com',
+'www\.yahoogle\.jp',
+'yicha\.jp',
 # Major international search engines
 'google\.[\w.]+/products',
 'base\.google\.',
@@ -365,7 +446,13 @@
 'msn\.'=>'hotmail\.msn\.',
 'tiscali\.'=>'mail\.tiscali\.',
 'yahoo\.'=>'mail\.yahoo\.',
-'yandex\.'=>'direct\.yandex\.'
+'yandex\.'=>'direct\.yandex\.',
+# For Japanese Search Engines
+# Added by Ryu 2006.03.15
+'infoseek\.co\.jp'=>'at\.imfoseek\.co\.jp',
+'googlee\.'=>'mail\.googlee\.',
+'googlee\.'=>'translate\.googlee\.',
+'goo\.ne\.jp'=>'members\.goo\.ne\.jp'
 );
 
 
@@ -373,6 +460,87 @@
 # Each Search Engine Search ID is associated to an AWStats id string
 #------------------------------------------------------------------------------
 %SearchEnginesHashID = (
+# Japanese Search Engines
+# Added by Ryu 2007.01.06
+'66\.102\.11\.104','googlejapan',
+'64\.233\.179\.99','googlejapan',
+'72\.14\.235\.132','google',
+'74\.125\.(77|95|113|153|155)\.132','google',
+'74\.125\.113\.104','google',
+'209\.85\.(129|135|165|173|175|207)\.104','google',
+'209\.85\.(129|135|173|175|229)\.132','google',
+'216\.239\.(37\.99|39\.104|41\.104|63\.104)','googlejapan',
+'webcache\.googleusercontent\.com','google_cache',
+'www\.answers\.com','answers',
+'search\.allabout\.co\.jp','allabout',
+'search\.auone\.jp','auone',
+'avabox\.jp','avabox',
+'biglobe\.ne\.jp','biglobe',
+'search\.cashback\.ne\.jp','cashback',
+'search\.kbg\.jp','kbg',
+'\.cometsystems\.com','cometsystems',
+'\.cybozu\.net','cybozu',
+'cache\.yahoofs\.jp','yahoocache',
+'clusty\.jp','clustyjp',
+'docomo\.ne\.jp','docomo',
+'eniro\.fi','eniro',
+'excite\.co\.jp','excitejapan',
+'excite-cache\.jp','excitejapan',
+'ezsch\.ezweb\.ne\.jp','ezweb',
+'www\.fastbrowsersearch\.com','fastbrowsersearch',
+'fc2\.super-search\.jp','fc2',
+'find\.x0\.to','asamasearch',
+'search\.fresheye\.com','fresheye',
+'dir\.fresheye\.com','fresheyedir',
+'goo\.ne\.jp','goo',
+'google\.co\.jp','google',
+'search\.idol-photo\.com','idolphoto',
+'iug\.newsing\.jp','iug',
+'search\.1pa2\.info','1pa2',
+'search\.juno\.com','juno',
+'jword\.jp','jword',
+'s\.luna\.tv','lunascape',
+#'msnscache\.com','msn_cache',
+'www\.marsflag\.com','marsflag',
+'meta2\.the-search\.jp','meta2',
+'myway\.com','myway',
+'naver\.co\.jp','naverjp',
+'naver\.com','navercom',
+'search\.lifemile\.jp','lifemile',
+'search\.50pt\.jp','50pt',
+'search\.point-box\.jp','pointbox',
+'sitesearch\.nikkei\.co\.jp','nikkei',
+'search\.okodukai\.jp','okodukai',
+'search\.aol\.jp','aoljapan',
+'search\.jp\.aol\.com','aoljapan',
+'search\.livedoor\.com','livedoor',
+'search\.nifty\.com','nifty',
+'search\.msn\.co\.jp','msnjapan',
+'search\.odn\.ne\.jp','odn',
+'search-hp\.com','searchhp',
+'niwango.jp','niwango',
+'olane\.jp','olane',
+'picsearch\.com','picsearchcom',
+'picsearch\.sk','picsearchsk',
+'picmy\.jp','picmy',
+'www\.prsearch\.','prsearch',
+'websearch\.rakuten\.co\.jp','rakuten',
+'www\.so-net\.ne\.jp','sonet',
+'m\.technorati\.jp','mtechnoratijp',
+'www\.technorati\.jp','wtechnoratijp',
+'technorati\.jp','technoratijp',
+'technorati\.com','technorati',
+'tocc\.co\.jp','tocc',
+'www\.baidu\.jp','baidujp',
+'image\.baidu\.jp','imagebaidujp',
+'www\.ceek\.jp','ceekjp',
+'www\.dir\.bg','dirbg',
+'www\.infoseek\.co\.jp','infoseek',
+'www\.megite\.com','megite',
+'www\.seochat\.com','seochat',
+'www\.websearch\.com','websearch',
+'www\.yahoogle\.jp','yahoogle',
+'yicha\.jp','yicha',
 # Major international search engines
 'google\.[\w.]+/products','google_products',
 'base\.google\.','google_base',
@@ -647,13 +815,95 @@
 # List of search engines that store keyword as page instead of query parameter
 #------------------------------------------------------------------------------
 %SearchEnginesWithKeysNotInQuery=(
-'a9',1    # www.a9.com/searckey1%20searchkey2
+'a9',1,   # www.a9.com/searckey1%20searchkey2
+'answers',1,	# www.answers.com/searckey1%20searchkey2
+'fresheyedir',1,	# dir.fresheye.com/ds/kw/new/searckey1/
+'idolphoto',1,	# search.idol-photo.com/%E3%82%A8%E3%83%AB%E3%83%95/index10.html
+'iug',1,	# iug.newsing.jp/tag/searckey1?...
+'meta2',1,	# meta2.the-search.jp/w/IPA+%E7%99%BA%E9%9F%B3_.html
+'megite',1,	# www.megite.com/discover/searckey1%20searchkey2
+'olane',1,	# olane.jp/keyword/eラーニング/c/8
+'yahoogle',1,   # www.yahoogle.jp/yahoogle-1-searckey1%20searchkey2
+'mtechnoratijp',1,  # m.technorati.jp/search/searckey1+searchkey2
+'wtechnoratijp',1,	# www.technorati.jp/search/searckey1+searchkey2
+			# www.technorati.jp/posts/tag/searckey1+searchkey2
+'technoratijp',1,  # technorati.jp/search/searckey1+searchkey2
+'technorati',1,  # technorati.com/posts/tag/searckey1+searchkey2
 );
 
 # SearchEnginesKnownUrl
 # Known rules to extract keywords from a referrer search engine URL
 #------------------------------------------------------------------------------
 %SearchEnginesKnownUrl=(
+# Japanese Search Engines
+# Added by Ryu 2007.01.06
+'answers','www\.answers\.com\/',
+'asamasearch','q=',
+'askjapan','q=',
+'allabout','qs=',
+'auone','q=',
+'avabox','keyword=',
+'baidujp','wd=',
+'imagebaidujp','word=',
+'biglobe','q=',
+'cashback','keywords=',
+'kbg','extrakey=',
+'cometsystems','qry=',
+'cybozu','(keywords|query)=',
+'ceekjp','q=',
+'dirbg','s=',
+'clustyjp','query=',
+'docomo','key=',
+'eniro','q=',
+'excitejapan','search=',
+'ezweb','query=',
+'fastbrowsersearch','q=',
+'fc2','search=',
+'fresheye','kw=',
+'fresheyedir','dir\.fresheye\.com\/ds\/kw\/new\/',
+'goo','mt=',
+'googlejapan','(p=|q=cache:[0-9A-Za-z]{12}:|as_p=|as_q=|as_epq=|q=)',
+'infoseek','qt=',
+'idolphoto','photo\.com\/',
+'iug','iug\.newsing\.jp\/tag\/',
+'1pa2','feed=',
+'juno','query=',
+'jword','(name|q)=',
+'livedoor','q=',
+'lunascape','q=',
+'megite','www\.megite\.com\/discover\/',
+'meta2','meta2\.the-search\.jp\/w\/',
+'marsflag','key=',
+'myway','searchfor=',
+'msnjapan','(q|mt)=',
+'naverjp','query=',
+'navercom','query=',
+'lifemile','keywords=',
+'50pt','keywords=',
+'pointbox','keywords=',
+'nikkei','q=',
+'okodukai','q=',
+'aoljapan','(query|query_contain)=',
+'nifty','(text|q)=',
+'odn','querystring=',
+'niwango','p1=',
+'olane','keyword\/',
+'searchhp','kensaku_ward=',
+'picsearchcom','q=',
+'picsearchsk','q=',
+'picmy','keywords=',
+'prsearch','query=',
+'rakuten','qt=',
+'sonet','query=',
+'mtechnoratijp','m\.technorati\.jp\/search\/',
+'wtechnoratijp','www\.technorati\.jp\/(?:search|posts/tag)\/',
+'technoratijp','technorati\.jp\/search\/',
+'technorati','technorati\.com\/(?:tag|posts/tag)\/',
+'tocc','qry=',
+'yahoocache','w=',
+'websearch','qkw=',
+'yahoogle','www\.yahoogle\.jp\/yahoogle-1-',
+'yicha','(keyword|bt)=',
 # Most common search engines
 'alexa','q=',
 'alltheweb','q(|uery)=',
@@ -666,9 +916,9 @@
 'google_groups','group\/', # does not work
 'google_image','(p|q|as_p|as_q)=',
 'google_cache','(p|q|as_p|as_q)=cache:[0-9A-Za-z]{12}:',
-'google','(p|q|as_p|as_q)=',
+'google','(p=|as_p=|as_q=|as_epq=|q=cache:[0-9A-Za-z]{12}:|q=)',
 'lycos','query=',
-'msn','q=',
+'msn','(q|mt)=',
 'live','q=',
 'bing','q=',
 'netscape','search=',
@@ -678,7 +928,7 @@
 'voila','(kw|rdata)=',
 'search.com','q=',
 'yahoo_mindset','p=',
-'yahoo','p=',
+'yahoo','(p|kw)=',
 'sympatico', 'query=',
 'excite','search=',
 # Minor international search engines
@@ -783,7 +1033,7 @@
 'sogou', 'query=',
 'vnet','kw=',
 # Minor czech search engines
-'atlas','(searchtext|q)=', 'seznam','(w|q)=', 'quick','query=', 'centrum','q=', 'jyxo','(s|q)=', 'najdi','dotaz=', 'redbox','srch=',
+'atlas','searchtext=', 'seznam','w=', 'quick','query=', 'centrum','q=', 'jyxo','s=', 'najdi','dotaz=', 'redbox','srch=',
 # Minor danish search engines
 'opasia','q=', 'danielsen','q=', 'sol','q=', 'jubii','soegeord=', 'finddk','words=', 'edderkoppen','query=', 'orbis','search_field=', '1klik','query=', 'ofir','querytext=',
 # Minor dutch search engines
@@ -856,6 +1106,19 @@
 'pogodak', 'q='
 );
 
+# SearchEnginesKnownUrlTrail
+# Known rules to extract keywords from a referrer search engine URL
+#------------------------------------------------------------------------------
+%SearchEnginesKnownUrlTrail=(
+# Japanese Search Engines
+# Added by Hobbit_makoto 2007.01.17
+'fresheyedir','\/',
+'idolphoto','\/index[0-9]+\.html',
+'meta2','_\.html',
+'olane','\/c\/\d',
+'yahoogle','\.html',
+);
+
 # SearchEnginesKnownUrlNotFound
 # Known rules to extract not found keywords from a referrer search engine URL
 #------------------------------------------------------------------------------
@@ -868,7 +1131,8 @@
 # If no rules are known and search in WordsToExtractSearchUrl failed, this will be used to clean URL of not keyword parameters.
 #------------------------------------------------------------------------------
 @WordsToExtractSearchUrl= ('tn=','ie=','ask=','claus=','general=','key=','kw=','keyword=','keywords=','MT=','p=','q=','qr=','qt=','query=','s=','search=','searchText=','string=','su=','txtsearch=','w=');
-@WordsToCleanSearchUrl= ('act=','annuaire=','btng=','cat=','categoria=','cfg=','cof=','cou=','count=','cp=','dd=','domain=','dt=','dw=','enc=','exec=','geo=','hc=','height=','hits=','hl=','hq=','hs=','id=','kl=','lang=','loc=','lr=','matchmode=','medor=','message=','meta=','mode=','order=','page=','par=','pays=','pg=','pos=','prg=','qc=','refer=','sa=','safe=','sc=','sort=','src=','start=','style=','stype=','sum=','tag=','temp=','theme=','type=','url=','user=','width=','what=','\\.x=','\\.y=','y=','look=');
+# Words after "look" are added by Ryu for Japanese Search Engines.
+@WordsToCleanSearchUrl= ('act=','annuaire=','btng=','cat=','categoria=','cfg=','cof=','cou=','count=','cp=','dd=','domain=','dt=','dw=','enc=','exec=','geo=','hc=','height=','hits=','hl=','hq=','hs=','id=','kl=','lang=','loc=','lr=','matchmode=','medor=','message=','meta=','mode=','order=','page=','par=','pays=','pg=','pos=','prg=','qc=','refer=','sa=','safe=','sc=','sort=','src=','start=','style=','stype=','sum=','tag=','temp=','theme=','type=','url=','user=','width=','what=','\\.x=','\\.y=','y=','look=','target=','collection=','showSummary=','perPage=','next=','DB=','OPE=','Max=','base=','submit=','SearchType=','SESSIONID=','QUERYRULE=','DISPLAYMIN=','RELURLSWITCH=','SORT=','start=','direct=','relwd=','lk=','svx=','nh=','internet=','DC=','submit0=','DEST=','where=','CCM=','NRS=','UNI=','UD0=','FRS=','sv=','rf=','oq=','col=','act\.search=');
 
 # SearchEnginesKnownUTFCoding
 # Known parameter that proves a search engine has coded its parameters in UTF-8
@@ -885,6 +1149,76 @@
 # 'search_engine_id', 'search_engine_name',
 #------------------------------------------------------------------------------
 %SearchEnginesHashLib=(
+# Japanese Search Engines
+# Added by Ryu 2006.03.15
+'answers','<a href="http://www.answers.com">Answers.com</a>',
+'allabout','<a href="http://search.allabout.co.jp">All About</a>',
+'auone','<a href="http://search.auone.jp">au one</a>',
+'avabox','<a href="http://avabox.jp">Avabox</a>',
+'googlejapan','<a href="http://www.google.co.jp">Google Japan</a>',
+'biglobe','<a href="http://www.biglobe.ne.jp">BIGLOBE</a>',
+'cashback','<a href="http://www.cashback.ne.jp">Cashback Mall</a>',
+'kbg','<a href="http://keitai.biglobe.ne.jp">ケータイBIGLOBE</a>',
+'cometsystems','Comet Systems',
+'cybozu','<a href="http://www.cybozu.net">cybozu.net</a>',
+'aoljapan','<a href="http://search.jp.aol.com">AOL Japan</a>',
+'goo','<a href="http://goo.ne.jp">Goo</a>',
+'nifty','<a href="http://www.nifty.com/search/">Nifty</a>',
+'msnjapan','<a href="http://jp.msn.com">Microsoft MSN Japan</a>',
+'odn','ODN',
+'clustyjp','<a href="http://clusty.jp">Clusty Japan</a>',
+'docomo','<a href="http://www.nttdocomo.co.jp">NTT docomo</a>',
+'eniro','<a href="http://eniro.fi">eniro</a>',
+'excitejapan','Excite Japan',
+'ezweb','<a href="http://www.au.kddi.com/service/ezweb/index.html">ezweb</a>',
+'fastbrowsersearch','<a href="http://www.fastbrowsersearch.com">Fast Browser Search</a>',
+'sonet','<a href="http://www.so-net.ne.jp/search/web/">So-net ウェブ検索</a>',
+'mtechnoratijp','<a href="http://m.technorati.jp">テクノラティモバイル検索</a>',
+'wtechnoratijp','<a href="http://technorati.jp">テクノラティ検索(WWW)</a>',
+'technoratijp','<a href="http://technorati.jp">テクノラティ検索</a>',
+'technorati','<a href="http://technorati.com">Technorati Search</a>',
+'websearch','<a href="http://www.websearch.com">WebSearch</a>',
+'yahoogle','<a href="http://www.yahoogle.jp">yahoogle</a>',
+'yicha','<a href="http://yicha.jp">yicha</a>',
+#'msn_cache','MSN Cache',
+'marsflag','<a href="http://www.marsflag.com">MARSFLAG</a>',
+'meta2','<a href="http://meta2.the-search.jp/">The Search メタ検索 2.0</a>',
+'myway','<a href="http://home.myway.com">MyWay</a>',
+'naverjp','<a href="http://www.naver.co.jp">Naver.co.jp</a>',
+'navercom','<a href="http://www.naver.com">Naver.com</a>',
+'nikkei','<a href="http://sitesearch.nikkei.co.jp">Nikkei Net</a>',
+'lifemile','<a href="http://search.lifemile.jp">Life Mile</a>',
+'50pt','<a href="http://search.50pt.jp">50pt</a>',
+'pointbox','<a href="http://search.point-box.jp">Point Box</a>',
+'okodukai','<a href="http://search.okodukai.jp">お小遣いJP</a>',
+'asamasearch','<a href="http://find.x0.to">Asamasearch</a>',
+'fc2','<a href="http://fc2.super-search.jp/">fc2.super-search.jp</a>',
+'fresheye','<a href="http://fresheye.com">Fresheye</a>',
+'fresheyedir','<a href="http://fresheye.com">Fresheye(Dir)</a>',
+'idolphoto','<a href="http://search.idol-photo.com">search.idol-photo.com</a>',
+'iug','<a href="http://iug.newsing.jp">iUG-newsing</a>',
+'1pa2','<a href="http://search.1pa2.info">1pa2</a>',
+'juno','<a href="http://search.juno.com">JUNO</a>',
+'jword','<a href="http://www.jword.jp">Jword</a>',
+'lunascape','<a href="http://s.luna.tv">Lunascape</a>',
+'seochat','SEOChat',
+'tocc','TOCC/Search',
+'searchhp','<a href="http://search-hp.com">Search HP</a>',
+'niwango','<a href="http://niwango.jp">ニワンゴ</a>',
+'olane','<a href="http://olane.jp">olane.jp</a>',
+'picsearchcom','<a href="http://www.picsearch.com">picsearch</a>',
+'picsearchsk','<a href="http://www.picsearch.sk">picsearch.sk</a>',
+'picmy','<a href="http://picmy.jp">不思議なピクミー</a>',
+'prsearch','<a href="http://www.prsearch.biz">prsearch</a>',
+'rakuten','<a href="http://www.rakuten.co.jp">楽天</a>',
+'baidujp','<a href="http://www.baidu.jp">baidu.jp</a>',
+'imagebaidujp','<a href="http://image.baidu.jp">image.baidu.jp</a>',
+'ceekjp','<a href="http://www.ceek.jp">CEEK.JP</a>',
+'dirbg','<a href="http://dir.dir.bg">Dir.bg</a>',
+'infoseek','<a href="http://www.infoseek.co.jp">Infoseek</a>',
+'yahoocache','Yahoo Cache',
+'askjapan','Ask Jeeves Japan',
+'livedoor','Livedoor',
 # Major international search engines
 'alexa','<a href="http://www.alexa.com" title="Search Engine Home Page">Alexa</a>',
 'alltheweb','<a href="http://www.alltheweb.com" title="Search Engine Home Page">AllTheWeb</a>',
@@ -914,8 +1248,8 @@
 'excite','<a href="http://www.excite.com" title="Search Engine Home Page">Excite</a>',
 # Minor international search engines
 'google4counter','<a href="http://www.4-counter.com" title="Search Engine Home Page">4-counter (Google)</a>',
-'att','<a href="http://www.att.net" title="Search Engine Home Page">AT&T search (powered by Google)</a>',
-'bungeebonesdotcom','<a href="http://BungeeBones.com/search.php/" title="Search Engine Home Page">BungeeBones</a>',
+'att','<a href="http://www.att.net" title="Search Engine Home Page">AT&amp;T search (powered by Google)</a>',
+'bungeebonesdotcom','<a href="http://BungeeBones.com/search.php" title="Search Engine Home Page">BungeeBones</a>',
 'go','Go.com',
 'askde','<a href="http://de.ask.com" title="Search Engine Home Page">Ask Deutschland</a>',
 'askes','<a href="http://es.ask.com" title="Search Engine Home Page">Ask Espa&ntilde;a</a>', # break out Ask country specific engines.
@@ -1004,15 +1338,15 @@
 # Minor brazilian search engines
 'engine','Cade', 'miner','Meta Miner',
 # Minor chinese search engines
-'baidu','<a href="http://www.baidu.com" target="_blank">Baidu</a>',
-'iask','<a href="http://www.iask.com" target="_blank">Iask</a>',
+'baidu','<a href="http://www.baidu.com">Baidu</a>',
+'iask','<a href="http://www.iask.com">Iask</a>',
 'accoona','<a href="http://cn.accoona.com">Accoona</a>',
-'3721','<a href="http://www.3721.com" target="_blank">3721</a>',
-'netease', '<a href="http://www.163.com" target="_blank">NetEase</a>',
-'soso','<a href="http://www.soso.com" target="_blank">SoSo</a>',
-'zhongsou','<a href="http://www.zhongsou.com" target="_blank">ZhongSou</a>',
-'sogou', '<a href="http://www.sogou.com" target="_blank">SoGou</a>',
-'vnet','<a href="http://114.vnet.cn" target="_blank">VNet</a>',
+'3721','<a href="http://www.3721.com">3721</a>',
+'netease', '<a href="http://www.163.com">NetEase</a>',
+'soso','<a href="http://www.soso.com">SoSo</a>',
+'zhongsou','<a href="http://www.zhongsou.com">ZhongSou</a>',
+'sogou', '<a href="http://www.sogou.com">SoGou</a>',
+'vnet','<a href="http://114.vnet.cn">VNet</a>',
 # Minor czech search engines
 'atlas','Atlas.cz',	'seznam','Seznam', 'quick','Quick.cz', 'centrum','Centrum.cz', 'jyxo','Jyxo.cz', 'najdi','Najdi.to', 'redbox','RedBox.cz',
 # Minor danish search-engines
@@ -1092,7 +1426,7 @@
 # Minor Croatian, Serbian, Macedonian, Bosnian and Herzegovinian search engines
 'pogodak','<a href="http://www.pogodak.com" title="Pogodak search engine home page">Pogodak.com</a>',
 # Generic search engines
-'search','Unknown search engines'
+'search',"$Message[215]"
 );
 
 
diff -u -b -r D:\awstats-7.0-mod\/wwwroot/cgi-bin/plugins/geoip.pm D:\AWStats70t_Jpn/wwwroot/cgi-bin/plugins/geoip.pm
--- D:\awstats-7.0-mod\/wwwroot/cgi-bin/plugins/geoip.pm	2010-08-04 13:38:02.000000000 +0900
+++ D:\AWStats70t_Jpn/wwwroot/cgi-bin/plugins/geoip.pm	2010-12-17 15:18:53.140625000 +0900
@@ -9,6 +9,7 @@
 # Perl Required Modules: Geo::IP or Geo::IP::PurePerl
 #-----------------------------------------------------------------------------
 # $Revision: 1.31 $ - $Author: eldy $ - $Date: 2010/08/04 12:38:02 $
+# Modified by makoto_hobbit 2010.12.17
 
 
 # <-----
@@ -145,14 +146,17 @@
 sub ShowInfoHost_geoip {
     my $param="$_[0]";
 	# <-----
-	if ($param eq '__title__') {
+	if (! $param) { return ''; }
+	if ($param eq '__col__') {
+	        print "<col width=\"80\"$endtag";
+	} elsif ($param eq '__title__') {
     	my $NewLinkParams=${QueryString};
     	$NewLinkParams =~ s/(^|&)update(=\w*|$)//i;
     	$NewLinkParams =~ s/(^|&)output(=\w*|$)//i;
     	$NewLinkParams =~ s/(^|&)staticlinks(=\w*|$)//i;
     	$NewLinkParams =~ s/(^|&)framename=[^&]*//i;
     	my $NewLinkTarget='';
-    	if ($DetailedReportsOnNewWindows) { $NewLinkTarget=" target=\"awstatsbis\""; }
+    	if ($DetailedReportsOnNewWindows) { $NewLinkTarget=""; }
     	if (($FrameName eq 'mainleft' || $FrameName eq 'mainright') && $DetailedReportsOnNewWindows < 2) {
     		$NewLinkParams.="&framename=mainright";
     		$NewLinkTarget=" target=\"mainright\"";
@@ -160,8 +164,8 @@
     	$NewLinkParams =~ tr/&/&/s; $NewLinkParams =~ s/^&//; $NewLinkParams =~ s/&$//;
     	if ($NewLinkParams) { $NewLinkParams="${NewLinkParams}&"; }
 
-		print "<th width=\"80\">";
-        print "<a href=\"#countries\">GeoIP<br />Country</a>";
+		print "<th abbr=\"$Message[148]\">";
+        print "$Message[148]";
         print "</th>";
 	}
 	elsif ($param) {
@@ -196,7 +200,7 @@
 		print "</td>";
 	}
 	else {
-		print "<td>&nbsp;</td>";
+		print "<td></td>";
 	}
 	return 1;
 	# ----->
diff -u -b -r D:\awstats-7.0-mod\/wwwroot/cgi-bin/plugins/geoip_city_maxmind.pm D:\AWStats70t_Jpn/wwwroot/cgi-bin/plugins/geoip_city_maxmind.pm
--- D:\awstats-7.0-mod\/wwwroot/cgi-bin/plugins/geoip_city_maxmind.pm	2010-08-23 22:55:34.000000000 +0900
+++ D:\AWStats70t_Jpn/wwwroot/cgi-bin/plugins/geoip_city_maxmind.pm	2010-12-17 15:41:29.421875000 +0900
@@ -8,6 +8,7 @@
 #-----------------------------------------------------------------------------
 # $Revision: 1.33 $ - $Author: eldy $ - $Date: 2010/08/23 21:55:34 $
 # 1.4 - Chris Larsen - added file override capabilities
+# modified by ホビット 2010/12/17
 
 # <-----
 # ENTER HERE THE USE COMMAND FOR ALL REQUIRED PERL MODULES
@@ -2243,7 +2244,7 @@
 "LV_02","Aluksnes",
 "LV_03","Balvu",
 "LV_04","Bauskas",
-"LV_05","C�su",
+"LV_05","Césu",
 "LV_06","Daugavpils",
 "LV_07","Daugavpils",
 "LV_08","Dobeles",
@@ -4358,16 +4359,24 @@
 	if ($Debug) { debug(" Plugin $PluginName: AddHTMLGraph $categ $menu $menulink $menutext"); }
 	my $title="GeoIP Cities";
 	&tab_head($title,19,0,'cities');
-	print "<tr bgcolor=\"#$color_TableBGRowTitle\">";
-	print "<th>".$Message[148]."</th>";
-	print "<th>".$Message[171]."</th>";
-	print "<th>".$Message[172].": ".((scalar keys %_city_h)-($_city_h{'unknown'}?1:0))."</th>";
-	if ($ShowCities =~ /P/i) { print "<th bgcolor=\"#$color_p\" width=\"80\">$Message[56]</th>"; }
-	if ($ShowCities =~ /P/i) { print "<th bgcolor=\"#$color_p\" width=\"80\">$Message[15]</th>"; }
-	if ($ShowCities =~ /H/i) { print "<th bgcolor=\"#$color_h\" width=\"80\">$Message[57]</th>"; }
-	if ($ShowCities =~ /H/i) { print "<th bgcolor=\"#$color_h\" width=\"80\">$Message[15]</th>"; }
-	if ($ShowCities =~ /B/i) { print "<th bgcolor=\"#$color_k\" width=\"80\">$Message[75]</th>"; }
-	if ($ShowCities =~ /L/i) { print "<th width=\"120\">$Message[9]</th>"; }
+	print "<col span=\"3\"$endtag";
+	if ($ShowCities =~ /P/i) { print "<col width=\"80\"$endtag"; }
+	if ($ShowCities =~ /P/i) { print "<col width=\"80\"$endtag"; }
+	if ($ShowCities =~ /H/i) { print "<col width=\"80\"$endtag"; }
+	if ($ShowCities =~ /H/i) { print "<col width=\"80\"$endtag"; }
+	if ($ShowCities =~ /B/i) { print "<col width=\"80\"$endtag"; }
+	if ($ShowCities =~ /L/i) { print "<col width=\"120\"$endtag"; }
+	print "\n";
+	print "<tr class=\"colortab\">";
+	print "<th abbr=\"$Message[148]\">".$Message[148]."</th>";
+	print "<th abbr=\"$Message[171]\">".$Message[171]."</th>";
+	print "<th abbr=\"$Message[172]\">".$Message[172].": ".((scalar keys %_city_h)-($_city_h{'unknown'}?1:0))."</th>";
+	if ($ShowCities =~ /P/i) { print "<th class=\"colorp\" abbr=\"$Message[56]\">$Message[56]</th>"; }
+	if ($ShowCities =~ /P/i) { print "<th class=\"colorp\" abbr=\"$Message[15]\">$Message[15]</th>"; }
+	if ($ShowCities =~ /H/i) { print "<th class=\"colorh\" abbr=\"$Message[57]\">$Message[57]</th>"; }
+	if ($ShowCities =~ /H/i) { print "<th class=\"colorh\" abbr=\"$Message[15]\">$Message[15]</th>"; }
+	if ($ShowCities =~ /B/i) { print "<th class=\"colork\" abbr=\"$Message[75]\">$Message[75]</th>"; }
+	if ($ShowCities =~ /L/i) { print "<th abbr=\"$Message[9]\">$Message[9]</th>"; }
 	print "</tr>\n";
 	$total_p=$total_h=$total_k=0;
 	my $count=0;
@@ -4557,7 +4566,7 @@
 #		print "<th width=\"80\">";
 #        print "<a href=\"".($ENV{'GATEWAY_INTERFACE'} || !$StaticLinks?XMLEncode("$AWScript?${NewLinkParams}output=plugin_geoip_city_maxmind&amp;suboutput=country"):"$PROG$StaticLinks.plugin_geoip_city_maxmind.country.$StaticExt")."\"$NewLinkTarget>GeoIP<br/>Country</a>";
 #        print "</th>";
-		print "<th width=\"80\">";
+		print "<th>";
         print "<a href=\"".($ENV{'GATEWAY_INTERFACE'} || !$StaticLinks?XMLEncode("$AWScript?${NewLinkParams}output=plugin_$PluginName"):"$StaticLinks.plugin_$PluginName.$StaticExt")."\"$NewLinkTarget>GeoIP<br/>City</a>";
         print "</th>";
 	}
diff -u -b -r D:\awstats-7.0-mod\/wwwroot/cgi-bin/plugins/geoip_org_maxmind.pm D:\AWStats70t_Jpn/wwwroot/cgi-bin/plugins/geoip_org_maxmind.pm
--- D:\awstats-7.0-mod\/wwwroot/cgi-bin/plugins/geoip_org_maxmind.pm	2010-08-23 22:55:34.000000000 +0900
+++ D:\AWStats70t_Jpn/wwwroot/cgi-bin/plugins/geoip_org_maxmind.pm	2010-12-17 15:56:57.578125000 +0900
@@ -7,6 +7,7 @@
 # Perl Required Modules: Geo::IP or Geo::IP::PurePerl
 #-----------------------------------------------------------------------------
 # $Revision: 1.18 $ - $Author: eldy $ - $Date: 2010/08/23 21:55:34 $
+# modified by ホビット 2010/12/17
 
 
 # <-----
@@ -138,13 +139,21 @@
 	if ($Debug) { debug(" Plugin $PluginName: AddHTMLGraph $categ $menu $menulink $menutext"); }
 	my $title='Organizations';
 	&tab_head("$title",19,0,'org');
-	print "<tr bgcolor=\"#$color_TableBGRowTitle\"><th>Organizations : ".((scalar keys %_org_h)-($_org_h{'unknown'}?1:0))."</th>";
-	if ($ShowISP =~ /P/i) { print "<th bgcolor=\"#$color_p\" width=\"80\">$Message[56]</th>"; }
-	if ($ShowISP =~ /P/i) { print "<th bgcolor=\"#$color_p\" width=\"80\">$Message[15]</th>"; }
-	if ($ShowISP =~ /H/i) { print "<th bgcolor=\"#$color_h\" width=\"80\">$Message[57]</th>"; }
-	if ($ShowISP =~ /H/i) { print "<th bgcolor=\"#$color_h\" width=\"80\">$Message[15]</th>"; }
-	if ($ShowISP =~ /B/i) { print "<th bgcolor=\"#$color_k\" width=\"80\">$Message[75]</th>"; }
-	if ($ShowISP =~ /L/i) { print "<th width=\"120\">$Message[9]</th>"; }
+	print "<col$endtag";
+	if ($ShowISP =~ /P/i) { print "<col width=\"80\"$endtag"; }
+	if ($ShowISP =~ /P/i) { print "<col width=\"80\"$endtag"; }
+	if ($ShowISP =~ /H/i) { print "<col width=\"80\"$endtag"; }
+	if ($ShowISP =~ /H/i) { print "<col width=\"80\"$endtag"; }
+	if ($ShowISP =~ /B/i) { print "<col width=\"80\"$endtag"; }
+	if ($ShowISP =~ /L/i) { print "<col width=\"120\"$endtag"; }
+	print "\n";
+	print "<tr class=\"colortab\"><th>Organizations : ".((scalar keys %_org_h)-($_org_h{'unknown'}?1:0))."</th>";
+	if ($ShowISP =~ /P/i) { print "<th class=\\"colorp\\" abbr=\"$Message[56]\">$Message[56]</th>"; }
+	if ($ShowISP =~ /P/i) { print "<th class=\\"colorp\\" abbr=\"$Message[15]\">$Message[15]</th>"; }
+	if ($ShowISP =~ /H/i) { print "<th class=\"colorh\" abbr=\"$Message[57]\">$Message[57]</th>"; }
+	if ($ShowISP =~ /H/i) { print "<th class=\"colorh\" abbr=\"$Message[15]\">$Message[15]</th>"; }
+	if ($ShowISP =~ /B/i) { print "<th class=\"colork\" abbr=\"$Message[75]\">$Message[75]</th>"; }
+	if ($ShowISP =~ /L/i) { print "<th abbr=\"$Message[9]\">$Message[9]</th>"; }
 	print "</tr>\n";
 	$total_p=$total_h=$total_k=0;
 	my $count=0;
@@ -157,9 +166,9 @@
    		    print "<tr>";
    		    my $org=$key; $org =~ s/_/ /g;
    		    print "<td class=\"aws\">".ucfirst($org)."</td>";
-    		if ($ShowISP =~ /P/i) { print "<td>".($_org_p{$key}?Format_Number($_org_p{$key}):"&nbsp;")."</td>"; }
+    		if ($ShowISP =~ /P/i) { print "<td>".($_org_p{$key}?Format_Number($_org_p{$key}):"")."</td>"; }
     		if ($ShowISP =~ /P/i) { print "<td>".($_org_p{$key}?"$p_p %":'&nbsp;')."</td>"; }
-    		if ($ShowISP =~ /H/i) { print "<td>".($_org_h{$key}?Format_Number($_org_h{$key}):"&nbsp;")."</td>"; }
+    		if ($ShowISP =~ /H/i) { print "<td>".($_org_h{$key}?Format_Number($_org_h{$key}):"")."</td>"; }
     		if ($ShowISP =~ /H/i) { print "<td>".($_org_h{$key}?"$p_h %":'&nbsp;')."</td>"; }
     		if ($ShowISP =~ /B/i) { print "<td>".Format_Bytes($_org_k{$key})."</td>"; }
     		if ($ShowISP =~ /L/i) { print "<td>".($_org_p{$key}?Format_Date($_org_l{$key},1):'-')."</td>"; }
@@ -189,12 +198,12 @@
 		if ($TotalHits)  { $p_h=int($rest_h/$TotalHits*1000)/10; }
 		print "<tr>";
 		print "<td class=\"aws\"><span style=\"color: #$color_other\">$Message[2]/$Message[0]</span></td>";
-		if ($ShowISP =~ /P/i) { print "<td>".($rest_p?Format_Number($rest_p):"&nbsp;")."</td>"; }
+		if ($ShowISP =~ /P/i) { print "<td>".($rest_p?Format_Number($rest_p):"")."</td>"; }
    		if ($ShowISP =~ /P/i) { print "<td>".($rest_p?"$p_p %":'&nbsp;')."</td>"; }
-		if ($ShowISP =~ /H/i) { print "<td>".($rest_h?Format_Number($rest_h):"&nbsp;")."</td>"; }
+		if ($ShowISP =~ /H/i) { print "<td>".($rest_h?Format_Number($rest_h):"")."</td>"; }
    		if ($ShowISP =~ /H/i) { print "<td>".($rest_h?"$p_h %":'&nbsp;')."</td>"; }
 		if ($ShowISP =~ /B/i) { print "<td>".Format_Bytes($rest_k)."</td>"; }
-		if ($ShowISP =~ /L/i) { print "<td>&nbsp;</td>"; }
+		if ($ShowISP =~ /L/i) { print "<td></td>"; }
 		print "</tr>\n";
 	}
 	&tab_end();
@@ -223,17 +232,17 @@
     	$NewLinkParams =~ s/(^|&|&amp;)staticlinks(=\w*|$)//i;
     	$NewLinkParams =~ s/(^|&|&amp;)framename=[^&]*//i;
     	my $NewLinkTarget='';
-    	if ($DetailedReportsOnNewWindows) { $NewLinkTarget=" target=\"awstatsbis\""; }
+    	if ($DetailedReportsOnNewWindows) { $NewLinkTarget=""; }
     	if (($FrameName eq 'mainleft' || $FrameName eq 'mainright') && $DetailedReportsOnNewWindows < 2) {
     		$NewLinkParams.="&framename=mainright";
-    		$NewLinkTarget=" target=\"mainright\"";
+    		$NewLinkTarget="";
     	}
     	$NewLinkParams =~ s/(&amp;|&)+/&amp;/i;
     	$NewLinkParams =~ s/^&amp;//; $NewLinkParams =~ s/&amp;$//;
     	if ($NewLinkParams) { $NewLinkParams="${NewLinkParams}&"; }
 
-		print "<th width=\"80\">";
-        print "<a href=\"".($ENV{'GATEWAY_INTERFACE'} || !$StaticLinks?XMLEncode("$AWScript?${NewLinkParams}output=plugin_$PluginName"):"$StaticLinks.plugin_$PluginName.$StaticExt")."\"$NewLinkTarget>GeoIP<br />Org</a>";
+		print "<th>";
+        print "<a href=\"".($ENV{'GATEWAY_INTERFACE'} || !$StaticLinks?XMLEncode("$AWScript?${NewLinkParams}output=plugin_$PluginName"):"$StaticLinks.plugin_$PluginName.$StaticExt")."\"$NewLinkTarget>GeoIP<br$endtagOrg</a>";
         print "</th>";
 	}
 	elsif ($param) {
@@ -297,7 +306,7 @@
 		print "</td>";
 	}
 	else {
-		print "<td>&nbsp;</td>";
+		print "<td></td>";
 	}
 	return 1;
 	# ----->
diff -u -b -r D:\awstats-7.0-mod\/wwwroot/cgi-bin/plugins/graphapplet.pm D:\AWStats70t_Jpn/wwwroot/cgi-bin/plugins/graphapplet.pm
--- D:\awstats-7.0-mod\/wwwroot/cgi-bin/plugins/graphapplet.pm	2010-05-25 19:09:28.000000000 +0900
+++ D:\AWStats70t_Jpn/wwwroot/cgi-bin/plugins/graphapplet.pm	2010-12-28 10:55:04.265625000 +0900
@@ -86,41 +86,42 @@
 	else { debug("Unknown type parameter in ShowGraph_graphapplet function: $type", 1); return 0; }
 
 #	print "<applet code=\"AWGraphApplet.class\" codebase=\"/classes\" width=\"$graphwidth\" height=\"$graphheight\">\n";
-	print "<applet name=\"$type\" archive=\"awgraphapplet.jar\" code=\"AWGraphApplet.class\" codebase=\"".($DirClasses||"/")."\" width=\"$graphwidth\" height=\"$graphheight\" alt= \"Your browser does not support Java correctly. Change browser or disable AWStats graphapplet plugin.\">\n";
+	print "<object type=\"application/x-java-applet\" archive=\"awgraphapplet.jar\" code=\"AWGraphApplet.class\" codebase=\"".($DirClasses||"/")."\" width=\"$graphwidth\" height=\"$graphheight\" standby=\"Loading Java Applet\">Your browser does not support Java correctly. Change browser or disable AWStats graphapplet plugin.\n";
 print <<EOF;
-<param name="title" value="$title" />
-<param name="special" value="$type" />
-<param name="orientation" value="vertical" />
-<param name="barsize" value="$barsize" />
-<param name="background_color" value="$color_Background" />
-<param name="border_color" value="$color_Background" />
-<param name="special_color" value="$color_weekend" />
+<param name="code" value="AWGraphApplet.class"$endtag
+<param name="title" value="$title"$endtag
+<param name="special" value="$type"$endtag
+<param name="orientation" value="vertical"$endtag
+<param name="barsize" value="$barsize"$endtag
+<param name="background_color" value="$color_Background"$endtag
+<param name="border_color" value="$color_Background"$endtag
+<param name="special_color" value="$color_weekend"$endtag
 EOF
-	print "<param name=\"nbblocks\" value=\"".(scalar @$blocklabel)."\" />\n";
-	print "<param name=\"b_fontsize\" value=\"$blockfontsize\" />\n";
+	print "<param name=\"nbblocks\" value=\"".(scalar @$blocklabel)."\"$endtag\n";
+	print "<param name=\"b_fontsize\" value=\"$blockfontsize\"$endtag\n";
 	foreach my $i (1..(scalar @$blocklabel)) {
-		print "<param name=\"b${i}_label\" value=\"".@$blocklabel[$i-1]."\" />\n";
+		print "<param name=\"b${i}_label\" value=\"".@$blocklabel[$i-1]."\"$endtag\n";
 	}
-	print "<param name=\"nbvalues\" value=\"".(scalar @$vallabel)."\" />\n";
+	print "<param name=\"nbvalues\" value=\"".(scalar @$vallabel)."\"$endtag\n";
 	foreach my $i (1..(scalar @$vallabel)) {
-		print "<param name=\"v${i}_label\" value=\"".@$vallabel[$i-1]."\" />\n";
-		print "<param name=\"v${i}_color\" value=\"".@$valcolor[$i-1]."\" />\n";
-		print "<param name=\"v${i}_max\" value=\"".@$valmax[$i-1]."\" />\n";
-		print "<param name=\"v${i}_total\" value=\"".@$valtotal[$i-1]."\" />\n";
-		print "<param name=\"v${i}_average\" value=\"".@$valaverage[$i-1]."\" />\n";
+		print "<param name=\"v${i}_label\" value=\"".@$vallabel[$i-1]."\"$endtag\n";
+		print "<param name=\"v${i}_color\" value=\"".@$valcolor[$i-1]."\"$endtag\n";
+		print "<param name=\"v${i}_max\" value=\"".@$valmax[$i-1]."\"$endtag\n";
+		print "<param name=\"v${i}_total\" value=\"".@$valtotal[$i-1]."\"$endtag\n";
+		print "<param name=\"v${i}_average\" value=\"".@$valaverage[$i-1]."\"$endtag\n";
 	}
 print <<EOF;
-<param name="blockSpacing" value="$blockspacing" />
-<param name="valSpacing" value="$valspacing" />
-<param name="valwidth" value="$valwidth" />
+<param name="blockSpacing" value="$blockspacing"$endtag
+<param name="valSpacing" value="$valspacing"$endtag
+<param name="valwidth" value="$valwidth"$endtag
 EOF
 	foreach my $j (1..(scalar @$blocklabel)) {
 		my $b='';
 		foreach my $i (0..(scalar @$vallabel)-1) { $b.=@$valdata[($j-1)*(scalar @$vallabel)+$i]." "; }
 		$b=~s/\s$//;
-		print "<param name=\"b${j}\" value=\"$b\" />\n";
+		print "<param name=\"b${j}\" value=\"$b\"$endtag\n";
 	}
-	print "</applet><br />\n";
+	print "</object><br$endtag\n";
 
 	return 0;
 }
diff -u -b -r D:\awstats-7.0-mod\/wwwroot/cgi-bin/plugins/graphgooglechartapi.pm D:\AWStats70t_Jpn/wwwroot/cgi-bin/plugins/graphgooglechartapi.pm
--- D:\awstats-7.0-mod\/wwwroot/cgi-bin/plugins/graphgooglechartapi.pm	2010-12-28 13:38:20.093750000 +0900
+++ D:\AWStats70t_Jpn/wwwroot/cgi-bin/plugins/graphgooglechartapi.pm	2010-06-22 22:35:24.000000000 +0900
@@ -202,18 +202,18 @@
 	$chxt .= "x,y,y,r"; # add an x for years
 
 	# get the month labels
-	$chxl .= "0:%7C";
+	$chxl .= "0:|";
 	$chxl .= Get_Labels();
 	# get the hits/pages max
-	$chxl .= "1:%7C0%7C".Get_Suffixed((@$valmax[0]/2),0)."%7C".Get_Suffixed(@$valmax[0],0)."%7C";
+	$chxl .= "1:|0|".Get_Suffixed((@$valmax[0]/2),0)."|".Get_Suffixed(@$valmax[0],0)."|";
 	# get the visitors/pages max
-	$chxl .= "2:%7C0%7C".Get_Suffixed((@$valmax[2]/2),0)."%7C".Get_Suffixed(@$valmax[2],0)."%7C";
+	$chxl .= "2:|0|".Get_Suffixed((@$valmax[2]/2),0)."|".Get_Suffixed(@$valmax[2],0)."|";
 	# get bytes
-	$chxl .= "3:%7C0%7C".Get_Suffixed((@$valmax[4]/2),1)."%7C".Get_Suffixed(@$valmax[4],1);
+	$chxl .= "3:|0|".Get_Suffixed((@$valmax[4]/2),1)."|".Get_Suffixed(@$valmax[4],1);
 	# TODO add the year at the start and end
 
 	# set the axis colors
-	$chxs .= "1,".@$valcolor[0]."%7C2,".@$valcolor[2]."%7C3,".@$valcolor[4];
+	$chxs .= "1,".@$valcolor[0]."|2,".@$valcolor[2]."|3,".@$valcolor[4];
 
 	# dump colors
 	foreach my $i(0..(scalar @$valcolor)){
@@ -231,7 +231,7 @@
 	$chd .= Get_Column_Data();
 
 	# string and dump
-	return "$cht&amp;$chxl&amp;$chxt&amp;$chxs&amp;$chco&amp;$chg&amp;$chs&amp;$chd&amp;$cba";
+	return "$cht&$chxl&$chxt&$chxs&$chco&$chg&$chs&$chd&$cba";
 }
 
 #-------------------------------------------------------
@@ -265,18 +265,18 @@
 
 	# setup axis labels
 	# get day labels
-	$chxl .= "0:%7C";
+	$chxl .= "0:|";
 	$chxl .= Get_Labels();
 	# get the hits/pages max
-	$chxl .= "1:%7C0%7C".Get_Suffixed((@$valmax[0]/2),0)."%7C".Get_Suffixed(@$valmax[0],0)."%7C";
+	$chxl .= "1:|0|".Get_Suffixed((@$valmax[0]/2),0)."|".Get_Suffixed(@$valmax[0],0)."|";
 	# get the visitors/pages max
-	$chxl .= "2:%7C0%7C".Get_Suffixed((@$valmax[1]/2),0)."%7C".Get_Suffixed(@$valmax[1],0)."%7C";
+	$chxl .= "2:|0|".Get_Suffixed((@$valmax[1]/2),0)."|".Get_Suffixed(@$valmax[1],0)."|";
 	# get bytes
-	$chxl .= "3:%7C0%7C".Get_Suffixed((@$valmax[3]/2),1)."%7C".Get_Suffixed(@$valmax[3],1);
+	$chxl .= "3:|0|".Get_Suffixed((@$valmax[3]/2),1)."|".Get_Suffixed(@$valmax[3],1);
 	# TODO month name
 
 	# set the axis colors
-	$chxs .= "1,".@$valcolor[0]."%7C2,".@$valcolor[1]."%7C3,".@$valcolor[3];
+	$chxs .= "1,".@$valcolor[0]."|2,".@$valcolor[1]."|3,".@$valcolor[3];
 
 	# dump colors
 	foreach my $i(0..(scalar @$valcolor)){
@@ -294,7 +294,7 @@
 	$chd .= Get_Column_Data();
 
 	# string and dump
-	return "&amp;$cht&amp;$chxl&amp;$chxt&amp;$chxs&amp;$chco&amp;$chg&amp;$chs&amp;$chd&amp;$cba";
+	return "$cht&$chxl&$chxt&$chxs&$chco&$chg&$chs&$chd&$cba";
 }
 
 #-------------------------------------------------------
@@ -328,17 +328,17 @@
 
 	# setup axis labels
 	# get the day labels
-	$chxl .= "0:%7C";
+	$chxl .= "0:|";
 	$chxl .= Get_Labels();
 	# get the hits/pages max
-	$chxl .= "1:%7C0%7C".Get_Suffixed((@$valmax[0]/2),0)."%7C".Get_Suffixed(@$valmax[0],0)."%7C";
+	$chxl .= "1:|0|".Get_Suffixed((@$valmax[0]/2),0)."|".Get_Suffixed(@$valmax[0],0)."|";
 	# get the visitors/pages max
-	$chxl .= "2:%7C0%7C".Get_Suffixed((@$valmax[1]/2),0)."%7C".Get_Suffixed(@$valmax[1],0)."%7C";
+	$chxl .= "2:|0|".Get_Suffixed((@$valmax[1]/2),0)."|".Get_Suffixed(@$valmax[1],0)."|";
 	# get bytes
-	$chxl .= "3:%7C0%7C".Get_Suffixed((@$valmax[2]/2),1)."%7C".Get_Suffixed(@$valmax[2],1);
+	$chxl .= "3:|0|".Get_Suffixed((@$valmax[2]/2),1)."|".Get_Suffixed(@$valmax[2],1);
 
 	# set the axis colors
-	$chxs .= "1,".@$valcolor[0]."%7C2,".@$valcolor[1]."%7C3,".@$valcolor[2];
+	$chxs .= "1,".@$valcolor[0]."|2,".@$valcolor[1]."|3,".@$valcolor[2];
 
 	# dump colors
 	foreach my $i(0..(scalar @$valcolor)){
@@ -356,7 +356,7 @@
 	$chd .= Get_Column_Data();
 
 	# string and dump
-	return "&amp;$cht&amp;$chxl&amp;$chxt&amp;$chxs&amp;$chco&amp;$chg&amp;$chs&amp;$chd&amp;$cba";
+	return "$cht&$chxl&$chxt&$chxs&$chco&$chg&$chs&$chd&$cba";
 }
 
 #-------------------------------------------------------
@@ -389,18 +389,18 @@
 	$chxt .= "x,y,y,r"; # add an x for years
 
 	# setup axis labels
-	$chxl .= "0:%7C";
+	$chxl .= "0:|";
 	$chxl .= Get_Labels();
 	# get the hits/pages max
-	$chxl .= "1:%7C0%7C".Get_Suffixed((@$valmax[0]/2),0)."%7C".Get_Suffixed(@$valmax[0],0)."%7C";
+	$chxl .= "1:|0|".Get_Suffixed((@$valmax[0]/2),0)."|".Get_Suffixed(@$valmax[0],0)."|";
 	# get the visitors/pages max
-	$chxl .= "2:%7C0%7C".Get_Suffixed((@$valmax[1]/2),0)."%7C".Get_Suffixed(@$valmax[1],0)."%7C";
+	$chxl .= "2:|0|".Get_Suffixed((@$valmax[1]/2),0)."|".Get_Suffixed(@$valmax[1],0)."|";
 	# get bytes
-	$chxl .= "3:%7C0%7C".Get_Suffixed((@$valmax[2]/2),1)."%7C".Get_Suffixed(@$valmax[2],1);
+	$chxl .= "3:|0|".Get_Suffixed((@$valmax[2]/2),1)."|".Get_Suffixed(@$valmax[2],1);
 	# TODO years
 
 	# set the axis colors
-	$chxs .= "1,".@$valcolor[0]."%7C2,".@$valcolor[1]."%7C3,".@$valcolor[2];
+	$chxs .= "1,".@$valcolor[0]."|2,".@$valcolor[1]."|3,".@$valcolor[2];
 
 	# dump colors
 	foreach my $i(0..(scalar @$valcolor)){
@@ -418,7 +418,7 @@
 	$chd .= Get_Column_Data();
 
 	# string and dump
-	return "&amp;$cht&amp;$chx%7C&amp;$chxt&amp;$chxs&amp;$chco&amp;$chg&amp;$chs&amp;$chd&amp;$cba";
+	return "$cht&$chxl&$chxt&$chxs&$chco&$chg&$chs&$chd&$cba";
 }
 
 #-------------------------------------------------------
@@ -453,7 +453,7 @@
 	# set size
 	$chs .= $graphwidth."x".$graphheight;
 
-	return "&amp;$cht&amp;$chs&amp;$chco&amp;$chl&amp;$chd";
+	return "$cht&$chs&$chco&$chl&$chd";
 }
 
 #-------------------------------------------------------
@@ -529,7 +529,7 @@
 			$chd .= (@$valmax[$serie] > 0 ? int(($val / Round_Up(@$valmax[$serie])) * 100) : 0);
 		}
 		if ($serie < $x) {
-			$chd .= "%7C";
+			$chd .= "|";
 		}
     }
 
@@ -554,7 +554,7 @@
 		if (length($temp) > $labellength){
 			$temp = (substr($temp,0,$labellength));
 		}
-		$chxl .= "$temp%7C";
+		$chxl .= "$temp|";
 	}
 	$chxl =~ s/&//;
 	return $chxl;
@@ -651,7 +651,7 @@
 #	}
 	$ChartIndex = ($ChartIndex >= 9 ? 0 : $ChartIndex + 1);
 	$tag .= $params;
-	$tag .= "\" alt=\"$title\"$endtag";
+	$tag .= "\" alt=\"$title\"/>";
 }
 
 1;	# Do not remove this line
diff -u -b -r D:\awstats-7.0-mod\/wwwroot/cgi-bin/plugins/hostinfo.pm D:\AWStats70t_Jpn/wwwroot/cgi-bin/plugins/hostinfo.pm
--- D:\awstats-7.0-mod\/wwwroot/cgi-bin/plugins/hostinfo.pm	2008-11-15 17:03:42.000000000 +0900
+++ D:\AWStats70t_Jpn/wwwroot/cgi-bin/plugins/hostinfo.pm	2009-01-22 16:57:26.000000000 +0900
@@ -6,6 +6,7 @@
 # Perl Required Modules: XWhois
 #-----------------------------------------------------------------------------
 # $Revision: 1.19 $ - $Author: eldy $ - $Date: 2008/11/15 16:03:42 $
+# Modified by makoto_hobbit 2009.1.21
 
 
 # <-----
@@ -98,8 +99,10 @@
 sub ShowInfoHost_hostinfo {
     my $param="$_[0]";
 	# <-----
-	if ($param eq '__title__') {
-		print "<th width=\"40\">$Message[114]</th>";	
+	if ($param eq '__col__') {
+	        print "<col width=\"40\"$endtag";
+	} elsif ($param eq '__title__') {
+		print "<th abbr=\"$Message[114]\">$Message[114]</th>";
 	}
 	elsif ($param) {
 		my $keyforwhois;
diff -u -b -r D:\awstats-7.0-mod\/wwwroot/cgi-bin/plugins/tooltips.pm D:\AWStats70t_Jpn/wwwroot/cgi-bin/plugins/tooltips.pm
--- D:\awstats-7.0-mod\/wwwroot/cgi-bin/plugins/tooltips.pm	2011-02-03 15:23:02.723377500 +0900
+++ D:\AWStats70t_Jpn/wwwroot/cgi-bin/plugins/tooltips.pm	2009-01-29 16:52:31.000000000 +0900
@@ -8,7 +8,7 @@
 # Perl Required Modules: None
 #-----------------------------------------------------------------------------
 # $Revision: 1.17 $ - $Author: eldy $ - $Date: 2008/11/15 16:03:42 $
-
+# Modified by ホビット 2009.1.21
 
 # <-----
 # ENTER HERE THE USE COMMAND FOR ALL REQUIRED PERL MODULES.
@@ -104,50 +104,17 @@
 			$doctop="document.documentElement.scrollTop";
 		}
 
-		print <<EOF;
-
-<script type="text/javascript">
-function ShowTip(fArg)
-{
-	var tooltipOBJ = (document.getElementById) ? document.getElementById('tt' + fArg) : eval("document.all['tt" + fArg + "']");
-	if (tooltipOBJ != null) {
-		var tooltipLft = ($docwidth?$docwidth:document.body.style.pixelWidth) - (tooltipOBJ.offsetWidth?tooltipOBJ.offsetWidth:(tooltipOBJ.style.pixelWidth?tooltipOBJ.style.pixelWidth:$TOOLTIPWIDTH)) - 30;
-		var tooltipTop = 10;
-		if (navigator.appName == 'Netscape') {
-			tooltipTop = ($doctop>=0?$doctop+10:event.clientY+10);
- 			tooltipOBJ.style.top = tooltipTop+"px";
-			tooltipOBJ.style.left = tooltipLft+"px";
-		}
-		else {
-			tooltipTop = ($doctop>=0?$doctop+10:event.clientY+10);
-			tooltipTop = (document.body.scrollTop>=0?document.body.scrollTop+10:event.clientY+10);
-EOF
 		# Seul IE en HTML a besoin de code supplémentaire. IE en xhtml est OK
 		if ($BuildReportFormat ne 'xhtml' && $BuildReportFormat ne 'xml') {
 print <<EOF;
-			if ((event.clientX > tooltipLft) && (event.clientY < (tooltipOBJ.scrollHeight?tooltipOBJ.scrollHeight:tooltipOBJ.style.pixelHeight) + 10)) {
-				tooltipTop = ($doctop?$doctop:document.body.offsetTop) + event.clientY + 20;
-			}
+<script type="text/javascript" src="$DirJs/tooltiph.js"></script>
 EOF
-		}
+		} else {
 print <<EOF;
-			tooltipOBJ.style.left = tooltipLft;
-			tooltipOBJ.style.top = tooltipTop;
-		}
-		tooltipOBJ.style.visibility = "visible";
-	}
-}
-function HideTip(fArg)
-{
-	var tooltipOBJ = (document.getElementById) ? document.getElementById('tt' + fArg) : eval("document.all['tt" + fArg + "']");
-	if (tooltipOBJ != null) {
-		tooltipOBJ.style.visibility = "hidden";
-	}
-}
-</script>
+<script type="text/javascript" src="$DirJs/tooltipx.js"></script>
 
 EOF
-
+		}
 	}
 	return 1;
 	# ----->
@@ -199,6 +166,7 @@
 			s/#RobotArray#/$aws_NbOfRobots/;
 			s/#WormsArray#/$aws_NbOfWorms/;
 			s/#SearchEnginesArray#/$aws_NbOfSearchEngines/;
+			s/#br#/<br$endtag/;
 			print "$_";
 		}
 	}
diff -u -b -r D:\awstats-7.0-mod\/wwwroot/cgi-bin/plugins/userinfo.pm D:\AWStats70t_Jpn/wwwroot/cgi-bin/plugins/userinfo.pm
--- D:\awstats-7.0-mod\/wwwroot/cgi-bin/plugins/userinfo.pm	2008-11-15 17:03:42.000000000 +0900
+++ D:\AWStats70t_Jpn/wwwroot/cgi-bin/plugins/userinfo.pm	2009-01-22 17:09:39.000000000 +0900
@@ -85,6 +85,9 @@
 		debug(" Plugin userinfo: UserInfo file loaded: ".(scalar keys %UserInfo)." entries found.");
 		$userinfoloaded=1;
 	}
+	if ($param eq '__col__') {
+		print "<col width=\"80\""$endtag";	
+	}
 	if ($param eq '__title__') {
 		print "<th width=\"80\">$Message[114]</th>";	
 	}
Files D:\awstats-7.0-mod\/wwwroot/classes/awgraphapplet.jar and D:\AWStats70t_Jpn/wwwroot/classes/awgraphapplet.jar differ
Only in D:\AWStats70t_Jpn/wwwroot/classes/src: AWGraphApplet.class
diff -u -b -r D:\awstats-7.0-mod\/wwwroot/classes/src/AWGraphApplet.java D:\AWStats70t_Jpn/wwwroot/classes/src/AWGraphApplet.java
--- D:\awstats-7.0-mod\/wwwroot/classes/src/AWGraphApplet.java	2004-01-08 16:32:04.000000000 +0900
+++ D:\AWStats70t_Jpn/wwwroot/classes/src/AWGraphApplet.java	2011-02-03 14:33:58.629627500 +0900
@@ -187,6 +187,7 @@
 			if (i!=-1) {
 				//System.out.println("i = " + i);
 				sub = s.substring(iOld+1, i);
+				i = i + c.length() - 1;
 			} else {
 				sub = s.substring(iOld+1, s.length());
 				bFin=true;
@@ -352,7 +353,7 @@
 			if (blabels[j].indexOf("!")>0) { highlight=1; label=remove(blabels[j],"!"); }
 
 			if (bold==1) { g.setFont(fontb); }
-			String as[] = split(label, "\247", 0);
+			String as[] = split(label, "#br#", 0);
 			// Write background for block legend
 			if (highlight==1) {
 				g.setColor(special_color);
diff -u -b -r D:\awstats-7.0-mod\/wwwroot/css/awstats_bw.css D:\AWStats70t_Jpn/wwwroot/css/awstats_bw.css
--- D:\awstats-7.0-mod\/wwwroot/css/awstats_bw.css	2004-07-31 23:36:08.000000000 +0900
+++ D:\AWStats70t_Jpn/wwwroot/css/awstats_bw.css	2010-12-22 14:41:11.843750000 +0900
@@ -1,16 +1,19 @@
 body { font: 11px verdana, arial, helvetica, sans-serif; background-color: #FFFFFF; margin-top: 0 }
 .aws_bodyl { }
 .aws_border { background-color: #BBBBBB; padding: 1px 1px 1px 1px; margin-top: 0 }
-.aws_title  { font: 13px verdana, arial, helvetica, sans-serif; font-weight: bold; background-color: #BBBBBB; text-align: center; margin-bottom: 0; padding: 1px 1px 1px 1px; }
+.aws_title  { font: 13px verdana, arial, helvetica, sans-serif; font-weight: bold; background-color: #CCCCDD; text-align: center; margin: 0 0 0 0; padding: 1px 1px 1px 1px; }
 .aws_blank { font: 13px verdana, arial, helvetica, sans-serif; background-color: #FFFFFF; text-align: center; margin-bottom: 0; padding: 1px 1px 1px 1px; }
 .aws_data {
 	background-color: #FFFFFF;
 	border-top-width: 1px;   
-	border-left-width: 0px;  
-	border-right-width: 0px; 
-	border-bottom-width: 0px;
+	border-left-width: 1px;
+	border-right-width: 1px;
+	border-bottom-width: 1px;
+	border-color: #CCCCDD;
+	border-style:outset;
+	margin-top:1em;
 }
-.aws_formfield { font: 13px verdana, arial, helvetica; }
+.aws_formfield { font: 13px verdana, arial, helvetica, sans-serif; }
 .aws_button {
 	font-family: arial,verdana,helvetica, sans-serif;
 	font-size: 12px;
@@ -24,8 +27,29 @@
 td.awsm	{ border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; border-bottom-width: 0px; padding: 0px 0px 0px 0px; font: 11px verdana, arial, helvetica, sans-serif; color: #000000; }
 b { font-weight: bold; }
 a { font: 11px verdana, arial, helvetica, sans-serif; }
-a:link    { color: #001133; text-decoration: none; }
-a:visited { color: #001133; text-decoration: none; }
-a:hover   { color: #444444; text-decoration: underline; }
-div { font: 12px arial,verdana,helvetica; text-align:justify; }
-.ctooltip { position:absolute; top:0px; left:0px; z-index:2; width:380; visibility:hidden; font: 8pt MS Comic Sans,arial,sans-serif; background-color: #EEEEEE; padding: 8px; border: 1px solid black; }
\ No newline at end of file
+a:link    { color: #0011BB; text-decoration: none; }
+a:visited { color: #0011BB; text-decoration: none; }
+a:hover   { color: #605040; text-decoration: underline; }
+div { font: 12px arial,verdana,helvetica,sans-serif; text-align:justify; }
+.ctooltip { position:absolute; top:0px; left:0px; z-index:2; width:380px; visibility:hidden; font: 8pt "MS Comic", Sans,arial,sans-serif; background-color: #EEEEEE; padding: 8px; border: 1px solid black; }
+img {border-width: 0em}
+.vmiddle {vertical-align:middle;}
+.vtop {vertical-align:top;}
+table {table-layout:fixed}
+.currentday { font-weight: bold; }
+.colortab  { background-color: #ECECEC}
+.colore  { background-color: #CEC2E8}
+.colorh  { background-color: #66DDEE}
+.colork  { background-color: #2EA495}
+.colorp  { background-color: #4477DD}
+.colors  { background-color: #8888DD}
+.coloru  { background-color: #FFAA66}
+.colorv  { background-color: #F4F090}
+.colorweekend  { background-color: #EAEAEA}
+.colorx  { background-color: #C1B2E2}
+.colorBGTitle  { background-color: #CCCCDD}
+.colorOSfamily  { background-color: #F6F6F6}
+.bottom {vertical-align:bottom;}
+.nowrap  { white-space:nowrap}
+tleft {text-align:left}
+tright {text-align:right}
Only in D:\AWStats70t_Jpn/wwwroot/css: tooltip.css
Only in D:\AWStats70t_Jpn/wwwroot/icon/browser: au.png
Only in D:\AWStats70t_Jpn/wwwroot/icon/browser: i-mode.png
Only in D:\AWStats70t_Jpn/wwwroot/icon/browser: lunascape.png
Only in D:\AWStats70t_Jpn/wwwroot/icon/browser: mixi.png
Only in D:\AWStats70t_Jpn/wwwroot/icon/browser: sleipnir.png
Only in D:\AWStats70t_Jpn/wwwroot/icon/browser: softbank.png
Only in D:\AWStats70t_Jpn/wwwroot/icon/browser: vodafone.png
Only in D:\AWStats70t_Jpn/wwwroot/icon/mime: eot.png
Only in D:\AWStats70t_Jpn/wwwroot/icon/os: linuxmomonga.png
Only in D:\AWStats70t_Jpn/wwwroot/icon/os: linuxwhitebox.png
Only in D:\AWStats70t_Jpn/wwwroot/icon/other: button.png
Only in D:\AWStats70t_Jpn/wwwroot/js: tooltiph.js
Only in D:\AWStats70t_Jpn/wwwroot/js: tooltipx.js
